@import "https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@75..125,300..800&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#0b1430;--ink:#e8eeff;--dim:#e8eeffb3;--faint:#e8eeff66;--accent:#ff4d4d;--rule:#e8eeff2e;--font:"Helvetica Neue", Inter, system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;overflow:hidden}#gl{touch-action:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.chrome{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;padding:28px 40px;display:flex;position:fixed;top:0;left:0;right:0}.brand{color:inherit;pointer-events:auto;align-items:center;gap:14px;text-decoration:none;display:flex}.brand-mark{color:var(--accent);font-size:20px;line-height:1}.brand-text{flex-direction:column;line-height:1.25;display:flex}.brand-text strong{letter-spacing:.22em;font-size:15px;font-weight:700}.brand-text em{letter-spacing:.13em;color:var(--dim);font-size:11px;font-style:normal}.nav{pointer-events:auto;gap:34px;display:flex}.nav a{color:var(--dim);letter-spacing:.18em;border-bottom:1px solid #0000;padding-bottom:4px;font-size:11px;text-decoration:none;transition:color .3s,border-color .3s}.copy{z-index:15;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.copy section{opacity:0;visibility:hidden;width:min(430px,40vw);position:absolute;top:50%;left:7vw;transform:translateY(-50%)}.copy .eyebrow{letter-spacing:.24em;color:var(--ink);border-bottom:1px solid var(--ink);margin-bottom:26px;padding-bottom:7px;font-size:10px;display:inline-block}.copy h1,.copy h2{letter-spacing:-.015em;margin-bottom:22px;font-size:clamp(30px,3.5vw,49px);font-weight:300;line-height:1.12}.copy h1 strong,.copy h2 strong{font-weight:700}.copy p{color:var(--dim);max-width:40ch;margin-bottom:13px;font-size:14px;line-height:1.75}.copy p.hint{letter-spacing:.13em;color:var(--faint);margin-top:24px;font-size:10.5px;font-style:italic}.line-mask{display:block;overflow:hidden}.line-inner{will-change:transform, opacity;display:block}.exploder{z-index:22;opacity:0;visibility:hidden;align-items:center;gap:20px;transition:opacity .55s;display:flex;position:fixed;bottom:10vh;left:7vw}.exploder.on{opacity:1;visibility:visible}.exploder-label{letter-spacing:.17em;color:var(--faint);font-size:10px;font-style:italic;line-height:1.6}.exploder-track{cursor:grab;touch-action:none;width:210px;height:34px;position:relative}.exploder-track:active{cursor:grabbing}.exploder-track:before{content:"";background:var(--rule);height:1px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.exploder-fill{background:var(--accent);width:0;height:1px;box-shadow:0 0 9px var(--accent);position:absolute;top:50%;left:0;transform:translateY(-50%)}.exploder-knob{background:var(--ink);border-radius:50%;width:15px;height:15px;margin:-7.5px 0 0 -7.5px;transition:box-shadow .25s;position:absolute;top:50%;left:0;box-shadow:0 0 0 6px #e8eeff17}#hotspots{z-index:18;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.hotspot{pointer-events:auto;cursor:pointer;position:absolute;transform:translate(-50%,-50%)}.hotspot-ring{background:var(--accent);border-radius:50%;width:13px;height:13px;position:relative;box-shadow:0 0 13px #ff4d4dd9}.hotspot-ring:after{content:"";border:1px solid var(--accent);opacity:0;border-radius:50%;animation:2.4s ease-out infinite pulse;position:absolute;top:-7px;bottom:-7px;left:-7px;right:-7px}@keyframes pulse{0%{opacity:.9;transform:scale(.55)}to{opacity:0;transform:scale(1.75)}}.hotspot-card{border:1px solid var(--rule);border-left:2px solid var(--accent);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:#091022ed;width:208px;padding:13px 15px;transition:opacity .28s,transform .28s;position:absolute;top:-13px;left:26px;transform:translate(-9px)}.hotspot:hover .hotspot-card{opacity:1;transform:translate(0)}.hotspot-card b{letter-spacing:.13em;margin-bottom:6px;font-size:11px;display:block}.hotspot-card span{color:var(--dim);font-size:11.5px;line-height:1.6}.progress{z-index:20;flex-direction:column;gap:15px;display:flex;position:fixed;top:50%;right:40px;transform:translateY(-50%)}.progress .dot{border:1px solid var(--faint);cursor:pointer;background:0 0;border-radius:50%;width:8px;height:8px;padding:0;transition:background .3s,border-color .3s,transform .3s}.scrollcue{z-index:20;flex-direction:column;align-items:center;gap:9px;transition:opacity .5s;display:flex;position:fixed;bottom:34px;left:50%;transform:translate(-50%)}.scrollcue span{letter-spacing:.28em;color:var(--faint);font-size:9px}.scrollcue i{background:linear-gradient(var(--faint), transparent);width:1px;height:34px;display:block}.loader{z-index:60;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:15px;transition:opacity .75s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loader.done{opacity:0;pointer-events:none}.loader span{letter-spacing:.3em;color:var(--faint);font-size:9.5px}.loader-bar{background:var(--rule);width:168px;height:1px}.loader-bar i{background:var(--ink);width:0;height:100%;transition:width .35s;display:block}@media (max-width:860px){.chrome{padding:20px}.nav{display:none}.copy section{width:calc(100% - 44px);top:auto;bottom:27vh;left:22px;transform:none}.copy h1,.copy h2{font-size:30px}.copy p{font-size:13px}.exploder{bottom:12vh;left:22px}.exploder-track{width:148px}.progress{right:18px}.hotspot-card{width:168px}}:root{--bg:#090b0d;--ink:#f3f0e8;--dim:#f3f0e8b3;--faint:#f3f0e86b;--accent:#f05a3c;--gold:#d6a541;--graphite:#15191d;--rule:#f3f0e833;--font:"Archivo", "Arial Narrow", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-snap:cubic-bezier(.22, 1, .36, 1);--spring-snappy:linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017 19.4%, 1.067 22.5%, 1.089 26%, 1.079 30.3%, 1.049 36%, 1.024 42.6%, 1.011 50.3%, 1.004 59.2%, 1.001 69.3%, 1)}html,body{background:var(--bg)}body:after{content:"";z-index:8;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:100;background:var(--ink);color:var(--bg);font:500 11px/1 var(--mono);text-transform:uppercase;padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.chrome{border-bottom:1px solid var(--rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:84px;animation:chrome-enter .58s var(--spring-snappy) both;background:linear-gradient(#090b0df5,#090b0dc7);padding:16px clamp(22px,4vw,64px)}.brand{gap:17px}.brand img{filter:brightness(0)invert();width:78px;height:auto}.brand-text{border-left:1px solid var(--rule);font-family:var(--mono);padding-left:17px}.brand-text strong{font:500 11px/1.2 var(--mono);letter-spacing:.12em}.brand-text em{color:var(--faint);font:400 9px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:5px}.nav{gap:clamp(18px,2.2vw,36px)}.nav a,.exit-lab{min-height:44px;color:var(--faint);font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:color .28s var(--ease-snap), transform .36s var(--ease-snap);border:0;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.nav a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .32s var(--ease-snap);position:absolute;top:auto;bottom:3px;left:0;right:0;transform:scaleX(0)}.nav a:hover,.nav a.on{color:var(--ink);border-color:#0000}.nav a:hover:after,.nav a.on:after{transform-origin:0;transform:scaleX(1)}.exit-lab{color:var(--ink);pointer-events:auto;border:1px solid #f3f0e87a;padding:0 15px}.exit-lab:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.copy section{width:min(470px,38vw);left:clamp(30px,6vw,96px)}.copy .eyebrow{color:var(--accent);font:500 10px/1.2 var(--mono);letter-spacing:.13em;text-transform:uppercase;border:0;margin-bottom:24px;padding:0}.copy .eyebrow:before{content:"0" counter(mission-stage) " / ";color:var(--ink)}.copy{counter-reset:mission-stage}.copy section{counter-increment:mission-stage}.copy h1,.copy h2{letter-spacing:-.06em;text-transform:none;max-width:11ch;margin-bottom:24px;font-size:clamp(44px,5vw,76px);font-weight:620;line-height:.9}.copy h1 strong,.copy h2 strong{color:var(--gold);font-weight:740}.copy p{max-width:44ch;color:var(--dim);font-size:15px;line-height:1.65}.copy p.hint{color:var(--faint);font:400 10px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-top:24px}.mission-dossier{z-index:14;border-top:1px solid var(--rule);pointer-events:none;width:245px;position:fixed;top:112px;right:clamp(30px,4vw,64px)}.mission-dossier p{border-bottom:1px solid var(--rule);grid-template-columns:82px 1fr;gap:14px;margin:0;padding:9px 0;display:grid}.mission-dossier span,.mission-dossier b{font:400 8px/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase}.mission-dossier span{color:var(--faint)}.mission-dossier b{color:var(--dim);font-weight:500}.exploder{transition:opacity .5s var(--ease-out);gap:20px;bottom:12vh;left:clamp(30px,6vw,96px)}.exploder-label{color:var(--faint);font:400 9px/1.55 var(--mono);letter-spacing:.1em;text-transform:uppercase}.exploder-track{align-items:center;min-width:44px;min-height:44px;display:flex}.exploder-track:before{background:var(--rule)}.exploder-fill{background:var(--gold);box-shadow:0 0 10px #d6a5416b}.exploder-knob{background:var(--paper-light,#f3f0e8);box-shadow:0 0 0 6px #d6a54121}.exploder-track:hover .exploder-knob{box-shadow:0 0 0 10px #d6a54133}.exploder-track:focus-visible .exploder-knob{box-shadow:0 0 0 10px #d6a54133}#hotspots{z-index:18}.hotspot{color:inherit;text-align:left;background:0 0;border:0;margin:-15px;padding:15px}.hotspot-ring{background:var(--accent);width:11px;height:11px;box-shadow:0 0 13px #f05a3cb8}.hotspot-ring:after{border-color:var(--accent);animation:pulse 2.4s var(--ease-out) infinite}.hotspot-card{border:1px solid var(--rule);border-left:2px solid var(--gold);width:224px;transition:opacity .3s var(--ease-snap), transform .3s var(--ease-snap);background:#090b0df0;padding:14px 16px;top:-10px;left:29px;transform:translate(-8px)}.hotspot:hover .hotspot-card,.hotspot[aria-expanded=true] .hotspot-card{opacity:1;transform:translate(0)}.hotspot:focus-visible .hotspot-card{opacity:1;transform:translate(0)}.hotspot-card b{color:var(--gold);font:500 10px/1.2 var(--mono);letter-spacing:.11em}.hotspot-card span{color:var(--dim);font:400 11px/1.55 var(--mono)}.progress{gap:13px;right:clamp(18px,3vw,44px)}.progress .dot{width:44px;height:44px;transition:transform .34s var(--ease-snap);border:0;border-radius:0;position:relative}.progress .dot:before{content:"";border:1px solid var(--faint);border-radius:50%;position:absolute;top:18px;bottom:18px;left:18px;right:18px}.progress .dot:after{content:"";background:var(--accent);width:0;height:1px;transition:width .34s var(--ease-snap);position:absolute;top:21px;right:28px}.progress .dot.on{background:0 0;border-color:#0000;transform:none}.progress .dot.on:before{background:var(--accent);border-color:var(--accent)}.progress .dot.on:after{width:28px}.stage-controls{z-index:24;border:1px solid var(--rule);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#090b0dbd;align-items:center;display:flex;position:fixed;bottom:34px;right:clamp(30px,4vw,64px)}.stage-controls button{min-width:94px;min-height:44px;color:var(--ink);cursor:pointer;font:500 9px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;transition:color .25s var(--ease-snap), background .25s var(--ease-snap), transform .32s var(--ease-snap);background:0 0;border:0;padding:0 14px}.stage-controls button:hover{background:var(--ink);color:var(--bg)}.stage-controls button:active{transform:scale(.96)}.stage-controls p{min-width:62px;color:var(--faint);text-align:center;font:400 9px/1 var(--mono);margin:0}.stage-controls p span{color:var(--accent)}.mission-credit{z-index:14;color:#f3f0e857;max-width:440px;font:400 8px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;pointer-events:none;margin:0;position:fixed;bottom:17px;left:clamp(30px,6vw,96px)}.scrollcue{transition:opacity .42s var(--ease-out);bottom:26px}.scrollcue span{font-family:var(--mono)}.scrollcue i{background:linear-gradient(var(--accent), transparent)}.loader{background:var(--bg);transition:opacity .6s var(--ease-out), visibility .6s allow-discrete}.loader img{filter:brightness(0)invert();width:126px;height:auto}.loader span{font-family:var(--mono)}.loader-bar{background:var(--rule)}.loader-bar i{background:var(--accent);transition:width .35s var(--ease-out)}.webgl-fallback{z-index:55;background:var(--bg);color:var(--ink);padding:clamp(120px,15vh,170px) max(7vw,24px) 70px;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.webgl-fallback[hidden]{display:none}.webgl-fallback>*{max-width:980px}.webgl-fallback .fallback-index{color:var(--accent);font:500 10px/1 var(--mono);letter-spacing:.12em}.webgl-fallback h2{letter-spacing:-.06em;margin:28px 0;font-size:clamp(48px,7vw,100px);line-height:.9}.webgl-fallback>p:not(.fallback-index){max-width:62ch;color:var(--dim);font-size:18px}.webgl-fallback ol{border-top:1px solid var(--rule);max-width:980px;margin:46px 0;padding:0;list-style:none}.webgl-fallback li{border-bottom:1px solid var(--rule);grid-template-columns:230px 1fr;gap:28px;padding:22px 0;display:grid}.webgl-fallback li b{color:var(--gold);font:500 10px/1.3 var(--mono);text-transform:uppercase}.webgl-fallback li span{color:var(--dim)}.webgl-fallback a{background:var(--accent);min-height:48px;color:var(--bg);font:500 10px/1 var(--mono);text-transform:uppercase;align-items:center;padding:14px 18px;text-decoration:none;display:inline-flex}.webgl-unavailable #gl,.webgl-unavailable #hotspots,.webgl-unavailable .copy,.webgl-unavailable .exploder,.webgl-unavailable .progress,.webgl-unavailable .stage-controls,.webgl-unavailable .mission-dossier,.webgl-unavailable .mission-credit,.webgl-unavailable .scrollcue,.webgl-unavailable .loader{display:none!important}@keyframes chrome-enter{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1050px){.mission-dossier{display:none}.nav{margin-left:auto}.copy section{width:min(440px,43vw)}}@media (max-width:760px){.chrome{min-height:70px;padding:10px 18px}.brand img{width:54px}.brand-text{padding-left:12px}.brand-text strong{font-size:10px}.brand-text em,.nav{display:none}.exit-lab{min-height:44px;padding-inline-start:12px;padding-inline-end:12px;font-size:9px}.copy section{width:min(52vw,210px);bottom:31vh;left:22px}.copy h1,.copy h2{max-width:12ch;margin-bottom:16px;font-size:clamp(35px,11vw,50px);line-height:.88}.copy .eyebrow{margin-bottom:16px}.copy p{max-width:27ch;font-size:12px;line-height:1.48}.copy p.hint{display:none}.exploder{bottom:18vh;left:22px;right:56px}.exploder-track{width:min(210px,48vw)}.progress{right:4px}.stage-controls{justify-content:space-between;bottom:22px;left:16px;right:16px}.stage-controls button{min-width:102px}.mission-credit,.scrollcue{display:none}.hotspot-card{width:min(190px,52vw)}.webgl-fallback li{grid-template-columns:1fr;gap:8px}}@media (max-width:420px),(max-height:700px) and (max-width:760px){.copy section{bottom:32vh}.copy h1,.copy h2{font-size:34px}.copy p{font-size:12px}.exploder{bottom:17vh}}@media (prefers-reduced-motion:reduce){.chrome,.hotspot-ring:after{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hotspot-card{transform:none}}
