:root{--bg: #050609;--ink: #e9e6df;--muted: #8d8a82;--accent: #ffe137;--chrome: #cfcfd4;--font-ui: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Bodoni Moda", Georgia, serif;--gutter: 16px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-ui)}body{overflow-x:hidden}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#stage{position:relative;height:100svh;min-height:560px}#poster{position:absolute;inset:0;background-image:url(/poster.jpg);background-size:cover;background-position:center;background-color:var(--bg)}#poster.fallback{background:radial-gradient(60% 50% at 78% 12%,rgba(255,160,70,.18),transparent 60%),radial-gradient(45% 45% at 12% 92%,rgba(80,130,200,.25),transparent 60%),radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 60%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 40% 80%,#ddd 50%,transparent 51%),radial-gradient(1px 1px at 85% 35%,#fff 50%,transparent 51%),var(--bg)}#scene-root{position:absolute;inset:0}#scene-root canvas{display:block;touch-action:pan-y}.hud{position:absolute;inset:0;pointer-events:none}.hud>*{pointer-events:auto}.hud-top{position:absolute;top:22px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.hud-top nav a{margin-left:28px;text-decoration:none;color:var(--ink)}.hud-top nav a[aria-current]{border-bottom:1px solid var(--accent);padding-bottom:4px}.cat-list{position:absolute;left:var(--gutter);top:38%;list-style:none;margin:0;padding:0}.cat-list li{margin:10px 0}.cat-list button{background:none;border:0;color:var(--muted);font:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;padding:4px 0;display:flex;gap:14px;align-items:baseline}.cat-list button[aria-pressed=true]{color:var(--accent)}.cat-list button .n{color:var(--muted)}.hud-bottom{position:absolute;bottom:22px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:end;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.hint{position:absolute;left:50%;bottom:26px;transform:translate(-50%);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.view-toggle{display:flex;gap:12px;align-items:center}.view-toggle button{background:none;border:1px solid #3a3a40;border-radius:999px;width:46px;height:24px;position:relative;cursor:pointer}.view-toggle button:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--accent);transition:left .2s}.view-toggle button[aria-pressed=true]:after{left:25px;background:var(--chrome)}.selected-tag{position:absolute;right:var(--gutter);bottom:72px;text-align:right}.selected-tag h2{font-family:var(--font-display);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:18px;margin:0 0 8px}.selected-tag p{margin:0;color:var(--muted);font-size:12px;max-width:32ch}.selected-tag button{margin-top:10px;background:none;border:1px solid #3a3a40;color:var(--ink);font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:8px 14px;border-radius:999px;cursor:pointer}.ctrl{background:none;border:1px solid #3a3a40;color:var(--ink);font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:8px 14px;border-radius:999px;cursor:pointer}.panel{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);width:min(420px,calc(100vw - 2 * var(--gutter)));background:#08090cd1;backdrop-filter:blur(14px);border:1px solid #26272c;border-radius:10px;padding:18px}.panel img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:6px;display:block}.panel h3{font-family:var(--font-display);font-weight:500;font-size:22px;margin:14px 0 4px}.panel dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:12px;color:var(--muted);margin:0 0 12px}.panel dd{margin:0;color:var(--ink)}.panel .row{display:flex;gap:10px}#index{padding:72px var(--gutter) 80px;max-width:1100px;margin:0 auto}#index h1{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,5vw,56px);letter-spacing:.04em;margin:0 0 6px}#index .lede{color:var(--muted);margin:0 0 40px;max-width:60ch}.cat{margin:0 0 40px}.cat h2{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}.cat ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.cat li a{display:block;text-decoration:none}.cat li img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:4px;display:block;background:#15161a}.cat li span{display:block;margin-top:8px;font-size:13px}.cat li small{color:var(--muted);font-size:11px}footer{padding:24px var(--gutter) 48px;color:var(--muted);font-size:11px;max-width:1100px;margin:0 auto}html[data-view=index] #stage{display:none}html:not([data-view=index]) #index{position:absolute;left:-9999px;top:0}html.no-webgl #scene-root,html.no-webgl .hud .cat-list,html.no-webgl .hint,html.no-webgl #stage{display:none}html.no-webgl #index{position:static}@media(max-width:640px){.hud-top nav a{margin-left:16px}.cat-list{top:auto;bottom:120px}.hint{display:none}.selected-tag{bottom:120px;left:var(--gutter);text-align:left}.hud[data-selected=true] .cat-list{display:none}.panel{transform:none;width:100%;inset:auto 0 0;border-radius:10px 10px 0 0}}@media(prefers-reduced-motion:reduce){.view-toggle button:after{transition:none}}
