:root{--bg-obsidian: rgba(7, 10, 16, .78);--bg-glass: rgba(11, 16, 25, .66);--bg-glass-strong: rgba(8, 12, 19, .88);--border-subtle: rgba(255, 255, 255, .11);--border-highlight: rgba(255, 174, 76, .55);--text-primary: #f3f6fa;--text-secondary: rgba(214, 224, 238, .72);--text-muted: rgba(168, 182, 202, .5);--accent-amber: #ff9d3b;--accent-crimson: #ff334b;--accent-cyan: #48c9ff;--accent-emerald: #38e29d;--font-sans: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Consolas", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body,#app{width:100%;height:100%;overflow:hidden;background:#04060a;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block}.overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.16,1,.3,1)}.overlay.active{opacity:1;pointer-events:auto}#loading-overlay{background:radial-gradient(circle at 50% 42%,#0e1726,#04070c 75%);z-index:50}.loading-inner{width:min(460px,88vw);text-align:left}.brand-kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.24em;color:var(--accent-amber);text-transform:uppercase;margin-bottom:.55rem}.brand-title{font-size:clamp(2.8rem,6vw,4.7rem);font-weight:800;letter-spacing:.14em;line-height:.96;color:#fff;text-shadow:0 12px 42px rgba(0,0,0,.75)}.brand-subtitle{margin-top:.45rem;font-size:clamp(1rem,1.8vw,1.22rem);font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary)}.loading-bar-track{margin-top:2rem;width:100%;height:3px;background:#ffffff1f;overflow:hidden;border-radius:2px}.loading-bar-fill{width:8%;height:100%;background:linear-gradient(90deg,var(--accent-amber),#ffd29d);transition:width .2s ease-out}.loading-status{margin-top:.75rem;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--text-muted)}#menu-overlay{background:linear-gradient(90deg,#04070cd6,#04070c6b 46%,#04070c14);justify-content:flex-start}.menu-layout{width:min(560px,92vw);height:100%;padding:clamp(2rem,5vh,4rem) clamp(1.5rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:space-between}.menu-record{margin-top:1.6rem;display:inline-flex;align-items:baseline;gap:.85rem;padding:.55rem 1rem;background:var(--bg-glass);border:1px solid var(--border-subtle);border-left:3px solid var(--accent-amber);backdrop-filter:blur(12px)}.record-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;color:var(--text-secondary)}.record-value{font-family:var(--font-mono);font-size:1.2rem;font-weight:700;color:#fff}.menu-actions{display:flex;flex-direction:column;gap:.75rem;max-width:340px}.btn{appearance:none;border:1px solid var(--border-subtle);background:var(--bg-glass);color:var(--text-primary);padding:.95rem 1.35rem;font-family:var(--font-sans);font-size:.92rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(14px);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.btn:hover,.btn:focus-visible{outline:none;transform:translate(4px);border-color:#ffffff57;background:#161f2ed1}.btn-primary{background:linear-gradient(135deg,#ff9430eb,#e25422eb);border-color:#ffc684a6;color:#090c10;font-weight:800;box-shadow:0 10px 30px #ff7a223d}.btn-primary:hover,.btn-primary:focus-visible{background:linear-gradient(135deg,#ffab57,#f06636);border-color:#ffe1be;box-shadow:0 14px 36px #ff873061}.btn-primary .btn-hint{color:#090c10b8;border-color:#090c1047}.btn-compact{justify-content:center;padding:.78rem 1.6rem}.btn-hint{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--text-muted);padding:.18rem .45rem;border:1px solid rgba(255,255,255,.14)}.menu-footer{display:flex;flex-wrap:wrap;gap:.55rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;color:var(--text-muted)}.menu-footer .sep{color:var(--accent-amber)}.modal-backdrop{position:fixed;inset:0;z-index:40;background:#03060bc2;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s ease}.modal-backdrop.active{opacity:1;pointer-events:auto}.modal-card{width:min(600px,92vw);background:var(--bg-glass-strong);border:1px solid var(--border-subtle);box-shadow:0 28px 80px #000000b8;padding:1.75rem 2rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-size:1rem;letter-spacing:.18em;font-weight:700}.btn-icon{background:transparent;border:1px solid var(--border-subtle);color:var(--text-primary);width:32px;height:32px;font-size:1.25rem;cursor:pointer}.modal-body{padding:1.35rem 0;display:flex;flex-direction:column;gap:1.2rem}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.setting-title{font-size:.82rem;font-weight:700;letter-spacing:.12em}.setting-desc{font-size:.75rem;color:var(--text-muted);margin-top:.2rem}.segmented-group{display:inline-flex;border:1px solid var(--border-subtle);background:#00000059}.seg-btn{background:transparent;border:none;color:var(--text-secondary);padding:.48rem .78rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;cursor:pointer}.seg-btn.active{background:var(--accent-amber);color:#080b10;font-weight:700}.toggle-btn{background:#ffffff0f;border:1px solid var(--border-subtle);color:var(--text-secondary);padding:.48rem .95rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;cursor:pointer}.toggle-btn.active{border-color:var(--accent-emerald);color:var(--accent-emerald);background:#38e29d1a}.slider-wrap{display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:.78rem}.slider-wrap input[type=range]{accent-color:var(--accent-amber);width:140px}.modal-footer{padding-top:1rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end}.controls-grid{display:grid;grid-template-columns:1fr;gap:.65rem}.control-item{display:flex;align-items:center;justify-content:space-between;padding:.55rem .8rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);font-size:.84rem}kbd{font-family:var(--font-mono);font-size:.72rem;padding:.2rem .5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:3px;color:#fff}.controls-tip{font-size:.8rem;line-height:1.5;color:var(--text-secondary);padding:.75rem .9rem;border-left:2px solid var(--accent-amber);background:#ff9d3b12}.hud-layer{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:0;transition:opacity .3s ease}.hud-layer.active{opacity:1}.hud-top-left{position:absolute;top:clamp(1rem,2.6vh,1.8rem);left:clamp(1rem,2.6vw,2.2rem);display:flex;flex-direction:column;gap:.6rem;width:min(265px,44vw)}.hud-score-card,.hud-combo-card,.hud-integrity-card,.cluster-card,.hud-cam-pill{background:var(--bg-glass);border:1px solid var(--border-subtle);backdrop-filter:blur(10px)}.hud-score-card{padding:.75rem 1rem;border-left:3px solid var(--accent-amber)}.hud-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.2em;color:var(--text-secondary)}.hud-score-value{font-family:var(--font-mono);font-size:clamp(1.5rem,2.8vw,2.15rem);font-weight:800;letter-spacing:.04em;color:#fff;margin-top:.1rem}.hud-sub-row{margin-top:.5rem;padding-top:.45rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between}.hud-stat{display:flex;flex-direction:column}.hud-mini-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;color:var(--text-muted)}.hud-mini-val{font-family:var(--font-mono);font-size:.82rem;font-weight:600;color:var(--text-primary)}.hud-combo-card{padding:.55rem .9rem;transition:border-color .2s ease,transform .15s ease}.hud-combo-card.hot{border-color:var(--accent-amber);box-shadow:0 0 22px #ff9d3b38}.combo-top{display:flex;justify-content:space-between;align-items:baseline}.combo-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--text-secondary)}.combo-value{font-family:var(--font-mono);font-size:1.05rem;font-weight:800;color:var(--accent-amber)}.combo-bar-track,.integrity-track,.nitro-track,.rpm-bar-track{width:100%;height:4px;background:#ffffff1a;margin-top:.38rem;overflow:hidden}.combo-bar-fill{width:0%;height:100%;background:linear-gradient(90deg,var(--accent-amber),#ffe083);transition:width .08s linear}.hud-integrity-card{padding:.5rem .9rem}.integrity-row{display:flex;justify-content:space-between;align-items:center}.integrity-fill{width:100%;height:100%;background:linear-gradient(90deg,var(--accent-emerald),#8cf7c8);transition:width .18s ease,background .25s ease}.integrity-fill.warn{background:linear-gradient(90deg,#ff9d3b,#ffd166)}.integrity-fill.critical{background:linear-gradient(90deg,#ff2a44,#ff6b6b)}.hud-top-center{position:absolute;top:clamp(1rem,2.8vh,2rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;width:min(520px,86vw)}.event-banner{padding:.65rem 1.4rem;background:#14080cd6;border:1px solid rgba(255,68,85,.68);border-top:2px solid #ff4757;text-align:center;backdrop-filter:blur(10px);opacity:0;transform:translateY(-12px);transition:opacity .25s ease,transform .25s ease}.event-banner.active{opacity:1;transform:translateY(0)}.event-kicker{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.24em;color:#ff6b78}.event-title{font-size:.98rem;font-weight:800;letter-spacing:.15em;color:#fff;margin-top:.18rem}.callout-feed{display:flex;flex-direction:column;align-items:center;gap:.32rem}.callout-chip{padding:.3rem .85rem;background:#090f18c7;border:1px solid rgba(255,179,87,.5);font-family:var(--font-mono);font-size:.76rem;font-weight:700;letter-spacing:.12em;color:#ffd599;animation:calloutPop 1.35s cubic-bezier(.16,1,.3,1) forwards}@keyframes calloutPop{0%{opacity:0;transform:translateY(8px) scale(.94)}15%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(-4px)}to{opacity:0;transform:translateY(-12px)}}.hud-top-right{position:absolute;top:clamp(1rem,2.6vh,1.8rem);right:clamp(1rem,2.6vw,2.2rem);display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}.hud-cam-pill{padding:.4rem .65rem .4rem .85rem;display:flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;pointer-events:auto}.pill-key{color:var(--text-muted)}.hud-pause-btn{pointer-events:auto;background:#ffffff14;border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-mono);font-size:.68rem;padding:.22rem .48rem;cursor:pointer}.hud-telemetry{padding:.3rem .65rem;background:#05080ebf;border:1px solid rgba(255,255,255,.09);font-family:var(--font-mono);font-size:.68rem;color:var(--accent-cyan)}.hidden{display:none!important}.hud-bottom-right{position:absolute;bottom:clamp(1rem,2.8vh,2rem);right:clamp(1rem,2.6vw,2.2rem);width:min(295px,52vw)}.cluster-card{padding:.85rem 1.1rem .95rem;border-right:3px solid var(--accent-cyan)}.rpm-bar-track{height:6px;margin-top:0;margin-bottom:.65rem;background:#ffffff17}.rpm-bar-fill{width:18%;height:100%;background:linear-gradient(90deg,#48c9ff,#ffb142 74%,#ff334b 95%);transition:width .05s linear}.speed-cluster-main{display:flex;align-items:center;justify-content:space-between}.gear-box{display:flex;flex-direction:column;align-items:center;padding:.3rem .65rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.gear-label{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.14em;color:var(--text-muted)}.gear-value{font-family:var(--font-mono);font-size:1.35rem;font-weight:800;color:var(--accent-amber)}.speed-readout{display:flex;align-items:baseline;gap:.42rem}.speed-value{font-family:var(--font-mono);font-size:clamp(2.2rem,4vw,3.1rem);font-weight:800;line-height:1;letter-spacing:-.02em;color:#fff}.speed-unit{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;color:var(--text-secondary)}.nitro-row{margin-top:.72rem}.nitro-header{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.63rem;letter-spacing:.12em;color:var(--text-secondary)}.nitro-header kbd{font-size:.58rem;padding:.08rem .34rem;margin-left:.25rem}.nitro-pct{color:var(--accent-cyan);font-weight:700}.nitro-track{height:6px}.nitro-fill{width:100%;height:100%;background:linear-gradient(90deg,#1e90ff,#5ce1ff,#fff);box-shadow:0 0 12px #48c9ff8c;transition:width .06s linear}.nitro-fill.active{background:linear-gradient(90deg,#5ce1ff,#fff,#a5ecff);box-shadow:0 0 20px #78e1ffe6}#pause-overlay,#gameover-overlay{background:#04070dc7;backdrop-filter:blur(12px)}.pause-card,.gameover-card{width:min(480px,92vw);background:var(--bg-glass-strong);border:1px solid var(--border-subtle);padding:2.1rem 2.2rem;box-shadow:0 28px 80px #000000bf}.pause-title,.gameover-title{font-size:1.9rem;font-weight:800;letter-spacing:.14em;margin-top:.25rem}.pause-actions,.gameover-actions{margin-top:1.6rem;display:flex;flex-direction:column;gap:.68rem}.gameover-kicker{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent-crimson)}.new-best-badge{display:inline-block;margin-top:.55rem;padding:.24rem .65rem;background:#ff9d3b29;border:1px solid var(--accent-amber);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.16em;color:var(--accent-amber)}.gameover-score-hero{margin-top:1.4rem;padding:1rem 1.2rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--accent-amber);display:flex;flex-direction:column}.hero-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--text-secondary)}.hero-value{font-family:var(--font-mono);font-size:2.45rem;font-weight:800;color:#fff;margin-top:.15rem}.gameover-stats-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.go-stat-box{padding:.72rem .9rem;background:#ffffff06;border:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:.2rem}.go-stat-box.highlight{border-color:#ff9d3b6b}.go-stat-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;color:var(--text-muted)}.go-stat-val{font-family:var(--font-mono);font-size:1.08rem;font-weight:700;color:#fff}@media(max-width:680px){.menu-layout{justify-content:center;gap:2rem}.hud-top-left{width:46vw}.hud-bottom-right{width:50vw}}
