:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090e17;--panel:#101923;--line:#23303c;--muted:#788c9e;--text:#e7f0f3;--mint:#83f6d2;--orange:#ffb66c;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif}.shell,.shell *{-webkit-user-select:none;user-select:none}.game-layout{display:block}.test-panel{z-index:20;background:#101923;border:1px solid #31434c;border-radius:7px;width:min(320px,100vw - 24px);min-width:0;max-height:calc(100dvh - 96px);padding:16px;position:fixed;top:80px;right:12px;overflow:auto;box-shadow:0 16px 48px #0008}.test-panel[hidden],.performance-panel[hidden]{display:none}.test-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.test-heading h2{margin:0;font-size:17px;font-weight:600}.test-heading button{padding:3px 9px;font-size:17px}.test-switches{gap:9px;display:grid}.test-switch{text-align:left;background:#14212b;border:1px solid #2a3a46;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.test-switch strong{font-size:12px;font-weight:500;display:block}.test-switch b{color:#8fa9b8;flex-shrink:0;font-size:11px;font-weight:500}.test-switch[aria-pressed=true]{border-color:var(--mint);background:#183a37}.test-switch[aria-pressed=true] b{color:var(--mint)}.test-mode{color:#8fa9b8;justify-content:space-between;gap:8px;margin-top:15px;font-size:10px;display:flex}.test-mode strong{color:var(--mint);font:10px Consolas,Microsoft YaHei,monospace}.test-reset{color:#b5c9d0;background:0 0;border:1px solid #354450;border-radius:3px;width:100%;margin-top:12px;padding:9px;font-size:10px}.performance-panel{color:#d4e5e9;border-top:1px solid #31434c;margin-top:16px;padding-top:14px;font:11px Consolas,Microsoft YaHei,monospace;position:static}.performance-heading{color:var(--mint);justify-content:space-between;gap:8px;margin-bottom:12px;font-size:10px;display:flex}.performance-panel dl{gap:6px;margin:0;display:grid}.performance-panel dl>div{justify-content:space-between;gap:8px;display:flex}.performance-panel dt{color:#8fa9b8}.performance-panel dd{white-space:nowrap;font-variant-numeric:tabular-nums;margin:0}#test-toggle[aria-expanded=true]{border-color:var(--mint);background:#183a37}.shell:fullscreen{background:#090e17;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:none;height:100%;padding:12px;display:flex;overflow:hidden}.shell:fullscreen .masthead{flex-shrink:0;margin-bottom:0}.shell:fullscreen .game-layout{flex:1;min-height:0;display:flex}:is(.shell:fullscreen .controls,.shell:fullscreen .mobile-controls){flex-shrink:0;margin-top:0}.shell:fullscreen .arcade{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}:is(.shell:fullscreen .telemetry,.shell:fullscreen .arsenal){flex-shrink:0}.shell:fullscreen .viewport{aspect-ratio:auto;flex:1;min-height:0}.shell:fullscreen canvas{object-fit:contain}.shell:fullscreen .test-panel{max-height:calc(100dvh - 84px);top:72px;right:12px}@media (max-width:600px){.test-panel{max-height:calc(100dvh - 84px);top:72px}}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 48% -40%, #203746 0, transparent 65%), var(--bg);color:var(--text);margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:none}button{color:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}.shell{max-width:1460px;margin:auto;padding:32px 52px 24px}.masthead{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand svg{width:37px;fill:var(--mint)}.brand svg path+path{fill:none;stroke:var(--bg);stroke-width:2px}.brand>span{letter-spacing:3px;font-size:17px;font-weight:800}.brand small{letter-spacing:5px;color:var(--muted);margin-top:6px;font-size:10px;display:block}.edition{letter-spacing:2px;color:#a2b4be;align-items:center;gap:11px;font-size:10px;display:flex}.edition-number{color:#506375;margin-left:4px}.live-dot{background:var(--mint);border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 9px #83f6d250}.header-actions{align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--line);letter-spacing:1px;background:0 0;border-radius:3px;padding:9px 13px;font-size:11px}.icon-button:hover{border-color:#637e86}.icon-button span{color:var(--mint);margin-left:6px}.arcade{background:var(--panel);border:1px solid #31434c;border-radius:7px;overflow:hidden;box-shadow:0 25px 85px #0005}.telemetry{border-bottom:1px solid var(--line);align-items:center;gap:34px;height:76px;padding:0 25px;display:flex}.stat{min-width:95px}.stat-label{letter-spacing:1.5px;color:var(--muted);font-size:9px;font-weight:600;display:block}.stat strong{letter-spacing:3px;margin-top:6px;font-family:Consolas,monospace;font-size:24px;font-weight:400;display:block}.best-stat strong{color:#8ca0ac}.route{width:24%;max-width:245px;margin:auto}.route .stat-label{letter-spacing:1px;font-size:10px}.route-track{background:#263642;height:3px;margin-top:13px}.route-track i{background:var(--mint);width:0;height:100%;transition:width .2s;display:block}.hull{min-width:115px}.health{gap:5px;display:flex}.health i{background:var(--mint);width:20px;height:11px;transform:skew(-14deg);box-shadow:0 0 10px #83f6d216}.health i.empty{box-shadow:none;background:#26343d}.viewport{aspect-ratio:2;isolation:isolate;background:#07111c;position:relative;overflow:hidden}canvas{width:100%;height:100%;display:block;outline:none!important}.canvas-topline{pointer-events:none;letter-spacing:2px;color:#8fa9b8;opacity:.7;justify-content:space-between;font:9px Consolas,monospace;display:flex;position:absolute;top:18px;left:23px;right:23px}.overlay{z-index:3;background:linear-gradient(90deg,#07121aed 0%,#07121abb 38%,#0000 75%);align-items:center;display:flex;position:absolute;inset:0}.overlay[hidden]{display:none}.intro{width:70%;padding:40px 5.8% 48px}.eyebrow{letter-spacing:2px;color:var(--mint);align-items:center;gap:8px;font:9px Consolas,monospace;display:flex}.eyebrow>span{background:var(--mint);width:24px;height:1px}h1{letter-spacing:1px;margin:21px 0 17px;font-size:clamp(30px,4.3vw,62px);font-weight:800;line-height:1.25}h1 em{color:var(--mint);font-style:normal}.intro p,.center-panel p{color:#a2b3be;margin:0 0 25px;font-size:12px;line-height:1.9}.primary-button{background:var(--mint);color:#0b2527;border:0;border-radius:3px;justify-content:space-between;align-items:center;gap:36px;min-width:172px;padding:13px 23px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 3px 25px #83f6d211}.primary-button:hover{background:#b0ffe6;transform:translateY(-1px)}.primary-button span{font-size:21px}.intro-foot{color:#8b9da9;align-items:center;gap:17px;margin-top:25px;font-size:10px;display:flex}kbd{color:#bbcad3;white-space:nowrap;background:#18232e;border:1px solid #354450;border-bottom:2px solid #3d4e5a;border-radius:3px;justify-content:center;align-items:center;padding:3px 5px;font:9px Consolas,monospace;display:inline-flex}.intro-foot kbd{margin-right:5px}.auto-note{color:#678679}.inflight-badge{color:#a2b5bc;letter-spacing:.7px;pointer-events:none;z-index:2;align-items:center;gap:8px;font-size:9px;display:flex;position:absolute;bottom:16px;right:22px}.badge-divider{color:#4e6777;margin:0 2px}.inflight-badge .live-dot{background:var(--orange)}.arsenal{border-top:1px solid var(--line);align-items:center;gap:20px;padding:18px 22px;display:flex}.arsenal-caption{min-width:159px}.arsenal-caption strong{margin:5px 0 7px;font-size:13px;font-weight:500;display:block}.arsenal-caption>span:last-child{color:#6e8494;font-size:9px}.upgrade-slots{flex:1;gap:8px;display:flex}.upgrade-slots .upgrade-slot{text-align:left;background:#141f2a;border:1px solid #2a3a46;border-radius:3px;flex:1;grid-template-rows:1fr 1fr;grid-template-columns:27px 1fr;column-gap:4px;height:63px;padding:12px 8px 9px 14px;transition:border-color .2s,background .2s;display:grid;position:relative}.slot-index{color:#486170;font:8px Consolas,monospace;position:absolute;top:4px;right:6px}.slot-icon{color:#8ca0ab;grid-row:1/3;align-self:center;font-size:24px;line-height:1}.upgrade-slots strong{align-self:end;font-size:11px;font-weight:500}.upgrade-slots small{color:#667f8f;align-self:end;font:9px Consolas,monospace}.upgrade-slots .upgrade-slot.active{border-color:var(--mint);background:#183a37;box-shadow:inset 0 0 16px #83f6d209}.upgrade-slots .upgrade-slot.active .slot-icon,.upgrade-slots .upgrade-slot.active strong{color:var(--mint)}.upgrade-slots .upgrade-slot.active small{color:#a6d6c6}.controls{color:#7e93a3;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;font-size:10px;display:flex}.controls>div{flex-wrap:wrap;gap:17px;display:flex}.controls kbd{margin-right:4px}.controls>button{white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:10px;display:flex}.controls b{color:var(--mint);font-weight:400}.controls>button[aria-pressed=false] .live-dot{background:#5c6d79}.page-foot{letter-spacing:1.8px;color:#425867;justify-content:space-between;margin-top:34px;font:8px Consolas,Microsoft YaHei,monospace;display:flex}.page-foot i{color:#779186;margin:0 8px;font-style:normal}.center-panel{text-align:center;margin:auto;padding:20px}.center-panel .eyebrow{justify-content:center}.center-panel h2{margin:18px 0 14px;font-size:42px}.center-panel .primary-button{margin:auto}.center-panel[hidden],.intro[hidden]{display:none}.overlay.centered{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#06101bd9}.text-button{color:#90a5b4;background:0 0;border:0;margin:17px auto 0;font-size:11px;display:block}.result-score{letter-spacing:6px;color:var(--mint);margin:14px 0 25px;font:40px Consolas,monospace}.boss-hud{pointer-events:none;position:absolute;top:42px;left:28%;right:5%}.boss-hud>div:first-child{letter-spacing:2px;color:#ffc298;justify-content:space-between;margin-bottom:7px;font:9px Consolas,monospace;display:flex}.boss-track{background:#432f33;height:5px}.boss-track i{background:#ffb178;height:100%;transition:width .1s;display:block}.mobile-controls{display:none}.best-stat{align-items:center;gap:10px;display:flex}.best-stat strong{margin-top:0}@media (max-width:720px){.masthead{flex-wrap:wrap}.header-actions{align-items:center;gap:6px;margin-left:auto}}@media (min-width:1600px){.shell{padding-top:42px}.masthead{margin-bottom:35px}}@media (max-width:1000px){.shell{padding:24px}.telemetry{gap:20px;height:65px;padding:0 18px}.stat strong{font-size:20px}.arsenal{gap:12px;padding:14px}.arsenal-caption{min-width:132px}.upgrade-slots{gap:5px}.upgrade-slots .upgrade-slot{grid-template-columns:23px 1fr;padding-left:7px}.intro{padding-top:30px}.intro-foot,.controls>div{gap:10px}.edition{display:none}.intro p{margin-bottom:18px}.intro-foot{margin-top:17px}.page-foot{margin-top:24px}}@media (max-width:720px){.shell{padding:16px 10px}.masthead{gap:6px;margin-bottom:18px}.brand>span{letter-spacing:2px;font-size:13px}.brand svg{width:27px}.brand small{letter-spacing:3px;font-size:8px}.icon-button{padding:7px 8px;font-size:10px}.telemetry{gap:14px;height:56px;padding:0 12px}.stat{min-width:68px}.stat strong{letter-spacing:1px;font-size:17px}.stat-label{letter-spacing:.7px;font-size:8px}.best-stat{display:none}.route{width:30%}.route .stat-label{font-size:8px}.hull{min-width:72px}.health{gap:3px}.health i{width:12px;height:8px}.viewport{aspect-ratio:1.65}.canvas-topline{letter-spacing:1px;font-size:7px;top:9px;left:12px;right:12px}.intro{width:95%;padding:22px 6%}.eyebrow{letter-spacing:1px;font-size:7px}h1{margin:12px 0 10px;font-size:30px}.intro p{margin-bottom:14px;font-size:10px;line-height:1.6}.primary-button{min-width:140px;padding:9px 14px;font-size:11px}.intro-foot{display:none}.inflight-badge{gap:5px;font-size:7px;bottom:8px;right:10px}.arsenal{flex-wrap:wrap;gap:9px;padding:10px}.arsenal-caption{align-items:center;gap:10px;width:100%;min-width:0;display:flex}.arsenal-caption strong{margin:0;font-size:10px}.arsenal-caption .stat-label{font-size:7px}.arsenal-caption>span:last-child{margin-left:auto;font-size:8px}.upgrade-slots{gap:4px}.upgrade-slots .upgrade-slot{grid-template-columns:17px 1fr;column-gap:2px;height:55px;padding:10px 4px 7px}.slot-icon{font-size:18px}.upgrade-slots strong{font-size:9px}.upgrade-slots small{font-size:8px}.controls{align-items:flex-start;font-size:8px}.controls>div{gap:7px}.controls>button,.controls kbd{font-size:8px}.page-foot{letter-spacing:1px;font-size:6px}.center-panel h2{margin:12px 0;font-size:27px}.center-panel p{margin-bottom:15px;font-size:10px}.result-score{margin:10px 0 15px;font-size:27px}.boss-hud{top:26px}.boss-hud>div:first-child{font-size:7px}}@media (pointer:coarse){.mobile-controls{justify-content:space-between;align-items:center;gap:15px;margin:16px 8px 0;display:flex}.joystick{touch-action:none;background:radial-gradient(circle,#1a303b,#0d1721);border:1px solid #354e5e;border-radius:50%;flex-shrink:0;width:92px;height:92px;position:relative}.joystick i{pointer-events:none;background:#3b636b;border:1px solid #79b6ae;border-radius:50%;width:37px;height:37px;position:absolute;top:26px;left:26px}.joystick span{color:#57737f;pointer-events:none;font-size:8px;position:absolute;bottom:5px;left:36px}.touch-actions{gap:8px;display:flex}.touch-actions button{touch-action:manipulation;background:#132830;border:1px solid #365059;border-radius:5px;padding:14px 10px;font-size:10px}.controls>div{display:none}.controls{justify-content:flex-end}.page-foot{margin-top:18px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (max-width:460px){.upgrade-slots .upgrade-slot{text-align:center;grid-template-columns:1fr;padding:12px 2px 7px}.upgrade-slots .slot-icon{display:none}.upgrade-slots strong{white-space:nowrap}.slot-index{font-size:7px}}@media (max-width:720px){.shell:fullscreen{gap:6px;padding:6px}.shell:fullscreen .test-panel{max-height:calc(100dvh - 72px);top:60px;right:6px}}@media (max-height:600px){.shell:fullscreen .telemetry{height:46px}.shell:fullscreen .arsenal{flex-wrap:nowrap;gap:10px;padding:8px 12px}.shell:fullscreen .arsenal-caption{display:none}.shell:fullscreen .upgrade-slots .upgrade-slot{height:48px;padding-top:6px;padding-bottom:6px}.shell:fullscreen .intro{width:90%;padding:12px 5.8%}.shell:fullscreen h1{margin:8px 0;font-size:clamp(22px,5vh,38px)}.shell:fullscreen .intro p{margin-bottom:10px;font-size:10px}.shell:fullscreen .intro-foot{display:none}.shell:fullscreen .primary-button{padding:8px 14px}}.upgrade-slots .upgrade-slot.active{border:2px solid var(--mint);background:#205449;box-shadow:0 0 14px #83f6d24d,inset 0 0 16px #83f6d21a}.upgrade-slots .upgrade-slot.active:after{content:"";background:var(--mint);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:20%;right:20%}.upgrade-slots .upgrade-slot.active .slot-index{color:var(--mint);font-weight:700}.upgrade-slots .upgrade-slot.active.energy-unavailable{background:#303b46;border-color:#b9c8d4;box-shadow:0 0 12px #b9c8d42e,inset 0 0 16px #b9c8d412}.upgrade-slots .upgrade-slot.active.energy-unavailable:after{background:#b9c8d4}.upgrade-slots .upgrade-slot.active.energy-unavailable strong,.upgrade-slots .upgrade-slot.active.energy-unavailable .slot-icon,.upgrade-slots .upgrade-slot.active.energy-unavailable small,.upgrade-slots .upgrade-slot.active.energy-unavailable .slot-index{color:#c4cfd8}@media (max-width:720px){.boss-hud{left:12%;right:5%}.boss-hud>div:first-child{letter-spacing:1px}}.test-stage-picker{margin-top:16px}.test-stage-picker label{color:#b5c9d0;margin-bottom:8px;font-size:11px;display:block}.test-stage-picker select{width:100%;color:var(--text);font:inherit;background:#14212b;border:1px solid #354450;border-radius:3px;padding:10px;font-size:11px}.test-stage-picker select:focus-visible{outline:none}.test-stage-actions{gap:8px;display:flex}.test-stage-actions .test-reset{flex:1;min-width:0}.header-tools{justify-content:flex-end;align-items:center;gap:24px;min-width:0;display:flex}.header-tools .controls{margin:0}.header-tools .controls>div{justify-content:flex-end}.header-tools .controls span{white-space:nowrap}.header-actions{flex-shrink:0}@media (max-width:900px){.header-tools{gap:12px}.header-tools .controls>div{gap:6px 12px}}@media (max-width:560px){.masthead{flex-wrap:wrap}.header-tools{justify-content:space-between;width:100%}.header-tools .controls>div{justify-content:flex-start}}.overlay.centered.paused{-webkit-backdrop-filter:none;backdrop-filter:none;background:#06101b80}.shell :focus,.shell :focus-visible{outline:none}.shell{flex-direction:column;gap:clamp(6px,2vh,18px);height:100dvh;padding:clamp(8px,2vh,24px) clamp(10px,3vw,52px);display:flex}.shell .masthead{flex-wrap:wrap;flex-shrink:0;margin-bottom:0}.shell .header-tools{flex-wrap:wrap;margin-left:auto}.shell .game-layout{flex:1;min-height:0;display:flex}.shell .arcade{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.shell .telemetry,.shell .arsenal{flex-shrink:0}.shell .viewport{aspect-ratio:auto;flex:1;min-height:0}.shell canvas{object-fit:contain}.shell .mobile-controls{flex-shrink:0;margin-top:0}@media (max-height:600px){.shell .telemetry{height:46px}.shell .arsenal{padding:8px 10px}.shell .upgrade-slots .upgrade-slot{height:48px;padding-top:6px;padding-bottom:6px}.shell .masthead{gap:6px}.shell .header-tools{gap:8px}.shell .mobile-controls{zoom:.7}}.shell .game-layout{position:relative;overflow:hidden}.game-surface{transform-origin:50%;width:1154px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shell .game-surface .arcade{flex:none;width:1154px}.shell .game-surface .viewport{aspect-ratio:2;flex:none;width:1152px;height:576px}.shell .game-surface .telemetry{gap:34px;height:54px;padding:0 25px}.game-surface .stat{min-width:95px}.game-surface .stat strong{letter-spacing:3px;font-size:24px}.game-surface .stat-label{letter-spacing:1.5px;font-size:9px}.game-surface .best-stat{display:flex}.game-surface .route{width:24%}.game-surface .route .stat-label{letter-spacing:1px;font-size:10px}.game-surface .hull{min-width:115px}.game-surface .health{gap:5px}.game-surface .health i{width:20px;height:11px}.shell .game-surface .arsenal{flex-wrap:nowrap;gap:20px;padding:8px 22px}.game-surface .upgrade-slots{gap:8px}.shell .game-surface .upgrade-slots .upgrade-slot{text-align:left;grid-template-columns:27px 1fr;column-gap:4px;height:52px;padding:7px 8px 6px 14px}.game-surface .upgrade-slots .slot-icon{font-size:24px;display:block}.game-surface .upgrade-slots strong{font-size:11px}.game-surface .upgrade-slots small{font-size:9px}.shell .game-surface .intro{width:70%;padding:40px 5.8% 48px}.shell .game-surface .primary-button{justify-content:center;min-width:230px;min-height:64px;padding:18px 32px;font-size:24px}.game-surface .center-panel h2{margin:18px 0 14px;font-size:42px}.game-surface .center-panel p{margin-bottom:25px;font-size:12px}.game-surface .result-score{margin:14px 0 25px;font-size:40px}.shell .game-surface .mobile-controls{zoom:1;margin:16px 8px 0}html{touch-action:none}.test-panel{touch-action:pan-y}.touch-joystick{pointer-events:none;z-index:10;background:#132b3a66;border:1px solid #83f6d280;border-radius:50%;width:92px;height:92px;position:fixed;transform:translate(-50%,-50%)}.touch-joystick[hidden]{display:none}.touch-joystick i{background:#83f6d24d;border:1px solid #83f6d2aa;border-radius:50%;width:36px;height:36px;position:absolute;top:27px;left:27px}.touch-controls-hint{display:none}@media (pointer:coarse){.header-tools .controls .touch-controls-hint{white-space:normal;font-size:11px;line-height:1.8;display:block}.header-tools .controls .keyboard-controls-hint{display:none}}.shell{gap:6px;padding-top:6px}.shell:fullscreen{gap:6px;padding-top:6px}.masthead .icon-button{padding-top:6px;padding-bottom:6px}#start,#resume{justify-content:center}.fullscreen-icon{vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;color:var(--mint);margin-left:6px}.fullscreen-icon .collapse-icon,#fullscreen[aria-pressed=true] .expand-icon{display:none}#fullscreen[aria-pressed=true] .collapse-icon{display:block}#restart-pause,#return-menu{min-width:230px;min-height:54px;color:var(--text);background:#14232ddd;border:1px solid #526777;border-radius:3px;margin-top:12px;padding:14px 32px;font-size:24px}#restart-pause:hover,#return-menu:hover{border-color:var(--mint);color:var(--mint)}
