:root{--reactor:#5fe0ff;--reactor-hi:#9ff0ff;--reactor-lo:#2aa7d6;--amber:#ffb347;--hostile:#ff5a4a;--friendly:#6fdc8c;--navy-0:#06090d;--navy-1:#0a1624;--navy-2:#102338;--ink:#e8f6ff;--ink-dim:#cde6f5a8;--panel:#081422c7;--panel-hi:#10283ed1;--line:#5fe0ff38;--line-hi:#5fe0ffb3;--accent:var(--reactor);--on-accent:#04222c;--danger:var(--hostile);--ok:var(--friendly);--radius:6px;--font-display:"Rajdhani", "Bahnschrift", "DIN Alternate", "Arial Narrow", system-ui, sans-serif;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace}html,body{background:var(--navy-0);height:100%;font-family:var(--font-ui);color:var(--ink);margin:0;overflow:hidden}#app{position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}:where(#ui)>*{pointer-events:auto}canvas{display:block}.loading-screen{z-index:50;color:#dff4ff;text-align:center;background:radial-gradient(at 50% 40%,#11263a 0%,#0a1018 60%,#06090d 100%);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0}.loading-screen .ls-logo{justify-items:center;gap:14px;display:grid}.loading-screen .ls-logo svg{fill:none;stroke:#5fe0ff;stroke-width:3px;filter:drop-shadow(0 0 10px #50dcffb3);width:96px;height:96px}.loading-screen .ls-logo .ring{transform-origin:60px 60px;stroke-dasharray:18 6;animation:9s linear infinite ls-spin}.loading-screen .ls-logo .ring.thin{stroke-width:1.5px;animation-duration:6s;animation-direction:reverse}.loading-screen .ls-logo .tri{stroke-width:2px;stroke-opacity:.8}.loading-screen .ls-logo .core{fill:#dff9ff;stroke:none;transform-origin:60px 60px;animation:1.6s ease-in-out infinite ls-pulse}.loading-screen .ls-logo .bang{stroke:#ffb347;stroke-width:6px;stroke-linecap:round;animation:none}.loading-screen h1{letter-spacing:.22em;text-shadow:0 0 16px #50dcff80;margin:0;font:600 34px/1.05 Rajdhani,system-ui,sans-serif}.loading-screen .ls-bar{background:#081828b3;border:1.5px solid #5fe0ffb3;border-radius:4px;width:min(420px,80vw);height:8px;padding:1.5px}.loading-screen .ls-bar i{background:linear-gradient(90deg,#2aa7d6,#7fe9ff);border-radius:2px;height:100%;transition:width .25s ease-out;display:block;box-shadow:0 0 10px #5fe0ffcc}.loading-screen .ls-status{letter-spacing:.08em;color:#d2f0ffd9;justify-content:space-between;width:min(420px,80vw);font-size:14px;display:flex}.loading-screen .ls-status b{color:#7fe9ff;font-weight:600}.loading-screen .ls-tip{color:#c8e6f5cc;max-width:min(520px,86vw);min-height:3em;margin:6px 0 0;font-size:15px;line-height:1.45;animation:.6s ease-out ls-fade}.loading-screen.fatal .ls-logo svg{stroke:#ff7a5a;filter:drop-shadow(0 0 10px #ff6e46b3)}.loading-screen.fatal h1{letter-spacing:.1em;text-shadow:none;color:#ffd9c9;font-size:26px}.loading-screen .ls-detail{max-width:min(560px,90vw);font:13px/1.5 var(--mono,ui-monospace, monospace);color:#ffcfc0;word-break:break-word;margin:0}.loading-screen .ls-tips{color:#d7ebf5e6;gap:6px;max-width:min(520px,90vw);margin:0;padding:0;font-size:15px;list-style:none;display:grid}.loading-screen .ls-actions{gap:10px;margin-top:6px;display:flex}@keyframes ls-spin{to{transform:rotate(360deg)}}@keyframes ls-pulse{50%{opacity:.8;transform:scale(1.25)}}@keyframes ls-fade{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.loading-screen .ls-logo .ring,.loading-screen .ls-logo .core,.loading-screen .ls-tip{animation:none}.loading-screen .ls-bar i{transition:none}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);font-size:13px;animation:.18s ease-out both ui-enter;position:fixed}.panel.import{width:min(380px,100vw - 74px);top:12px;left:62px}.back{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);width:40px;height:40px;color:var(--ink);z-index:5;border-radius:10px;place-items:center;display:grid;position:fixed;top:12px;left:12px}.back svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.back:hover{border-color:var(--accent);color:var(--accent)}.back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-head{all:unset;box-sizing:border-box;cursor:pointer;align-items:baseline;gap:10px;width:100%;padding:10px 14px;display:flex}.panel-head span:first-child{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.panel-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.panel-head .chev{color:var(--ink-dim);font:16px var(--mono)}.panel-head:focus-visible{outline:2px solid var(--accent);border-radius:10px}.panel-body{gap:10px;padding:0 14px 14px;display:grid}.panel label{color:var(--ink-dim);gap:4px;font-size:12px;display:grid}.panel label em{opacity:.7;font-style:normal}.panel input{border:1px solid var(--line);color:var(--ink);font:12px var(--mono);background:#00000059;border-radius:6px;padding:7px 9px}.panel input:focus{border-color:var(--accent);outline:none}.panel .row{flex-wrap:wrap;gap:6px;display:flex}.panel button:not(.panel-head){color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:6px;padding:7px 11px;font-size:12px}.panel button:not(.panel-head):hover:not(:disabled){background:#ffffff29}.panel button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.panel button.primary:hover:not(:disabled){background:var(--reactor-hi)}.panel button:disabled{opacity:.5;cursor:default}.panel .hint{color:var(--ink-dim);margin:0;font-size:11.5px;line-height:1.5}.panel .hint code{font:11px var(--mono);color:var(--ink)}.panel a{color:var(--accent)}.status{font:11.5px/1.5 var(--mono);background:#0000004d;border-radius:6px;max-height:180px;margin:0;padding:8px 10px;list-style:none;overflow:auto}.status li:first-child{font-weight:700}.status.ok li:first-child{color:var(--ok)}.status.error li:first-child{color:var(--danger)}.status.loading li:first-child{color:var(--accent)}.drop-overlay{border:2px dashed var(--accent);pointer-events:none;z-index:10;background:#0d0f1299;border-radius:16px;place-items:center;font-size:18px;display:grid;position:fixed;inset:12px}.panel.session{z-index:6;gap:10px;width:min(330px,100vw - 24px);padding:12px 14px;display:grid;top:60px;right:12px}.settings-btn{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);width:40px;height:40px;color:var(--ink);cursor:pointer;z-index:7;border-radius:10px;place-items:center;padding:0;display:grid;position:fixed;top:12px;right:12px}.settings-btn svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.settings-btn:hover,.settings-btn[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.settings-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel.session .level{grid-template-columns:auto 1fr;align-items:center;gap:10px}.panel select{color:var(--ink);border:1px solid var(--line);background:#00000059;border-radius:6px;padding:6px 8px;font-size:12px}.panel .toggles{align-items:center;gap:14px}.panel .toggles label{color:var(--ink);cursor:pointer;align-items:center;gap:6px;display:flex}.panel button.link{color:var(--ink-dim);background:0 0;border:none;margin-left:auto;padding:0;text-decoration:underline}kbd{font:10.5px var(--mono);color:var(--ink);background:#ffffff0f;border:1px solid #ffffff4d;border-bottom-width:2px;border-radius:4px;margin:0 1px;padding:0 4px}.panel button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.keys{max-width:232px;font:11.5px/1.3 "Rajdhani", var(--mono);color:#ebf5ffe0;pointer-events:none;text-shadow:0 1px 2px #000000b3;z-index:2;background:#060e186b;border:1px solid #a0d7ff24;border-radius:8px;flex-direction:column;align-items:stretch;gap:0;padding:5px 7px;display:flex;position:fixed;top:auto;bottom:128px;right:12px}.keys span{white-space:nowrap;border-radius:2px;justify-content:space-between;gap:10px;padding:0 3px;display:flex}.keys b{font-weight:600}.keys span.active{color:#fff;background:linear-gradient(90deg,#0000,#a0d7ff59 30%,#a0d7ff8c)}.hud-speed{pointer-events:none;width:220px;position:fixed;bottom:20px;right:20px}.tach{background:#ffffff26;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.tach-fill{background:var(--ink);height:100%;transition:width 80ms linear}.tach-fill[data-red=true]{background:var(--danger)}.readout{justify-content:flex-end;align-items:flex-end;gap:14px;display:flex}.readout .speed{font:700 54px/.9 var(--mono);text-shadow:0 2px 12px #00000080;font-variant-numeric:tabular-nums}.readout .speed span{color:var(--ink-dim);margin-left:6px;font-size:13px}.readout .gear{font:700 26px/1 var(--mono);border:2px solid var(--ink);text-align:center;border-radius:8px;min-width:22px;padding:5px 10px}.hud-damage{pointer-events:none;width:150px;position:fixed;bottom:34px;left:16px}.hud-damage .label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);justify-content:space-between;font-size:11px;display:flex}.hud-damage .label strong{font:700 15px var(--mono);letter-spacing:0}.hud-damage .bar{background:#ffffff26;border-radius:3px;height:6px;margin:5px 0 10px;overflow:hidden}.hud-damage .fill{height:100%;transition:width .2s ease-out}.ok{color:var(--ok)}.warn{color:#ffc23d}.crit{color:var(--danger)}.fill.ok{background:var(--ok)}.fill.warn{background:#ffc23d}.fill.crit{background:var(--danger)}.parts svg{width:70px;display:block}.parts .body{fill:#ffffff14;stroke:#ffffff59;stroke-width:.8px}.parts .cabin{fill:#ffffff1a}.parts rect.on{fill:var(--ink);opacity:.85}.parts rect.off{fill:none;stroke:var(--danger);stroke-width:1px;stroke-dasharray:2 1.5}.parts .chips{font:10px var(--mono);flex-wrap:wrap;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.parts .chips li{border:1px solid var(--line);border-radius:3px;padding:1px 5px}.parts .chips li.off{color:var(--danger);border-color:var(--danger);text-decoration:line-through}.hud-meta{font:11px var(--mono);color:var(--ink-dim);pointer-events:none;gap:12px;display:flex;position:fixed;bottom:10px;left:16px}@keyframes blink{50%{opacity:.3}}.paused{text-align:center;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:#00000040;place-content:center;font:700 42px system-ui;display:grid;position:fixed;inset:0}.paused span{letter-spacing:0;color:var(--ink-dim);text-transform:none;margin-top:6px;font:400 14px system-ui;display:block}@media (width<=720px){.keys{display:none}.panel.session{top:60px}.readout .speed{font-size:40px}}.car-pick{flex-wrap:wrap;gap:6px;display:flex}.car-pick button{flex:40%}.car-pick button[aria-checked=true]{color:var(--accent);border-color:var(--accent)!important;background:#ff7a2f1f!important}.shift-lock{background:var(--panel);border:1px solid var(--accent);color:var(--ink);pointer-events:none;border-radius:999px;padding:5px 14px;font-size:12px;animation:.6s 6s forwards shift-lock-away;position:fixed;top:80px;left:50%;transform:translate(-50%)}@keyframes shift-lock-away{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.shift-lock{animation-duration:10ms}}.panel .upload{flex-wrap:wrap;gap:6px;display:flex}.panel .upload .primary{flex:1}.readout .alt{font:700 15px/1.1 var(--mono);text-align:right;border:2px solid var(--ink);border-radius:8px;gap:2px;padding:5px 9px;display:grid}.readout .alt small{color:var(--ink-dim);margin-left:3px;font-size:10px}.readout .alt .up{color:var(--ok)}.readout .alt .down{color:#ffc23d}.repairing{font:700 20px/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 18px #ff7a2f99;pointer-events:none;animation:.8s steps(2,end) infinite blink;position:fixed;top:22%;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.repairing{animation:none}}.repairing.oof{text-align:center;white-space:nowrap;font-size:34px;animation:none}.repairing.oof small{letter-spacing:.2em;opacity:.8;margin-top:10px;font-size:11px;display:block}.drift{pointer-events:none;font-family:var(--mono);text-shadow:0 2px 12px #0000008c;flex-direction:column;align-items:center;gap:4px;display:flex;position:fixed;top:13%;left:50%;transform:translate(-50%)}.drift-label{letter-spacing:.3em;text-transform:uppercase;color:var(--ink);font-size:12px}.drift-label em{color:var(--accent);font-style:normal}.drift-points{color:var(--accent);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700}.drift-points.banked{color:#7ee07e}.drift-lost{letter-spacing:.2em;text-transform:uppercase;color:#ff5a4f;font-size:16px;font-weight:700}.suit{margin-top:10px}.suit .label strong{margin-left:6px;font-weight:600}.suit-warn{font:11px/1.3 var(--mono);color:#ffb347;margin-top:6px}.parts .chips li.coming{opacity:.45;border-style:dashed}.parts .chips li.worn{color:#ffb347;border-color:#ffb347}.suit-hud{pointer-events:none;z-index:1;--holo:#9fd8ff;font-family:"Rajdhani", var(--mono);position:fixed;inset:0}.suit-hud .visor-tint{mix-blend-mode:multiply;background:radial-gradient(#96afcd00 45%,#4669964d 100%);position:absolute;inset:0}.suit-hud .frame{fill:none;width:100%;height:70px;stroke:var(--holo);stroke-width:2px;opacity:.7;position:absolute;top:0;left:0;right:0}.suit-hud .frame .tri{fill:var(--holo);stroke:none}.suit-hud .mark{text-align:center;color:#ebf5ffd9;letter-spacing:.12em;font-size:16px;position:absolute;top:22px;left:0;right:0}.suit-hud .reticle{fill:none;stroke:#ebf5ff8c;stroke-width:2px;stroke-linecap:round;width:300px;height:160px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.suit-hud .reticle .dot{fill:#fff;stroke:none}.suit-hud .warnings{color:#ffb347;letter-spacing:.16em;text-shadow:0 0 6px #0009;flex-direction:column;align-items:center;gap:2px;font-size:12px;display:flex;position:absolute;top:84px;left:0;right:0}.suit-hud .holo{filter:drop-shadow(0 0 6px #a0dcff99);height:min(44vh,330px);position:absolute;top:50%;left:3vw;overflow:visible;transform:translateY(-50%)}.suit-hud .holo rect{fill:#aae1ff12;stroke:#beebff8c;stroke-width:1px}.suit-hud .holo .body{fill:#aae1ff0d;stroke-opacity:.3}.suit-hud .holo .body.lost{stroke:#ff5a4f;stroke-dasharray:3 3;stroke-opacity:.8;fill:none}.suit-hud .holo .armor{fill:#aae1ff24;stroke-opacity:.8}.suit-hud .holo .armor.worn{stroke:#ffb347;fill:#ffb34729}.suit-hud .holo .armor.crit{animation:.7s steps(2,jump-none) infinite holo-crit}@keyframes holo-crit{50%{opacity:.45}}.suit-hud .holo .armor.coming{stroke-dasharray:2 3;fill:none;stroke-opacity:.5}.suit-hud .holo .armor.gone{display:none}.suit-hud .holo .body.prosthetic{stroke:#3fe0d0;stroke-opacity:.9;fill:#142834b3}.suit-hud .holo .armor.prosthetic{stroke:#3fe0d0;fill:#1e3c468c;stroke-opacity:.95}.suit-hud .holo .reactor{fill:#dcf5ffcc;stroke:none}.suit-hud .vitals{text-align:center;color:#d2f0ffbf;letter-spacing:.14em;width:min(26vh,195px);font-size:12px;position:absolute;top:calc(50% + min(22vh,165px) + 10px);left:3vw}.suit-hud .velocity{color:#dcf0ffe6;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.suit-hud .velocity .label{letter-spacing:.12em;font-size:12px}.suit-hud .velocity .bar{background:#14325a59;border:1.5px solid #a0d7ffbf;border-radius:3px;align-items:center;gap:10px;padding:3px 10px;font-size:11px;display:flex}.suit-hud .velocity .segs{gap:4px;display:flex}.suit-hud .velocity .segs i{background:#a0d7ff33;border-radius:1px;width:24px;height:6px}.suit-hud .velocity .segs i.on{background:#bfe6ff;box-shadow:0 0 6px #a0d7ffcc}.suit-hud .velocity .alt{color:var(--holo);text-align:right;min-width:44px}.suit-hud .reactor-icon{fill:#285aa066;width:60px;height:40px;stroke:var(--holo);stroke-width:2px;position:absolute;bottom:26px;left:calc(50% + 200px)}.suit-hud .reactor-icon .ring{fill:#dcf5ffd9;stroke:none}.suit-hud .reactor-icon .ring.off{fill:#ff5a4f}.suit-hud .lock-marker{pointer-events:none;--gap:20px;--fade:1;width:0;height:0;opacity:var(--fade);position:fixed;top:0;left:0}.suit-hud .lock-marker .br{border:0 solid color-mix(in srgb, #ff7a4a var(--q,0%), #9fd8ff);width:9px;height:9px;filter:drop-shadow(0 0 3px color-mix(in srgb, #ff6e46e6 var(--q,0%), #78c8ffcc));transition:left .12s,top .12s;position:absolute}.suit-hud .lock-marker .tl{left:calc(-1 * var(--gap));top:calc(-1 * var(--gap));border-top-width:2px;border-left-width:2px}.suit-hud .lock-marker .tr{left:calc(var(--gap) - 9px);top:calc(-1 * var(--gap));border-top-width:2px;border-right-width:2px}.suit-hud .lock-marker .bl{left:calc(-1 * var(--gap));top:calc(var(--gap) - 9px);border-bottom-width:2px;border-left-width:2px}.suit-hud .lock-marker .bottom-r{left:calc(var(--gap) - 9px);top:calc(var(--gap) - 9px);border-bottom-width:2px;border-right-width:2px}.suit-hud .lock-marker .pip{background:#ff7a4a;width:6px;height:6px;transition:transform .15s;position:absolute;top:-3px;left:-3px;transform:rotate(45deg)scale(0);box-shadow:0 0 6px #ff6e46e6}.suit-hud .lock-marker[data-stage=heavy] .pip{transform:rotate(45deg)scale(1)}@media (prefers-reduced-motion:reduce){.suit-hud .lock-marker .br,.suit-hud .lock-marker .pip{transition:none}}.suit-hud .hand{justify-items:center;gap:4px;display:grid;position:absolute;bottom:20px}.suit-hud .hand svg{fill:none;stroke:#5fb3ff;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #5aaaffb3);width:78px;height:78px}.suit-hud .shoulder{color:#dcf0ffe6;letter-spacing:.14em;grid-template-columns:auto 90px;align-items:center;gap:3px 8px;font-size:10px;display:grid;position:absolute;bottom:74px;left:50%;transform:translate(-50%)}.suit-hud .shoulder span{white-space:nowrap;text-align:right}.suit-hud .shoulder kbd{font:600 10px/1 var(--mono);letter-spacing:0;border:1px solid #a0d7ff99;border-radius:3px;padding:1px 4px}.suit-hud .shoulder i{background:#a0d7ff33;border-radius:1px;height:5px;display:block;overflow:hidden}.suit-hud .shoulder i b{background:#bfe6ff;height:100%;display:block;box-shadow:0 0 6px #a0d7ffcc}.suit-hud .shoulder.reloading i b{box-shadow:none;background:#7fa6c4}.rear-marker{z-index:6;pointer-events:none;position:absolute;top:0;left:0}.rear-marker .tag{white-space:nowrap;color:#ffd9d4;font:600 11px/1.2 var(--mono);letter-spacing:.1em;text-shadow:0 1px 2px #000c;background:#78140eb3;border:1px solid #ff5a4a;border-radius:3px;padding:2px 7px;position:absolute;top:0;left:0;transform:translate(-50%,8px);box-shadow:0 0 8px #ff463299}.rear-marker .tag:before{content:"";border-bottom:7px solid #ff5a4a;border-left:6px solid #0000;border-right:6px solid #0000;margin-left:-6px;position:absolute;top:-7px;left:50%}.rear-marker.on:after{content:"";border:2px solid #ff5a4a;border-radius:50%;width:26px;height:26px;position:absolute;top:-16px;left:-16px;box-shadow:0 0 8px #ff4632e6}.suit-hud .hand.left{justify-items:start;left:22px}.suit-hud .hand.right{justify-items:end;right:22px}.suit-hud .hand.right svg{transform:scaleX(-1)}.suit-hud .hand .ring{stroke-width:1.5px;stroke-opacity:.5}.suit-hud .hand .reload{stroke:#e6f6ff;stroke-width:2.5px}.suit-hud .hand .core{fill:#e6f6ff;stroke:none}.suit-hud .hand line{stroke:#e6f6ff;stroke-width:2.4px}.suit-hud .hand .rocket-icon{stroke:#e6f6ff;stroke-width:2.2px}.suit-hud .hand .rocket-icon .exhaust{stroke:#ffb347}.suit-hud .hand.reloading .rocket-icon,.suit-hud .hand.reloading line{stroke-opacity:.45}.suit-hud .hand.firing .core{fill:#fff;filter:drop-shadow(0 0 6px #fff)}.suit-hud .hand-label{letter-spacing:.18em;color:#eaf6ff;text-shadow:0 1px 3px #000c;white-space:nowrap;order:-1;font-size:10px}.suit-hud .hand-label kbd{font:600 10px/1 var(--mono);letter-spacing:0;border:1px solid #a0d7ff99;border-radius:3px;padding:1px 4px}.suit-hud .hand.off svg{stroke:#ff5a4f;opacity:.55}.suit-hud .hand.off line,.suit-hud .hand.off .core,.suit-hud .hand.off .rocket-icon{stroke:#ff5a4f;fill:#ff5a4f}.suit-hud .hit-flash{background:radial-gradient(#c8141426 30%,#be0a0a8c 100%);animation:.9s ease-out forwards hit-fade;position:absolute;inset:0}@keyframes hit-fade{0%{opacity:1}to{opacity:0}}.suit-hud .faceplate{background:radial-gradient(#07121f 45%,#000 100%);animation:.4s ease-in-out forwards plate;position:absolute;inset:0}.suit-hud .faceplate .slit{filter:blur(2px);background:linear-gradient(#cfe6ff,#7fa9d8);width:34vw;height:13vh;position:absolute;top:24%;box-shadow:0 0 30px #aad7ff99}.suit-hud .faceplate .slit.left{clip-path:polygon(0 0,100% 45%,96% 100%,4% 30%);left:12vw}.suit-hud .faceplate .slit.right{clip-path:polygon(0 45%,100% 0,96% 30%,4% 100%);right:12vw}@keyframes plate{0%{opacity:0}20%{opacity:1}55%{opacity:1}to{opacity:0}}.suit-hud .faceplate.opening{animation-duration:.25s}@media (prefers-reduced-motion:reduce){.suit-hud .faceplate{display:none}}.keys span.used{color:#0b1a2a;background:#fff9;transition:background .4s}.start-hint{font:600 18px "Rajdhani", var(--mono);letter-spacing:.12em;color:#e6f4ff;text-shadow:0 2px 10px #000000b3;pointer-events:none;position:fixed;top:18%;left:50%;transform:translate(-50%)}@media (width<=760px){.keys{font-size:10.5px;bottom:110px}.suit-hud .holo{height:26vh;left:8px}.suit-hud .vitals{display:none}.suit-hud .velocity .segs i{width:12px}.suit-hud .hand svg{width:52px;height:52px}.suit-hud .reactor-icon{display:none}}.suit-hud .topbar{letter-spacing:.14em;color:#ebf5ffe6;text-shadow:0 1px 3px #000c;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.suit-hud .topbar.armor{top:46px}.suit-hud .topbar.health{top:62px}.suit-hud .topbar span{min-width:54px}.suit-hud .topbar.armor span{text-align:right}.suit-hud .topbar b{min-width:42px;font-weight:600}.suit-hud .topbar .segs{background:#050f1e73;border-radius:2px;gap:3px;padding:3px;display:flex}.suit-hud .topbar .segs i{background:#ffffff26;width:12px;height:5px}.suit-hud .topbar.armor .segs i.on{background:#e6b64a;box-shadow:0 0 4px #e6b64ab3}.suit-hud .topbar.health .segs i.on{background:#6fdc8c;box-shadow:0 0 4px #6fdc8cb3}.suit-hud .repair-bar{color:#bfe6ff;letter-spacing:.2em;text-shadow:0 1px 3px #000c;flex-direction:column;align-items:center;gap:4px;font-size:12px;display:flex;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}.suit-hud .repair-bar div{background:#050f1e80;border:1px solid #a0d7ff99;width:240px;height:5px}.suit-hud .repair-bar i{background:#bfe6ff;height:100%;display:block;box-shadow:0 0 6px #9fd8ff}.suit-hud .mode-tag{letter-spacing:.24em;color:#ebf5ffbf;text-shadow:0 1px 3px #000c;font-size:12px;position:absolute;bottom:118px;left:50%;transform:translate(-50%)}.suit-hud .mode-tag.on{color:#fff;text-shadow:0 0 10px #9fd8ff;font-size:15px}.suit-hud .velocity.grounded{opacity:.55;transform-origin:bottom;transform:translate(-50%)scale(.85)}.suit-hud .velocity .label,.suit-hud .vitals{text-shadow:0 1px 3px #000c}.incoming{pointer-events:none;--angle:0deg;--pulse:.5s;position:fixed;inset:0}.incoming-sign{fill:#ff32282e;stroke:#ff4a3a;stroke-width:2.5px;stroke-linejoin:round;filter:drop-shadow(0 0 6px #ff3c28e6);width:38px;height:34px;animation:incoming-blink var(--pulse) steps(2, jump-none) infinite alternate;margin-left:-19px;position:absolute;top:104px;left:50%}.incoming-sign .mark{stroke:#ffd9d4;stroke-width:3px;stroke-linecap:round;fill:none}.incoming-arrow{width:0;height:0;transform:rotate(var(--angle));position:absolute;top:50%;left:50%}.incoming-arrow i{filter:drop-shadow(0 0 6px #ff3c28e6);width:0;height:0;animation:incoming-blink var(--pulse) ease-in-out infinite alternate;border-bottom:18px solid #ff4a3a;border-left:11px solid #0000;border-right:11px solid #0000;position:absolute;top:-118px;left:-11px}@keyframes incoming-blink{0%{opacity:1}to{opacity:.25}}@media (prefers-reduced-motion:reduce){.incoming-sign,.incoming-arrow i{animation:none}}.screen{z-index:20;box-sizing:border-box;background:radial-gradient(at 50% 40%,#0a1c2e8c,#040910e6);align-content:center;place-items:center;gap:22px;padding:24px 16px;animation:.22s ease-out both ui-enter;display:grid;position:fixed;inset:0;overflow-y:auto}.screen.leaving,.panel.leaving{pointer-events:none;animation:.16s ease-in both ui-exit}.screen h1{font:600 clamp(32px, 6vw, 56px)/1.05 var(--font-display);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 22px #50dcff59;margin:0}.screen h2{font:600 28px var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin:0}@keyframes ui-enter{0%{opacity:0;transform:translateY(10px)}}@keyframes ui-exit{to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.screen,.panel,.screen.leaving,.panel.leaving{animation-duration:10ms}}.screen .hint{color:var(--ink-dim);margin:0;font-size:13px}.screen button{font:inherit;color:var(--ink);cursor:pointer}.screen button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.screen .kicker{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.screen .ghost{border:1px solid var(--line);border-radius:var(--radius);background:0 0;padding:8px 14px}.screen .ghost:hover{border-color:var(--line-hi)}.screen .primary,.screen .actions button{border-radius:var(--radius);border:1px solid var(--line);font:600 16px var(--font-display);letter-spacing:.12em;text-transform:uppercase;background:#5fe0ff14;padding:9px 20px;transition:background .12s,border-color .12s}.screen .actions button:hover{border-color:var(--line-hi);background:#5fe0ff29}.screen .actions .primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.screen .actions .primary:hover{background:var(--reactor-hi)}.mode-cards{grid-template-columns:repeat(auto-fit,minmax(240px,300px));justify-content:center;gap:16px;width:100%;display:grid}.mode-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);align-content:start;gap:8px;min-height:150px;padding:22px 22px 20px;transition:transform .15s,border-color .15s;display:grid}.mode-card strong{font-size:22px}.mode-card span{color:var(--ink-dim);font-size:14px;line-height:1.45}.mode-card em{font-style:normal;font:12px var(--mono);color:var(--accent);margin-top:4px}.mode-card:hover{border-color:var(--ink-dim);transform:translateY(-2px)}.mode-card.missions{border-color:var(--line-hi)}.mode-card.missions:hover{border-color:var(--accent)}@media (prefers-reduced-motion:reduce){.mode-card{transition:none}.mode-card:hover{transform:none}}.screen.levels{align-content:start;padding-top:70px}.screen-head{align-items:center;gap:14px;width:min(760px,100%);display:flex}.level-set{gap:10px;width:min(760px,100%);display:grid}.level-set h3{font:600 15px var(--font-display);text-transform:uppercase;letter-spacing:.2em;color:var(--reactor);margin:0}.level-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;display:grid}.level-tile{text-align:left;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line-hi);border-radius:var(--radius);justify-items:start;gap:4px;padding:12px 12px 10px;transition:background .12s,border-color .12s,transform .12s;display:grid}.level-tile b{font:600 24px var(--font-display);letter-spacing:.06em}.level-tile span{min-height:2.5em;font-size:13px;line-height:1.25}.level-tile:hover:not(:disabled),.level-tile:focus-visible{border-color:var(--accent);background:var(--panel-hi);transform:translateY(-1px)}.level-tile.boss{border-color:#ff5a4a99;border-left-color:var(--hostile)}.level-tile.locked{opacity:.45;cursor:not-allowed}.level-tile .lock{fill:none;width:14px;height:14px;stroke:var(--ink-dim);stroke-width:1.6px}.stars{letter-spacing:2px;color:#ffffff38;font-size:14px}.stars i{font-style:normal}.stars i.on{color:var(--amber)}.screen .card{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);gap:12px;width:min(520px,100%);padding:24px;display:grid}.screen .card p{color:var(--ink-dim);margin:0;font-size:14px;line-height:1.5}.waves{border-top:1px solid var(--line);gap:6px;padding-top:10px;display:grid}.wave-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.wave-row>span:first-child{color:var(--ink-dim)}.wave-line{font:12px var(--mono);gap:12px;display:inline-flex}.wave-line>span{align-items:center;gap:3px;display:inline-flex}.heli-icon{fill:currentColor;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:28px;height:14px}.heli-icon .rotor{fill:none}.heli-icon.gun{color:#9fd8ff}.heli-icon.rocket{color:#ffb347}.heli-icon.kamikaze{color:#ff5a4a}.heli-icon.carrier{color:#cfd3da;width:44px;height:14px}.heli-icon.boss{color:#e8e8ea;width:36px;height:18px}.supplies-row{color:var(--ink-dim);border-top:1px solid var(--line);flex-wrap:wrap;gap:6px 14px;padding-top:10px;font-size:12px;display:flex}.supplies-row>span:first-child{color:var(--ink);min-width:64px;font-weight:600}.screen kbd,.mission-hud kbd{font:600 10px/1 var(--mono);border:1px solid var(--line);color:var(--ink);background:#0000004d;border-radius:4px;padding:2px 5px}.screen .actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.results .card h2{font-size:34px}.results .card.won h2{color:var(--ok)}.results .card.lost h2{color:var(--danger)}.result-stars{align-items:center;gap:12px;display:flex}.result-stars .stars{font-size:30px}.result-stars em{font-style:normal;font:12px var(--mono);color:var(--accent)}.reasons{color:var(--ink-dim);gap:3px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.reasons li.got{color:var(--ink)}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding-top:12px;display:grid}.stats div{gap:2px;display:grid}.stats dt{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.stats dd{font:600 24px var(--font-display);letter-spacing:.04em;margin:0}.mission-hud{pointer-events:none;z-index:3;position:fixed;inset:0}.mission-info{color:#eaf6ff;background:#080c128c;border:1px solid #a0d7ff40;border-radius:10px;gap:5px;min-width:190px;padding:10px 12px;display:grid;position:absolute;top:212px;left:12px}.mission-info .kicker{letter-spacing:.12em;text-transform:uppercase;color:#c8e6ffb3;font-size:10px}.mission-info strong{letter-spacing:.04em;font-size:15px}.mission-info .pips{flex-wrap:wrap;align-items:center;gap:4px;min-height:10px;display:flex}.mission-info .pips i{background:#ff5a4a33;border:1px solid #ff5a4a80;border-radius:2px;width:8px;height:8px}.mission-info .pips i.on{background:#ff5a4a}.mission-info .pips b{font:600 11px var(--mono);color:#ffb3aa;margin-left:6px}.mission-info .supplies{font:600 12px var(--mono);align-items:center;gap:10px;display:flex}.mission-info .supplies>span{align-items:center;gap:4px;display:inline-flex}.mission-info .supplies .out{opacity:.35}.mission-info .supplies .time{color:#c8e6ffbf;margin-left:auto}.mission-count{font:800 96px/1 var(--mono);color:#fff;text-shadow:0 0 30px #78c8ffcc;animation:1s ease-out both count-pop;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.mission-banner{letter-spacing:.3em;text-transform:uppercase;color:#fff;text-shadow:0 0 24px #ff5a3cd9;white-space:nowrap;font:800 34px/1 system-ui,sans-serif;animation:2.2s ease-out both banner-fade;position:absolute;top:30%;left:50%;transform:translate(-50%)}@keyframes count-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.6)}30%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.2}}@keyframes banner-fade{0%{opacity:0;letter-spacing:.6em}20%{opacity:1;letter-spacing:.3em}75%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.mission-count,.mission-banner{animation-duration:10ms;animation-fill-mode:none}}.boss-bar{width:min(360px,60vw);font:700 11px var(--mono);letter-spacing:.3em;color:#ffb3aa;justify-items:center;gap:4px;display:grid;position:absolute;top:132px;left:50%;transform:translate(-50%)}.boss-bar div{background:#ff5a4a2e;border:1px solid #ff5a4a99;border-radius:3px;width:100%;height:7px;overflow:hidden}.boss-bar i{background:#ff5a4a;height:100%;transition:width .2s;display:block}.plate-markers{pointer-events:none;z-index:5;position:absolute;inset:0}.plate-markers i{width:0;height:0;position:absolute;top:0;left:0}.plate-markers i.on:before{content:"";border:2px solid #7fe9ff;border-radius:50%;width:20px;height:20px;animation:.7s ease-out infinite plate-ping;position:absolute;top:-13px;left:-13px;box-shadow:0 0 8px #50dcffe6,inset 0 0 6px #50dcff99}.plate-markers i.edge:before{content:"";filter:drop-shadow(0 0 4px #50dcfff2);border-bottom:11px solid #7fe9ff;border-left:7px solid #0000;border-right:7px solid #0000;position:absolute;top:-12px;left:-7px}@keyframes plate-ping{0%{opacity:1;transform:scale(.7)}to{opacity:.35;transform:scale(1.5)}}.enemy-markers{position:absolute;inset:0}.enemy-markers i{width:0;height:0;position:absolute;top:0;left:0}.enemy-markers i.on:before{content:"";filter:drop-shadow(0 0 3px #ff3c28e6);border-top:9px solid #ff5a4a;border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;top:-12px;left:-6px}.enemy-markers i.edge:before{content:"";filter:drop-shadow(0 0 3px #ff3c28e6);border-bottom:13px solid #ff5a4ad9;border-left:8px solid #0000;border-right:8px solid #0000;position:absolute;top:-7px;left:-8px}.enemy-markers i.kamikaze:before{border-top-color:#ff2a1a;border-bottom-color:#ff2a1a}.enemy-markers i.boss.on:before,.enemy-markers i.carrier.on:before{border-top-width:13px;border-left-width:9px;border-right-width:9px;top:-16px;left:-9px}@media (width<=640px){.mission-info{min-width:0;top:60px}.mission-count{font-size:64px}.mission-banner{font-size:22px}}.suit-tags{pointer-events:none;position:fixed;inset:0}.suit-tag{width:0;height:0;position:absolute;top:0;left:0}.suit-tag span{text-align:center;text-shadow:0 1px 2px #000000e6;white-space:nowrap;width:100px;font:600 11px/1 system-ui,sans-serif;position:absolute;top:-26px;left:-50px}.suit-tag.ally span{color:#8cc4ff}.suit-tag.foe span{color:#ff8577}.suit-tag i{background:#00000080;width:48px;height:3px;position:absolute;left:-24px}.suit-tag i.a{top:-12px}.suit-tag i.h{top:-7px}.suit-tag i b{height:100%;display:block}.suit-tag i.a b{background:#e0b04a}.suit-tag i.h b{background:#5fdc6a}.kill-feed{pointer-events:none;z-index:3;justify-items:end;gap:3px;display:grid;position:fixed;top:74px;right:236px}.kill-feed div{color:#cfe8ff;white-space:nowrap;background:#0a10188c;border-left:3px solid #8cc4ff;padding:4px 10px 4px 7px;font:600 12px/1 system-ui,sans-serif;animation:6s linear both feed-fade}@keyframes feed-fade{0%,80%{opacity:1}to{opacity:0}}@media (width<=640px){.kill-feed{top:64px;right:182px}}.shot-result{font:800 15px/1 var(--mono);letter-spacing:.3em;pointer-events:none;z-index:4;text-shadow:0 1px 4px #000000d9;animation:1.4s ease-out both shot-result;position:fixed;top:calc(50% + 34px);left:50%;transform:translate(-50%)}.shot-result.hit{color:#f2fff4;text-shadow:0 0 10px #6fdc8cf2,0 1px 4px #000000d9}.shot-result.miss{color:#ff8a7c}@keyframes shot-result{0%{opacity:0;transform:translate(-50%)scale(1.5)}12%{opacity:1;transform:translate(-50%)scale(1)}70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.shot-result{animation-duration:10ms;animation-fill-mode:none}}.suit-hud .target-card{color:#f2f8ff;text-shadow:0 1px 2px #000000e6;pointer-events:none;z-index:4;border:1px solid #a0d7ff66;border-top:3px solid #9fd8ff;border-radius:6px;gap:0;width:212px;padding:0;display:grid;position:absolute;top:62px;right:12px;overflow:hidden}.suit-hud .tc-head,.suit-hud .tc-rows{-webkit-backdrop-filter:blur(4px);background:#060c14b3;padding:8px 12px}.suit-hud .tc-rows{padding-bottom:11px}.suit-hud .target-card[data-team=foe]{border-top-color:#ff6a5c}.suit-hud .target-card[data-team=ally]{border-top-color:#6fb4ff}.suit-hud .tc-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.suit-hud .tc-name{letter-spacing:.03em;font:700 15px/1.1 system-ui,sans-serif}.suit-hud .tc-suit{font:600 10px/1 var(--mono);letter-spacing:.1em;color:#bedcf5b8;text-transform:uppercase}.suit-hud .tc-view{background:0 0;border-radius:4px;outline:1px solid #a0d7ff40;height:138px}.suit-hud .tc-rows{gap:5px;display:grid}.suit-hud .tc-row{font:600 13px/1.2 var(--mono);grid-template-columns:1fr auto;align-items:baseline;gap:0 10px;display:grid}.suit-hud .tc-row i{letter-spacing:.08em;text-transform:uppercase;color:#bedcf5bf;font-size:11px;font-style:normal}.suit-hud .tc-row u{background:#ffffff24;grid-column:1/-1;height:5px;text-decoration:none;display:block}.suit-hud .tc-row s{background:#5fdc6a;height:100%;text-decoration:none;display:block}.suit-hud .tc-row.armor s{background:#e0b04a}@media (width<=640px){.suit-hud .target-card{width:160px;top:58px}.suit-hud .tc-view{height:96px}}.suit-hud .target-card[data-mode=threat]{border-top-color:#ff8a3a}.suit-hud .target-card[data-mode=threat] .tc-suit{color:#ffb37a}.suit-hud .tc-also{font:600 12px/1.2 var(--mono);background:#060c14b3;border-top:1px solid #a0d7ff2e;gap:3px;padding:6px 12px 9px;display:grid}.suit-hud .tc-also i{letter-spacing:.1em;text-transform:uppercase;color:#ffb37a;font-size:10px;font-style:normal}.panel.session button.main-menu{border-color:var(--line-hi);width:100%;color:var(--ink);background:#5fe0ff24;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.panel.session button.main-menu svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.panel.session button.main-menu:hover{background:#5fe0ff38}.panel .row.foes{align-items:center}.panel .row.foes>span{color:var(--ink-dim);font-size:12px}.settings-btn.spawn-btn{top:60px}.panel.session.spawn{top:108px}.panel.session h4{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:0;font:600 11px system-ui}.panel.session.spawn h4:not(:first-child){margin-top:4px}.heli-icon.suit{color:#ffd166}.heli-icon.sedan{color:#9fd8ff}.heli-icon.truck{color:#ffb347}.heli-icon.rammer{color:#ff7a5a}.heli-icon .wheel{fill:#111}.legend{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);z-index:3;border-radius:12px;gap:10px;width:min(520px,100%);padding:12px 14px;display:grid;position:static}.legend h4{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin:0;font:600 11px system-ui}.legend-row{grid-template-columns:36px 1fr;align-items:start;gap:10px;display:grid}.legend-row .heli-icon{width:34px;height:17px;margin-top:2px}.legend-row b{font-size:13px;display:block}.legend-row span{color:var(--ink-dim);font-size:12px;line-height:1.3;display:block}.legend-caret{filter:drop-shadow(0 0 3px #ff3c28e6);border-top:11px solid #ff5a4a;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;margin:6px 0 0 9px}@media (width>=1200px){.legend{width:300px;max-height:calc(100vh - 32px);position:fixed;bottom:16px;right:16px;overflow:auto}}.wave-row,.wave-line{flex-wrap:wrap;row-gap:4px}.level-tile.special{border-color:#ffd16699}.supplies-row.warn{color:#ffb347}.supplies-row .chip{color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:999px;padding:4px 12px;font-size:12px}.supplies-row .chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.card .unlock{color:#ffd166;margin:4px 0;font-weight:600}.mission-info .no-weapons{color:#ffb347;letter-spacing:.06em;text-transform:uppercase;background:#ffb3472e;border:1px solid #ffb34799;border-radius:999px;padding:2px 8px;font:600 11px system-ui;display:inline-block}.panel .row.suits{align-items:center}.panel .row.suits>span{color:var(--ink-dim);font-size:12px}.heli-icon.bomber{color:#ff6a4a}.heli-icon .pack{fill:#c1281a;stroke:none}.suit-picker{width:100%;position:relative}.suit-picker .sp-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.suit-picker .sp-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.suit-picker .sp-card{text-align:left;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#ffffff0d;border-radius:10px;justify-items:stretch;gap:4px;padding:6px 8px 8px;display:grid;position:relative}.suit-picker .sp-card:hover:not(:disabled){border-color:var(--ink-dim)}.suit-picker .sp-card.on{border-color:var(--accent);background:#5fe0ff1a}.suit-picker .sp-card.locked{cursor:not-allowed;opacity:.6}.suit-picker .sp-view{height:132px}.suit-picker .sp-card strong{font-size:13px}.suit-picker .sp-blurb{color:var(--ink-dim);min-height:2.4em;font-size:11px;line-height:1.2}.suit-picker .sp-stats{gap:3px;margin-top:2px;display:grid}.suit-picker .sp-stat{color:var(--ink-dim);grid-template-columns:56px 1fr 38px;align-items:center;gap:5px;font-size:10.5px;display:grid}.suit-picker .sp-stat i{background:#ffffff1f;border-radius:3px;height:5px;display:block;overflow:hidden}.suit-picker .sp-stat b{background:linear-gradient(to right, var(--reactor-lo), var(--reactor-hi));border-radius:3px;height:100%;display:block}.suit-picker .sp-stat em{text-align:right;color:var(--ink);font-style:normal}.suit-picker .sp-lock{fill:none;width:16px;height:16px;stroke:var(--ink-dim);stroke-width:1.6px;position:absolute;top:8px;right:8px}.panel.session .suit-picker{margin:2px 0}.minimap{z-index:2;pointer-events:none;filter:drop-shadow(0 2px 6px #00000080);position:fixed;top:60px;left:12px}@media (width<=640px){.minimap{top:56px;left:8px;width:104px!important;height:104px!important}}.level-tabs{width:min(760px,100%)}.tab-note{width:min(760px,100%);color:var(--ink-dim);margin:0;font-size:13px}.heli-icon.sniper{color:#7ff0ff}.enemy-markers i.sniper:before{border-top-color:#7ff0ff;border-bottom-color:#7ff0ff}.hand .sniper-icon circle,.hand .sniper-icon path{fill:none;stroke-width:2px}.hand .sniper-icon .core{fill:currentColor}.dev-note{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.8}.screen.title{background:0 0;align-content:stretch;place-items:stretch stretch;padding:0;overflow:hidden}.title-shade{pointer-events:none;background:linear-gradient(90deg,#040a12db 0%,#040a128c 38%,#040a1200 70%),linear-gradient(#040a1200 70%,#040a1299 100%);position:absolute;inset:0}.title-col{box-sizing:border-box;place-self:center start;gap:30px;width:min(520px,100%);padding:0 clamp(24px,7vw,110px);display:grid;position:relative}.title-logo{align-items:center;gap:18px;display:flex}.title-logo svg{fill:none;stroke:#5fe0ff;stroke-width:3px;filter:drop-shadow(0 0 10px #50dcffb3);flex:none;width:84px;height:84px}.title-logo .ring{transform-origin:60px 60px;stroke-dasharray:18 6;animation:14s linear infinite ls-spin}.title-logo .ring.thin{stroke-width:1.5px;animation-duration:9s;animation-direction:reverse}.title-logo .tri{stroke-width:2px;stroke-opacity:.8}.title-logo .core{fill:#dff9ff;stroke:none;transform-origin:60px 60px;animation:2s ease-in-out infinite ls-pulse}.screen .title-logo h1{letter-spacing:.2em;text-shadow:0 0 18px #50dcff73;font:600 clamp(28px,4vw,44px)/1.02 Rajdhani,system-ui,sans-serif}.title-logo h1 span{color:#7fe9ff;letter-spacing:.34em}.title-menu{gap:6px;margin:0;padding:0;list-style:none;display:grid}.screen .title-menu button{text-align:left;background:#0816248c;border:1px solid #5fe0ff40;border-left:3px solid #5fe0ff80;border-radius:4px;justify-content:space-between;align-items:baseline;gap:16px;width:100%;padding:11px 18px;transition:background .12s,border-color .12s,transform .12s;display:flex}.title-menu button b{letter-spacing:.16em;text-transform:uppercase;font:600 20px Rajdhani,system-ui,sans-serif}.title-menu button span{letter-spacing:.04em;color:#c8e6f5b3;text-align:right;font-size:12px}.screen .title-menu button:hover:not(:disabled),.screen .title-menu button:focus-visible{background:#144664b3;border-color:#7fe9ff;outline:none;transform:translate(6px)}.screen .title-menu button:disabled{cursor:default;opacity:.4}.title-hint{color:#c8e6f58c;margin:0;font-size:12px;position:absolute;bottom:18px;left:clamp(24px,7vw,110px)}.title-version{font:600 13px var(--mono,monospace);letter-spacing:.1em;color:#c8e6f599;position:absolute;bottom:16px;right:18px}@media (width<=640px){.title-shade{background:#040a12b3}.title-col{justify-self:center;padding:0 16px}.title-menu button span{display:none}}@media (prefers-reduced-motion:reduce){.title-logo .ring,.title-logo .core{animation:none}.screen .title-menu button{transition:none}}.btn{font:600 15px var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#5fe0ff14;padding:8px 18px;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){border-color:var(--line-hi);background:#5fe0ff29}.btn:focus-visible,.tab:focus-visible,.toggle:focus-visible,.slider input:focus-visible{outline:2px solid var(--reactor);outline-offset:2px}.btn.primary{background:var(--reactor);border-color:var(--reactor);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--reactor-hi)}.btn.danger{color:#ffd0c8;background:#ff5a4a1a;border-color:#ff5a4a99}.btn.danger:hover:not(:disabled){border-color:var(--hostile);background:#ff5a4a38}.btn:disabled{opacity:.45;cursor:default}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0 2px;min-width:0;display:flex}.tab{font:600 14px var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 11px}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--reactor);border-bottom-color:var(--reactor)}.toggle{cursor:pointer;color:var(--ink);font:14px var(--font-ui);background:0 0;border:0;align-items:center;gap:10px;padding:4px 0;display:inline-flex}.toggle i{border:1px solid var(--line);background:#5fe0ff1f;border-radius:10px;width:38px;height:20px;transition:background .12s;position:relative}.toggle i:after{content:"";background:var(--ink-dim);border-radius:50%;width:14px;height:14px;transition:transform .12s,background .12s;position:absolute;top:2px;left:2px}.toggle[aria-checked=true] i{border-color:var(--line-hi);background:#5fe0ff59}.toggle[aria-checked=true] i:after{background:var(--reactor-hi);transform:translate(18px)}.slider{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;font-size:14px;display:grid}.slider span{color:var(--ink)}.slider output{font:600 14px var(--mono);color:var(--reactor);text-align:right;min-width:3.2em}.slider input{width:100%;accent-color:var(--reactor);grid-column:1/-1}.field-label{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.tr-leaving>.screen,.tr-leaving>.panel{pointer-events:none;animation:.16s ease-in both ui-exit}.screen.pause{-webkit-backdrop-filter:blur(3px);background:radial-gradient(at 50% 45%,#060e18b3,#03070ce6)}.pause-card{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:16px;width:min(440px,100%);max-height:calc(100vh - 48px);padding:24px;display:grid}.pause-card h2{text-align:center}.pause-menu{gap:6px;margin:0;padding:0;list-style:none;display:grid}.screen .pause-menu button{text-align:left;border:1px solid var(--line);border-left:3px solid var(--line-hi);border-radius:var(--radius);background:#08162499;justify-content:space-between;align-items:baseline;gap:14px;width:100%;padding:11px 16px;display:flex}.pause-menu button b{font:600 19px var(--font-display);letter-spacing:.14em;text-transform:uppercase}.pause-menu button span{color:var(--ink-dim);text-align:right;font-size:12px}.screen .pause-menu button:hover,.screen .pause-menu button:focus-visible{background:var(--panel-hi);border-color:var(--reactor);outline:none}.screen .pause-menu button.primary{background:var(--reactor);border-color:var(--reactor);color:var(--on-accent)}.screen .pause-menu button.primary:hover,.screen .pause-menu button.primary:focus-visible{background:var(--reactor-hi)}.screen .pause-menu button.primary kbd{color:var(--on-accent);background:0 0;border-color:#04222c80}.screen .pause-menu button.quit:hover,.screen .pause-menu button.quit:focus-visible{border-color:var(--hostile);background:#ff5a4a29}.pause-scroll{max-height:calc(100vh - 220px);padding-right:4px;overflow-y:auto}.pause-actions{justify-content:flex-end;display:flex}.settings-body{gap:12px;display:grid}.settings-body label.level{color:var(--ink-dim);grid-template-columns:auto 1fr;align-items:center;gap:12px;font-size:13px;display:grid}.settings-body select,.settings-body input[type=text]{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:#00000059;padding:6px 8px}.settings-body .row{flex-wrap:wrap;gap:8px;display:flex}.settings-body .row.toggles{color:var(--ink-dim);gap:10px 16px;font-size:13px}.settings-body button{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#5fe0ff14;padding:6px 12px}.settings-body button:hover{border-color:var(--line-hi)}.settings-body button.link{color:var(--reactor);background:0 0;border:0;padding:0;text-decoration:underline}.pause-controls{gap:2px;margin:0;display:grid}.pause-controls div{border-bottom:1px solid #5fe0ff1a;justify-content:space-between;gap:16px;padding:6px 4px;font-size:13px;display:flex}.pause-controls dt{color:var(--ink-dim)}.pause-controls dd{font:600 12px var(--mono);color:var(--ink);text-align:right;margin:0}.tutorial{z-index:8;box-sizing:border-box;background:var(--panel);border:1px solid var(--line-hi);border-left:4px solid var(--reactor);border-radius:var(--radius);pointer-events:auto;gap:6px;width:min(440px,100vw - 24px);padding:12px 16px;animation:.2s ease-out both ui-enter;display:grid;position:fixed;top:76px;left:50%;transform:translate(-50%)}.tutorial.done{border-left-color:var(--friendly)}.tutorial .tut-step{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.tutorial .tut-title{font:600 22px var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--reactor-hi)}.tutorial.done .tut-title{color:var(--friendly)}.tutorial p{color:var(--ink);margin:0;font-size:14px;line-height:1.45}.tutorial .tut-keys{flex-wrap:wrap;gap:6px;display:flex}.tutorial kbd{font:600 13px var(--mono);border:1px solid var(--line-hi);color:var(--ink);background:#00000059;border-bottom-width:3px;border-radius:5px;padding:4px 9px}.tutorial .tut-skip{color:var(--ink-dim);cursor:pointer;background:0 0;border:0;justify-self:end;padding:2px 0 0;font-size:12px;text-decoration:underline}.tutorial .tut-skip:hover{color:var(--ink)}.tutorial.complete{text-align:center;border-left-width:1px;width:min(460px,100vw - 24px);top:30%}.tut-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.title-offer{background:var(--panel);border:1px solid var(--line-hi);border-radius:var(--radius);gap:8px;width:min(300px,100vw - 32px);padding:16px 18px;animation:.3s ease-out both ui-enter;display:grid;position:absolute;top:50%;right:clamp(24px,7vw,110px);transform:translateY(-50%)}.title-offer b{font:600 20px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--reactor-hi)}.title-offer p{color:var(--ink-dim);margin:0;font-size:14px;line-height:1.45}.title-offer .tut-actions{justify-content:flex-start}.level-tile.tutorial-tile{border-left-color:var(--amber);grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;width:min(760px,100%)}.level-tile.tutorial-tile span{min-height:0}@media (width<=640px){.title-offer{width:auto;inset:auto 16px 56px;transform:none}}@media (prefers-reduced-motion:reduce){.tutorial,.title-offer{animation-duration:10ms}}.hint-chip{z-index:7;background:var(--panel);border:1px solid var(--line-hi);border-radius:var(--radius);pointer-events:none;align-items:center;gap:10px;padding:7px 14px 7px 8px;animation:.25s ease-out both ui-enter;display:flex;position:fixed;bottom:118px;left:50%;transform:translate(-50%)}.hint-chip kbd{font:600 14px var(--mono);text-align:center;border:1px solid var(--line-hi);min-width:22px;color:var(--reactor-hi);background:#0006;border-bottom-width:3px;border-radius:5px;padding:3px 8px}.hint-chip span{color:var(--ink);font-size:14px}@media (prefers-reduced-motion:reduce){.hint-chip{animation-duration:10ms}}.screen.settings{background:radial-gradient(at 50% 45%,#060e18b3,#03070ceb)}.settings-card{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);zoom:var(--text-scale,1);gap:14px;width:min(640px,100%);max-height:calc(100vh - 48px);padding:20px 22px;display:grid;overflow-x:hidden}.settings-panel{gap:12px;min-height:0;display:grid}.settings-page{align-content:start;gap:14px;max-height:calc(100vh - 260px);padding:4px 6px 4px 0;display:grid;overflow:hidden auto}.settings-foot{justify-content:flex-end;display:flex}.srow{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.slabel{gap:2px;font-size:14px;display:grid}.slabel small,.shint,.snote{color:var(--ink-dim);margin:0;font-size:12px}.snote{color:var(--amber)}.srow select,.settings-body select{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);font:13px var(--font-ui);background:#00000059;max-width:260px;padding:6px 8px}.presets{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.preset{text-align:left;color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--line-hi);border-radius:var(--radius);cursor:pointer;background:#08162499;justify-items:start;gap:2px;padding:10px 12px;display:grid}.preset b{font:600 17px var(--font-display);letter-spacing:.12em;text-transform:uppercase}.preset small{color:var(--ink-dim);font-size:11px}.preset:hover{border-color:var(--line-hi)}.preset.on{background:var(--panel-hi);border-color:var(--reactor);border-left-color:var(--reactor)}.shead{font:600 16px var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--reactor);margin:6px 0 0}.keylist{gap:4px;display:grid}.keyrow{border-bottom:1px solid #5fe0ff14;grid-template-columns:1fr 120px 28px;align-items:center;gap:8px;padding:3px 0;font-size:13px;display:grid}.keybtn{font:600 12px var(--mono);color:var(--ink);border:1px solid var(--line);cursor:pointer;text-align:center;background:#00000059;border-bottom-width:3px;border-radius:5px;padding:5px 8px}.keybtn:hover{border-color:var(--line-hi)}.keybtn.capturing{border-color:var(--amber);color:var(--amber)}.keybtn.unbound{color:var(--ink-dim);font-style:italic}.keyreset{color:var(--reactor);cursor:pointer;background:0 0;border:0;font-size:16px}.keyreset:disabled{opacity:.25;cursor:default}.sconflict{border:1px solid var(--amber);border-radius:var(--radius);background:#ffb34714;gap:8px;padding:10px 12px;font-size:13px;display:grid}.sactions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=640px){.presets{grid-template-columns:repeat(2,1fr)}.srow{grid-template-columns:1fr}}.suit-hud,.mission-hud,.tutorial,.hint-chip{zoom:var(--hud-scale,1)}.screen,.panel{zoom:var(--text-scale,1)}html.access-colour-blind{--hostile:#ffa31a;--friendly:#4aa3ff}.toasts{z-index:40;pointer-events:none;gap:8px;width:min(460px,100vw - 24px);display:grid;position:fixed;top:14px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--panel-hi);border:1px solid var(--line-hi);border-left:4px solid var(--reactor);border-radius:var(--radius);align-items:center;gap:12px;padding:10px 12px 10px 14px;animation:.3s ease-out both toast-in;display:flex;box-shadow:0 6px 24px #0006}.toast.good{border-left-color:var(--friendly)}.toast.warn{border-left-color:var(--amber)}.toast-text{flex:1;gap:2px;font-size:14px;display:grid}.toast-text b{font-weight:600}.toast-text span{color:var(--ink-dim);font-size:12px}.toast button{font:600 13px var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#5fe0ff1a;padding:5px 10px}.toast button:hover{border-color:var(--line-hi)}.toast .toast-x{color:var(--ink-dim);background:0 0;border:0;padding:0 4px;font-size:18px}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.toast{animation-duration:10ms}}.settings-body .row button.on{border-color:var(--reactor);background:#5fe0ff38}.rain-screen{z-index:3;pointer-events:none;opacity:calc(var(--rain,0) * .55);background-color:#0000;background-image:repeating-linear-gradient(104deg,#0000 0 46px,#bed2eb12 46px 47px,#0000 47px 91px),repeating-linear-gradient(98deg,#0000 0 71px,#bed2eb0d 71px 72px,#0000 72px 133px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 200%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:.55s linear infinite rain-run;display:none;position:fixed;inset:0}html.weather-rain .rain-screen{display:block}@keyframes rain-run{0%{background-position:0 0,0 0}to{background-position:-18px 100%,-9px 100%}}@media (prefers-reduced-motion:reduce){.rain-screen{animation:none}}.suit-hud .holo{animation:5.5s step-end infinite holo-flicker}.suit-hud .holo .holo-base{fill:none;stroke:#a0e1ff8c;stroke-width:1px}.suit-hud .holo .holo-base.inner{stroke-opacity:.3}.suit-hud .holo .holo-scan{fill:url(#holo-scan);stroke:none;animation:3.2s linear infinite holo-scan}@keyframes holo-scan{0%{transform:translateY(-14px)}to{transform:translateY(196px)}}@keyframes holo-flicker{0%,to{opacity:1}93%{opacity:.82}95%{opacity:1}97%{opacity:.9}}html.access-reduced-flash .suit-hud .holo{animation:none}@media (prefers-reduced-motion:reduce){.suit-hud .holo .holo-scan{opacity:0;animation:none}}.combat-fx{pointer-events:none;z-index:2;position:fixed;inset:0}.combat-fx .hit-mark{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;filter:drop-shadow(0 0 3px #000000b3);width:54px;height:54px;margin:-27px 0 0 -27px;animation:.32s ease-out forwards hit-tick;position:absolute;top:50%;left:50%}.combat-fx .hit-mark.kill{stroke:#ff5a4f}@keyframes hit-tick{0%{opacity:1;transform:scale(.7)}40%{transform:scale(1.1)}to{opacity:0;transform:scale(1.25)}}.combat-fx .incoming{width:0;height:0;animation:1.3s ease-out forwards incoming-fade;position:absolute;top:50%;left:50%}.combat-fx .incoming:before{content:"";background:radial-gradient(at 50% 100%,#ff4632,#ff463266 55%,#0000 74%);border-radius:50%;width:240px;height:40px;position:absolute;top:calc(-1*min(36vh,270px) - 20px);left:-120px}@keyframes incoming-fade{0%{opacity:1}60%{opacity:.7}to{opacity:0}}.combat-fx .low-health{background:radial-gradient(#0000 45%,#c8141447 72%,#d214148c 100%);animation:1.6s ease-in-out infinite low-pulse;position:absolute;inset:0}.combat-fx .low-health.critical{background:radial-gradient(#0000 35%,#dc141466 68%,#e11414bf 100%);animation-duration:.9s}@keyframes low-pulse{0%,to{opacity:.35}50%{opacity:1}}html.access-reduced-flash .combat-fx .low-health{opacity:.7;animation:none}@media (prefers-reduced-motion:reduce){.combat-fx .low-health{opacity:.7;animation:none}}.suit-hud .reticle{animation:4.5s ease-in-out infinite reticle-breathe}.suit-hud .reticle .dot{animation:1.8s ease-in-out infinite reticle-dot}@keyframes reticle-breathe{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.035)}}@keyframes reticle-dot{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.suit-hud .reticle,.suit-hud .reticle .dot{animation:none}}.act-map{justify-content:space-between;width:min(760px,100%);margin:6px 0 14px;display:flex;position:relative}.act-map:before{content:"";background:var(--line-hi);height:2px;position:absolute;top:17px;left:8%;right:8%}.act-node{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;flex:1;justify-items:center;gap:2px;padding:0 4px;display:grid;position:relative}.act-node .dot{background:var(--panel);border:2px solid var(--line-hi);width:36px;height:36px;font:600 15px var(--font-display);border-radius:50%;place-items:center;font-style:normal;transition:border-color .15s,box-shadow .15s;display:grid}.act-node span{text-align:center;letter-spacing:.04em;font-size:12px;line-height:1.2}.act-node small{opacity:.65;font-size:11px}.act-node.done .dot{border-color:var(--friendly);color:var(--friendly)}.act-node.current .dot{border-color:var(--reactor);box-shadow:0 0 12px var(--reactor)}.act-node.locked{opacity:.45}.act-node:hover .dot,.act-node:focus-visible .dot{border-color:var(--accent)}.act{gap:14px;width:min(760px,100%);margin-top:10px;scroll-margin-top:14px;display:grid}.act.locked .level-set{opacity:.75}.act-banner{border:1px solid var(--line-hi);border-left:4px solid var(--reactor);border-radius:var(--radius);background:linear-gradient(100deg, var(--panel-hi), var(--panel));padding:16px 18px 14px;position:relative;overflow:hidden}.act[data-time=dawn] .act-banner{border-left-color:#ffb27a}.act[data-time=dusk] .act-banner{border-left-color:#ff8a5a}.act[data-time=night] .act-banner{border-left-color:#7a8cff}.act.done .act-banner{border-left-color:var(--friendly)}.act-banner .kicker{letter-spacing:.22em;text-transform:uppercase;opacity:.7;font-size:11px}.act-banner h3{font:600 24px var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:inherit;margin:2px 0 4px}.act-banner p{opacity:.8;max-width:52ch;margin:0 0 10px;font-size:13px}.act-progress{background:#ffffff12;border-radius:9px;height:18px;position:relative;overflow:hidden}.act-progress i{background:linear-gradient(90deg,#5ff0ff59,#5ff0ffb3);position:absolute;inset:0 auto 0 0}.act-progress span{letter-spacing:.06em;padding:0 10px;font-size:11px;line-height:18px;display:block;position:relative}.level-set h4{font:600 13px var(--font-display);text-transform:uppercase;letter-spacing:.2em;color:var(--reactor);margin:0 0 8px}.difficulty-row .chip{border:1px solid var(--line-hi);background:var(--panel);color:inherit;font:inherit;letter-spacing:.06em;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px}.difficulty-row .chip.on{border-color:var(--reactor);background:var(--panel-hi);box-shadow:0 0 8px #5ff0ff59}.radio-chip{z-index:6;border:1px solid var(--line-hi);border-left:3px solid var(--speaker,var(--reactor));border-radius:var(--radius);pointer-events:none;background:#080e16d1;align-items:center;gap:12px;max-width:min(560px,100vw - 32px);padding:8px 16px 8px 10px;animation:6.2s ease-out both radio-life;display:flex;position:fixed;bottom:132px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #00000073}.radio-chip .portrait{flex:none;width:40px;height:40px}.radio-chip .portrait .ring{fill:#ffffff0f;stroke:currentColor;stroke-width:1.5px}.radio-chip .portrait .fig{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.radio-chip .portrait .line{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.radio-chip b{font:600 11px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--speaker,var(--reactor));display:block}.radio-chip span{font-size:14px;line-height:1.3}@keyframes radio-life{0%{opacity:0;transform:translate(-50%,8px)}5%{opacity:1;transform:translate(-50%)}91%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.act-brief{border-left:3px solid var(--reactor);border-radius:var(--radius);background:#5ff0ff0f;margin:4px 0 10px;padding:10px 14px}.act-brief b{font:600 11px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--reactor);margin-bottom:4px;display:block}.act-brief p{opacity:.9;margin:0;font-size:13px;line-height:1.45}.boss-intro{z-index:7;pointer-events:none;position:fixed;inset:0}.boss-intro .bar{background:#000;height:9vh;animation:.35s ease-out both bar-in;position:absolute;left:0;right:0}.boss-intro .bar.top{transform-origin:top;top:0}.boss-intro .bar.bottom{transform-origin:bottom;bottom:0}@keyframes bar-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.boss-card{text-align:center;justify-items:center;gap:2px;animation:.6s ease-out .25s both card-in;display:grid;position:absolute;bottom:15vh;left:50%;transform:translate(-50%)}.boss-card span{font:600 12px var(--font-display);letter-spacing:.5em;color:var(--hostile);text-transform:uppercase}.boss-card b{font:700 clamp(30px, 6vw, 56px) var(--font-display);letter-spacing:.22em;text-transform:uppercase;text-shadow:0 0 22px #ff5a4a8c,0 2px #0009}.boss-card em{letter-spacing:.14em;opacity:.8;font-size:14px;font-style:normal}.boss-card small{letter-spacing:.12em;opacity:.5;margin-top:10px;font-size:11px}@keyframes card-in{0%{opacity:0;letter-spacing:.5em;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.boss-bar{animation:.7s ease-out both boss-in}@keyframes boss-in{0%{opacity:0;transform:translate(-50%,-24px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.boss-intro .bar,.boss-card,.boss-bar{animation:none}}html.cinematic .suit-hud,html.cinematic .minimap,html.cinematic .panel,html.cinematic .hud-damage,html.cinematic .hud-speed,html.cinematic .hud-meta,html.cinematic .back,html.cinematic .mission-hud>:not(.boss-intro),html.cinematic .radio-chip{opacity:.12;transition:opacity .3s}.result-pop i{transform:scale(1)}.result-pop i.on{animation:.55s cubic-bezier(.2,1.7,.4,1) both star-pop;animation-delay:calc(.5s + var(--i) * .5s)}.result-pop i:not(.on){opacity:.35}@keyframes star-pop{0%{opacity:0;filter:brightness(3);transform:scale(.2)rotate(-40deg)}to{opacity:1;filter:brightness();transform:scale(1)rotate(0)}}.result-stars .new-best{animation:.4s 2s both rise-in}.results .reasons li{animation:.4s both rise-in;animation-delay:calc(1.6s + var(--i) * .12s)}.results .stats>div{animation:.4s both rise-in;animation-delay:calc(2s + var(--i) * .12s)}.results .stats small{color:var(--ink-dim);font-size:11px}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.result-pop i.on,.result-stars .new-best,.results .reasons li,.results .stats>div{animation:none}}@media (width<=560px){.stats{grid-template-columns:repeat(2,1fr)}}.credits{cursor:pointer;place-items:center;display:grid;overflow:hidden}.credits-shade{background:radial-gradient(#060a128c,#060a12d1);position:absolute;inset:0}.credits-roll{text-align:center;gap:52px;animation:38s linear forwards credits-roll;display:grid;position:absolute;top:100%;left:0;right:0}.credits-roll h3{font:600 14px var(--font-display);letter-spacing:.4em;text-transform:uppercase;color:var(--reactor);margin:0 0 8px}.credits-roll section:first-child h3{letter-spacing:.2em;color:inherit;font-size:clamp(30px,6vw,54px)}.credits-roll p{letter-spacing:.08em;margin:4px 0;font-size:18px}.credits-actions{cursor:default;position:absolute;bottom:20px;right:20px}@keyframes credits-roll{0%{transform:translateY(0)}to{transform:translateY(calc(-100vh - 100%))}}@media (prefers-reduced-motion:reduce){.credits-roll{animation-duration:90s}}.rank-badge{align-items:center;gap:10px;display:flex}.rank-badge svg{flex:none;width:36px;height:42px}.rank-badge .shield{fill:#5ff0ff1f;stroke:var(--reactor);stroke-width:1.6px}.rank-badge .inner{fill:none;stroke:#ffffff40;stroke-width:1px}.rank-badge text{fill:#fff;font:700 15px var(--font-display)}.rank-text{gap:3px;min-width:150px;display:grid}.rank-text b{font:600 13px var(--font-display);letter-spacing:.14em;text-transform:uppercase}.rank-text span{opacity:.7;letter-spacing:.04em;font-size:11px}.rank-bar{background:#ffffff1f;border-radius:2px;height:4px;display:block;overflow:hidden}.rank-bar u{background:var(--reactor);height:100%;text-decoration:none;display:block}.rank-badge.compact .rank-text{min-width:0}.title-rank{border:1px solid var(--line);border-radius:var(--radius);background:#080e168c;padding:8px 14px 8px 10px;position:absolute;top:24px;right:24px}.xp-block{border-top:1px solid var(--line);gap:6px;padding-top:10px;animation:.4s 2.6s both rise-in;display:grid}.xp-head{align-items:baseline;gap:12px;display:flex}.xp-head b{font:600 20px var(--font-display);letter-spacing:.06em;color:var(--reactor)}.xp-head .rank-up{letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-size:12px;font-style:normal}.xp-block ul{color:var(--ink-dim);gap:1px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.xp-block li{justify-content:space-between;max-width:260px;display:flex}@media (prefers-reduced-motion:reduce){.xp-block{animation:none}}@media (width<=640px){.title-rank{top:64px;right:16px}}.screen.armory{background:radial-gradient(at 50% 45%,#060e18b3,#03070ceb)}.armory-card{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);zoom:var(--text-scale,1);gap:14px;width:min(1020px,100%);max-height:calc(100vh - 48px);padding:20px 22px;display:grid;overflow-y:auto}.armory-card .screen-head{justify-content:flex-start;width:100%}.armory-card .screen-head .rank-badge{margin-left:auto}.armory-body{grid-template-columns:190px minmax(240px,1fr) 290px;align-items:stretch;gap:18px;min-height:380px;display:grid}.armory-list{align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:grid}.armory-list button{text-align:left;background:var(--panel-hi);border:1px solid var(--line);border-left:3px solid var(--line-hi);border-radius:var(--radius);width:100%;color:inherit;font:inherit;cursor:pointer;justify-items:start;gap:2px;padding:10px 12px;display:grid}.armory-list button b{font:600 14px var(--font-display);letter-spacing:.08em;text-transform:uppercase}.armory-list button span{opacity:.65;font-size:11px}.armory-list button.on{border-left-color:var(--reactor);background:#5ff0ff1a}.armory-stage{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(at 50% 70%,#5ff0ff1a,#0000 65%);min-height:340px;position:relative}.armory-stage canvas{width:100%;height:100%;position:absolute;inset:0}.armory-detail{align-content:start;gap:10px;display:grid}.armory-detail h3{font:600 22px var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin:0}.armory-detail p{opacity:.85;margin:0;font-size:13px;line-height:1.45}.armory-detail .need{color:var(--amber);opacity:1}.armory-detail .sp-stats{gap:4px;display:grid}.armory-detail .sp-stat{color:var(--ink-dim);grid-template-columns:70px 1fr 56px;align-items:center;gap:6px;font-size:11px;display:grid}.armory-detail .sp-stat i{background:#ffffff1f;border-radius:3px;height:5px;display:block;overflow:hidden}.armory-detail .sp-stat b{background:linear-gradient(to right, var(--reactor-lo), var(--reactor-hi));border-radius:3px;height:100%;display:block}.armory-detail .sp-stat em{text-align:right;color:var(--ink);font-style:normal}.paint-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.swatch{border:2px solid var(--line-hi);cursor:pointer;background:0 0;border-radius:50%;width:38px;height:38px;padding:3px;position:relative}.swatch i{border-radius:50%;width:100%;height:100%;display:block}.swatch.on{border-color:var(--reactor);box-shadow:0 0 10px #5ff0ff73}.swatch.locked i{filter:grayscale(.7)brightness(.55)}.swatch svg{fill:none;stroke:#fff;stroke-width:1.4px;width:16px;height:16px;position:absolute;inset:11px}.paint-name{letter-spacing:.06em;font-size:12px}.paint-name span{color:var(--amber)}.armory-detail .btn[disabled]{opacity:.5;cursor:default}@media (width<=860px){.armory-body{grid-template-columns:1fr}.armory-list{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}.screen.records{background:radial-gradient(at 50% 45%,#060e18b3,#03070ceb)}.records-card{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);zoom:var(--text-scale,1);grid-template-rows:auto auto 1fr;gap:14px;width:min(860px,100%);max-height:calc(100vh - 48px);padding:20px 22px;display:grid;overflow:hidden}.records-card .screen-head{justify-content:flex-start;width:100%}.records-card .screen-head .rank-badge{margin-left:auto}.ach-page{gap:18px;min-height:0;padding-right:6px;display:grid;overflow-y:auto}.ach-page h3{font:600 13px var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--reactor);margin:0 0 8px}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.ach{background:var(--panel-hi);border:1px solid var(--line);border-left:3px solid var(--line-hi);border-radius:var(--radius);opacity:.8;gap:3px;padding:9px 11px;display:grid}.ach b{font:600 13px var(--font-display);letter-spacing:.06em;text-transform:uppercase}.ach span{opacity:.8;font-size:12px}.ach small{opacity:.6;font-size:11px}.ach-bar{background:#ffffff1f;border-radius:2px;height:4px;margin-top:2px;display:block;overflow:hidden}.ach-bar u{background:var(--reactor);height:100%;text-decoration:none;display:block}.ach.done{opacity:1;border-left-color:var(--amber)}.ach.done .ach-bar u{background:var(--amber)}.stat-list{gap:2px;min-height:0;margin:0;display:grid;overflow-y:auto}.stat-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 4px;display:flex}.stat-list dt{opacity:.75;font-size:13px}.stat-list dd{font:600 16px var(--font-display);letter-spacing:.04em;margin:0}.data-note{opacity:.85;margin:0;font-size:13px;line-height:1.45}.data-danger{border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.data-danger .confirm{border:1px solid var(--hostile);border-radius:var(--radius);background:#ff5a4a14;gap:10px;padding:10px 12px;display:grid}.data-danger .confirm p{margin:0;font-size:13px}.data-msg{color:var(--friendly);margin:0;font-size:13px}.data-msg.bad{color:var(--hostile)}.screen.challenges{background:radial-gradient(at 50% 45%,#060e18b3,#03070ceb)}.challenges-card{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);zoom:var(--text-scale,1);gap:14px;width:min(640px,100%);padding:20px 22px;display:grid}.challenge-list{gap:10px;display:grid}.challenge{text-align:left;background:var(--panel-hi);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:var(--radius);color:inherit;font:inherit;cursor:pointer;justify-items:start;gap:3px;padding:12px 14px;display:grid}.challenge b{font:600 17px var(--font-display);letter-spacing:.08em;text-transform:uppercase}.challenge span{opacity:.8;font-size:13px;line-height:1.4}.challenge small{color:var(--reactor);letter-spacing:.06em;font-size:12px}.challenge:hover:not(:disabled),.challenge:focus-visible{border-color:var(--accent);background:#ffffff12}.challenge:disabled{opacity:.5;cursor:default}.rampage-hud{z-index:5;pointer-events:none;text-shadow:0 2px 8px #0009;justify-items:center;gap:2px;display:grid;position:fixed;top:86px;left:50%;transform:translate(-50%)}.rampage-hud .rh-time{font:600 20px var(--font-display);letter-spacing:.14em;opacity:.85}.rampage-hud .rh-score{font:700 44px var(--font-display);letter-spacing:.06em;line-height:1}.rampage-hud .rh-chain{min-width:200px;font:600 12px var(--font-display);letter-spacing:.2em;opacity:.6;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.rampage-hud .rh-chain.on{opacity:1;color:var(--amber)}.rampage-hud .rh-chain b{font-size:22px}.rampage-hud .rh-chain i{background:#ffffff26;border-radius:2px;grid-column:1/-1;height:4px;display:block;overflow:hidden}.rampage-hud .rh-chain u{background:var(--amber);height:100%;text-decoration:none;display:block}.rr-score{font:700 56px var(--font-display);letter-spacing:.06em;color:var(--amber)}.rr-xp{color:var(--ink-dim);margin:0;font-size:13px}.flight-hud .rh-score{letter-spacing:.1em;font-size:24px}.fh-medals{letter-spacing:.1em;opacity:.6;font-size:11px}.flight-hud .rh-score.wait{font:600 15px var(--font-display);letter-spacing:.16em;text-transform:uppercase;opacity:.9}.challenge.daily{border-left-color:var(--reactor);margin-bottom:4px}.challenge.daily.done{border-left-color:var(--friendly)}.challenge .daily-target{opacity:.7;font-size:12px}.whats-new{background:var(--panel-hi);border:1px solid var(--line-hi);border-left:3px solid var(--amber);border-radius:var(--radius);z-index:3;gap:10px;width:min(380px,100vw - 32px);padding:14px 16px;display:grid;position:absolute;bottom:56px;right:24px;box-shadow:0 8px 30px #00000073}.whats-new>b{font:600 15px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.whats-new ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.whats-new li{gap:1px;font-size:12.5px;display:grid}.whats-new li strong{letter-spacing:.04em;font-weight:600}.whats-new li span{opacity:.75;line-height:1.35}.report-bug{z-index:70;background:#03070cc7;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.report-card{box-sizing:border-box;background:var(--panel);border:1px solid var(--line-hi);border-left:3px solid var(--amber);border-radius:var(--radius);gap:12px;width:min(560px,100%);max-height:calc(100vh - 32px);padding:18px 20px;display:grid;overflow-y:auto}.report-card h2{font:600 22px var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin:0}.report-field{gap:6px;font-size:13px;display:grid}.report-field textarea{box-sizing:border-box;resize:vertical;width:100%;color:var(--ink);border:1px solid var(--line-hi);border-radius:var(--radius);font:14px/1.4 var(--font-ui);background:#00000059;padding:8px 10px}.report-info{align-items:center;gap:8px;font-size:13px;display:flex}.report-details summary{cursor:pointer;opacity:.75;font-size:12px}.report-details pre{max-height:150px;font:11px/1.4 var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:var(--radius);background:#0000004d;margin:6px 0 0;padding:8px 10px;overflow:auto}.report-note{opacity:.7;margin:0;font-size:12px}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-actions .btn[disabled]{opacity:.45;cursor:default}.title-report{color:var(--ink-dim);font:12px var(--font-ui);letter-spacing:.08em;cursor:pointer;z-index:2;background:0 0;border:0;text-decoration:underline;position:absolute;bottom:14px;right:64px}.title-report:hover,.title-report:focus-visible{color:var(--ink)}
