*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{color:#e9f6ff;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#04010d;height:100%;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}[hidden]{display:none!important}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{top:calc(env(safe-area-inset-top,0px) + 12px);pointer-events:none;text-shadow:0 0 8px #39e6ff99;position:fixed;left:16px}#time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:34px;font-weight:700}#best{opacity:.7;margin-top:2px;font-size:12px}#fuel{border:1px solid #ffd23d99;border-radius:3px;width:110px;height:6px;margin-top:8px;overflow:hidden}#fuel-fill{transform-origin:0;background:#ffd23d;height:100%;box-shadow:0 0 8px #ffd23d}#debug{opacity:.6;margin-top:6px;font-size:11px}#buttons{top:calc(env(safe-area-inset-top,0px) + 12px);gap:8px;display:flex;position:fixed;right:16px}#buttons button{font:inherit;color:#e9f6ff;background:#140a2899;border:1px solid #39e6ff66;border-radius:8px;min-height:32px;padding:6px 10px;font-size:12px}#overlay{text-align:center;pointer-events:none;background:#080314b8;border:1px solid #ff5ad980;border-radius:14px;width:min(88vw,360px);padding:20px 16px;line-height:1.5;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #ff5ad940}#overlay .big{letter-spacing:.04em;color:#fff;text-shadow:0 0 14px #ff5ad9;font-size:40px;font-weight:800}#overlay .dim{opacity:.6;font-size:12px}#overlay .help{margin-top:12px;font-size:14px}#overlay .squares{letter-spacing:2px;margin:6px 0;font-size:22px}#overlay .friend{color:#ffd9a0;border:1px solid #ffb13d80;border-radius:8px;margin:10px 0;padding:8px}#overlay .ahead,#split.ahead{color:#44ff9a}#overlay .behind,#split.behind{color:#ff6b6b}#overlay button{pointer-events:auto;font:inherit;color:#04010d;background:#39e6ff;border:0;border-radius:10px;width:100%;margin-top:14px;padding:12px 16px;font-size:15px;font-weight:700;box-shadow:0 0 18px #39e6ff80}#overlay .countdown{font-variant-numeric:tabular-nums;margin-top:10px}#overlay .legend{text-align:left;gap:4px;margin:12px auto 4px;font-size:12px;display:inline-grid}#overlay .legend-row{color:var(--c);align-items:center;gap:8px;display:flex}#overlay .legend-row svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px);flex:none;width:18px;height:18px}#overlay .legend-row span{color:#e9f6ff;opacity:.85}.pad-btn{pointer-events:none;color:#ffc4f0;letter-spacing:.08em;background:#28082859;border:2px solid #ff5ad9d9;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:9px;font-weight:700;transition:transform 60ms,background 60ms;display:flex;position:fixed;box-shadow:0 0 16px #ff5ad973,inset 0 0 12px #ff5ad940}.pad-btn svg{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;width:46%;height:46%}#btn-boost{color:#ffd9a0;background:#32190059;border-color:#ffb13de6;box-shadow:0 0 16px #ffb13d73,inset 0 0 12px #ffb13d40}#btn-boost svg{fill:currentColor;stroke:none}.pad-btn.down{background:#ff5ad959;transform:scale(.92)}#btn-boost.down{background:#ffb13d66}#zones{pointer-events:none;opacity:0;transition:opacity .4s;display:flex;position:fixed;inset:0}#zones.show{opacity:1}#zones.flash{animation:.45s ease-in-out 4 zone-flash}#zones>div{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12vh);color:#bff6ff;text-align:center;text-shadow:0 0 8px #000;background:#39e6ff12;border:2px dashed #39e6ff73;flex:1;justify-content:center;align-items:flex-end;font-size:13px;line-height:1.5;display:flex}#zones>div.jump{color:#ffc4f0;background:#ff5ad914;border-color:#ff5ad98c}@keyframes zone-flash{0%,to{opacity:.15}50%{opacity:1}}#split{font-variant-numeric:tabular-nums;text-shadow:0 0 12px;pointer-events:none;font-size:28px;font-weight:800;position:fixed;top:22%;left:50%;transform:translate(-50%)}#overlay .cta{color:#39e6ff;margin-top:14px;animation:1.2s ease-in-out infinite blink}@keyframes blink{50%{opacity:.35}}#menu{z-index:20;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#04010df0;flex-direction:column;display:flex;position:fixed;inset:0}@media (width>=700px){#menu{border:1px solid #39e6ff59;border-radius:16px;width:640px;inset:5vh auto 5vh 50%;transform:translate(-50%);box-shadow:0 0 40px #39e6ff26}}.menu-head{border-bottom:1px solid #39e6ff33;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.menu-tabs{gap:6px;display:flex}.menu-head button{font:inherit;color:#bff6ff;background:0 0;border:1px solid #39e6ff59;border-radius:8px;min-height:36px;padding:8px 14px;font-size:14px}.menu-head .menu-tabs button.on{color:#04010d;background:#39e6ff;font-weight:700}.menu-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:10px;padding:12px 16px 24px;display:flex;overflow-y:auto}.track-card{color:#e9f6ff;background:#0d1b338c;border:1px solid #39e6ff2e;border-radius:12px;padding:10px 12px 12px;text-decoration:none;display:block}.track-card.today{border-color:#ff5ad9b3;box-shadow:0 0 14px #ff5ad933}.track-card.current{border-color:#39e6ff;box-shadow:0 0 14px #39e6ff4d}.track-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.track-title{font-size:15px;font-weight:800}.track-title em{color:#ff5ad9;margin-left:6px;font-size:11px;font-style:normal}.track-times{opacity:.8;font-variant-numeric:tabular-nums;font-size:12px}.track-sub{opacity:.55;margin:2px 0 8px;font-size:11px}.track-strip{width:100%;height:48px;display:block}.ship-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.ship-card{font:inherit;color:#e9f6ff;background:#0d1b338c;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex}.ship-card canvas{width:100%;height:84px}.ship-card span{color:var(--c);font-size:13px;font-weight:700}.ship-card.on{border-color:var(--c);box-shadow:0 0 16px color-mix(in srgb, var(--c) 45%, transparent)}.menu-note{opacity:.55;text-align:center;font-size:12px}#overlay .menu-hint{margin-top:6px}.speed-row{background:#32190040;border:1px solid #ffb13d59;border-radius:12px;flex-direction:column;gap:6px;margin-bottom:4px;padding:10px 12px 12px;font-size:14px;display:flex}.speed-row b{color:#ffb13d}.speed-row input{accent-color:#ffb13d;touch-action:pan-x;width:100%}.speed-row small{opacity:.55;font-size:11px}
