*{box-sizing:border-box;margin:0;padding:0}html,body,#app{background:#0a0e12;width:100%;height:100%;overflow:hidden}#game{width:100%;height:100%;display:block}#loading{color:#e8edf2;z-index:10;background:#0a0e12;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-family:ui-monospace,SF Mono,Menlo,monospace;transition:opacity .5s;display:flex;position:absolute;inset:0}#loading.done{opacity:0;pointer-events:none}.loading-title{letter-spacing:8px;font-size:22px;font-weight:700}.loading-bar{background:#1d2833;border-radius:2px;width:260px;height:4px;overflow:hidden}#loading-fill{background:#e10600;width:0%;height:100%;transition:width .2s}#loading-text{color:#7a8894;font-size:11px}#hud{color:#e8edf2;text-shadow:0 1px 3px #0009;pointer-events:none;white-space:pre;z-index:5;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;position:absolute;top:10px;left:12px}#minimap{pointer-events:none;z-index:5;background:#0a0e128c;border:1px solid #ffffff1f;border-radius:10px;width:210px;height:210px;position:absolute;bottom:14px;right:14px}@media (width<=700px){#minimap{width:140px;height:140px;bottom:8px;right:8px}}#lights{z-index:6;background:#0c0f13;border-radius:10px;gap:14px;padding:16px 20px;display:none;position:absolute;top:12%;left:50%;transform:translate(-50%)}#lights.visible{display:flex}#lights span{background:#1c2128;border-radius:50%;width:34px;height:34px;transition:background 50ms,box-shadow 50ms}#lights span.on{background:#f10;box-shadow:0 0 22px 4px #ff11008c}#lap-timer{color:#fff;letter-spacing:1px;text-shadow:0 2px 6px #000000b3;z-index:5;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:26px;font-weight:700;display:none;position:absolute;top:14px;left:50%;transform:translate(-50%)}#lap-timer.visible{display:block}#best-lap{color:#b9a6ff;text-shadow:0 1px 4px #000000b3;z-index:5;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;display:none;position:absolute;top:48px;left:50%;transform:translate(-50%)}#best-lap.visible{display:block}#pause{z-index:9;color:#e8edf2;background:#080a0e99;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;display:none;position:absolute;inset:0}#pause.visible{display:flex}#finish{z-index:8;color:#e8edf2;background:#080a0eb8;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-family:ui-monospace,SF Mono,Menlo,monospace;display:none;position:absolute;inset:0}#finish.visible{display:flex}.finish-label{letter-spacing:6px;color:#9aa7b3;font-size:15px}.finish-label.record{color:#b9a6ff}#finish-time{color:#fff;font-size:56px;font-weight:700}#finish-best{color:#9aa7b3;font-size:14px}.finish-sub{color:#7a8894;margin-top:14px;font-size:13px}#engine-tune{z-index:20;color:#e8edf2;background:#080a0edb;border:1px solid #2c3440;border-radius:6px;flex-direction:column;gap:4px;width:340px;padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;display:none;position:absolute;top:12px;right:12px}#engine-tune.visible{display:flex}#engine-tune .et-title{letter-spacing:.04em;margin-bottom:4px;font-weight:700}#engine-tune .et-hint{color:#8a97a8;margin-left:6px;font-weight:400}#engine-tune .et-row{grid-template-columns:120px 1fr 52px;align-items:center;gap:8px;display:grid}#engine-tune .et-row input{accent-color:#ff2a1a;width:100%}#engine-tune .et-val{text-align:right;color:#ffd166}#engine-tune .et-btns{gap:8px;margin-top:6px;display:flex}#engine-tune button{color:#e8edf2;font:inherit;cursor:pointer;background:#1c222b;border:1px solid #2c3440;border-radius:4px;flex:1;padding:5px}#engine-tune button:hover{background:#2a323d}#ai-debug{z-index:15;white-space:pre;color:#cfe3ff;background:#080a0ecc;border:1px solid #2c3440;border-radius:6px;padding:8px 10px;font:11px/1.5 ui-monospace,SF Mono,Menlo,monospace;display:none;position:absolute;bottom:190px;right:12px}#ai-debug.visible{display:block}#leaderboard{z-index:5;pointer-events:none;flex-direction:column;gap:2px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;display:flex;position:absolute;top:90px;left:12px}#leaderboard .lb-row{color:#dfe6ee;background:#080a0e9e;border-radius:3px;grid-template-columns:22px 10px 44px 62px;align-items:center;gap:6px;padding:3px 8px;display:grid}#leaderboard .lb-row.me{color:#fff;background:#e106008c;font-weight:700}#leaderboard .lb-pos{text-align:right;color:#9aa7b3}#leaderboard .lb-row.me .lb-pos{color:#ffd6d3}#leaderboard .lb-dot{border-radius:2px;width:8px;height:8px}#leaderboard .lb-gap{text-align:right;color:#9aa7b3;font-size:11px}#leaderboard .lb-row.me .lb-gap{color:#ffd6d3}#speedfx{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0}#menu{z-index:12;color:#f2f4f7;opacity:1;pointer-events:auto;background:radial-gradient(1200px 600px at 20% 10%,#e106002e,#0000 60%),linear-gradient(#06080bdb,#06080bf0);justify-content:center;align-items:center;font-family:ui-monospace,SF Mono,Menlo,monospace;transition:opacity .55s;display:flex;position:absolute;inset:0}#menu.hidden{opacity:0;pointer-events:none}.menu-inner{flex-direction:column;gap:14px;width:min(860px,92vw);display:flex}.menu-kicker{letter-spacing:8px;color:#e10600;font-size:12px;font-weight:700}.menu-title{letter-spacing:2px;font-size:clamp(34px,6vw,62px);font-weight:800;line-height:1}.menu-title span{color:#e10600}.menu-sub{color:#8a97a8;letter-spacing:3px;margin-top:6px;font-size:12px}.menu-cards{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}@media (width<=640px){.menu-cards{grid-template-columns:1fr}}.menu-card{text-align:left;cursor:pointer;color:#f2f4f7;font:inherit;background:#14181ed9;border:1px solid #ffffff1a;border-left:4px solid #e10600;border-radius:8px;padding:22px 22px 20px;transition:transform .15s,background .15s,border-color .15s}.menu-card:hover,.menu-card:focus-visible{background:#1e232cf2;border-color:#ffffff38;outline:none;transform:translateY(-3px)}.mc-icon{margin-bottom:8px;font-size:26px}.mc-name{letter-spacing:3px;font-size:20px;font-weight:800}.mc-desc{color:#9aa7b3;margin-top:6px;font-size:12px;line-height:1.5}.menu-foot{color:#5f6b78;letter-spacing:1px;margin-top:10px;font-size:11px}.finish-btns{gap:12px;margin-top:18px;display:flex}.finish-btns button{color:#fff;letter-spacing:2px;cursor:pointer;background:#e10600;border:0;border-radius:6px;padding:10px 18px;font:700 13px ui-monospace,SF Mono,Menlo,monospace}.finish-btns button#btn-menu{background:#1c222b;border:1px solid #2c3440}.finish-btns button span{opacity:.6;margin-left:8px;font-weight:400}.finish-btns button:hover{filter:brightness(1.15)}#finish-gaps{color:#9aa7b3;white-space:pre;text-align:center;font-size:12px;line-height:1.6}#delta{z-index:5;text-shadow:0 1px 4px #000000b3;font:700 15px ui-monospace,SF Mono,Menlo,monospace;display:none;position:absolute;top:48px;left:50%;transform:translate(-50%)}#delta.visible{display:block}#delta.neg{color:#6cff8a}#delta.pos{color:#ff6c6c}#light-panel{z-index:20;color:#e8edf2;background:#080a0ee6;border:1px solid #2c3440;border-radius:6px;flex-direction:column;gap:4px;width:360px;padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;display:none;position:absolute;top:90px;left:12px}#light-panel.visible{display:flex}#light-panel .et-title{letter-spacing:.04em;margin-bottom:4px;font-weight:700}#light-panel .et-hint{color:#8a97a8;margin-left:6px;font-weight:400}#light-panel .et-row{grid-template-columns:130px 1fr 60px;align-items:center;gap:8px;display:grid}#light-panel .et-row input{accent-color:#ff2a1a;width:100%}#light-panel .et-val{text-align:right;color:#ffd166}#light-panel .et-btns{gap:8px;margin:4px 0;display:flex}#light-panel .et-toggles{color:#cfe3ff;gap:14px;margin:2px 0 6px;display:flex}#light-panel button{color:#e8edf2;font:inherit;cursor:pointer;background:#1c222b;border:1px solid #2c3440;border-radius:4px;flex:1;padding:5px}#light-panel button:hover{background:#2a323d}.menu-opts{align-items:center;gap:10px;margin-top:6px;display:flex}.mo-label{color:#8a97a8;letter-spacing:3px;margin-right:6px;font-size:11px}.mo-btn{color:#cfd6de;font:inherit;letter-spacing:2px;cursor:pointer;background:#14181ed9;border:1px solid #ffffff1f;border-radius:6px;padding:8px 14px;font-size:12px}.mo-btn:hover{background:#1e232cf2}.mo-btn.active{color:#fff;border-color:#e10600;box-shadow:inset 0 0 0 1px #e10600}
