/* NEO APPLET — Projects (proof page) */
.feature__grid{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:var(--gap-lg); align-items:center; }
.feature__media{ display:block; width:100%; aspect-ratio:4/3; cursor:pointer; }
.feature__media img{ transition:transform 1.4s var(--ease); }
.feature__media:hover img{ transform:scale(1.03); }
.feature__body > * + *{ margin-top:var(--s-4); }
.feature__label{ display:block; color:var(--ink-faint); }
.feature__code{ display:block; font-family:var(--font-mono); font-size:clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem); line-height:1.1; color:var(--accent-text); margin-top:var(--s-2) !important; }
.feature__body .spec{ margin-block:var(--s-5); }
@media (max-width:900px){ .feature__grid{ grid-template-columns:1fr; gap:var(--gap-md); } }

.regbar{ display:flex; align-items:center; justify-content:space-between; gap:var(--s-4) var(--s-5); flex-wrap:wrap; padding-bottom:var(--s-5); }
.filter{ display:flex; flex-wrap:wrap; gap:var(--s-2); }
.filter button{ min-height:44px; padding:0 18px; border:1px solid var(--line-strong); border-radius:var(--r); font-size:.88rem; font-weight:500; color:var(--ink-soft); transition:all var(--dur-fast) var(--ease); }
.filter button i{ font-style:normal; font-family:var(--font-mono); font-size:.72rem; margin-left:8px; color:var(--ink-faint); }
.filter button:hover{ border-color:var(--brass); color:var(--ink); }
.filter button[aria-pressed="true"]{ background:var(--ink); border-color:var(--ink); color:var(--bg); }
.filter button[aria-pressed="true"] i{ color:inherit; opacity:.7; }
.regbar__count{ color:var(--ink-faint); }
.regcols{ display:grid; grid-template-columns:88px 128px minmax(0,1.3fr) minmax(0,1.3fr) 24px; gap:var(--s-5); padding:10px var(--s-3); font-family:var(--font-mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); border-bottom:1px solid var(--line-strong); }
.reglist li{ display:block; }
.reglist button.reg__row{ cursor:pointer; }
.regcols.reg{ border-top:0; }
@media (max-width:820px){ .regcols{ display:none; } .regbar{ align-items:flex-start; } }
.reg__team span:last-child:not(.mono){ color:var(--ink-faint); font-size:.82rem; }

/* Project modal */
.proj-modal{ position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:var(--s-5); background:rgba(6,6,7,.9); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.proj-modal.is-open{ display:flex; }
.proj-modal-panel{ position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); grid-template-rows:minmax(0,1fr); width:100%; max-width:1040px; max-height:90vh; background:var(--graphite); border:1px solid var(--line-strong); overflow:hidden; }
.pm-frame{ position:relative; min-height:0; background:#0A0A0B; }
.pm-track{ position:absolute; inset:0; display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.pm-track::-webkit-scrollbar{ display:none; }
.pm-slide{ position:relative; flex:0 0 100%; height:100%; scroll-snap-align:start; }
.pm-slide .bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.18); filter:blur(36px) brightness(.55); }
.pm-slide .fg{ position:relative; width:100%; height:100%; object-fit:contain; }
.pm-dots{ position:absolute; left:0; right:0; bottom:var(--s-4); display:flex; justify-content:center; gap:8px; z-index:2; }
.pm-dots button{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.45); }
.pm-dots button[aria-current="true"]{ background:#fff; transform:scale(1.2); }
.pm-close{ position:absolute; top:var(--s-4); right:var(--s-4); z-index:3; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(6,6,7,.6); border:1px solid rgba(255,255,255,.28); color:#fff; }
.pm-body{ min-height:0; overflow-y:auto; padding:var(--gap-md); }
.pm-label{ display:block; color:var(--ink-faint); }
.pm-code{ display:block; margin-top:var(--s-2); font-family:var(--font-mono); font-size:clamp(1.4rem, 1.1rem + 1vw, 2rem); color:var(--accent-text); line-height:1.15; }
.pm-spec{ margin-top:var(--s-5); }
.pm-summary{ margin:var(--s-5) 0; color:var(--ink-soft); font-size:.95rem; }
.pm-summary:empty{ display:none; }
.pm-fields{ margin-bottom:var(--s-6); border-top:0; }
.pm-fields:empty{ display:none; }
@media (max-width:780px){
  .proj-modal{ padding:var(--s-3); }
  .proj-modal-panel{ grid-template-columns:1fr; grid-template-rows:none; max-height:94vh; overflow-y:auto; }
  .pm-frame{ min-height:240px; aspect-ratio:4/3; }
}
