@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#eef4ec;--muted:#9cadb0;--green:#abf8ce;--amber:#efb574;--red:#ff8780;--line:#38505a;--panel:#0b1922;--mono:'IBM Plex Mono',monospace;--title:'Barlow Condensed','Arial Narrow',sans-serif}*{box-sizing:border-box}body{margin:0;background:#07121a;color:var(--ink);font-family:Inter,Arial,sans-serif;overflow:hidden;font-size:14px}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:4px}button{transition:background .15s,border-color .15s,transform .15s}button:hover:not(:disabled){filter:brightness(1.12)}a{color:var(--green)}#world{position:fixed;inset:0;width:100%;height:100%;image-rendering:pixelated;touch-action:none;outline:none}.grain{position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 4px);opacity:.33}.shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#051019ed 0%,#051019ac 38%,#05101908 72%),linear-gradient(0deg,#030a12d9,transparent 30%)}header{position:fixed;z-index:5;top:0;left:0;right:0;padding:22px 34px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #759b9b22;background:linear-gradient(#07121ae8,#07121a70)}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font:14px var(--mono);letter-spacing:.06em}.brand b{font-weight:600}.brand small{display:block;font-size:8px;letter-spacing:.15em;color:var(--muted);margin-top:6px}.brand-icon{width:40px;height:40px;border:1px solid var(--green);display:grid;place-content:center;font:bold 28px var(--title);color:var(--green);position:relative}.brand-icon span{position:absolute;right:2px;bottom:0;color:var(--amber)}.header-right{display:flex;gap:10px;align-items:center}.live{font:9px var(--mono);letter-spacing:.08em;color:var(--green);margin-right:12px}.live i{display:inline-block;width:5px;height:5px;background:var(--green);margin-right:7px;box-shadow:0 0 8px var(--green)}.small,.secondary{background:#0a1926bb;color:var(--ink);border:1px solid var(--line);padding:11px 14px;font:10px var(--mono);letter-spacing:.04em}.primary{background:var(--green);color:#102821;border:1px solid var(--green);padding:16px 22px;font:600 12px var(--mono);letter-spacing:.06em;box-shadow:4px 4px 0 #2a645e}.primary:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #2a645e}.secondary{padding:16px 22px;font-size:12px}.eyebrow{color:var(--green);font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}#ui{position:fixed;inset:90px 0 0;overflow:auto;z-index:3;pointer-events:none}#ui>*{pointer-events:auto}.home{min-height:calc(100dvh - 90px);padding:clamp(24px,4vw,60px) 5.2vw 24px;display:flex;flex-direction:column;justify-content:center;max-width:790px}.home .eyebrow:before{content:'●';color:var(--amber);margin-right:10px}.home h1{font:800 clamp(72px,8vw,128px)/.85 var(--title);letter-spacing:-.015em;margin:22px 0 25px;text-transform:uppercase}.home h1 em{font-style:normal;color:var(--green);display:block}.home .lede{font-size:17px;line-height:1.6;max-width:460px;color:#cedada;margin-bottom:22px}.home .caption{font:10px var(--mono);line-height:1.8;color:var(--muted);max-width:500px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.facts{display:flex;gap:34px;margin:30px 0 22px;padding-top:20px;border-top:1px solid #56707566;max-width:510px}.facts b{display:block;color:var(--ink);font:30px var(--title);margin-bottom:4px}.facts span{font:9px var(--mono);color:var(--muted);letter-spacing:.06em}.world-note{position:fixed;right:5vw;bottom:7vh;width:240px;padding-left:16px;border-left:2px solid var(--amber);pointer-events:none!important}.world-note strong{display:block;font:25px var(--title);margin:8px 0}.world-note p{font:10px/1.7 var(--mono);color:#c7d9dc}.panel{max-width:760px;margin:25px auto;padding:32px;background:#0b1922f5;border:1px solid var(--line);box-shadow:10px 12px 0 #030c1466;position:relative}.panel:before{content:'';position:absolute;top:-1px;left:-1px;width:100px;height:3px;background:var(--green)}.panel h1,.panel h2{font:600 clamp(30px,4vw,45px)/1.08 var(--title);margin:12px 0 16px}.panel h3{font:600 23px var(--title);margin:16px 0 10px}.panel p{line-height:1.65;color:#c5d3d5}.panel .row{margin-top:22px}.wide{max-width:980px}.case-panel{margin:18px 5vw 20px auto;max-width:690px}.case-top{display:flex;justify-content:space-between;gap:12px}.timer{font:600 24px var(--mono);color:var(--amber);white-space:nowrap}.timer.urgent{color:var(--red)}.progress{height:3px;background:#253c47;margin:15px 0 18px}.progress i{display:block;height:100%;background:var(--green)}.transmission{display:grid;grid-template-columns:42px 1fr;gap:14px;border-left:2px solid var(--amber);padding:13px 15px;background:#16252b}.portrait{display:grid;place-content:center;width:40px;height:44px;background:#bba27c;color:#182934;font:700 23px var(--title);box-shadow:4px 0 #647974,-4px 0 #647974}.transmission small{font:9px var(--mono);color:var(--amber)}.transmission p{margin:5px 0 0;font-size:12px;line-height:1.5}.question{font-size:16px!important;font-weight:600;color:var(--ink)!important}.choices{display:grid;gap:8px}.choice{width:100%;text-align:left;background:#132530;border:1px solid #35505c;color:var(--ink);padding:12px 14px;display:flex;align-items:flex-start;gap:14px;font-size:12px;line-height:1.55}.choice:hover:not(:disabled){border-color:var(--green);background:#1a363b}.choice kbd{font:11px var(--mono);color:var(--green);border:1px solid #51766c;padding:3px 6px;flex:none}.choice.chosen{border-color:var(--amber);background:#342d23}.feedback{padding:17px;border-left:3px solid var(--red);background:#38232566;margin:18px 0}.feedback.good{border-color:var(--green);background:#15382d77}.feedback p{margin:7px 0;font-size:13px}.feedback strong{color:var(--ink)}.legal{font:10px/1.7 var(--mono);color:var(--green)!important}.fine{font:10px/1.7 var(--mono)!important;color:var(--muted)!important}.bridge{font-size:11px!important;color:var(--amber)!important;padding:10px;border:1px dashed #8d765d}.fields{display:grid;gap:12px;margin:18px 0}.fields label{font:11px var(--mono);color:var(--muted)}input,select{background:#07141d;border:1px solid #45616b;padding:14px;color:var(--ink);width:100%;margin-top:7px}select{width:auto;margin:0}input{text-transform:none}#room-code{text-transform:uppercase}#room-status{color:var(--amber);font:11px/1.6 var(--mono)}.crew{display:flex;gap:10px;flex-wrap:wrap}.crew span{border:1px solid var(--line);padding:12px;color:var(--green);font:11px var(--mono)}.code{font:600 38px var(--mono);letter-spacing:.16em;color:var(--green);margin:20px 0}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font:10px var(--mono);padding:12px 8px;border-bottom:1px solid var(--line)}td{padding:14px 8px;border-bottom:1px solid #304651}td:nth-child(3){color:var(--green)}.archive{display:grid;grid-template-columns:1fr 1fr;gap:10px}.archive article{padding:15px;border:1px solid var(--line);background:#12252e}.archive h3{font-size:22px;margin:8px 0}.archive p{font-size:12px}.archive small{font:9px var(--mono);color:var(--amber)}details{border-top:1px solid var(--line);padding:13px 0}summary{cursor:pointer;line-height:1.6;font-size:13px}details p{font-size:12px}.scorehero{display:flex;gap:28px;margin:20px 0}.scorehero b{font:48px var(--title);color:var(--green);display:block}.scorehero span{font:9px var(--mono);color:var(--muted)}.metrics{display:flex;gap:0;position:fixed;top:108px;left:34px;background:#091722de;border:1px solid var(--line);pointer-events:auto}.metrics>div{padding:11px 18px;border-right:1px solid #35505c;font:8px var(--mono);color:var(--muted);letter-spacing:.1em}.metrics b{display:block;font:18px var(--title);letter-spacing:.02em;color:var(--green);margin-top:6px}.field-bottom{position:fixed;bottom:30px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:end;gap:20px;pointer-events:none}.objective{max-width:570px;background:#07151dea;border-left:3px solid var(--green);padding:18px 22px;pointer-events:auto}.objective h2{font:32px var(--title);margin:8px 0}.objective p{font:10px var(--mono);color:var(--amber)}.controls{display:grid;gap:10px;text-align:right;font:9px var(--mono);color:var(--muted);pointer-events:auto}#hud{position:fixed;inset:0;pointer-events:none;z-index:2}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#19362f;border:1px solid var(--green);padding:12px 20px;z-index:15;font:12px var(--mono);max-width:90vw;display:none}#toast.show{display:block}#mobile{display:none}.loading{margin:15vh 10vw;font:15px var(--mono);color:var(--green)}.phase-decision .metrics,.phase-review .metrics{max-width:300px;flex-wrap:wrap}.phase-decision .metrics>div,.phase-review .metrics>div{min-width:110px}.phase-decision .field-bottom,.phase-review .field-bottom{display:none}.phase-home #hud{display:none}.room-strip{font:10px var(--mono);color:var(--green);padding:10px 0}.nudge{font:10px var(--mono);color:var(--amber)}
@media(max-width:1050px){.case-panel{margin:95px auto 20px}.phase-decision .metrics,.phase-review .metrics{max-width:none;flex-wrap:nowrap;top:92px;left:50%;transform:translateX(-50%);width:max-content}.header-right .live{display:none}.world-note{display:none}.home{max-width:650px}.home h1{font-size:100px}}
@media(max-width:650px){header{padding:14px 16px;gap:8px}.brand{font-size:10px}.brand small{font-size:6px}.brand-icon{width:30px;height:30px;font-size:22px}.header-right{gap:5px}.header-right button{padding:8px;font-size:8px}#quality{display:none}#ui{top:74px}.home{padding:28px 24px;justify-content:start;min-height:calc(100dvh - 74px)}.home h1{font-size:76px;margin-top:26px}.home .lede{font-size:14px;max-width:350px}.facts{gap:26px;margin:24px 0 18px}.shade{background:linear-gradient(90deg,#06121aeb,#06121a80)}.panel{margin:16px 12px;padding:22px 18px}.case-panel{margin-top:91px}.panel h2{font-size:31px}.transmission{padding:10px;gap:10px}.choice{padding:11px 9px;font-size:12px;gap:9px}.question{font-size:14px!important}.metrics,.phase-decision .metrics,.phase-review .metrics{top:82px;left:12px;right:12px;width:auto;transform:none}.metrics>div{padding:9px 10px;flex:1;min-width:0!important;font-size:7px}.metrics b{font-size:15px}.field-bottom{left:12px;right:12px;bottom:16px}.objective{padding:14px;max-width:none;width:100%}.objective h2{font-size:25px}.objective .primary{padding:12px;font-size:10px}.controls{display:none}#mobile{position:fixed;bottom:190px;left:12px;z-index:2;display:flex;gap:6px}#mobile button{background:#0a1d2bd9;border:1px solid var(--line);color:var(--green);width:43px;height:42px;touch-action:none}.phase-home #mobile,.phase-decision #mobile,.phase-review #mobile,.phase-break #mobile,.phase-end #mobile{display:none}.archive{grid-template-columns:1fr}.code{font-size:29px}.primary,.secondary{padding:14px 18px;font-size:11px}.scorehero{gap:18px}table{font-size:11px}td,th{padding:10px 5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.grain{display:none}}
#toast{pointer-events:none}@media(max-width:650px){.home h1{font-size:68px}.header-right #exit{padding:8px 5px}.phase-decision #help,.phase-review #help{display:none}}
.case-top{position:sticky;top:0;z-index:1;background:#0b1922;padding:8px 0}@media(max-width:1050px){.case-top{top:75px}}

#world{cursor:grab}#world:active{cursor:grabbing}@media(max-width:650px){#mobile{bottom:230px}.objective .row{gap:7px}.objective .small{padding:10px 8px;font-size:9px}}

/* Locally hosted 14-second cinematic films. Native dialog traps keyboard focus. */
.cinema{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#03090f;color:var(--ink);overflow:hidden}
.cinema::backdrop{background:#03090f}.cinema-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.cinema video{width:100%;height:100%;object-fit:contain}.cinema-top,.cinema-bottom{position:absolute;left:clamp(16px,4vw,56px);right:clamp(16px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:14px;font:10px var(--mono);letter-spacing:.06em;color:var(--green)}
.cinema-top{top:max(20px,env(safe-area-inset-top))}.cinema-bottom{bottom:max(24px,env(safe-area-inset-bottom))}.cinema .small{background:#07131fee;white-space:nowrap}.cinema-status{line-height:1.6}.cinema-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#142933}.cinema-progress i{display:block;height:100%;background:var(--green);transform:scaleX(0);transform-origin:left}
@media(max-width:650px){.cinema-top{font-size:8px;align-items:flex-start}.cinema-bottom{flex-wrap:wrap;font-size:9px}.cinema-status{max-width:58%}.cinema .small{font-size:9px;padding:12px}.cinema-play:not([hidden])~.cinema-status{max-width:100%;order:3;width:100%}}

.consequence-alert{border:2px solid #ff8780;background:#301c24;padding:22px;margin-bottom:18px;box-shadow:inset 5px 0 #ff8780}.consequence-alert .eyebrow{color:#ffb5ae;font-weight:bold}.consequence-alert h3{font:700 32px var(--title);margin:12px 0;color:#fff1ea}.consequence-alert .harm{font-size:17px;line-height:1.6;color:#fff1ea}.consequence-alert strong{font:600 10px var(--mono);letter-spacing:.08em;color:#ffb5ae}.penalty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.penalty-grid>div{background:#170f18;border:1px solid #a55557;padding:13px}.penalty-grid small{display:block;font:9px/1.6 var(--mono);color:#f1aaa5}.penalty-grid b{display:block;font:28px var(--title);color:#fff1ea;margin-top:5px}.consequence-alert .safer{border-top:1px solid #9d5658;padding-top:16px}.consequence-alert.escalated{border-color:#ffb267}.consequence-alert.critical{border-width:3px;background:#391a23}.warning-ack{background:#ffb5ae;color:#30141b;border:0;padding:16px 20px;font:600 11px var(--mono);margin-bottom:6px}.risk-reminder{background:#321e26;border-left:4px solid #ff8780;color:#ffd5cd;padding:12px 14px;font:11px/1.7 var(--mono);margin:12px 0}.unsafe-review .metrics{border-color:#ff8780}.unsafe-review .metrics b{color:#ffb5ae}.unsafe-review .case-panel{border-color:#9d5658}@media(max-width:650px){.consequence-alert{padding:15px}.consequence-alert h3{font-size:27px}.consequence-alert .harm{font-size:14px}.penalty-grid{gap:5px}.penalty-grid>div{padding:8px}.penalty-grid b{font-size:23px}.penalty-grid small{font-size:8px}}

.ending-verdict{font:600 12px/1.7 var(--mono)!important;padding:14px;border:1px solid var(--green);color:var(--green)!important;background:#16332c}.ending-verdict.bad-ending{border-color:#ff8780;color:#ffd5cd!important;background:#321e26}

/* Cyberpunk architectural rendering: preserve texture detail instead of pixel scaling. */
#world{image-rendering:auto}.grain{opacity:.06}.shade{background:linear-gradient(90deg,#050a14c9,#08142135 65%),linear-gradient(0deg,#040b16b0,transparent 38%)}:root{--green:#78e8f2;--amber:#e999d1;--panel:#0b1424;--line:#36516b}.primary{box-shadow:4px 4px 0 #245870}.brand-icon{box-shadow:0 0 18px #63dcec22}.panel{background:#0b1424ee;backdrop-filter:blur(12px)}.metrics,.objective{background:#091426df}.home h1 em{text-shadow:0 0 30px #43cfe829}

.story-film{position:fixed;inset:0;z-index:30;background:linear-gradient(0deg,#030913f5,transparent 72%);border-top:7vh solid #030913;border-bottom:6vh solid #030913;pointer-events:auto}.story-top{display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;font:10px var(--mono);color:#90e7f1;gap:15px}.story-caption{position:absolute;left:7vw;right:7vw;bottom:5vh;max-width:900px}.story-caption h2{font:700 clamp(32px,5vw,68px)/1 var(--title);margin:12px 0;text-transform:uppercase}.story-hook{font-size:clamp(15px,2vw,22px);color:#f1c4e5;max-width:720px}.story-beat{font:14px/1.7 var(--mono);min-height:48px;color:#cce8ef}.story-time{font:9px var(--mono);letter-spacing:.06em}.story-track{height:2px;background:#26344b;max-width:600px;margin:16px 0}.story-track i{display:block;height:100%;background:#e49ad1;transform-origin:left}.phase-briefing #mobile,.phase-briefing #hud{display:none}.evidence-dialog{max-width:960px;width:calc(100vw - 32px);max-height:88dvh;padding:28px;border:1px solid #68d7e6;background:#0b1728;color:#dbe9ee;box-shadow:0 24px 100px #000a}.evidence-dialog::backdrop{background:#020914bd;backdrop-filter:blur(5px)}.evidence-dialog h2{font:38px var(--title);margin:14px 0}.evidence-dialog>p{font-size:13px;line-height:1.7}.evidence-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.evidence-cards article{padding:18px;background:#14243a;border:1px solid #3c5f77}.evidence-cards h3{font:26px var(--title);margin:12px 0}.evidence-cards p{font-size:13px;line-height:1.8}.evidence-clock{color:#f7b5cc}.case-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}.choice-fault{border-left:2px solid #ffb5ae;padding-left:12px}.field-bottom .objective{max-width:650px}@media(max-width:650px){.evidence-cards{grid-template-columns:1fr}.evidence-dialog{padding:20px}.story-beat{font-size:12px;min-height:70px}.story-top{font-size:8px}.story-caption{bottom:3vh}.story-time{font-size:8px;line-height:1.7}.case-tools{align-items:flex-start;flex-direction:column}.objective .row{gap:5px}#mobile{bottom:265px}}

.story-film{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;color:#dbe9ee;border-left:0;border-right:0}.story-film::backdrop{background:transparent}.phase-briefing header{visibility:hidden}

/* First-person investigation: keep the environment visible and the HUD restrained. */
:root{--green:#d6ddc8;--amber:#d3ae7c;--line:#586166;--panel:#182024}
#world{image-rendering:auto}.grain{display:none}.shade{background:linear-gradient(90deg,#11191fd9,transparent 82%)}
.phase-explore .shade{background:radial-gradient(ellipse,transparent 55%,#05080b38)}
.phase-explore header{padding:12px 24px;background:#11191c91;border:0}.phase-explore .brand small,.phase-explore .live{display:none}
.phase-explore .metrics{top:79px;left:24px;background:#151c20a8;border:1px solid #8b969329;backdrop-filter:blur(8px)}
.phase-explore .metrics>div{padding:8px 14px}.phase-explore .metrics b{font:15px var(--mono);color:#d9dfd5}
.phase-explore .field-bottom{bottom:22px;left:24px;right:24px}.phase-explore .objective{max-width:630px;padding:12px 16px;background:#141c21cf;border-left:2px solid #b2bca7;backdrop-filter:blur(12px)}
.phase-explore .objective h2{font-size:25px;margin:5px 0}.phase-explore .objective .row{gap:6px}.phase-explore .objective .primary{font-size:10px;padding:11px 13px;box-shadow:none}.phase-explore .objective .small{padding:10px;font-size:9px}
#fpv-focus{display:none;pointer-events:none;position:fixed;z-index:2;inset:0}.phase-explore #fpv-focus{display:block}
#reticle{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#fff9;box-shadow:0 0 3px #000;transform:translate(-50%,-50%)}#reticle.focused{width:16px;height:16px;background:transparent;border:1px solid #e6ddbc}
#focus-label{position:absolute;top:calc(50% + 23px);left:50%;transform:translateX(-50%);font:9px var(--mono);letter-spacing:.1em;color:#f1eee2;text-shadow:0 1px 3px #000;background:#0a101667;padding:7px 10px;white-space:nowrap}
.primary{box-shadow:none;background:#d6ddc8;border-color:#d6ddc8;color:#19231d}.panel{background:#141d23f0}.choice{background:#202b32;border-color:#526069}.choice:hover:not(:disabled){background:#35413e}.eyebrow{color:#c6cdbd}.brand-icon{border-color:#bcc6bb;color:#d6ddc8}
@media(max-width:650px){.phase-explore header{padding:12px}.phase-explore .metrics{top:75px;left:12px;right:12px}.phase-explore .field-bottom{left:12px;right:12px;bottom:12px}.phase-explore .objective h2{font-size:22px}.phase-explore .objective{padding:10px 12px}.phase-explore .objective .small{padding:8px;font-size:8px}#mouse-look{display:none}#mobile{bottom:245px}#focus-label{font-size:8px;max-width:90vw;white-space:normal;text-align:center}.phase-explore .objective .row{gap:5px}}

@media(max-width:650px){.phase-explore #quality{display:block}.phase-explore #help{display:none}.phase-explore .objective .small{padding:8px 7px}.phase-explore #mobile{bottom:255px}}

/* Original elevator arrival; the 3D scene remains visible behind the captions. */
.arrival{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-top:5vh solid #080d12;border-bottom:5vh solid #080d12;color:#f1eee6;background:linear-gradient(0deg,#060d17ed,transparent 75%);overflow:auto}
.arrival::backdrop{background:transparent}.arrival-active #ui,.arrival-active header,.arrival-active #hud,.arrival-active #fpv-focus,.arrival-active #mobile{visibility:hidden}
.arrival-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 4vw;font:10px var(--mono);letter-spacing:.1em}.arrival-floor{position:absolute;right:5vw;top:18%;display:grid;text-align:center;gap:8px;padding:15px 20px;border:1px solid #b4b4a95c;background:#0b111ab3;min-width:120px}.arrival-floor span{font:9px var(--mono);letter-spacing:.13em}.arrival-floor b{font:64px var(--title);color:#e3c58d}.arrival-caption{position:absolute;bottom:5vh;left:6vw;right:6vw;max-width:790px}.arrival-caption h1{font:700 clamp(42px,7vw,86px)/.95 var(--title);letter-spacing:.06em;margin:14px 0}.arrival-line{font:clamp(14px,1.6vw,20px)/1.7 Inter,Arial;max-width:650px;min-height:68px;color:#e5e3db}.arrival-track{height:2px;background:#ffffff22;margin:18px 0}.arrival-track i{display:block;height:100%;background:#d8b679;transform-origin:left}.arrival-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.arrival-count{font:9px var(--mono);letter-spacing:.06em}
@media(max-width:650px){.arrival-top{font-size:8px;padding:14px 5vw}.arrival-top button{font-size:8px;padding:10px}.arrival-floor{top:17%;min-width:95px;padding:10px}.arrival-floor b{font-size:48px}.arrival-caption{bottom:3vh}.arrival-caption .eyebrow{font-size:8px}.arrival-line{font-size:14px;min-height:90px}.arrival-bottom{align-items:flex-start;flex-direction:column}.arrival-caption h1{font-size:48px}}
/* Unified night-operations art direction: warm brass, slate and clear typography. */
/* Unified interface finishes across menus, investigations, evidence and results. */
:root{--green:#d5dfcc;--amber:#d8b680;--muted:#b0bdc1;--line:#56676c;--panel:#141e24}
header{background:linear-gradient(180deg,#0b141eea,#111d27c4);border-bottom:1px solid #b3c5ca22}
.brand-icon{background:linear-gradient(145deg,#37433d,#142322);box-shadow:inset 0 1px #ffffff25}
.home h1{letter-spacing:-.025em}.home h1 em{color:#d5dfcc;text-shadow:0 3px 32px #0008}
.home .lede{color:#dae1df}.world-note{border-color:var(--amber);background:linear-gradient(90deg,#111b24c9,transparent);padding:18px}
.panel{background:linear-gradient(145deg,#1b2730f5,#0e1820f5);border-color:#71838a66;border-radius:8px;box-shadow:0 24px 70px #0007,inset 0 1px #ffffff0c;backdrop-filter:blur(16px)}
.panel:before{left:22px;top:0;width:64px;height:2px;background:var(--amber)}
.primary,.secondary,.small,.warning-ack{border-radius:4px}.primary{background:linear-gradient(#e1e8d7,#c4d1b8);box-shadow:0 3px 14px #0003}.primary:active{transform:translateY(1px);box-shadow:none}
.secondary,.small{background:#12202bd4;border-color:#6e818754}.small:hover:not(:disabled),.secondary:hover:not(:disabled){border-color:#d8b680;background:#29363c}
.case-top{background:#17232c}.transmission{background:#25323a;border-color:var(--amber);border-radius:0 5px 5px 0}.portrait{border-radius:50%;box-shadow:none;background:#8fa49f;color:#172526}
.choices{gap:10px}.choice{min-height:76px;padding:16px;border-radius:5px;border-color:#687b8266;background:linear-gradient(100deg,#25323d,#1c2932);font-size:13px;align-items:center}
.choice kbd{display:grid;place-content:center;width:29px;height:29px;border-radius:4px;padding:0;color:#cedacd;border-color:#8da08e66}
.choice:hover:not(:disabled){background:#34443f;border-color:#bdcbb7;transform:translateX(2px)}.choice.chosen{background:#39362b;border-color:var(--amber)}
.progress,.story-track{height:3px;border-radius:3px;overflow:hidden}.progress i,.story-track i{background:var(--amber)}
.story-top,.story-beat{color:#d8dfdc}.story-hook{color:#dcc8a6}.story-film{background:linear-gradient(0deg,#071019f5,transparent 80%)}
.evidence-dialog{background:linear-gradient(140deg,#202d36,#111c24);border-color:#8c9b9366;border-radius:8px}.evidence-cards article{background:#27333b;border-color:#77877e66;border-top:3px solid var(--amber);border-radius:4px}.evidence-clock{color:var(--amber)}
.archive article{background:linear-gradient(130deg,#24323b,#17252d);border-color:#6c7d8366;border-radius:5px}.feedback,.consequence-alert,.penalty-grid>div,.ending-verdict{border-radius:5px}
.metrics{border-radius:5px;overflow:hidden}.objective{border-radius:0 6px 6px 0}#toast{border-radius:5px;box-shadow:0 8px 30px #0007}
.arrival{background:linear-gradient(0deg,#060d17f2,transparent 65%)}.arrival-caption h1{letter-spacing:.035em}.arrival-floor{border-radius:4px;backdrop-filter:blur(8px)}
.arrival-objective{display:grid;place-items:center;background:linear-gradient(90deg,#061019d9,#06101944);border:0}
.arrival-brief{width:min(620px,calc(100% - 36px));padding:clamp(22px,4vw,44px);background:linear-gradient(145deg,#1d2934ed,#101b24ed);border:1px solid #aab7b358;border-top:2px solid var(--amber);border-radius:7px;box-shadow:0 30px 90px #0008;backdrop-filter:blur(12px);animation:objective-reveal .55s ease-out}
.arrival-identity{font:10px var(--mono);letter-spacing:.08em;color:var(--muted);margin:16px 0 30px}.objective-tag{display:block;color:var(--amber);font:11px var(--mono);letter-spacing:.14em}.arrival-brief h1{font:600 clamp(34px,5vw,52px)/1.05 var(--title);margin:12px 0 20px}.arrival-brief>p:not(.arrival-identity){line-height:1.7;color:#d2dedf}.arrival-brief ol{padding-left:20px;color:#becdce;line-height:1.7;font-size:13px;margin:20px 0 26px}.arrival-brief li{padding:5px 0}
@keyframes objective-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.choice{font-size:12px;min-height:88px;padding:12px;gap:10px}.panel{border-radius:6px}.arrival-identity{margin-bottom:18px}.arrival-brief{max-height:90dvh;overflow:auto}.arrival-brief h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.arrival-brief{animation:none}.choice:hover:not(:disabled){transform:none}}

.arrival-radio{max-width:680px;padding:12px 16px;border-left:3px solid #e4ac69;background:#101921ed;color:#f5e6cf;font:13px/1.55 Inter,Arial;margin:8px 0}.arrival-radio[hidden]{display:none}@media(max-width:650px){.arrival-radio{font-size:12px;padding:9px 12px}.arrival-caption:has(.arrival-radio:not([hidden])) h1{font-size:34px}.arrival-caption:has(.arrival-radio:not([hidden])) .arrival-line{min-height:0;margin:8px 0}}

.office-card{border:1px solid #b9a77c66;background:#0b1420;color:#eee7da;padding:0;max-width:min(620px,92vw);max-height:85dvh;overflow:auto}.office-card::backdrop{background:#02060bd9}.office-card p{white-space:pre-line}.arrival-caption h1{font-size:clamp(32px,6vw,70px)}.arrival-top>span{max-width:65%;line-height:1.7}

.opening-title{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#040a12ed;text-align:center;padding:24px;pointer-events:none}.opening-title[hidden]{display:none}.opening-title h2{font:700 clamp(38px,9vw,100px)/1 var(--title);margin:20px 0 5px;letter-spacing:.08em}.opening-title p{letter-spacing:.3em;color:#e6c995}.opening-title small{font:11px/2 var(--mono);color:#b2bdc9;margin-top:24px}.opening-title .eyebrow{font-size:10px}

/* Investigation and operational feedback */
.operations-status,.evidence-analysis{padding:14px 18px;border-left:3px solid #c7a56a;background:rgba(199,165,106,.08);margin:14px 0;font-size:14px;line-height:1.65}.operations-status strong,.evidence-analysis strong{letter-spacing:.12em;font-size:11px;color:#d6ba87}.office-card [data-lead]{display:block;width:100%;text-align:left;margin:10px 0}.office-card p{white-space:pre-line}

.powered-footer{position:relative;margin:0 5.2vw 36px;padding:26px 0 12px;border-top:1px solid #9baeb044;max-width:1040px}.powered-footer h2{font:12px var(--mono);letter-spacing:.14em;color:#d2b881;margin:0 0 22px}.powered-logos{display:flex;gap:18px 28px;flex-wrap:wrap}.powered-logos a{display:flex;align-items:center;gap:12px;color:#d9dfdf;text-decoration:none;font-size:12px}.powered-logos a:hover{color:#e5c98e}.powered-logos img{object-fit:contain}.powered-logos small{display:block;font:9px var(--mono);color:#92a4ab;margin-top:5px}.powered-footer p{font:9px var(--mono);color:#92a4ab;margin-top:24px}.arrival-bottom{flex-wrap:wrap;gap:12px}

/* Architectural night scene: natural contrast and legible framed artwork. */
#world{image-rendering:auto}.grain{opacity:.035}.phase-explore .shade{opacity:.12}.poster-preview{display:block;max-width:280px;width:auto;height:auto;max-height:46vh;margin:12px auto 20px;border:8px solid #161b20;box-shadow:0 10px 35px #0008}.poster-source{display:block;text-align:center;font:10px var(--mono);color:#dec898;margin:14px}.office-card:has(.poster-preview){max-width:680px}

.tribute-gallery{max-width:1000px}.tribute-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:24px 0}.tribute-grid img{width:100%;aspect-ratio:2/3;object-fit:contain;border:5px solid #151b20}.tribute-grid h3{font:16px var(--title);min-height:36px}.tribute-grid button{width:100%;font-size:9px;padding:10px}.tribute-gallery .arrival-brief{max-width:none}

/* The connected Blue Lantern investigation. */
.thread-link,.thread-resolution{border-left:3px solid #e0bd71;background:#c4a26a0d;padding:16px 20px;margin:18px 0;line-height:1.65}.thread-link strong{font:11px var(--mono);letter-spacing:.08em;color:#d9bf8d}.story-continuity{font:12px/1.6 var(--mono);color:#d6ba82;max-width:760px}.dialogue-topics{display:grid;gap:10px;margin:20px 0}.dialogue-topics button,.crew-question{text-align:left;width:100%;margin-bottom:10px}.dialogue-topics small{display:block;color:#91a3ac;line-height:1.6;margin-top:7px}.dialogue-response{padding:18px;border-left:2px solid #d5b37d;line-height:1.8;background:#ffffff06;margin-bottom:20px}.story-panel .arrival-brief{max-height:none;overflow:visible}.mystery-reveal{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-block:5vh solid #03070b;background:linear-gradient(90deg,#07101af2,#07101ac9);color:#f0e9db;display:grid;align-items:center;padding:6vh 9vw}.mystery-reveal::backdrop{background:#02070b66}.reveal-letterbox{max-width:1000px}.mystery-reveal h2{font:600 clamp(36px,5vw,68px)/1.06 var(--title);margin:20px 0}.reveal-beat{font-size:20px;line-height:1.75;max-width:900px;min-height:150px}.reveal-timeline{display:flex;gap:26px;flex-wrap:wrap;padding:18px 0;border-block:1px solid #d4c9ae33;font:11px var(--mono);color:#d4b77c}.reveal-result{font-size:13px;line-height:1.7;color:#aebec2}.mystery-reveal.dark{background:linear-gradient(90deg,#180c12f5,#0a0d16d9)}.mystery-reveal.dark .eyebrow{color:#e2a495}.mystery-reveal.heroic .eyebrow{color:#c9dcbb}
/* Untimed Field Induction, before a shift begins. */
.tutorial-dialog{width:min(780px,92vw);max-width:92vw;max-height:90dvh;padding:0;border:1px solid #c8ad7370;border-top:3px solid var(--amber);border-radius:8px;background:linear-gradient(140deg,#1b2b35,#0b1721);color:#e5eceb;box-shadow:0 30px 110px #000b;overflow:auto}.tutorial-dialog::backdrop{background:#020810e8;backdrop-filter:blur(6px)}.tutorial-sheet{padding:32px 38px}.tutorial-top{display:flex;justify-content:space-between;gap:20px;font:11px var(--mono);color:var(--amber)}.tutorial-dialog progress{display:block;width:100%;height:4px;margin:20px 0 28px;accent-color:var(--amber)}.tutorial-dialog h2{font:600 40px/1.1 var(--title);margin:0 0 22px;outline:none}.tutorial-body{font-size:15px;line-height:1.75;min-height:240px}.tutorial-body p{margin:14px 0}.tutorial-nav{display:flex;justify-content:flex-end;align-items:center;gap:12px;border-top:1px solid #a9bfbd33;padding-top:22px;margin-top:24px}.tutorial-skip{margin-right:auto}.tutorial-keys{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px;background:#ffffff06;border:1px solid #b2c5ca33;border-radius:5px}.tutorial-keys kbd{font:11px var(--mono);color:#f1d18b}.training-signal{font:15px var(--mono);letter-spacing:.12em;color:#e9c67a;border-left:3px solid var(--amber);padding:20px;margin-top:24px;background:#ddbf6f09}.training-waypoint{display:flex;flex-direction:column;align-items:center;color:#ffe25b;padding:10px;font:12px var(--mono);letter-spacing:.12em}.training-waypoint span{font:72px/1 var(--title);text-shadow:0 0 24px #ffce3380}.training-waypoint i{width:110px;height:16px;border:1px solid #ffdb5c88;border-radius:50%;margin-top:16px;box-shadow:0 0 22px #ffd84422}.tutorial-record{padding:18px 22px;margin-top:16px;background:#e4ddc8;color:#17232c;border-left:4px solid #d5ac50}.tutorial-record .eyebrow{color:#4d5e66}.tutorial-choices{display:grid;gap:10px}.tutorial-choices button{text-align:left;line-height:1.5}.tutorial-feedback{color:#f1d38e;min-height:54px;font-size:14px}.tutorial-opt{display:flex;align-items:center;gap:12px;font-size:13px;margin:24px 0}.tutorial-opt input{width:18px;height:18px;margin:0;accent-color:var(--amber)}
