:root{color-scheme:dark;--bg:#030807;--fg:#ecf5ef;--green:#b3ff78;--dim:#9db5a8;--mono:'IBM Plex Mono',monospace;--head:'Space Grotesk',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{background:var(--green);color:var(--bg)}.skip{position:fixed;top:-90px;left:20px;z-index:99;background:var(--green);color:var(--bg);padding:12px}.skip:focus{top:12px}header{position:fixed;top:0;left:0;right:0;height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 4%;z-index:20;background:linear-gradient(#030807f2,#03080788);border-bottom:1px solid #b3ff7820}.brand{font:600 20px var(--mono);letter-spacing:-1px}.brand span{color:var(--green)}.header-label,.controls,.eyebrow,.micro,.node-nav,.object-caption,footer,.identity-data dt,.next,.selected-place,.film-selected{font:10px/1.6 var(--mono);letter-spacing:1.3px}.header-label{color:#90a99a}.controls{display:flex;align-items:center;gap:18px;letter-spacing:0}.controls button{border:1px solid #b3ff7844;background:#07140dbb;padding:7px 10px;font:10px var(--mono)}#scene{position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 75% 50%,#163e2d,#030807 70%)}#scene canvas{display:block;width:100%;height:100%}.screen-shade{position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#030807f0 0%,#030807c0 32%,#03080728 65%,transparent)}.node-nav{position:fixed;left:4%;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:26px}.node-nav a{display:flex;align-items:center;gap:12px;color:#839d8d;letter-spacing:0}.node-nav b{font-weight:400;border:1px solid #6a8b7433;padding:6px;font-size:9px}.node-nav a[aria-current]{color:var(--green)}.node-nav a[aria-current] b{border-color:var(--green);background:#b3ff7811;box-shadow:0 0 20px #b3ff7822}.node-nav span{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:.25s}.node-nav:hover span,.node-nav:focus-within span{max-width:100px;opacity:1}main{position:relative}.station{min-height:100svh;padding:130px 15% 100px;position:relative;scroll-margin-top:0}.panel{max-width:570px}.eyebrow{color:var(--green);margin:0 0 25px;font-size:10px}.eyebrow i{display:inline-block;width:5px;height:5px;background:var(--green);box-shadow:0 0 15px var(--green);margin-right:10px}h1,h2,h3{font-family:var(--head);font-weight:500;margin:0}h1,h2{font-size:clamp(48px,5.8vw,96px);line-height:1.01;letter-spacing:-.06em;margin-bottom:25px}em{font-style:normal;color:var(--green)}.lead{font-size:20px;line-height:1.5;color:#d5e2d8;margin:0 0 24px}.body-copy{color:#a9beb1;font-size:15px;max-width:430px;margin:0 0 25px}.identity-data{display:flex;gap:40px;margin:25px 0}.identity-data dt{color:#7e9c89;font-size:9px;margin-bottom:5px}.identity-data dd{margin:0;font-size:13px}.action{display:inline-flex;align-items:center;gap:32px;border:1px solid #b3ff7880;padding:15px 20px;background:#b3ff780e;font-size:13px;color:var(--green);margin-top:8px}.action:hover{background:#b3ff7822}.action span{font-size:20px}.object-caption{display:none}.micro{color:#96b7a1;font-size:9px}.city-list{display:flex;flex-wrap:wrap;gap:8px;max-width:460px}.city-list button{background:#08170ddd;border:1px solid #7dad853f;padding:8px 12px;font:12px var(--mono)}.city-list [aria-pressed=true],.city-list button:hover{background:#b3ff781a;color:var(--green);border-color:#b3ff7880}.selected-place{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #7dad853f;margin-top:20px;padding-top:15px;max-width:440px;letter-spacing:0;color:var(--green)}.selected-place span:last-child{color:var(--dim)}.next{display:inline-block;color:#a7c49e;margin-top:26px;letter-spacing:.4px;font-size:10px}.feature-game{padding-left:20px;border-left:2px solid var(--green);margin-bottom:24px;max-width:430px}.feature-game h3{font-size:29px;margin:5px 0 8px}.feature-game p{font-size:14px;color:var(--dim);margin:0}.game-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px;max-width:480px}.game-list li{border:1px solid #7dad853f;padding:8px 12px;font-size:12px;background:#07120bd9}.film-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;max-width:510px}.film-list button{display:flex;justify-content:space-between;text-align:left;align-items:center;gap:10px;background:#051009bb;border:0;border-bottom:1px solid #a4c3ac33;padding:10px 0;font-size:13px;min-height:44px}.film-list button span:last-child{color:#739b7f}.film-list button[aria-pressed=true]{color:var(--green);border-bottom-color:var(--green)}.film-selected{display:flex;justify-content:space-between;max-width:510px;color:var(--green);font-size:9px;margin:16px 0 0;letter-spacing:.4px}.source-path{padding:0;list-style:none;margin:0}.source-path li{display:flex;gap:20px;padding:0 0 18px}.source-path li>span{font:10px var(--mono);color:var(--green);padding-top:6px}.source-path h3{font-size:20px}.source-path p{margin:3px 0 0;font-size:13px;max-width:380px;color:var(--dim)}.email{display:block;margin-top:16px;font:11px var(--mono);color:var(--dim)}footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 4%;z-index:20;background:linear-gradient(transparent,#030807dd 40%);font-size:9px;color:#92ac9b;letter-spacing:.7px}.scroll-hint{color:#b3cfb2}.scroll-hint span{margin-left:12px;color:var(--green)}.progress{height:2px;position:absolute;bottom:0;left:0;right:0;background:#24402d}.progress span{display:block;width:0;height:100%;background:var(--green);box-shadow:0 0 15px var(--green)}.immersive .station{height:115svh;padding:0;min-height:700px}.immersive .panel{position:fixed;top:50%;left:15%;width:43%;max-width:570px;transform:translateY(-46%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,filter .35s;filter:blur(6px)}.immersive .station.active .panel{opacity:1;visibility:visible;pointer-events:auto;filter:blur(0)}.immersive .object-caption{position:fixed;right:7%;bottom:100px;text-align:right;display:block;opacity:0;color:#91c3a2}.immersive .station.active .object-caption{opacity:1}.reading #scene{opacity:.2}.reading .screen-shade{background:#030807aa}.reading .node-nav span{max-width:0;opacity:0}.reading .station{min-height:auto;padding-block:130px 70px}.reading .panel{max-width:720px}.paused .panel{transition:none!important}.paused{scroll-behavior:auto}
@media(max-width:1100px){.header-label{display:none}.immersive .panel{left:12%;width:48%}.station{padding-left:12%}.node-nav{left:3%}.node-nav:hover span{max-width:0}.screen-shade{background:linear-gradient(90deg,#030807eb,#030807aa 45%,transparent)}}
@media(max-width:650px){header{height:65px;padding-inline:5%}.brand{font-size:16px}.controls{gap:10px}.controls button{padding:6px;font-size:8px}.controls a{font-size:10px}.node-nav{top:65px;left:0;right:0;transform:none;flex-direction:row;justify-content:space-around;gap:0;padding:10px 4%;background:#030807e8;border-bottom:1px solid #7dad8522}.node-nav a{flex-direction:column;gap:3px;font-size:8px}.node-nav b{border:0;padding:0;font-size:9px}.node-nav span,.node-nav:hover span,.reading .node-nav span{max-width:80px;opacity:1;font-size:8px}.node-nav a[aria-current] b{background:none;box-shadow:none}.screen-shade{background:linear-gradient(0deg,#030807ef 0%,#030807b8 52%,#03080733 86%,#030807b0)}.station{padding:150px 7% 90px}.immersive .station{min-height:800px;height:120svh}.immersive .panel{left:7%;width:86%;top:auto;bottom:78px;transform:none;max-width:none}.eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:15px}h1,h2{font-size:clamp(42px,11vw,60px);margin-bottom:18px}.lead{font-size:17px;margin-bottom:20px}.body-copy{font-size:13px;margin-bottom:18px;max-width:350px}.identity-data{gap:28px;margin:20px 0}.identity-data dt{font-size:8px}.identity-data dd{font-size:12px}.action{font-size:12px;padding:10px 15px}.city-list{gap:6px}.city-list button{font-size:10px;padding:7px 10px;min-height:36px}.selected-place{font-size:10px;margin-top:14px;padding-top:10px}.next{margin-top:18px;font-size:9px}.feature-game{margin-bottom:18px;padding-left:16px}.feature-game h3{font-size:25px}.feature-game p{font-size:13px}.game-list li{font-size:11px}.film-list{gap:0 15px}.film-list button{font-size:11px;min-height:42px;padding:8px 0}.film-selected{font-size:8px}.source-path li{gap:15px;padding-bottom:12px}.source-path h3{font-size:18px}.source-path p{font-size:12px}.object-caption{display:none!important}footer{padding:17px 5%;font-size:8px}.scroll-hint{display:none}.reading .station{padding:155px 7% 50px}}
@media(max-height:740px) and (min-width:651px){.immersive .panel{top:52%}h1,h2{font-size:53px}.eyebrow{margin-bottom:15px}.body-copy{margin-bottom:15px}.source-path li{padding-bottom:10px}.lead{font-size:17px}.identity-data{margin:15px 0}.next{margin-top:15px}}
@media(max-height:720px) and (max-width:650px){.immersive .panel{bottom:58px}h1,h2{font-size:37px;margin-bottom:12px}.eyebrow{margin-bottom:10px}.body-copy{font-size:12px;margin-bottom:12px}.lead{font-size:15px;margin-bottom:12px}.identity-data{margin:14px 0}.feature-game p{font-size:12px}.feature-game{margin-bottom:12px}.film-list button{min-height:36px}.next{margin-top:12px}.source-path li{padding-bottom:8px}.source-path p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Keep every control reachable on short screens and with enlarged text. */
.immersive .panel{max-height:calc(100svh - 185px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#52785c transparent;padding-right:5px}
@media(max-width:650px){.immersive .panel{max-height:calc(100svh - 210px)}}

/* Selectable media is rendered inside the 3D scene, with a reading-view equivalent. */
.game-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.game-list button{background:#07120be6;border:1px solid #7dad8544;padding:7px 10px;font-size:11px;min-height:35px;text-align:left}.game-list button[aria-pressed=true]{color:var(--green);border-color:var(--green);background:#b3ff7815}.game-list button:hover{border-color:#b3ff7888}.game-selected{display:flex;justify-content:space-between;max-width:480px;font:9px/1.6 var(--mono);color:var(--green);gap:12px;margin:15px 0 0}.media-status{font:10px var(--mono);color:var(--dim);margin:8px 0 0}.media-status:empty{display:none}.media-fallback{margin:22px 0;max-width:420px;padding:20px;background:#0c1a12;border:1px solid #668b6b44}.media-fallback img{width:100%;height:200px;object-fit:contain}.media-fallback.poster{max-width:260px}.media-fallback.poster img{height:auto;max-height:380px}.media-fallback figcaption{font:9px var(--mono);color:var(--dim);margin-top:15px}.immersive .media-fallback{display:none}#gaming .feature-game{margin-bottom:16px}#gaming .feature-game h3{font-size:23px}#gaming .feature-game p{font-size:13px}
@media(max-width:650px){#gaming h2,#cinema h2{font-size:35px;margin-bottom:13px}#gaming .feature-game{margin-bottom:12px}#gaming .feature-game h3{font-size:20px}#gaming .feature-game p{font-size:11px}.game-list{gap:5px;margin-top:10px}.game-list button{font-size:10px;padding:5px 8px;min-height:32px}.game-selected{font-size:8px;margin-top:11px}#cinema .body-copy{font-size:12px;margin-bottom:12px}.immersive #gaming .panel,.immersive #cinema .panel{max-height:calc(100svh - 350px)}.reading .media-fallback img{max-width:100%}}
@media(max-width:650px) and (max-height:720px){.immersive #gaming .panel,.immersive #cinema .panel{max-height:calc(100svh - 280px)}}

/* Immersive navigation changes state, never the document scroll position. */
body.immersive{height:100dvh;overflow:hidden;overscroll-behavior:none}
.immersive main{position:fixed;inset:0;overflow:hidden}
.immersive .station{position:absolute;inset:0;height:100%;min-height:0}

/* Inactive full-screen stations must not intercept taps on the active panel. */
.immersive .station{pointer-events:none}
.immersive .station.active .panel{pointer-events:auto;z-index:2}
.game-list button,.film-list button{touch-action:manipulation}
@media(max-width:650px){.game-list button,.film-list button{min-height:44px}}
