@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-600-latin.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");font-weight:500;font-display:swap}:root{font-family:IBM Plex Mono,monospace;color:#e3dfd0;background:#090b0b;font-synthesis:none;--bone:#e3dfd0;--muted:#aaa99b;--lime:#c7b68e;--danger:#d79981;--line:#b9b49e35;--mono:"IBM Plex Mono",monospace;--display:"Cormorant Garamond",Georgia,serif;--ink:#272b26;--paper:#e2ddcc;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:default;opacity:.5}button,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button svg{width:18px;height:18px;stroke-width:1.5}svg{flex-shrink:0}a{color:inherit}input,select,textarea{color:inherit;border:1px solid var(--line);border-radius:0;background:#151916;color-scheme:dark}input:focus{border-color:var(--lime)}[hidden]{display:none!important}::selection{background:#8b543d;color:#fff1d5}#app{height:100svh;width:100%;position:relative;isolation:isolate}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;outline:0;touch-action:none;background:#090b0b}.atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#080b0af2,#080b0ab5 32%,#080b0a15 65%),linear-gradient(0deg,#070a09d9,transparent 40%,#080b0a60);transition:opacity .6s}.playing .atmosphere{opacity:0}.vignette{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at center,transparent 40%,#0005)}.blackout .vignette{background:radial-gradient(ellipse at center,transparent 35%,#27110d66)}.topbar{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;z-index:5;padding:32px 40px;pointer-events:none}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:24px;height:33px;color:var(--lime)}.brand span{display:block}.brand-name{font:11px var(--mono);letter-spacing:2px}.brand-sub{font:9px var(--mono);color:#a5a79b;letter-spacing:1.8px;margin-top:6px}.top-right{display:flex;align-items:center;gap:12px;pointer-events:auto}.district-pill{display:flex;gap:10px;align-items:center;font:10px var(--mono);letter-spacing:1px;margin-right:15px;color:var(--muted)}.district-label{display:none}.live-dot{height:4px;width:4px;background:#b1bb9b}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:#101512c9}.icon-button:hover{background:#343a2e}.playing .topbar{padding:24px 28px;justify-content:flex-end}.playing .brand,.playing .district-pill{display:none}.playing .top-right{gap:8px}.menu{position:absolute;inset:0;z-index:4;display:flex;align-items:center;padding:110px 9vw 105px}.menu-main{width:510px;max-width:100%}.eyebrow,.name-label{font:10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:1.7px;color:var(--lime)}.menu .eyebrow{display:flex;align-items:center;gap:12px}.menu .eyebrow:before{content:"";width:24px;height:1px;background:#b59c73}.menu h1{font:600 clamp(108px,10.7vw,184px)/.73 var(--display);letter-spacing:-.055em;margin:34px 0 36px;color:#e4dfcd}.menu h1>span{display:block}.menu h1 .title-invitation{font-size:.66em;letter-spacing:-.04em;line-height:1;margin-bottom:9px}.menu-copy{font:12px/1.95 var(--mono);color:#9fa79a;margin:0 0 30px}.menu-copy strong{font-weight:400;color:#d0d1bf}.join-form,.menu-links{max-width:355px}.name-label{display:block;color:#a3a99b;letter-spacing:1.15px;margin-bottom:8px}.name-wrap{display:flex;align-items:center;gap:10px;border-bottom:1px solid #b6af9366;padding:9px 0 12px;margin-bottom:20px}.name-wrap>svg{width:17px;color:#a5af99}.name-wrap input{min-width:0;width:100%;border:0;background:none;font-size:14px;outline:none;padding:5px 0}.name-wrap:focus-within{border-color:var(--bone)}.name-wrap>span{font:10px var(--mono);white-space:nowrap;color:#86907f}.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:52px;padding:15px 19px;background:#c9b991;color:#20261e;font:500 12px/1.5 var(--mono);border:1px solid #dfd1ad;transition:background .2s}.primary:hover{background:#e2d4b2}.join-form .primary{background:#bfab81;border-color:#cbbb96}.join-form .primary:hover{background:#d7c59e}.text-button{font:10px/1.5 var(--mono);display:inline-flex;align-items:center;gap:9px;padding:12px 0;letter-spacing:.5px;color:#bbc0ac}.text-button:hover{color:#fff1d7}.text-button svg{width:15px;height:15px}.menu-links{display:flex;justify-content:space-between;gap:16px;margin-top:10px}.headphones{display:flex;gap:9px;align-items:center;font:10px/1.7 var(--mono);color:#8e9986;margin-top:24px;max-width:365px}.headphones svg{width:15px;height:15px}.cancel-join{display:block}.incident{position:absolute;right:8vw;bottom:120px;width:285px;padding:22px 0;border-top:1px solid #b6b49555;border-bottom:1px solid #b6b49535}.incident-top,.incident-bottom{display:flex;justify-content:space-between;gap:12px;font:10px/1.6 var(--mono);letter-spacing:1px;color:#b3b49b}.incident-top .number{color:#c2a582;border:1px solid #b48d6a70;padding:1px 6px;font-size:9px}.incident h2{font:600 40px/1 var(--display);letter-spacing:-1px;margin:24px 0 18px}.incident p{font:11px/1.9 var(--mono);color:#a9b19d;margin:0}.incident-bottom{margin-top:26px;font-size:9px;letter-spacing:.5px}.menu-footer{position:absolute;bottom:30px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:9px/1.5 var(--mono);letter-spacing:1px;color:#8c9682}.coordinates{display:flex;gap:14px;align-items:center}.small-cross{font-size:20px;color:#bdc2a7}#server-note{color:#c1c6ad}.playing .menu{display:none}.hud{position:absolute;inset:0;pointer-events:none;z-index:3}.hud button,.hud input{pointer-events:auto}.objective{position:absolute;top:28px;left:30px;width:300px;padding:0 0 0 14px;border-left:1px solid #c9b99188;text-shadow:0 1px 5px #000,0 1px 14px #000}.objective-label{font:9px var(--mono);letter-spacing:1.3px;color:#bdb699}.objective h3{font:600 25px/1.1 var(--display);letter-spacing:-.35px;margin:9px 0}.objective p{font:11px/1.7 var(--mono);color:#c0c3af;margin:0}.progress-track{width:110px;height:1px;background:#cdc3a540;margin-top:12px}.progress-track span{display:block;height:100%;background:#d4c29a;transition:width .3s}.hud-location{position:absolute;left:30px;bottom:118px;text-shadow:0 1px 10px #000;max-width:350px;transition:opacity 1s;opacity:.6}.hud-location .eyebrow{font-size:9px;letter-spacing:1px;transition:opacity .7s;opacity:0}.hud-location h2{font:600 26px/1.1 var(--display);margin:6px 0;color:#dbdfca}.hud-location p{font:10px/1.7 var(--mono);color:#b9bea7;margin:0;opacity:0;transition:opacity .7s}.hud-location.arriving,.hud-location.arriving .eyebrow,.hud-location.arriving p{opacity:1}.compass{position:absolute;left:50%;top:28px;transform:translate(-50%);display:flex;align-items:center;gap:14px;font:11px var(--mono);color:#a4b193;text-shadow:0 1px 4px #000}.compass b{font-weight:400;color:#dbdfca}.crosshair{position:absolute;left:calc(50% - 2px);top:calc(50% - 2px);width:4px;height:4px;background:#e5e4d5;box-shadow:0 0 2px #000;opacity:.6;transition:transform .15s}.crosshair.has-target{transform:scale(1.7);opacity:1}.interact{position:absolute;left:50%;top:calc(50% + 33px);transform:translate(-50%);display:flex;gap:14px;align-items:center;background:#111812f2;border:1px solid #b7bb984d;padding:12px 16px;text-align:left;max-width:90vw}.interact>kbd{font-size:15px;padding:8px 11px;border:1px solid #c5c6a55c}.interact strong{display:block;font:500 12px/1.5 var(--mono)}.interact small{display:block;font:11px/1.6 var(--mono);color:#b0b79f;margin-top:3px}kbd{font:10px var(--mono);color:#d4d6bf;font-weight:400}.bottom-hud{position:absolute;inset:auto 30px 26px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.vital{width:225px;flex-shrink:0}.vital-line{display:flex;gap:12px;justify-content:space-between;font:9px var(--mono);color:#aab59b}.vital-line>span:first-child{display:flex;gap:7px;align-items:center}.vital-line svg{width:12px;height:12px}.vital-note{font:10px var(--mono);color:#d0d7be;margin-top:10px;letter-spacing:.6px}.toolbelt{display:flex;gap:3px;background:#10170fda;border:1px solid #bec2a82b;padding:4px}.tool{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:9px;min-width:95px;padding:10px 12px;color:#aab59b;text-align:left;position:relative;border-bottom:1px solid transparent}.tool svg{width:16px;height:16px}.tool span{font:10px var(--mono)}.tool kbd{position:absolute;top:-22px;left:50%;transform:translate(-50%);color:#adb599;font-size:9px}.tool.active,.tool:hover{color:#ede2bf;background:#b8ae8612;border-bottom-color:#ccbe9555}.controls-hint{width:225px;text-align:right;font:9px/2 var(--mono);color:#98a58a}.controls-hint kbd{font-size:9px;color:#c7d0b6}.pact-ribbon{position:absolute;left:50%;transform:translate(-50%);bottom:102px;display:flex;align-items:center;gap:14px;background:#25212bf0;border:1px solid #b4a3bf60;color:#d8cadd;padding:10px 14px;font:10px var(--mono);max-width:90%;white-space:nowrap}.pact-ribbon svg{width:16px;height:16px}.hint-card{position:absolute;left:30px;bottom:214px;width:282px;background:#11190ff2;border:1px solid #bec29e44;padding:19px 23px 17px 17px}.hint-card strong{font:500 12px var(--mono);color:#d4d7bb}.hint-card p{font:11px/1.9 var(--mono);color:#b2bba1;margin:9px 0 0}.hint-card b{font-weight:500;color:#e1dfc6}.hint-card>button{position:absolute;right:5px;top:3px;width:28px;height:28px;font-size:21px;color:#aab295}.threat-status{position:absolute;top:88px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#271e14f2;border:1px solid #b18c565c;max-width:400px;width:max-content;padding:12px 16px}.threat-light{width:5px;height:5px;background:#c5aa6d;flex-shrink:0}.threat-status strong{display:block;font:500 10px/1.5 var(--mono);color:#e1c79c}.threat-status small{display:block;font:10px/1.7 var(--mono);color:#c7b794;margin-top:4px}#threat-time{font:13px var(--mono);color:#e3c592;flex-shrink:0}.threat-status[data-phase=blackout]{background:#2b1914f2;border-color:#b2715566}.signal-beacon{position:absolute;left:30px;top:165px;display:flex;align-items:center;gap:10px;padding:12px 14px;font:10px/1.6 var(--mono);text-align:left;background:#142018ef;color:#c9d7b8;border:1px solid #9cba845c;max-width:310px}.signal-beacon svg{width:16px;height:16px}#performance-readout{position:absolute;top:77px;right:28px;color:#bfc7aa;font:10px var(--mono);background:#0c130fe6;padding:7px 9px}.overlay{position:absolute;inset:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:32px;background:#040807b8}.panel{width:680px;min-width:0;max-width:100%;max-height:calc(100svh - 64px);overflow:auto;overscroll-behavior:contain;background:#141b15;border:1px solid #c8c5a74a;box-shadow:0 24px 70px #0009;scrollbar-color:#747b61 #192019}.panel-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:29px 32px 25px;border-bottom:1px solid var(--line)}.panel-top .eyebrow{font-size:9px;letter-spacing:1.4px}.panel-top h2{font:600 39px/1.05 var(--display);letter-spacing:-.8px;margin:9px 0 0}.close-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);flex-shrink:0}.close-button:hover{background:#a3af8e1a}.panel-body{padding:27px 32px 32px}.panel-intro{font:12px/1.9 var(--mono);color:#b7c0a7;margin:0 0 24px}.secondary{display:block;border:1px solid var(--line);padding:14px 16px;min-height:44px;color:#c3c9af;width:100%;font:11px/1.6 var(--mono);text-align:center}.secondary:hover{background:#d5d7bb0b;border-color:#b9b89788}.tabs{display:flex;padding:0 32px;gap:30px;border-bottom:1px solid var(--line)}.tab{padding:18px 0 14px;font:11px var(--mono);color:var(--muted);border-bottom:2px solid transparent}.tab[aria-selected=true]{border-bottom-color:currentColor;color:var(--bone)}.panel:has(#journal-content){background:var(--paper);color:var(--ink);--bone:#333b30;--muted:#636955;--lime:#625b3f;--line:#59604a44;scrollbar-color:#92937e #e2ddcc}.panel:has(#journal-content) .panel-intro,.panel:has(#journal-content) .secondary{color:#555d48}.panel:has(#journal-content) .panel-top{border-bottom:3px double #777a634f}.map-wrap{overflow:auto;border:1px solid #8c91744d;background:#dad7c3}.map-canvas{display:block;width:100%;min-width:560px;height:auto}.map-legend{display:flex;flex-wrap:wrap;gap:18px;font:10px var(--mono);color:#646b54;padding:16px 0;border-bottom:1px solid var(--line)}.map-legend>span{display:flex;align-items:center;gap:7px}.map-legend i{width:7px;height:7px;background:#727f61;display:inline-block}.map-legend i.unknown{background:transparent;border:1px solid #7c7d67}.map-legend i.you{background:#823e30}.map-legend i.others{background:#4d7873}.map-directory{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:22px}.map-directory strong{font:500 11px/1.6 var(--mono);display:block}.map-directory span{display:block;font:9px/1.6 var(--mono);color:#68705a;margin-top:3px}.map-note{font:11px/1.9 var(--mono);color:#69705b;margin:24px 0 0}.frontier-map{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.frontier-map .name-label{color:#646a54}.frontier-stop{display:flex;gap:17px;align-items:center;padding:14px 0;position:relative}.frontier-stop:before{content:"";position:absolute;top:0;bottom:0;left:16px;width:1px;background:#9ba18c}.frontier-number{position:relative;width:33px;height:33px;border:1px solid #9ba18c;display:grid;place-items:center;flex-shrink:0;background:var(--paper);font:10px var(--mono)}.frontier-stop strong{display:block;font:500 12px var(--mono)}.frontier-stop small{display:block;font:10px/1.7 var(--mono);color:#6c745c;margin-top:5px}.frontier-stop.here .frontier-number{color:#823e30;border-color:#823e30}.field-rules{display:grid;grid-template-columns:1fr 1fr;gap:12px;font:11px/1.6 var(--mono);padding:0 0 24px;border-bottom:1px solid var(--line)}.field-entry{display:flex;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}.entry-num{font:12px var(--mono);color:#82866d;padding-top:6px}.field-entry h3,.memory h3{font:600 28px/1.1 var(--display);margin:0 0 12px;letter-spacing:-.4px}.field-entry p,.memory p{font:12px/1.9 var(--mono);color:#545d47;margin:0 0 15px}.stamp{display:inline-block;font:9px var(--mono);letter-spacing:1px;border:1px solid #727a5a77;color:#59694b;padding:5px 7px;transform:rotate(-1deg)}.memory{padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.memory-time,.byline{font:9px/1.8 var(--mono);color:#7d816a;letter-spacing:.7px}.memory h3{margin-top:13px}.empty-state{padding:28px 0;text-align:center}.empty-state svg{width:27px;height:27px}.empty-state h3{font:600 30px var(--display)}.empty-state p{font:12px/1.9 var(--mono);color:#656d54;max-width:430px;margin:auto}.settings-panel{width:630px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 0;border-bottom:1px solid var(--line)}.setting-row:first-child{padding-top:0}.setting-copy{max-width:320px}.setting-copy label,.setting-copy strong{font:500 12px var(--mono);display:block}.setting-copy small{display:block;font:10px/1.8 var(--mono);color:#9eac90;margin-top:7px}.setting-row input[type=range]{width:130px;flex-shrink:0;accent-color:#c2b58b}.setting-row input[type=checkbox]{width:19px;height:19px;accent-color:#b8ad86;flex-shrink:0}.setting-row select{padding:10px;min-width:130px;font-size:11px}.performance-status{font:9px/1.7 var(--mono);color:#a2b58c;margin:13px 0 3px}.controls-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;font:10px var(--mono);margin-top:28px}.controls-list>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.controls-list kbd{font-size:9px;color:#b2be9c}.settings-foot{font:10px/1.9 var(--mono);color:#95a187;margin:24px 0 0}.invite-panel,.pact-panel,.pause-panel,.residents-panel{width:570px}.door-art{height:135px;display:grid;place-items:center;position:relative;margin-bottom:22px}.door-frame{height:115px;width:63px;border:1px solid #b3b994;background:linear-gradient(90deg,#0a100c,#3b4430);box-shadow:inset 7px 0 #111b13;transform:perspective(300px) rotateY(-18deg)}.door-floor{height:1px;width:160px;background:#98a37b66;position:absolute;bottom:10px}.invite-name{font:10px var(--mono);letter-spacing:1px;text-align:center;margin-bottom:20px;color:#c2ccac}.invite-url{display:flex;border:1px solid var(--line)}.invite-url input{min-width:0;width:100%;border:0;padding:15px 12px;font:11px var(--mono)}.invite-url button{width:48px;flex-shrink:0;border-left:1px solid var(--line)}.invite-foot{font:10px/1.9 var(--mono);color:#93a286;margin-top:18px}.pact-emblem{text-align:center;margin-bottom:24px;color:#bca9c2}.pact-emblem svg{width:38px;height:38px}.pact-terms p{font:11px/1.9 var(--mono);color:#aeb5a0;border-top:1px solid var(--line);padding:17px 0 0}.pact-terms b{color:#d1c1d6;font-weight:500}.pact-panel{background:#1b1c20}.pact-panel .primary{background:#c3b1c9;margin:25px 0 12px}.role-picker{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.role-picker label{font:10px var(--mono);letter-spacing:.8px;color:#c6c5a7}.role-picker p{font:10px/1.8 var(--mono);color:#9faa8d}.role-picker select{font-size:11px;padding:12px;max-width:150px}.resident{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.avatar{width:36px;height:40px;flex-shrink:0;background:#abb88c12;border:1px solid #b0ba9540;display:grid;place-items:center;font:600 27px var(--display);color:#c5ccaf}.resident-info{min-width:0;flex:1}.resident-info strong{font:500 12px var(--mono);display:block;overflow-wrap:anywhere}.resident-info small{display:block;font:10px/1.7 var(--mono);margin-top:5px;color:#9ba98a}.resident-tag{font:9px var(--mono);color:#aaba91}.mute-button{font:10px var(--mono);border:1px solid var(--line);padding:9px;min-width:55px}.pause-actions{display:grid;gap:12px}.signal-card{border:1px solid var(--line);padding:18px;margin-bottom:14px}.signal-card strong{display:block;font:500 14px var(--mono);margin-top:10px}.signal-card p{font:11px/1.7 var(--mono);color:#b6c2a3}.signal-card small{font:10px/1.7 var(--mono);color:#9cac8c}.signal-card .secondary{margin-top:15px}.signal-actions{display:flex;gap:12px;margin-top:22px}.chat{position:absolute;right:28px;bottom:112px;width:370px;max-width:calc(100% - 36px);z-index:12;background:#111910f7;border:1px solid #b9c09455}.chat-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line);font:10px var(--mono);color:#c2c9ad}.chat-top button{display:grid;place-items:center;width:25px;height:25px}.radio-actions{display:flex;border-bottom:1px solid var(--line)}.radio-actions button{width:50%;padding:13px 7px;display:flex;align-items:center;justify-content:center;gap:9px;font:10px var(--mono);color:#b7c6a2}.radio-actions button:first-child{border-right:1px solid var(--line);color:#d5b29a}.radio-actions svg{width:14px;height:14px}.radio-actions button:hover{background:#bcc6a010}.chat-messages{height:215px;overflow-y:auto;padding:15px 17px;overscroll-behavior:contain;scrollbar-color:#738260 #192018}.chat-message{font:11px/1.9 var(--mono);color:#c8d2b8;margin:0 0 12px;overflow-wrap:anywhere}.chat-message .sender{font-weight:500;color:#e0d7ad;margin-right:9px}.chat-message.system{font-size:10px;color:#8fa07f;font-style:italic}.chat-form{display:flex;border-top:1px solid var(--line)}.chat-form input{width:100%;min-width:0;padding:16px;border:0;background:#0e160d;font-size:11px}.chat-form button{width:48px;flex-shrink:0;color:#bdc9a3}.toast-stack{position:absolute;left:50%;bottom:165px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:min(430px,calc(100% - 36px));pointer-events:none;z-index:14}.toast{font:11px/1.8 var(--mono);color:#d0d6bd;background:#152012f5;border:1px solid #b0bc8d4d;padding:11px 16px;text-align:center;animation:toast-in .2s ease}.toast.special{border-color:#b8aa7066;color:#e2d4ad}.toast.error{background:#291e17f5;color:#e4bda2;border-color:#bd895755}.connection-banner{position:absolute;left:50%;top:18px;transform:translate(-50%);z-index:30;background:#342419f5;border:1px solid #b5915766;display:flex;align-items:center;gap:18px;max-width:90%;padding:13px 18px;font:11px/1.7 var(--mono);color:#e0c69e}.connection-banner button{text-decoration:underline;white-space:nowrap}.touch-controls{display:none;position:absolute;inset:0;pointer-events:none;z-index:8}.joystick{position:absolute;left:25px;bottom:145px;width:108px;height:108px;display:grid;place-items:center;pointer-events:auto;touch-action:none;border:1px solid #c8d2b45c;border-radius:50%;background:#1220136b}.joystick-knob{height:45px;width:45px;border-radius:50%;border:1px solid #c9d1b382;background:#71875e44}.touch-interact{position:absolute;right:30px;bottom:161px;width:64px;height:64px;border:1px solid #c9d1b36b;border-radius:50%;background:#122013b8;pointer-events:auto;font-size:15px}.touch-interact:disabled{opacity:.25}.renderer-error{position:absolute;inset:0;background:#111a12;z-index:40;display:grid;place-items:center;padding:30px}.renderer-error>div{max-width:500px}.renderer-error h1{font:600 48px/1 var(--display)}.renderer-error p{font:12px/1.9 var(--mono);color:#b0bea0}.renderer-error button{margin-top:25px}.reduced-motion *{animation:none!important;transition:none!important}.loading-mark{display:inline-flex;gap:10px;align-items:center}.loading-mark:before{content:"";width:10px;height:10px;border:1px solid #303b2944;border-top-color:#303b29;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.menu{padding-left:11vw}.incident{right:9vw}.menu h1{font-size:184px}}@media(max-width:1150px){.menu{padding-left:7vw}.menu-main{width:450px}.menu h1{font-size:130px}.incident{right:6vw;width:250px}.controls-hint{display:none}.vital{width:180px}.tool{min-width:83px;padding:10px}.bottom-hud{gap:20px}.objective{width:270px}}@media(max-height:800px)and (min-width:761px){.menu h1{font-size:126px;margin:25px 0 27px}.menu-copy{margin-bottom:21px}.headphones{margin-top:16px}.incident{bottom:95px}.menu{padding-top:100px;padding-bottom:85px}.name-wrap{margin-bottom:15px}.topbar{padding-top:24px}.menu-footer{bottom:22px}}@media(max-width:760px){.topbar{padding:22px}.brand-name{font-size:10px;letter-spacing:1px}.brand-sub{font-size:8px;letter-spacing:1px}.brand-mark{width:20px}.top-right{gap:8px}.district-pill{display:none}.icon-button{width:36px;height:36px}.menu{padding:110px 8vw 85px}.menu-main{width:400px}.menu h1{font-size:clamp(108px,23vw,150px);margin:28px 0 32px}.menu .eyebrow{font-size:9px;letter-spacing:1px}.menu-copy{font-size:11px}.headphones{font-size:9px}.incident{display:none}.menu-footer{left:22px;right:22px;font-size:8px;bottom:23px;letter-spacing:.3px}.version{display:none}.coordinates{gap:7px}.atmosphere{background:linear-gradient(90deg,#080d0aeb,#080d0a8c),linear-gradient(0deg,#070c09,transparent)}.playing .topbar{padding:18px}.playing .icon-button{width:33px;height:33px}.objective{top:22px;left:18px;width:calc(100% - 128px);max-width:285px;padding-left:10px}.objective-label{font-size:8px;letter-spacing:.7px}.objective h3{font-size:23px;margin:8px 0}.objective p{font-size:10px;line-height:1.7}.compass{display:none}.progress-track{margin-top:9px}.bottom-hud{left:18px;right:18px;bottom:max(18px,env(safe-area-inset-bottom));justify-content:center}.vital{position:absolute;bottom:75px;left:0;width:100%;display:flex;justify-content:space-between;align-items:center}.vital-line{font-size:8px;gap:9px}.vital-line svg{display:none}.vital-note{margin:0;font-size:9px}.toolbelt{width:100%;justify-content:space-around}.tool{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1;padding:9px 4px}.tool span{font-size:10px}.tool kbd{display:none}.hud-location{left:18px;bottom:146px;max-width:70%}.hud-location h2{font-size:25px}.hud-location .eyebrow{font-size:9px}.hud-location p{font-size:10px}.hint-card{left:18px;bottom:235px;width:270px}.interact{top:calc(50% + 28px);padding:11px 13px;gap:11px}.interact small{font-size:10px}.pact-ribbon{bottom:122px;font-size:9px;padding:9px 11px;gap:9px}.threat-status{top:178px;max-width:calc(100% - 36px);padding:11px 13px}.threat-status strong,.threat-status small{font-size:10px}.signal-beacon{left:18px;top:127px;max-width:calc(100% - 36px);font-size:10px;padding:9px 11px}.panel{max-height:calc(100svh - 28px)}.overlay{padding:14px}.panel-top{padding:22px;gap:14px}.panel-top h2{font-size:33px}.panel-top .eyebrow{font-size:8px;letter-spacing:1px}.panel-body{padding:23px 22px}.tabs{padding:0 22px;gap:20px}.tab{font-size:10px}.map-directory{grid-template-columns:1fr;gap:15px}.map-legend{gap:13px;font-size:9px}.field-rules{grid-template-columns:1fr;gap:10px}.field-entry{gap:15px}.field-entry h3{font-size:27px}.setting-row{gap:15px}.setting-copy small{font-size:10px}.setting-row input[type=range]{width:96px}.setting-row select{min-width:100px;width:100px;padding:9px 5px}.controls-list{gap:18px 15px;font-size:9px}.controls-list kbd{font-size:8px}.chat{right:18px;bottom:128px;width:calc(100% - 36px)}.chat-messages{height:185px}.toast-stack{bottom:315px}.connection-banner{top:10px;font-size:10px;padding:10px 13px}.signal-actions{flex-direction:column}#performance-readout{right:18px;top:61px;font-size:8px;padding:6px}.role-picker{gap:14px}.resident{gap:10px}.resident-tag{font-size:8px}}@media(pointer:coarse){.playing .touch-controls{display:block}.controls-hint,.tool kbd,.interact>kbd{display:none}.hud-location{bottom:270px}.hint-card{bottom:357px}.chat{bottom:275px}.chat-messages{max-height:25svh}.toast-stack{bottom:405px;max-width:75%}.pact-ribbon{bottom:119px}.vital{bottom:73px}.touch-interact{bottom:161px}}@media(max-height:650px){.menu{padding-top:88px;padding-bottom:70px}.menu h1{font-size:102px;margin:18px 0 23px}.menu-copy{margin-bottom:18px}.headphones{display:none}.menu-links{margin-top:6px}.name-wrap{margin-bottom:14px;padding-bottom:8px}.menu-footer{bottom:17px}.hint-card,.hud-location p{display:none}}@media(max-height:480px){.menu{overflow-y:auto;align-items:flex-start}.menu-main{padding-bottom:30px}.menu-footer,.incident{display:none}.hud-location{bottom:100px}.objective{max-width:290px}.threat-status{top:115px}.chat{bottom:100px}.chat-messages{height:100px}.joystick{bottom:100px;width:90px;height:90px}.touch-interact{bottom:113px}.toast-stack{bottom:100px}.pact-ribbon{bottom:90px}.vital{display:none}}
