:root{color-scheme:dark;font-family:Gravitee Text,DM Sans,Inter,ui-sans-serif,system-ui,sans-serif;--void: #07070b;--ink: #140909;--paper: #f7f1ed;--cream: #ece7e3;--red: #f01114;--hot-red: #ff0c0b;--orange: #ff7200;--flame: #ff8401;--magenta: #a21a68;--blue: #1fb4ff;--teal: #0091ae;--yellow: #fcb415;--cockpit: rgba(7, 7, 11, .84);--cockpit-solid: #0c090b;--rail: rgba(236, 231, 227, .2);--rail-hot: rgba(255, 114, 0, .62);--rail-cool: rgba(31, 180, 255, .42);--muted: rgba(247, 241, 237, .76);--z-atmosphere: 1;--z-hud: 2;--z-controls: 3;--z-toast: 4;--z-overlay: 6}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:var(--void)}body{min-width:320px}button{font:inherit}#app:before,#app:after{position:fixed;inset:0;z-index:var(--z-atmosphere);pointer-events:none;content:""}#app:before{background:radial-gradient(circle at 52% 58%,rgba(0,145,174,.18),transparent 36%),radial-gradient(circle at 10% 82%,rgba(255,114,0,.2),transparent 30%),linear-gradient(90deg,rgba(240,17,20,.18),transparent 28%,transparent 72%,rgba(0,145,174,.14)),linear-gradient(180deg,transparent 58%,rgba(7,7,11,.45));mix-blend-mode:screen}#app:after{opacity:0;background:radial-gradient(ellipse at 50% 80%,rgba(255,132,1,.34),transparent 17%),radial-gradient(ellipse at 50% 84%,rgba(31,180,255,.22),transparent 28%),linear-gradient(90deg,transparent 21%,rgba(255,114,0,.13) 22%,transparent 29%,transparent 71%,rgba(31,180,255,.1) 78%,transparent 81%);transform:scaleY(.94);transition:opacity .16s ease-out,transform .18s ease-out}.phase-active #app:after,.booster-burn #app:after,.laser-firing #app:after{opacity:.42;transform:scaleY(1.04)}.booster-burn #app:after{opacity:.62}.laser-firing #app:after{opacity:.5;background:radial-gradient(ellipse at 50% 26%,rgba(31,180,255,.2),transparent 22%),linear-gradient(90deg,transparent 46%,rgba(31,180,255,.18) 50%,transparent 54%)}#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.hud,.launch-panel,.result-panel{position:fixed;z-index:var(--z-hud);color:var(--paper)}.hud-primary{top:18px;left:18px;width:min(730px,calc(100vw - 36px));padding:15px 17px 16px;border:1px solid rgba(255,114,0,.5);background:linear-gradient(135deg,rgba(255,114,0,.16),transparent 32%),linear-gradient(180deg,#07070beb,#0f0809bd);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,18px 100%,0 calc(100% - 18px))}.hud-primary:after{position:absolute;right:18px;bottom:10px;left:18px;height:1px;content:"";background:linear-gradient(90deg,var(--orange),transparent 45%,var(--teal));opacity:.7}.phase-active .hud-primary{border-color:#1fb4ff9e}.booster-burn .hud-primary{border-color:#ff8401db;background:linear-gradient(135deg,rgba(240,17,20,.22),transparent 34%),linear-gradient(180deg,#0c0405f0,#1e0905c2)}.brand-lockup{position:relative;display:flex;align-items:center;gap:11px}.brand-wordmark{display:block;width:max-content;margin-bottom:1px;color:var(--flame);font-size:.68rem;font-weight:900;letter-spacing:.02em;line-height:1;text-transform:uppercase}.brand-lockup strong{display:block;color:#fff;font-size:1.02rem;letter-spacing:0;line-height:1.05}.brand-lockup small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}.brand-mark{width:31px;height:30px;flex:0 0 31px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,114,0,.5))}.audio-toggle{margin-left:auto;min-height:28px;border:1px solid rgba(236,231,237,.22);padding:0 9px;color:var(--cream);background:#07070b80;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));cursor:pointer;font-size:.66rem;font-weight:900}.audio-toggle[aria-pressed=true]{border-color:#1fb4ff8c;color:var(--blue)}.stat-grid{display:flex;align-items:stretch;gap:0;margin:13px 0 0;padding-top:11px;border-top:1px solid rgba(236,231,227,.16)}.stat-grid div{position:relative;min-width:0;flex:1 1 0;padding:0 12px;border-right:1px solid rgba(236,231,227,.16)}.stat-grid div:first-child{flex:1.35 1 0;padding-left:0}.stat-grid div:nth-child(5),.stat-grid div:nth-child(6){flex:.8 1 0}.stat-grid div:last-child{padding-right:0;border-right:0}dt{margin:0 0 4px;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}dd{margin:0;color:#fff;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:850;line-height:1}.stat-grid div:first-child dd{color:var(--flame);font-size:2.05rem}.stat-grid div:nth-child(4) dd{color:var(--teal)}.stat-grid .hull-stat dd{color:var(--yellow)}.laser-meter span{background:linear-gradient(90deg,var(--blue),var(--teal),var(--cream));transform:scaleX(1)}.laser-meter span[data-state=firing]{background:linear-gradient(90deg,var(--cream),var(--blue),var(--flame))}.laser-meter span[data-state=cooling]{background:linear-gradient(90deg,var(--hot-red),var(--magenta),var(--blue))}.stat-meter{position:relative;display:block;height:3px;margin-top:8px;overflow:hidden;background:#f7f1ed2e}.stat-meter span{position:absolute;inset:0;background:linear-gradient(90deg,var(--teal),var(--flame),var(--hot-red));transform-origin:left center;transform:scaleX(.42);transition:transform .12s ease-out,background .12s ease-out}.hull-meter span{background:linear-gradient(90deg,var(--hot-red),var(--flame),var(--yellow));transform:scaleX(1)}.hull-meter span[data-state=wounded]{background:linear-gradient(90deg,var(--hot-red),var(--flame))}.hull-meter span[data-state=critical]{background:var(--hot-red)}.hud-secondary{top:18px;right:18px;width:min(260px,calc(100vw - 36px));padding:0}.signal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:14px;min-height:32px;padding:7px 10px 7px 16px;border-bottom:1px solid rgba(236,231,227,.16);background:linear-gradient(90deg,#07070b14,#07070bb8);clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px)}.signal-row+.signal-row{margin-top:2px}.signal-row span{color:var(--muted);font-size:.72rem}.signal-row strong{color:#fff;font-size:.82rem;font-variant-numeric:tabular-nums}.signal-row[data-state=warning]{border-bottom-color:#ff72006b;background:linear-gradient(90deg,#ff72002e,#07070bc2),linear-gradient(180deg,rgba(255,114,0,.08),transparent)}.signal-row[data-state=warning] span,.signal-row[data-state=warning] strong{color:var(--flame)}.signal-row[data-state=critical]{border-bottom-color:#f01114ad;background:linear-gradient(90deg,#f0111452,#07070bc7),linear-gradient(180deg,rgba(255,114,0,.12),transparent)}.signal-row[data-state=critical] span,.signal-row[data-state=critical] strong{color:#fff;text-shadow:0 0 9px rgba(240,17,20,.72)}.laser-loader{position:fixed;left:50%;bottom:clamp(116px,18vh,158px);z-index:calc(var(--z-overlay) + 1);display:grid;width:min(310px,42vw);gap:7px;color:var(--cream);text-align:center;text-shadow:0 0 12px rgba(255,114,0,.74);transform:translate(-50%);pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out}.laser-loader[hidden],.game-running .laser-loader{display:none}.laser-loader__label{font-size:.66rem;font-weight:950;letter-spacing:.05em;line-height:1;text-transform:uppercase}.laser-loader__track{position:relative;height:7px;overflow:hidden;border:1px solid rgba(31,180,255,.42);background:linear-gradient(90deg,transparent,rgba(31,180,255,.2),transparent),#07070ba8;box-shadow:0 0 18px #1fb4ff38,0 0 24px #f011142e;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.laser-loader__track:before,.laser-loader__track:after,.laser-loader__track span{position:absolute;inset:0;content:""}.laser-loader__track:before{background:linear-gradient(90deg,transparent,rgba(247,241,237,.42),transparent);opacity:.68}.laser-loader__track:after{width:34%;background:linear-gradient(90deg,transparent,var(--hot-red),var(--flame),var(--blue),transparent);filter:blur(.5px);transform:translate(-110%);animation:laser-loader-scan .94s ease-in-out infinite}.laser-loader__track span{background:linear-gradient(90deg,var(--red),var(--flame),var(--blue),var(--teal));opacity:.34;transform-origin:left center;animation:laser-loader-charge 1.6s ease-in-out infinite}.laser-loader:before,.laser-loader:after{position:absolute;bottom:2px;width:58px;height:1px;content:"";background:linear-gradient(90deg,transparent,var(--orange));opacity:.9}.laser-loader:before{right:calc(100% + 10px)}.laser-loader:after{left:calc(100% + 10px);transform:scaleX(-1)}.result-panel{left:22px;bottom:22px;width:min(470px,calc(100vw - 44px));padding:19px 21px 20px;border:1px solid rgba(255,114,0,.48);background:linear-gradient(135deg,rgba(255,114,0,.13),transparent 38%),linear-gradient(180deg,#07070beb,#0c0607d1);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,24px 100%,0 calc(100% - 24px));overflow:hidden}.result-panel:before{position:absolute;top:12px;left:20px;width:118px;height:2px;content:"";background:var(--orange)}.launch-panel{inset:0;z-index:var(--z-overlay);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:auto;min-height:100%;padding:clamp(92px,13vh,150px) clamp(22px,8vw,120px) clamp(46px,9vh,88px);border:0;background:radial-gradient(circle at 72% 22%,rgba(31,180,255,.22),transparent 27%),radial-gradient(circle at 16% 78%,rgba(255,114,0,.26),transparent 34%),linear-gradient(90deg,#07070bf5,#07070bb8 48%,#07070be6),linear-gradient(180deg,rgba(240,17,20,.14),transparent 42%);overflow:hidden}.launch-panel[hidden]{display:none}.launch-panel:before{position:absolute;top:clamp(72px,10vh,116px);left:clamp(22px,8vw,120px);width:min(380px,42vw);height:2px;content:"";background:linear-gradient(90deg,var(--orange),var(--red),transparent)}.launch-panel:after{position:absolute;right:clamp(18px,6vw,96px);bottom:clamp(36px,8vh,90px);width:min(420px,42vw);height:min(420px,42vw);border:1px solid rgba(31,180,255,.2);border-radius:50%;content:"";background:linear-gradient(90deg,transparent 49.5%,rgba(255,114,0,.25) 50%,transparent 50.5%),linear-gradient(0deg,transparent 49.5%,rgba(31,180,255,.2) 50%,transparent 50.5%);opacity:.7;pointer-events:none;transform:rotate(-18deg)}.launch-panel h1,.result-panel h2{max-width:9ch;margin:5px 0 10px;color:#fff;font-size:2.35rem;line-height:.96;letter-spacing:0;text-wrap:balance}.launch-panel p,.result-panel p{max-width:58ch;margin:0 0 16px;color:var(--muted);line-height:1.52;text-wrap:pretty}.eyebrow{margin-top:8px!important;color:var(--orange)!important;font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.module-strip{display:flex;flex-wrap:wrap;gap:0;margin:0 0 17px;color:var(--cream)}.module-strip span{display:inline-flex;align-items:center;min-height:24px;font-size:.76rem;font-weight:800}.module-strip span+span:before{margin:0 9px;color:var(--rail-hot);content:"/"}.leaderboard-strip{margin:0 0 16px;padding-top:11px;border-top:1px solid rgba(236,231,237,.16)}.leaderboard-strip strong{display:block;margin-bottom:6px;color:var(--orange);font-size:.7rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.leaderboard-strip ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}.leaderboard-strip li{display:grid;grid-template-columns:minmax(52px,.7fr) minmax(72px,1fr) auto;gap:10px;align-items:baseline;color:var(--muted);font-size:.78rem}.leaderboard-strip li span,.leaderboard-strip li strong,.leaderboard-strip li em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-strip li strong{margin:0;color:#fff;font-size:.82rem;font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none}.leaderboard-strip li em{color:var(--muted);font-style:normal;font-size:.72rem}.leaderboard-empty{grid-template-columns:1fr!important}.score-save{display:grid;grid-template-columns:auto minmax(96px,1fr) auto;align-items:center;gap:8px;margin:0 0 14px;padding:10px 0;border-top:1px solid rgba(255,114,0,.36);border-bottom:1px solid rgba(236,231,237,.14)}.score-save[hidden]{display:none}.score-save label{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.score-save input{min-width:0;height:38px;border:1px solid rgba(31,180,255,.42);padding:0 10px;color:#fff;background:#07070bb8;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));font:inherit;font-weight:900}.event-callout{position:fixed;top:55%;left:50%;z-index:var(--z-toast);min-width:min(420px,calc(100vw - 48px));padding:10px 54px;color:#fff;font-size:1rem;font-weight:950;letter-spacing:.04em;text-align:center;text-shadow:0 0 8px rgba(255,114,0,.72);text-transform:uppercase;transform:translate(-50%,-50%) scale(.98);opacity:0;pointer-events:none;transition:opacity .12s ease-out,transform .15s ease-out}.event-callout:before,.event-callout:after{position:absolute;top:50%;width:42px;height:1px;content:"";background:var(--orange)}.event-callout:before{left:0}.event-callout:after{right:0}.event-callout.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.primary-action,.ghost-action{min-height:44px;border:0;padding:0 16px;cursor:pointer;font-weight:900;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.primary-action{color:#fff;background:var(--red)}.primary-action:hover{background:var(--hot-red)}.launch-panel .primary-action{min-width:180px;box-shadow:0 0 28px #f0111447}.ghost-action{color:var(--paper);border:1px solid var(--rail);background:#07070bb8}.ghost-action:disabled{cursor:default;opacity:.58}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.touch-controls{position:fixed;right:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:var(--z-controls);display:none;grid-template-columns:76px minmax(92px,36vw) 76px;align-items:end;gap:12px;transform:translate(50%);pointer-events:none}.touch-controls button{width:76px;height:56px;border:1px solid rgba(236,231,227,.26);color:var(--paper);background:#07070bc2;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));font-size:.84rem;font-weight:950;pointer-events:auto;touch-action:manipulation}.touch-controls .boost-button{border-color:#ff7200c7;color:#fff;background:var(--red);font-size:.8rem}.touch-controls .laser-button{border-color:#1fb4ffd1;color:#fff;background:#1fb4ff2e;font-size:.82rem}.touch-steer-zone{position:relative;height:56px;border-top:1px solid rgba(31,180,255,.3);border-bottom:1px solid rgba(255,114,0,.3);opacity:.82}.touch-steer-zone:before,.touch-steer-zone:after{position:absolute;top:50%;content:"";transform:translateY(-50%)}.touch-steer-zone:before{inset-inline:14px;height:1px;background:linear-gradient(90deg,var(--teal),rgba(247,241,237,.5),var(--orange))}.touch-steer-zone:after{left:50%;width:18px;height:18px;border:1px solid rgba(247,241,237,.72);background:linear-gradient(90deg,transparent 46%,rgba(255,114,0,.75) 50%,transparent 54%),linear-gradient(0deg,transparent 46%,rgba(31,180,255,.75) 50%,transparent 54%);transform:translate(-50%,-50%) rotate(45deg)}@media(max-width:720px){:root{--mobile-hud-top: 8px;--mobile-hud-side: 8px;--mobile-primary-hud-height: 126px}.hud-primary{top:var(--mobile-hud-top);left:var(--mobile-hud-side);width:calc(100vw - (var(--mobile-hud-side) * 2));height:var(--mobile-primary-hud-height);padding:8px 9px 10px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,13px 100%,0 calc(100% - 13px));overflow:hidden}.hud-primary:after{right:10px;bottom:5px;left:10px;opacity:.52}.brand-lockup{min-height:28px;gap:7px;padding-right:50px}.brand-mark{width:24px;height:23px;flex-basis:24px;filter:drop-shadow(0 0 8px rgba(255,114,0,.45))}.brand-wordmark{margin-bottom:0;font-size:.52rem}.brand-lockup strong{font-size:.78rem;line-height:1}.brand-lockup small{display:none}.audio-toggle{position:absolute;top:-1px;right:0;width:44px;min-height:24px;padding:0;overflow:hidden;font-size:0}.audio-toggle:after{content:"Audio";font-size:.52rem;letter-spacing:.02em}.stat-grid{display:grid;grid-template-columns:minmax(70px,1.08fr) repeat(3,minmax(0,.92fr));grid-auto-rows:minmax(22px,auto);column-gap:0;row-gap:5px;margin-top:6px;padding-top:6px}.stat-grid div{min-width:0;padding:0 7px;border-right:1px solid rgba(236,231,227,.13)}.stat-grid div:first-child{grid-row:1 / 3;align-self:center;padding-left:0}.stat-grid div:nth-child(2){grid-column:2;grid-row:1}.stat-grid div:nth-child(3){grid-column:3;grid-row:1}.stat-grid div:nth-child(4){grid-column:2;grid-row:2}.stat-grid div:nth-child(5){grid-column:3;grid-row:2}.stat-grid div:nth-child(6){grid-column:4;grid-row:1;padding-right:0;border-right:0}.stat-grid div:nth-child(7){grid-column:4;grid-row:2;padding-right:0;border-right:0}.stat-grid div:first-child dd{font-size:1.24rem}dt{margin-bottom:1px;font-size:.46rem;letter-spacing:.06em}dd{min-width:0;overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}#laser{font-size:clamp(.56rem,2.3vw,.74rem)}.stat-meter{height:2px;margin-top:3px}.hud-secondary{top:calc(var(--mobile-hud-top) + var(--mobile-primary-hud-height) + 6px);right:auto;left:var(--mobile-hud-side);bottom:auto;display:grid;width:min(330px,calc(100vw - (var(--mobile-hud-side) * 2)));grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.signal-row{min-height:25px;margin:0;padding:3px 7px 4px;border:1px solid rgba(236,231,227,.13);border-bottom-color:#ece7e32e;background:#07070b8a;clip-path:polygon(7px 0,100% 0,100% 100%,0 100%,0 7px)}.signal-row:nth-child(3),.signal-row:nth-child(4){display:none}.signal-row span{display:block;margin-bottom:1px}.signal-row span,.signal-row strong{font-size:.58rem;line-height:1}.signal-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-panel{right:10px;bottom:82px;left:10px;width:auto;padding:16px}.launch-panel{padding:96px 18px 92px}.launch-panel:before{top:74px;left:18px;width:180px}.launch-panel:after{right:-90px;bottom:78px;width:260px;height:260px}.launch-panel h1,.result-panel h2{max-width:12ch;font-size:1.95rem}.launch-panel p,.result-panel p{font-size:.92rem}.laser-loader{bottom:82px;width:min(230px,calc(100vw - 88px))}.laser-loader__label{font-size:.58rem}.laser-loader:before,.laser-loader:after{width:28px}.leaderboard-strip li{grid-template-columns:minmax(44px,.7fr) minmax(64px,1fr) auto;gap:8px}.score-save{grid-template-columns:1fr auto}.score-save label{grid-column:1 / -1}.event-callout{top:59%;min-width:min(320px,calc(100vw - 28px));padding:9px 38px;font-size:.88rem}.event-callout:before,.event-callout:after{width:28px}.game-running .touch-controls{display:grid}}@media(pointer:coarse){.game-running .touch-controls{display:grid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}#app:after{display:none}.laser-loader__track:after,.laser-loader__track span{animation:none}.laser-loader__track:after{transform:translate(92%)}}@keyframes laser-loader-scan{0%{transform:translate(-110%)}52%{transform:translate(126%)}to{transform:translate(126%)}}@keyframes laser-loader-charge{0%,to{transform:scaleX(.18)}50%{transform:scaleX(1)}}
