:root{font-family:Inter,Arial,sans-serif;color:#f1eee5;background:#101a20;font-synthesis:none;--gold:#e5bc7b;--muted:#9eafb2}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}#game{display:block;width:100vw;height:100vh;outline:none;touch-action:none}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,transparent 45%,#07101450 100%)}#menu{position:fixed;inset:0;background:linear-gradient(90deg,#081219eb,#0b1822c9 23%,#0d19276b 48%,#06131d08 78%),linear-gradient(0deg,#0a1319d9,transparent 22%);display:flex;flex-direction:column;padding:36px 4.1vw 27px;transition:opacity .4s}a{color:inherit;text-decoration:none}.masthead{display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:12px;font-weight:650;letter-spacing:.26em;display:flex;align-items:center;gap:16px}.brand-icon{font-size:26px;font-weight:800;letter-spacing:-.12em;display:inline-flex;width:43px;height:43px;border:1px solid #c7d9dc55;align-items:center;justify-content:center;padding-right:3px}.edition{font-family:monospace;letter-spacing:.16em;font-size:10px;display:flex;align-items:center;gap:13px;color:#e9eae3}.edition i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold)}.brief{margin:auto 0;width:470px;max-width:48vw;padding:34px 0 20px}.eyebrow{font-family:monospace;font-size:10px;font-weight:500;letter-spacing:.18em;color:var(--gold);display:flex;gap:12px;align-items:center}.eyebrow span{width:28px;height:1px;background:var(--gold)}h1{font-size:clamp(100px,12.5vw,190px);font-weight:800;letter-spacing:-.075em;line-height:.93;margin:22px 0 20px}.title-period{color:var(--gold)}.subtitle{color:#c5cfd0;font-size:18px;line-height:1.55;letter-spacing:.01em;margin:0 0 32px}.route-label{font:9px monospace;letter-spacing:.2em;color:#9caeb4;margin-bottom:10px}.routes{display:flex;gap:4px;margin-bottom:18px}.route{color:#a8b7bd;background:#0c19245c;border:1px solid #dce7e41d;padding:11px 12px;font-size:11px;white-space:nowrap;transition:background .2s,border-color .2s}.route span{font-size:9px;font-family:monospace;color:#82969d;margin-right:8px}.route.active{border-color:#e5bc7b88;background:#e5bc7b12;color:#f3e9d8}.route.active span{color:var(--gold)}.route:hover{background:#e5bc7b22}#enter{border:0;background:#e5bc7b;color:#14232c;width:100%;max-width:390px;padding:19px 23px;display:flex;align-items:center;justify-content:space-between;letter-spacing:.16em;font-weight:700;font-size:12px;transition:background .2s,transform .2s}#enter:hover:not(:disabled){background:#f1cd97;transform:translateY(-2px)}#enter:disabled{opacity:.62;cursor:progress}.button-arrow{font-size:26px;font-weight:400;line-height:10px}#load-status{font-family:monospace;font-size:10px;letter-spacing:.02em;color:#aebcc1;margin-top:12px;min-height:13px}.load-track{height:1px;max-width:390px;margin-top:8px;background:#ccd9de22}#load-progress{height:1px;background:var(--gold);width:0;transition:width .3s}.menu-actions{display:flex;gap:25px;margin-top:13px}.menu-actions button{background:none;border:0;color:#bdc8c9;padding:4px 0;font-size:11px}.menu-actions button span{margin-left:12px;color:var(--gold)}#settings{position:absolute;left:calc(4.1vw + 420px);bottom:125px;width:285px;padding:23px;background:#111e27f2;border:1px solid #cad4d533;box-shadow:0 20px 80px #0006;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}#settings label{display:flex;flex-direction:column;gap:10px;color:#cdd5d4;font-size:12px;margin-bottom:18px}#settings label:last-child{margin:0}input{accent-color:var(--gold)}select{color:#eceee7;background:#1f2c35;padding:8px;border:1px solid #83939755}.scene-caption{position:absolute;right:4.1vw;bottom:140px;text-align:right}.caption-rule{width:44px;height:2px;background:var(--gold);margin:0 0 17px auto}.scene-caption span{font:10px monospace;letter-spacing:.2em;color:#edf0e8}.scene-caption p{font-size:16px;line-height:1.6;color:#d8e0df}.menu-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-top:1px solid #f0f3e82e;padding-top:22px}.controls{display:flex;flex-wrap:wrap;gap:18px;max-width:830px}.controls>span{font-size:10px;color:#b3c0c5;display:flex;gap:6px;align-items:center}kbd{font:9px monospace;letter-spacing:.06em;border:1px solid #d8e2e140;padding:4px 5px;color:#e7eae3;border-radius:2px}.footer-note{font:9px monospace;letter-spacing:.12em;color:#b9c5c8;white-space:nowrap}.footer-note span{padding:0 12px;color:var(--gold)}#hud{position:fixed;inset:0;pointer-events:none;text-shadow:0 2px 8px #0008}.hud-top{position:absolute;top:25px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:flex-start}.mission-mark{display:flex;align-items:center;gap:15px}.mission-mark>b{font-size:30px;letter-spacing:-.15em;font-weight:750}.mission-mark>div{font:8px monospace;letter-spacing:.2em;color:#c8d3d4}.mission-mark span{display:block;font:11px Arial,sans-serif;letter-spacing:.12em;font-weight:600;color:#fff;margin-top:6px}#compass{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:35px;border-top:1px solid #e9eee54a;padding-top:10px;width:190px;justify-content:center;font:10px monospace;color:#d2d9d6}#compass b{font-size:13px;font-weight:400;color:#fff;position:relative}#compass b:before{position:absolute;content:"";width:1px;height:5px;background:var(--gold);left:50%;top:-11px}#pause{pointer-events:auto;background:#0d1a2266;border:1px solid #f7f9f22b;color:#fff;padding:9px 12px;font:10px monospace}#pause span{color:#c4ced0;font:10px Arial;margin-left:10px}#crosshair{position:absolute;left:50%;top:50%;width:0;height:0;--spread:5px;opacity:.85;transition:opacity .12s}#crosshair i{position:absolute;background:#f4eee2;box-shadow:0 0 2px #1118}#crosshair i:nth-child(1){width:1px;height:5px;top:calc(-5px - var(--spread));left:0}#crosshair i:nth-child(2){width:1px;height:5px;top:var(--spread);left:0}#crosshair i:nth-child(3){width:5px;height:1px;left:calc(-5px - var(--spread));top:0}#crosshair i:nth-child(4){width:5px;height:1px;left:var(--spread);top:0}#crosshair b{width:2px;height:2px;position:absolute;left:-.5px;top:-.5px;background:#fff;border-radius:50%}#hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:32px;font-weight:200;color:var(--gold);opacity:0;transition:opacity .1s}.hud-bottom{position:absolute;bottom:43px;left:36px;right:38px;display:flex;justify-content:space-between;align-items:flex-end}.session-status{display:flex;gap:12px;align-items:flex-start}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:2px;box-shadow:0 0 8px #e5bc7b66}.session-status span{font:9px monospace;letter-spacing:.18em;color:#e2e5dc}.session-status strong{font-size:11px;font-weight:400;display:block;margin-top:8px;color:#ccd6d6}.session-status strong b{font-weight:400;color:#fff;margin-right:4px}.stamina-track{width:130px;height:2px;background:#dce7e22b;margin-top:14px}.stamina-track i{display:block;width:100%;height:100%;background:#e5bc7b;transition:width .1s}.weapon-info{text-align:right}.weapon-label{font:10px monospace;letter-spacing:.13em}.weapon-label span{padding:0 7px;color:#aebec3}.ammo-row{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:2px}#ammo{font-size:51px;letter-spacing:-.06em;font-weight:500;min-width:64px}#reserve{font:16px monospace;color:#ccd6d7}.ammo-divider{color:#bac8cb55;font-weight:200;font-size:28px}.fire-mode{font-size:10px;letter-spacing:2px;color:var(--gold);padding-left:12px}.fire-mode small{display:block;font:7px monospace;letter-spacing:.2em;margin-top:5px;color:#d7e0e0}#reload-label{font:8px monospace;letter-spacing:.15em;color:#c4ced0}#hint{position:absolute;bottom:13px;left:50%;transform:translate(-50%);color:#bbc8ca;font-size:9px;white-space:nowrap;opacity:.75}#hint kbd{padding:1px 3px;font-size:8px}#hint span{margin:0 10px}#toast{position:absolute;left:50%;top:64%;transform:translate(-50%);font:11px monospace;letter-spacing:.13em;color:#f0dfbc;opacity:0;transition:opacity .25s}#error{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(540px,calc(100vw - 40px));max-height:85vh;overflow:auto;background:#12212a;padding:40px;border:1px solid #e5bc7b88;z-index:9}#error p{line-height:1.6;color:#c8d5db}#error button{padding:12px 24px;background:var(--gold);border:0}@media(max-height:760px){#menu{padding-top:23px}.brief{padding:18px 0 12px}.subtitle{margin-bottom:22px;font-size:16px}h1{font-size:130px;margin:16px 0}.scene-caption{bottom:125px}.menu-footer{padding-top:15px}.route{padding:10px}.menu-actions{margin-top:8px}}@media(max-width:900px){.brief{max-width:70vw}.edition{font-size:8px}.scene-caption,.footer-note{display:none}.controls{gap:11px}#settings{left:auto;right:4vw;bottom:120px}}@media(max-width:600px){.brief{max-width:100%;width:100%}#menu{padding:20px}.edition{display:none}h1{font-size:110px}.routes{gap:3px}.route{font-size:10px;padding:9px}.scene-caption{display:none}.hud-top{left:16px;right:16px}.hud-bottom{left:20px;right:20px}.mission-mark>div{display:none}#hint{display:none}#settings{left:20px;right:20px;width:auto;bottom:100px}.eyebrow{font-size:8px}.menu-footer{padding-top:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.subtitle{white-space:pre-line}.level-nav{display:flex;gap:24px;margin-left:auto;margin-right:40px;font:11px monospace;color:#acbec3}.level-link[aria-current=page]{color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:7px}.facility h1{font-size:clamp(66px,8.8vw,136px)}.facility .brief{width:650px;max-width:60vw}@media(max-width:900px){.edition{display:none}.level-nav{margin-right:0}.facility .brief{max-width:90vw}}
