:root{--ink: #14181c;--ink-2: #1d2227;--line: rgba(226, 220, 208, .16);--text: #e8e6e0;--muted: #9aa1a4;--gold: #cbb391;--accent: #8fc6d6;--warn: #e8a58e;--radius: 10px}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--ink)}body{font-family:Inter,Helvetica Neue,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;user-select:none}#app{position:relative;width:100vw;height:100vh}#scene{display:block;width:100%;height:100%;outline:none}.hud-brand{position:absolute;top:18px;left:26px;display:flex;align-items:baseline;gap:12px;padding:6px 13px 7px;background:#1014189e;border:1px solid rgba(203,179,145,.3);border-radius:var(--radius)}.hud-brand strong{font-size:19px;font-weight:400;letter-spacing:.14em;color:var(--gold);text-shadow:0 1px 3px rgba(0,0,0,.85),0 2px 18px rgba(0,0,0,.55)}.hud-brand em{font-size:9px;font-style:normal;letter-spacing:.28em;color:#e8e6e0a8}.hud{position:absolute;inset:0;pointer-events:none}.hud-top{position:absolute;top:68px;left:26px;display:flex;gap:10px;flex-wrap:wrap}.hud-chip{min-width:96px;padding:8px 14px 9px;background:#101418a8;border:1px solid rgba(226,220,208,.24);border-radius:var(--radius)}.hud-chip .label,.drift .label,.combo .label{display:block;font-size:9px;letter-spacing:.16em;color:#d6dbdadb;text-transform:uppercase;margin-bottom:3px}.hud-chip strong{font-size:19px;font-weight:500;letter-spacing:.04em;color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.6)}.hud-chip:first-child strong{color:var(--gold)}.hud-bottom{position:absolute;left:26px;bottom:30px;display:flex;align-items:flex-end;gap:16px}.speed-cluster{position:relative;width:148px;height:148px;display:grid;place-items:center;flex:0 0 148px}.speed-ring{position:absolute;inset:0;width:148px;height:148px;transform:rotate(-90deg);pointer-events:none}.speed-ring circle{fill:none;stroke-width:3}.speed-ring .ring-bg{stroke:#e2dcd024}.speed-ring .ring-fg{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:263.9;stroke-dashoffset:263.9;transition:stroke-dashoffset .12s linear}.speed{position:relative;z-index:1;line-height:.86;text-align:center}.speed span{font-size:58px;font-weight:200;letter-spacing:-.045em;color:var(--text);text-shadow:0 2px 24px rgba(0,0,0,.45);font-variant-numeric:tabular-nums}.speed em{display:block;font-size:10px;font-style:normal;letter-spacing:.3em;color:var(--muted);margin-top:7px}.drift,.combo{padding:9px 14px;margin-bottom:14px;min-width:112px;background:#10141899;border:1px solid var(--line);border-radius:var(--radius);opacity:.55;transition:opacity .18s,border-color .18s}.drift.active{opacity:1;border-color:#8fc6d68c}.combo.active{opacity:1;border-color:#cbb39199}.drift strong{font-size:20px;font-weight:400;color:var(--accent);font-variant-numeric:tabular-nums}.combo strong{font-size:20px;font-weight:400;color:var(--gold);font-variant-numeric:tabular-nums}.minimap{position:absolute;right:26px;bottom:48px;width:164px;padding:8px 8px 6px;background:#1014189e;border:1px solid var(--line);border-radius:var(--radius)}.minimap.hidden{display:none}.map-label{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);margin-bottom:4px}#minimap-canvas{display:block}.rescue-badge{position:absolute;left:50%;top:46%;transform:translate(-50%);padding:9px 20px;border:1px solid rgba(232,165,142,.55);background:#201a1ac7;border-radius:999px;font-size:12px;letter-spacing:.08em;color:var(--warn);white-space:nowrap;opacity:0;transition:opacity .22s}.rescue-badge.show{opacity:1}.toast{position:absolute;left:50%;top:27%;transform:translate(-50%,-12px);padding:14px 34px;border:1px solid rgba(203,179,145,.5);background:#14181cb8;border-radius:4px;font-size:22px;font-weight:300;letter-spacing:.16em;color:var(--gold);opacity:0;transition:opacity .35s,transform .35s;text-align:center;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}.toast small{display:block;margin-top:6px;font-size:11px;letter-spacing:.1em;color:var(--muted)}.toast.countdown{font-size:88px;font-weight:200;letter-spacing:.06em;padding:4px 48px;border-color:#cbb39152;background:#14181c4d}.toast.countdown small{font-size:12px}.hud-help{position:absolute;left:26px;bottom:8px;font-size:10px;letter-spacing:.07em;color:#e8e6e09e;text-shadow:0 1px 3px rgba(0,0,0,.8)}.panel{position:absolute;top:22px;right:26px;width:218px;padding:12px 14px 11px;background:#101418b8;border:1px solid var(--line);border-radius:var(--radius);font-size:11px;pointer-events:auto;max-height:calc(100vh - 44px);overflow-y:auto}.panel header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:9px;margin-bottom:8px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.15em;color:var(--muted)}.panel header b{font-size:15px;font-weight:500;letter-spacing:0;color:var(--gold);font-variant-numeric:tabular-nums}.panel-stat{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:4px;font-size:10px;letter-spacing:.06em}.panel-stat b{color:var(--text);font-weight:400;font-variant-numeric:tabular-nums}.panel-toggles{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.panel-toggles label{display:flex;justify-content:space-between;align-items:center;padding:4px 0;cursor:pointer;color:var(--text);font-size:11px}.panel-toggles label span.sub{color:var(--muted);font-size:9px}.panel-toggles input{accent-color:var(--gold);width:13px;height:13px;cursor:pointer}.panel footer{margin-top:9px;padding-top:8px;border-top:1px solid var(--line);font-size:9px;line-height:1.5;color:var(--muted)}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#14181c;z-index:20;transition:opacity .6s}.overlay.hidden{opacity:0;pointer-events:none}.overlay-card{text-align:center;padding:24px}.overlay-card h1{margin:0 0 14px;font-size:30px;font-weight:200;letter-spacing:.2em;color:var(--gold)}.overlay-card p{margin:0;font-size:12px;line-height:1.9;letter-spacing:.08em;color:var(--muted);max-width:560px;white-space:pre-line}.overlay.error .overlay-card h1{color:#d98d80}@media (max-width: 720px){.hud-brand{top:12px;left:12px;padding:4px 9px}.hud-brand strong{font-size:15px}.hud-brand em{display:none}.hud-top{top:52px}.speed-cluster{width:108px;height:108px;flex-basis:108px}.speed-ring{width:108px;height:108px}.speed span{font-size:42px}.hud-help,.minimap,.combo{display:none}.panel{width:180px;top:12px;right:12px}.hud-top{left:12px}.hud-bottom{left:12px;bottom:18px}.hud-chip{min-width:80px;padding:6px 10px}.hud-chip strong{font-size:15px}.toast.countdown{font-size:60px}.rescue-badge{font-size:10px;padding:7px 12px}}
