:root{--bg-dark:#070912;--glass:#0c101cb8;--border:#ffffff1f;--accent:#38bdf8;--accent-warm:#f59e0b;--text:#e2e8f0;--muted:#94a3b8}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{background:var(--bg-dark);width:100%;height:100%;color:var(--text);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#game-canvas{width:100vw;height:100vh;display:block}.speed-lines-canvas{pointer-events:none;z-index:6;width:100vw;height:100vh;position:fixed;inset:0}.impact-flash{pointer-events:none;z-index:8;opacity:0;transition:opacity 80ms ease-out;position:fixed;inset:0;box-shadow:inset 0 0 110px 30px #f871718c}.overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:radial-gradient(circle,#0f172ab8,#05070feb);justify-content:center;align-items:center;transition:opacity .6s,visibility .6s;display:flex;position:fixed;inset:0}.overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.start-card{border:1px solid var(--border);text-align:center;background:#0f172ad9;border-radius:20px;width:90%;max-width:560px;padding:2.4rem 2.2rem;box-shadow:0 25px 60px #0009,0 0 40px #38bdf814}.badge{letter-spacing:.22em;color:var(--accent);background:#38bdf81f;border:1px solid #38bdf84d;border-radius:999px;margin-bottom:1rem;padding:.35rem .9rem;font-size:.72rem;font-weight:600;display:inline-block}.start-card h1{letter-spacing:.08em;background:linear-gradient(135deg,#f8fafc 0%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.6rem;font-size:2.4rem;font-weight:800}.subtitle{color:var(--muted);margin-bottom:1.8rem;font-size:.96rem;line-height:1.5}.controls-grid{text-align:left;color:#cbd5e1;background:#02061780;border:1px solid #ffffff0f;border-radius:14px;grid-template-columns:repeat(2,1fr);gap:.65rem 1rem;margin-bottom:1.2rem;padding:1.1rem 1.2rem;font-size:.83rem;display:grid}.mp-box{background:#02061794;border:1px solid #38bdf838;border-radius:14px;flex-direction:column;gap:.65rem;margin-bottom:1.35rem;padding:.95rem 1rem;display:flex}.mp-actions{flex-wrap:wrap;justify-content:space-between;gap:.6rem;display:flex}.mp-join-group{flex:1;gap:.4rem;display:flex}.mp-input{color:#f8fafc;background:#0f172ad9;border:1px solid #ffffff24;border-radius:9px;outline:none;width:100%;padding:.5rem .75rem;font-size:.85rem}.mp-input:focus{border-color:var(--accent)}.code-input{letter-spacing:.18em;text-align:center;min-width:108px;font-family:ui-monospace,monospace;font-weight:700}.mp-btn{color:#f8fafc;letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:#1e293be6;border:1px solid #ffffff2e;border-radius:9px;padding:.5rem .9rem;font-size:.76rem;font-weight:700;transition:background .15s,border-color .15s}.mp-btn:hover{border-color:var(--accent);background:#334155f2}.mp-btn.primary{color:#7dd3fc;background:#38bdf82e;border-color:#38bdf880}.mp-feedback{color:#fca5a5;text-align:center;font-size:.78rem}.mp-feedback.hidden{display:none}.ctrl{align-items:center;gap:.35rem;display:flex}kbd{color:#f8fafc;background:#ffffff1a;border:1px solid #fff3;border-radius:5px;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;display:inline-block}.ignition-btn{letter-spacing:.12em;color:#020617;cursor:pointer;background:linear-gradient(135deg,#38bdf8,#818cf8);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.7rem;padding:.95rem 2.2rem;font-size:.95rem;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 10px 30px #38bdf859}.ignition-btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px #38bdf880}.ignition-btn:active{transform:translateY(0)}.pulse-dot{background:#020617;border-radius:50%;width:9px;height:9px;animation:1.6s infinite pulse;box-shadow:0 0 #02061799}@keyframes pulse{0%{opacity:.9;transform:scale(.95)}50%{opacity:.5;transform:scale(1.25)}to{opacity:.9;transform:scale(.95)}}.hud{pointer-events:none;z-index:10;flex-direction:column;justify-content:space-between;padding:1.1rem 1.4rem;transition:opacity .35s;display:flex;position:fixed;inset:0}.hud.hidden{opacity:0}.hud-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.hud-left-pills{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.room-pill.hidden{display:none}.room-dot{background:#34d399;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #34d399}.pill-mini-btn{color:#e2e8f0;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff29;border-radius:6px;padding:.15rem .45rem;font-size:.66rem;font-weight:700}.pill-mini-btn:hover{background:#38bdf840}.pill-mini-btn.danger:hover{background:#f871714d}.hud-pill{pointer-events:auto;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:.6rem;padding:.45rem .95rem;font-size:.82rem;display:inline-flex}.eq-bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.eq-bars i{background:var(--accent);border-radius:2px;width:2.5px;animation:.9s ease-in-out infinite alternate eq;display:block}.eq-bars i:nth-child(2){animation-delay:.25s}.eq-bars i:nth-child(3){animation-delay:.5s}.eq-bars.muted i{background:var(--muted);animation:none;height:3px!important}@keyframes eq{0%{height:3px}to{height:12px}}.hud-actions{flex-wrap:wrap;gap:.45rem;display:flex}.hud-btn{pointer-events:auto;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text);letter-spacing:.05em;cursor:pointer;border-radius:10px;padding:.4rem .75rem;font-size:.74rem;font-weight:600;transition:background .15s,border-color .15s}.hud-btn:hover{background:#1e293bd9;border-color:#ffffff40}.hud-btn.active{color:var(--accent);border-color:#38bdf899}.hud-btn .state{opacity:.8;margin-left:.25rem}.shift-group{pointer-events:auto;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #f59e0b73;border-radius:10px;align-items:center;gap:.25rem;padding:.15rem .3rem;display:inline-flex}.shift-group.hidden{display:none}.shift-btn{background:#ffffff14;border:none;padding:.25rem .5rem}.gear-readout{text-align:center;min-width:1.4rem;color:var(--accent-warm);font-family:ui-monospace,monospace;font-size:.85rem;font-weight:700}.traffic-group{pointer-events:auto;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.28rem;padding:.15rem .45rem;display:inline-flex}.traffic-label{letter-spacing:.05em;color:var(--muted);margin-right:.1rem;font-size:.68rem;font-weight:700}.traffic-readout{text-align:center;min-width:1.5rem;color:var(--accent);font-family:ui-monospace,monospace;font-size:.82rem;font-weight:700}.hud-bottom{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.minimap-card{pointer-events:auto;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:.3rem;padding:.55rem .65rem .45rem;display:flex}.lap-info{color:var(--accent);justify-content:space-between;align-items:center;font-family:ui-monospace,monospace;font-size:.72rem;font-weight:700;display:flex}#lap-time{color:var(--text)}#minimap{width:148px;height:148px;display:block}.hud-hint{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--muted);background:#0c101c8c;border:1px solid #ffffff14;border-radius:999px;padding:.35rem .85rem;font-size:.74rem}.hud.zen-only .hud-top,.hud.zen-only .hud-bottom{opacity:0;pointer-events:none}
