:root{--bg: #04060f;--bg-deep: #02040a;--cyan: #5ff0ff;--cyan-dim: rgba(95, 240, 255, .32);--cyan-faint: rgba(95, 240, 255, .12);--amber: #ffb347;--danger: #ff4d5e;--ok: #57ffa8;--violet: #b07cff;--blue: #4aa8ff;--text: #dff3ff;--text-dim: #9db6c9;--muted: #6d8399;--panel-bg: linear-gradient(180deg, rgba(9, 18, 34, .86), rgba(5, 10, 20, .78));--panel-line: rgba(95, 240, 255, .28);--panel-glow: rgba(95, 240, 255, .07);--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--notch: 10px;--clip-notch: polygon( var(--notch) 0, 100% 0, 100% calc(100% - var(--notch)), calc(100% - var(--notch)) 100%, 0 100%, 0 var(--notch) );--clip-notch-lg: polygon( 16px 0, 100% 0, 100% calc(100% - 16px) , calc(100% - 16px) 100%, 0 100%, 0 16px );--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);overflow:hidden;overscroll-behavior:none}body{touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}#app{position:fixed;inset:0;overflow:hidden}#viewport{position:absolute;inset:0;z-index:0}#game-canvas{display:block;width:100%;height:100%;touch-action:none}.is-hidden{display:none!important}#fx-layer{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden}#fx-layer>div{position:absolute;inset:0;pointer-events:none}#fx-vignette{background:radial-gradient(ellipse at 50% 50%,#0000 38%,#00000059 72%,#000000b8)}#fx-damage{opacity:var(--damage, 0);background:radial-gradient(ellipse at 50% 50%,#ff283c00 42%,#ff283c47 76%,#ff1e329e);transition:opacity .18s linear}#fx-flash{opacity:var(--flash, 0);background:var(--flash-color, #ffffff);mix-blend-mode:screen}#fx-scanlines{opacity:.55;background:repeating-linear-gradient(0deg,#b4ebff09 0 1px,#0000 1px 3px)}#fx-glitch{opacity:0;transition:opacity .2s linear}#fx-glitch.is-active,#fx-glitch.is-on{opacity:1;animation:glitch-shift .42s steps(2,end) infinite}#fx-glitch:before,#fx-glitch:after{content:"";position:absolute;inset:-4%;mix-blend-mode:screen;opacity:.5}#fx-glitch:before{background:linear-gradient(90deg,#ff003c59,#ff003c00 60%);transform:translate3d(-6px,0,0)}#fx-glitch:after{background:linear-gradient(270deg,#00dcff59,#00dcff00 60%);transform:translate3d(6px,0,0)}@keyframes glitch-shift{0%{transform:translateZ(0)}50%{transform:translate3d(-3px,1px,0)}to{transform:translate3d(2px,-1px,0)}}#hud{position:absolute;inset:0;z-index:20;pointer-events:none;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;user-select:none}.hud-corner{position:absolute;display:flex;pointer-events:none}.hud-tl{top:calc(14px + var(--safe-t));left:calc(16px + var(--safe-l))}.hud-tr{top:calc(54px + var(--safe-t));right:calc(16px + var(--safe-r))}.hud-bl{bottom:calc(16px + var(--safe-b));left:calc(16px + var(--safe-l))}.hud-br{bottom:calc(16px + var(--safe-b));right:calc(16px + var(--safe-r))}.panel{position:relative;padding:10px 14px 11px;background:repeating-linear-gradient(0deg,#96dcff07 0 1px,#0000 1px 3px),var(--panel-bg);border:1px solid var(--panel-line);clip-path:var(--clip-notch);box-shadow:inset 0 0 22px var(--panel-glow),0 10px 30px #00000073}@supports ((mask-composite: exclude) or (-webkit-mask-composite: xor)){.panel:before,.panel-frame:before,.comms:before{content:"";position:absolute;inset:0;padding:1px;background:linear-gradient(150deg,#5ff0ffbf,#5ff0ff1a 45%,#5ff0ff73);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}}.panel-notch{position:absolute;top:0;left:0;width:30px;height:2px;background:linear-gradient(90deg,var(--cyan),rgba(95,240,255,0));box-shadow:0 0 10px #5ff0ff8c}.hud-kicker{font-size:9px;font-weight:600;letter-spacing:.28em;color:var(--muted)}.hud-title{margin-top:2px;font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--text);text-shadow:0 0 14px rgba(95,240,255,.35)}.hud-number{font-size:20px;font-weight:700;letter-spacing:.06em;color:var(--cyan);text-shadow:0 0 16px rgba(95,240,255,.4);font-variant-numeric:tabular-nums}.hud-number-sm{font-size:12px;color:var(--text);text-shadow:none}.panel-mission{width:232px}.mission-progress{margin-top:9px}.mission-progress-track{height:4px;background:#5ff0ff1f;overflow:hidden}.mission-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,rgba(95,240,255,.35),var(--cyan));box-shadow:0 0 12px #5ff0ff99;transition:width .4s ease}.mission-progress-meta{display:flex;justify-content:space-between;margin-top:5px;font-size:9px;letter-spacing:.2em;color:var(--muted)}.panel-score{min-width:186px}.score-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:2px 0}.score-row-combo{margin-top:4px;padding-top:5px;border-top:1px solid rgba(95,240,255,.14)}#hud-combo-count{color:var(--amber);text-shadow:0 0 14px rgba(255,179,71,.45)}.score-row-combo.is-hot #hud-combo-count{color:#ffd08a;text-shadow:0 0 20px rgba(255,179,71,.85)}.score-row-combo.is-hot{border-top-color:#ffb34766}.panel-vitals{width:216px;display:grid;gap:8px}.vital-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.vital-label{font-size:9px;font-weight:600;letter-spacing:.26em;color:var(--muted)}.vital-value{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-dim);font-variant-numeric:tabular-nums}.vital-track{position:relative;height:6px;background:#78bedc1f;overflow:hidden}.vital-fill{height:100%;width:100%;transition:width .35s ease,background-color .3s ease,box-shadow .3s ease}#vital-hull .vital-fill{background:linear-gradient(90deg,rgba(47,212,232,.6),var(--cyan));box-shadow:0 0 10px #5ff0ff80}#vital-oxygen .vital-fill{background:linear-gradient(90deg,#4aa8ff99,#8fd0ff);box-shadow:0 0 10px #4aa8ff80}#vital-fuel .vital-fill{background:linear-gradient(90deg,#ffb34799,#ffd08a);box-shadow:0 0 10px #ffb34773}#vital-energy .vital-fill{background:linear-gradient(90deg,#b07cff99,#d3b4ff);box-shadow:0 0 10px #b07cff73}.vital.is-low .vital-fill{background:linear-gradient(90deg,#ff4d5ea6,#ff8a95);box-shadow:0 0 12px #ff4d5e99;animation:vital-pulse 1.15s ease-in-out infinite}.vital.is-low .vital-value{color:var(--danger)}.vital.is-critical .vital-fill{background:linear-gradient(90deg,#ff283ccc,#ff5f70);box-shadow:0 0 16px #ff4d5ed9;animation:vital-pulse .5s ease-in-out infinite}.vital.is-critical .vital-value{color:#ff8a95;animation:vital-pulse .5s ease-in-out infinite}@keyframes vital-pulse{0%,to{opacity:1}50%{opacity:.42}}.panel-boost{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 12px 8px}.boost-dial{position:relative;width:104px;height:104px}.boost-svg{width:100%;height:100%;transform:rotate(-90deg)}.boost-track{fill:none;stroke:#5ff0ff24;stroke-width:6}.boost-arc{fill:none;stroke:var(--cyan);stroke-width:6;stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:0;filter:drop-shadow(0 0 6px rgba(95,240,255,.55));transition:stroke-dashoffset .18s linear,stroke .3s ease}.boost-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.boost-word{font-size:10px;font-weight:700;letter-spacing:.24em;color:var(--text-dim)}.boost-state{font-size:9px;font-weight:700;letter-spacing:.18em;color:var(--cyan)}.boost-hint{font-size:8px;letter-spacing:.3em;color:var(--muted)}#boost-panel.is-active .boost-arc{stroke:#b9fbff;filter:drop-shadow(0 0 12px rgba(95,240,255,.9))}#boost-panel.is-active .boost-state{color:#fff;text-shadow:0 0 12px rgba(95,240,255,.9)}#boost-panel.is-active{box-shadow:inset 0 0 30px #5ff0ff29,0 10px 30px #00000073}#boost-panel.is-cooldown .boost-arc{stroke:var(--amber);filter:drop-shadow(0 0 6px rgba(255,179,71,.5))}#boost-panel.is-cooldown .boost-state{color:var(--amber)}#boost-panel.is-empty .boost-arc{stroke:var(--danger);filter:drop-shadow(0 0 6px rgba(255,77,94,.5))}#boost-panel.is-empty .boost-state{color:var(--danger);animation:vital-pulse .7s ease-in-out infinite}.hud-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;pointer-events:none}.reticle{position:relative;width:132px;height:132px;opacity:.85}.reticle svg{width:100%;height:100%;overflow:visible;animation:reticle-spin 52s linear infinite}.ret-ring,.ret-ring-inner,.ret-tick,.ret-bracket{fill:none;stroke:var(--cyan);stroke-width:1.2;vector-effect:non-scaling-stroke}.ret-ring{opacity:.55}.ret-ring-inner{opacity:.3;stroke-dasharray:4 7}.ret-tick{opacity:.7}.ret-bracket{opacity:.45;stroke-width:1.6}.ret-dot{fill:var(--cyan);opacity:.9}.reticle-lock{position:absolute;inset:0;border-radius:50%;opacity:0;box-shadow:0 0 22px #5ff0ff59}.reticle.is-locked .ret-ring,.reticle.is-locked .ret-tick,.reticle.is-locked .ret-bracket{stroke:#fff;opacity:1}.reticle.is-locked .ret-dot{fill:#fff}.reticle.is-locked .reticle-lock,.reticle.is-locked{opacity:1}@keyframes reticle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert{display:flex;align-items:center;gap:10px;padding:7px 16px;font-size:12px;font-weight:700;letter-spacing:.24em;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.alert-icon{font-size:13px;letter-spacing:0}.alert-warning{color:#ffe0b0;background:#3c2606b8;border:1px solid rgba(255,179,71,.55);box-shadow:inset 0 0 18px #ffb3471f;animation:alert-pulse 1.35s ease-in-out infinite}.alert-danger{color:#ffd7dc;background:#400812c7;border:1px solid rgba(255,77,94,.65);box-shadow:inset 0 0 22px #ff4d5e2e;animation:danger-in .22s ease-out,danger-pulse .62s ease-in-out .22s infinite}@keyframes alert-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes danger-pulse{0%,to{opacity:1;box-shadow:inset 0 0 22px #ff4d5e2e}50%{opacity:.7;box-shadow:inset 0 0 34px #ff4d5e66}}@keyframes danger-in{0%{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}.combo-pop{font-size:26px;font-weight:800;letter-spacing:.16em;color:var(--amber);text-shadow:0 0 24px rgba(255,179,71,.6)}.combo-pop,.combo-pop.is-in{animation:combo-rise 1.15s ease-out forwards}@keyframes combo-rise{0%{transform:translateY(14px) scale(.9);opacity:0}18%{transform:translateY(0) scale(1);opacity:1}70%{opacity:1}to{transform:translateY(-26px) scale(1.04);opacity:0}}.event-banner{position:relative;min-width:260px;padding:10px 22px 12px;text-align:center;background:linear-gradient(180deg,#0a1628e6,#050a14d1);border:1px solid rgba(95,240,255,.35);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}.event-banner,.event-banner.is-in{animation:banner-in .42s cubic-bezier(.16,.9,.3,1)}.event-banner:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:banner-glitch 1.6s steps(3,end) infinite}.event-banner-kicker{font-size:9px;letter-spacing:.34em;color:var(--amber)}.event-banner-title{margin-top:3px;font-size:17px;font-weight:800;letter-spacing:.2em;color:#fff;text-shadow:0 0 20px rgba(95,240,255,.5)}.event-banner-sub{margin-top:3px;font-size:9px;letter-spacing:.22em;color:var(--text-dim)}@keyframes banner-in{0%{transform:translateY(-46px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes banner-glitch{0%,to{opacity:.85;transform:translate(0)}33%{opacity:.35;transform:translate(-6px)}66%{opacity:1;transform:translate(5px)}}.radar-wrap{position:absolute;top:50%;right:calc(20px + var(--safe-r));width:150px;height:150px;transform:translateY(-50%);pointer-events:none}#radar-canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;border:1px solid rgba(95,240,255,.3);background:radial-gradient(circle at 50% 50%,#06101eb8,#030810db);box-shadow:inset 0 0 26px #5ff0ff1a}.radar-wrap:after{content:"";position:absolute;inset:1px;border-radius:50%;background:conic-gradient(from 0deg,#5ff0ff4d,#5ff0ff0d 42deg,#5ff0ff00 74deg);animation:radar-sweep 3.8s linear infinite}.radar-label{position:absolute;left:50%;bottom:-15px;transform:translate(-50%);font-size:8px;letter-spacing:.3em;color:var(--muted);white-space:nowrap}.radar-contact{position:absolute;left:50%;top:-22px;transform:translate(-50%);padding:3px 10px;font-size:9px;font-weight:700;letter-spacing:.2em;color:#ffe0b0;background:#3c2606cc;border:1px solid rgba(255,179,71,.5);white-space:nowrap}@keyframes radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.comms{position:absolute;left:50%;bottom:calc(20px + var(--safe-b));width:min(560px,92vw);padding:10px 14px 12px;transform:translate(-50%);background:repeating-linear-gradient(0deg,#96dcff08 0 1px,#0000 1px 3px),linear-gradient(180deg,#081222e6,#040912db);border:1px solid var(--accent-line, var(--panel-line));clip-path:var(--clip-notch);box-shadow:inset 0 0 24px var(--panel-glow),0 12px 34px #00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;transition:opacity .42s ease,transform .42s ease}.comms.is-hiding{opacity:0;transform:translate(-50%) translateY(10px)}.comms.is-calm{--accent: var(--cyan);--accent-line: var(--panel-line)}.comms.is-urgent{--accent: var(--amber);--accent-line: rgba(255, 179, 71, .45)}.comms.is-broken{--accent: var(--danger);--accent-line: rgba(255, 77, 94, .45)}.comms.is-glitching{animation:comms-glitch .3s steps(2,end) infinite;filter:saturate(.35)}@keyframes comms-glitch{0%{transform:translate(-50%) translateZ(0)}50%{transform:translate(-50%) translate3d(-2px,1px,0)}to{transform:translate(-50%) translate3d(2px,-1px,0)}}.comms-head{display:flex;align-items:center;gap:10px}.comms-avatar svg{display:block;width:34px;height:34px}.comms-avatar-ring{fill:none;stroke:var(--accent, var(--cyan));stroke-width:2;opacity:.7}.comms-avatar-globe{fill:none;stroke:var(--accent, var(--cyan));stroke-width:1.4;opacity:.85}.comms-avatar-grid{fill:none;stroke:#5ff0ff73;stroke-width:1}.comms-meta{min-width:0}.comms-from{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--accent, var(--cyan));text-transform:uppercase}.comms-status{margin-top:1px;font-size:8px;letter-spacing:.24em;color:var(--muted);text-transform:uppercase}.comms-wave{display:flex;align-items:flex-end;gap:2px;height:20px;margin-left:auto}.comms-wave i{display:block;width:3px;height:100%;border-radius:1px;background:linear-gradient(180deg,var(--accent, var(--cyan)),rgba(95,240,255,.3));transform:scaleY(var(--bar-scale, .16));transform-origin:50% 100%;transition:transform .09s linear}.comms-body{margin-top:8px;min-height:20px;font-size:13px;font-weight:500;line-height:1.5;letter-spacing:.04em;color:var(--text);text-transform:none}.comms-caret{display:inline-block;width:7px;height:13px;margin-left:3px;vertical-align:-2px;background:var(--accent, var(--cyan));animation:caret-blink 1.05s steps(1,end) infinite}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.toasts{position:absolute;top:calc(96px + var(--safe-t));right:calc(18px + var(--safe-r));display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.toast{--toast-color: var(--cyan);min-width:170px;max-width:300px;padding:9px 12px;font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--text);background:#070f1ce6;border:1px solid rgba(95,240,255,.18);border-left:3px solid var(--toast-color);box-shadow:0 8px 22px #00000073;animation:toast-in .28s ease-out backwards}.toast-ok,.toast-good{--toast-color: var(--ok)}.toast-warn{--toast-color: var(--amber)}.toast-danger{--toast-color: var(--danger)}.toast.is-out{animation:toast-out .35s ease-in forwards}@keyframes toast-in{0%{transform:translate(26px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-out{0%{transform:translate(0);opacity:1}to{transform:translate(26px);opacity:0}}.hud-pause{position:absolute;top:calc(12px + var(--safe-t));right:calc(16px + var(--safe-r));width:34px;height:34px;display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--text-dim);background:#08101eb8;border:1px solid var(--panel-line);border-radius:8px;pointer-events:auto;cursor:pointer}.hud-pause:hover{color:var(--cyan);border-color:#5ff0ff99}body:has(#touch-ui:not(.is-hidden)) .hud-pause{display:none}.touch-ui{position:absolute;inset:0;z-index:30;pointer-events:none;touch-action:none}.joystick-zone{position:absolute;left:calc(8px + var(--safe-l));bottom:calc(8px + var(--safe-b));width:190px;height:190px;pointer-events:auto;touch-action:none}.joystick-base{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;background:radial-gradient(circle at 50% 42%,#5ff0ff1a,#060e1a52 72%);border:1px solid rgba(95,240,255,.26);box-shadow:inset 0 0 26px #5ff0ff14}.joystick-ring{position:absolute;inset:13px;border-radius:50%;border:1px dashed rgba(95,240,255,.18)}.joystick-cross{position:absolute;inset:0;border-radius:50%;opacity:.22;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(95,240,255,.6) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),rgba(95,240,255,.6) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px))}.joystick-knob{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:radial-gradient(circle at 40% 34%,#5ff0ff80,#123854bf 72%);border:1px solid rgba(95,240,255,.5);box-shadow:0 0 18px #5ff0ff40;will-change:transform}.touch-boost{position:absolute;right:calc(16px + var(--safe-r));bottom:calc(26px + var(--safe-b));width:104px;height:104px;display:grid;place-items:center;border-radius:50%;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--amber);background:radial-gradient(circle at 50% 38%,#ffb34742,#0a1220b8 72%);border:1px solid rgba(255,179,71,.5);box-shadow:0 0 26px #ffb34729;pointer-events:auto;touch-action:none;transition:transform .1s ease,box-shadow .15s ease}.touch-boost-ring{position:absolute;inset:9px;border-radius:50%;border:1px dashed rgba(255,179,71,.35)}.touch-boost-label{position:relative}.touch-boost.is-pressed{transform:scale(.94);box-shadow:0 0 40px #ffb34773;background:radial-gradient(circle at 50% 38%,#ffb34780,#141e2ccc 72%)}.touch-pause{position:absolute;top:calc(12px + var(--safe-t));right:calc(16px + var(--safe-r));width:40px;height:40px;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-dim);background:#08101eb8;border:1px solid var(--panel-line);border-radius:10px;pointer-events:auto;touch-action:none}.touch-pause:active{color:var(--cyan);border-color:#5ff0ff99}#menu-root{position:absolute;inset:0;z-index:40;pointer-events:none}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(22px + var(--safe-t)) calc(20px + var(--safe-r)) calc(22px + var(--safe-b)) calc(20px + var(--safe-l));overflow:auto;background:radial-gradient(ellipse at 50% 34%,#0814289e,#04060feb 74%);pointer-events:auto}.screen-start{background:radial-gradient(ellipse at 50% 40%,#0e264699,#04060ff2 72%),linear-gradient(180deg,#04060f99,#04060ff2)}.screen-panel{align-items:center}.start-inner{display:flex;flex-direction:column;align-items:center;width:min(760px,92vw);text-align:center}.start-badge{padding:5px 16px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(95,240,255,.4);background:#5ff0ff0f;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.start-title{margin:18px 0 0;font-family:var(--font-mono);font-size:clamp(2.4rem,10vw,6.4rem);font-weight:800;line-height:.96;letter-spacing:.2em;text-transform:uppercase;color:#f2fbff;text-shadow:-2px 0 rgba(255,77,94,.5),2px 0 rgba(95,240,255,.5),0 0 46px rgba(95,240,255,.28)}.start-sub{margin-top:14px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:var(--text-dim)}.start-sub:after{content:"";display:block;width:min(340px,62vw);height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:rule-sweep 3.6s ease-in-out infinite}@keyframes rule-sweep{0%,to{transform:scaleX(.35);opacity:.4}50%{transform:scaleX(1);opacity:1}}.start-blurb{max-width:46ch;margin:18px 0 0;font-size:14px;line-height:1.65;color:var(--text-dim)}.start-buttons{display:flex;flex-direction:column;gap:11px;width:min(320px,78vw);margin-top:26px}.start-foot{display:flex;align-items:center;gap:10px;margin-top:22px;font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.start-foot-sep{color:#5ff0ff66}.panel-frame{position:relative;width:min(720px,92vw);max-height:min(88vh,820px);overflow:auto;padding:26px 28px 22px;background:repeating-linear-gradient(0deg,#96dcff07 0 1px,#0000 1px 3px),linear-gradient(180deg,#0a1426f2,#050a14ed);border:1px solid rgba(95,240,255,.22);clip-path:var(--clip-notch-lg);box-shadow:inset 0 0 44px #5ff0ff0d,0 26px 64px #0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.panel-frame-sm{width:min(460px,92vw)}.panel-title{margin:0 0 18px;font-family:var(--font-mono);font-size:15px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--cyan);text-shadow:0 0 18px rgba(95,240,255,.3)}.panel-title:after{content:"";display:block;width:54px;height:1px;margin-top:10px;background:linear-gradient(90deg,var(--cyan),transparent)}.panel-title-lg{font-size:clamp(1.1rem,4vw,1.6rem);letter-spacing:.24em;color:#f2fbff}.panel-actions{display:flex;gap:12px;margin-top:22px}.panel-actions-col{flex-direction:column}.panel-actions .btn{flex:1}.howto-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.howto-card{padding:12px 14px 14px;background:#5ff0ff09;border:1px solid rgba(95,240,255,.16);border-left:2px solid rgba(95,240,255,.5)}.howto-head{margin-bottom:8px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan)}.howto-card ul{margin:0;padding:0;list-style:none}.howto-card li{position:relative;padding-left:14px;margin-bottom:5px;font-size:12.5px;line-height:1.5;color:var(--text-dim)}.howto-card li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;background:#5ff0ff99;transform:rotate(45deg)}.howto-card b{color:var(--text);font-weight:700;letter-spacing:.06em}.settings-list{display:flex;flex-direction:column;gap:4px}.setting-row{display:flex;align-items:center;gap:14px;padding:9px 2px;border-bottom:1px solid rgba(95,240,255,.1)}.setting-row label{flex:1;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}.setting-readout{min-width:46px;text-align:right;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--cyan);font-variant-numeric:tabular-nums}.setting-row select{min-width:130px;padding:7px 10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text);background:#060e1ae6;border:1px solid rgba(95,240,255,.28);border-radius:2px}.setting-row input[type=range]{width:min(220px,42vw);height:22px;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}.setting-row input[type=range]::-webkit-slider-runnable-track{height:3px;background:#5ff0ff33}.setting-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5.5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px #5ff0ff99}.setting-row input[type=range]::-moz-range-track{height:3px;background:#5ff0ff33}.setting-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px #5ff0ff99}.setting-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--cyan);cursor:pointer}.end-kicker{display:inline-block;margin-bottom:10px;padding:4px 12px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.34em;text-transform:uppercase}.end-kicker-fail{color:#ffd7dc;background:#400812b3;border:1px solid rgba(255,77,94,.5)}.end-kicker-win{color:#d6ffe9;background:#083622b3;border:1px solid rgba(87,255,168,.5)}.end-sub{margin-bottom:18px;font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}.stats-grid,.pause-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px}.stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 2px;border-bottom:1px dashed rgba(95,240,255,.14)}.stat-label{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.stat-value{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.stat-row-wide{grid-column:1 / -1}.stat-row-cause .stat-value{color:var(--danger);text-shadow:0 0 14px rgba(255,77,94,.4)}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 26px;font-family:var(--font-mono);font-size:11px;font-weight:700;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:var(--text);background:linear-gradient(180deg,#102038d9,#08101ed9);border:1px solid rgba(95,240,255,.32);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease}.btn:after{content:"";position:absolute;top:-20%;left:-140%;width:70%;height:140%;background:linear-gradient(100deg,transparent,rgba(95,240,255,.22),transparent);transform:skew(-20deg);transition:left .5s ease;pointer-events:none}.btn:hover:after,.btn:focus-visible:after{left:150%}.btn:hover{color:#fff;border-color:#5ff0ffb3;box-shadow:0 0 22px #5ff0ff2e,inset 0 0 18px #5ff0ff14;transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.985)}.btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.btn-primary{color:#04121a;background:linear-gradient(180deg,#5ff0fff2,#26a8c4f2);border-color:#5ff0ffe6;font-weight:800}.btn-primary:hover{color:#04121a;box-shadow:0 0 30px #5ff0ff66,inset 0 0 20px #ffffff40}.btn-danger{color:#ffd9dd;background:linear-gradient(180deg,#3e0e18e0,#1e080ee0);border-color:#ff4d5e80}.btn-danger:hover{color:#fff;border-color:#ff4d5ed9;box-shadow:0 0 24px #ff4d5e47,inset 0 0 18px #ff4d5e1f}#loading{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 44%,#0a1428,var(--bg-deep) 72%)}.loading-inner{width:min(420px,84vw);text-align:center}.loading-mark{font-family:var(--font-mono);font-size:clamp(1.5rem,6vw,2.4rem);font-weight:800;letter-spacing:.34em;text-transform:uppercase;color:var(--cyan);text-shadow:0 0 30px rgba(95,240,255,.4);animation:mark-breathe 2.8s ease-in-out infinite}@keyframes mark-breathe{0%,to{opacity:.72}50%{opacity:1}}.loading-bar{height:3px;margin:22px 0 12px;background:#5ff0ff1f;overflow:hidden}.loading-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,rgba(95,240,255,.4),var(--cyan));box-shadow:0 0 12px #5ff0ff99;transition:width .3s ease}.loading-status{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}#error-overlay{position:absolute;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:#04060ff2}.error-inner{width:min(560px,92vw);padding:22px;background:#18060c99;border:1px solid rgba(255,77,94,.4);clip-path:var(--clip-notch)}.error-title{font-family:var(--font-mono);font-size:13px;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:var(--danger)}.error-body{max-height:40vh;margin:14px 0 18px;overflow:auto;font-family:var(--font-mono);font-size:11px;line-height:1.55;color:#ffc9cf;white-space:pre-wrap;word-break:break-word}#rotate-hint{position:absolute;inset:0;z-index:80;display:grid;place-items:center;background:#04060ff0;text-align:center}.rotate-icon{font-size:46px;line-height:1;color:var(--cyan);animation:rotate-nudge 2.6s ease-in-out infinite}.rotate-inner{display:flex;flex-direction:column;align-items:center}@keyframes rotate-nudge{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.rotate-text{margin-top:16px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--text)}.rotate-text span{display:inline-block;margin-top:8px;font-size:10px;font-weight:500;letter-spacing:.16em;color:var(--muted)}@media (max-width: 900px){.hud-tl{top:calc(10px + var(--safe-t));left:calc(10px + var(--safe-l))}.hud-tr{top:calc(48px + var(--safe-t));right:calc(10px + var(--safe-r))}.hud-bl{bottom:calc(10px + var(--safe-b));left:calc(10px + var(--safe-l))}.hud-br{bottom:calc(10px + var(--safe-b));right:calc(10px + var(--safe-r))}.panel{padding:8px 11px 9px}.panel-mission{width:178px}.panel-score{min-width:148px}.panel-vitals{width:164px;gap:6px}.hud-title{font-size:11px}.hud-number{font-size:16px}.hud-number-sm{font-size:11px}.vital-track{height:5px}.radar-wrap{top:calc(96px + var(--safe-t));right:calc(10px + var(--safe-r));width:108px;height:108px;transform:none}.radar-label{bottom:-13px;font-size:7px}.boost-dial{width:84px;height:84px}.panel-boost{padding:8px 9px 6px}.boost-word{font-size:9px}.comms{width:min(440px,94vw);padding:8px 11px 10px}.comms-body{font-size:12px}.toasts{top:calc(84px + var(--safe-t));right:calc(10px + var(--safe-r))}.panel-frame{padding:20px 18px 18px}.howto-grid{grid-template-columns:minmax(0,1fr)}.start-blurb{font-size:13px}.joystick-zone{width:160px;height:160px}.joystick-base{width:128px;height:128px;margin:-64px 0 0 -64px}.joystick-knob{width:54px;height:54px;margin:-27px 0 0 -27px}.touch-boost{width:88px;height:88px;font-size:11px}}@media (orientation: portrait){.stats-grid,.pause-stats{grid-template-columns:minmax(0,1fr)}.radar-wrap{top:calc(10px + var(--safe-t));right:auto;left:50%;width:92px;height:92px;transform:translate(-50%)}.radar-label{display:none}.start-buttons{width:min(300px,84vw)}.panel-actions{flex-direction:column}}@media (max-width: 380px){.panel-mission{width:150px}.panel-score{min-width:128px}.panel-vitals{width:142px}.hud-kicker{font-size:8px;letter-spacing:.2em}.hud-title{font-size:10px;letter-spacing:.1em}.hud-number{font-size:14px}.vital-label{font-size:8px;letter-spacing:.18em}.vital-value{font-size:9px}.comms{width:94vw}.comms-from{font-size:10px}.start-title{letter-spacing:.12em}}@media (prefers-reduced-motion: reduce){.reticle svg,.alert-warning,.alert-danger,.radar-wrap:after,.loading-mark,.rotate-icon,.start-sub:after,.event-banner:after,.comms.is-glitching,#fx-glitch.is-active,.vital.is-low .vital-fill,.vital.is-critical .vital-fill,.vital.is-critical .vital-value,#boost-panel.is-empty .boost-state,.radar-contact{animation:none!important}.comms-caret{animation:none!important;opacity:1}.comms-wave i{transition:none}.btn,.btn:after{transition-duration:.01ms}}
