:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cyan:#00e5ff;--magenta:#ff2bd6;--bg:#05070d;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:none;background:var(--bg);color:#e8f7ff;width:100%;height:100dvh;margin:0;overflow:hidden}#app{width:100%;height:100%}#app canvas{width:100%;height:100%;display:block}.hidden{display:none!important}.overlay{z-index:20;pointer-events:none;background:0 0;justify-content:flex-start;align-items:flex-end;padding:1.25rem;display:flex;position:fixed;inset:0}.overlay .panel{pointer-events:auto}.overlay-center{background:#08102073;justify-content:center;align-items:center}#countdown{z-index:15;pointer-events:none;background:0 0;justify-content:center;display:flex;position:fixed;top:8vh;left:0;right:0}.panel{text-align:center;touch-action:manipulation;background:#060e1ceb;border:1px solid #00e5ff59;min-width:min(520px,92vw);max-height:calc(100dvh - 2rem);padding:2rem 2.5rem;overflow:auto;box-shadow:0 0 40px #00e5ff1f}.panel h1{letter-spacing:.28em;color:var(--cyan);text-shadow:0 0 24px #00e5ff73;margin:0;font-size:2.6rem}.panel .sub{color:#c8e6ffb3;margin:.4rem 0 1.4rem}.panel .label{letter-spacing:.2em;color:#7ad7ff;font-size:.75rem}.ship-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1rem 0 1.25rem;display:flex}.ship-card{cursor:pointer;pointer-events:auto;background:#0014288c;border:1px solid #00e5ff40;width:140px;padding:.85rem .6rem;transition:border-color .15s,box-shadow .15s}.ship-card.selected{border-color:var(--magenta);box-shadow:0 0 18px #ff2bd659}.ship-card .name{font-size:1.05rem;font-weight:700}.ship-card .tag{color:#c8e6ffa6;margin-top:.35rem;font-size:.72rem;line-height:1.3}.hint{color:#c8e6ffb3;font-size:.85rem}#countdown-num{color:#fff;text-shadow:0 2px #062033,0 0 18px #00000073;letter-spacing:.05em;font-size:6.5rem;font-weight:800;line-height:1}.place{color:var(--magenta);margin:.5rem 0;font-size:3rem;font-weight:800}.time{color:var(--cyan);margin-bottom:1rem;font-size:1.2rem}#results-list{text-align:left;max-width:280px;margin:0 auto 1.25rem;padding:0;list-style:none}#results-list li{border-bottom:1px solid #00e5ff26;justify-content:space-between;padding:.35rem 0;display:flex}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#hud-top{flex-wrap:wrap;align-items:flex-end;gap:1.25rem;padding:1rem 1.25rem;display:flex}.hud-block .label{letter-spacing:.18em;color:#7ad7ff;opacity:.85;font-size:.7rem}#speed{color:var(--cyan);text-shadow:0 0 18px #00e5ff73;font-size:2.4rem;font-weight:700;line-height:1}#shield-bar{background:#001428b3;border:1px solid #00e5ff80;width:160px;height:12px;margin-top:.35rem;overflow:hidden}#shield-fill{background:linear-gradient(90deg, var(--magenta), var(--cyan));transform-origin:0;width:100%;height:100%;transition:transform 80ms linear}#weapon,#lap,#pos{color:#fff;font-size:1.25rem;font-weight:700}#weapon{color:#fa0;letter-spacing:.06em}#help{text-align:center;color:#c8e6ffbf;font-size:.85rem;position:absolute;bottom:1rem;left:0;right:0}kbd{color:var(--cyan);background:#00283c99;border:1px solid #00e5ff73;border-radius:3px;padding:.1rem .35rem;font-size:.8rem;display:inline-block}.hint-touch{display:none}.start-btn{border:1px solid var(--cyan);color:#e8f7ff;min-width:9rem;min-height:3rem;font:inherit;letter-spacing:.18em;cursor:pointer;touch-action:manipulation;background:#00e5ff29;margin-top:.9rem;padding:.7rem 1.4rem;font-weight:700}.start-btn:active,.start-btn.held{background:#00e5ff66}.start-ghost{letter-spacing:.14em;background:0 0;border-color:#00e5ff59}.result-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}#touch{--pad:min(168px, 36vw);--gas:92px;--gap:10px;z-index:12;pointer-events:none;-webkit-user-select:none;user-select:none;display:none;position:fixed;inset:0}#steer-pad,.touch-btn{pointer-events:auto;touch-action:none;-webkit-touch-callout:none}#steer-pad{left:max(.75rem, env(safe-area-inset-left));bottom:max(.75rem, env(safe-area-inset-bottom));width:var(--pad);height:var(--pad);background:#04102059;border:2px solid #00e5ff73;border-radius:50%;place-items:center;display:grid;position:absolute}#steer-knob{border:2px solid var(--cyan);background:#00e5ff47;border-radius:50%;width:64px;height:64px;box-shadow:0 0 16px #00e5ff40}.touch-btn{color:#e8f7ff;font:inherit;letter-spacing:.08em;background:#0410208c;border:1px solid #00e5ff8c;border-radius:12px;margin:0;padding:.2rem;font-size:.78rem;font-weight:700;line-height:1.15;position:absolute}.touch-btn.held{color:#fff;background:#00e5ff61}.touch-gas{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));width:var(--gas);height:var(--gas);border-color:var(--cyan);font-size:1rem}.touch-brake{right:calc(max(.75rem, env(safe-area-inset-right)) + var(--gas) + var(--gap));bottom:max(.75rem, env(safe-area-inset-bottom));width:78px;height:var(--gas);border-color:var(--magenta)}.touch-brake.held{background:#ff2bd666}.touch-air{width:64px;height:64px}#btn-air-l{left:max(.75rem, env(safe-area-inset-left));bottom:calc(max(.75rem, env(safe-area-inset-bottom)) + var(--pad) + .6rem)}#btn-air-r{right:max(.75rem, env(safe-area-inset-right));bottom:calc(max(.75rem, env(safe-area-inset-bottom)) + var(--gas) + var(--gap))}.touch-small{width:64px;height:48px;font-size:.72rem}#btn-fire{right:calc(max(.75rem, env(safe-area-inset-right)) + 74px);bottom:calc(max(.75rem, env(safe-area-inset-bottom)) + var(--gas) + var(--gap))}#btn-absorb{right:calc(max(.75rem, env(safe-area-inset-right)) + 148px);bottom:calc(max(.75rem, env(safe-area-inset-bottom)) + var(--gas) + var(--gap))}.touch-cam{top:max(.5rem, env(safe-area-inset-top));right:max(.5rem, env(safe-area-inset-right));width:52px;height:36px;font-size:.68rem}#rotate-hint{top:max(.4rem, env(safe-area-inset-top));text-align:center;letter-spacing:.06em;color:#e8f7ffcc;pointer-events:none;margin:0;font-size:.75rem;display:none;position:absolute;left:0;right:4rem}@media (pointer:coarse),(width<=820px){.hint-keys{display:none}.hint-touch{display:block}#help{display:none}#touch:not(.hidden){display:block}#hud-top{padding:max(.45rem, env(safe-area-inset-top)) .7rem 0;gap:.65rem}#speed{font-size:1.7rem}#shield-bar{width:96px}.panel{width:min(520px,94vw);min-width:0;padding:1.1rem .9rem}.panel h1{letter-spacing:.16em;font-size:1.8rem}.ship-card{width:108px}#countdown-num{font-size:4.2rem}}@media (pointer:coarse) and (orientation:portrait){#rotate-hint{display:block}#touch{--pad:112px;--gas:76px}.touch-brake{width:64px}#steer-knob{width:48px;height:48px}}
