:root{--bg-top: #8fd7ff;--bg-bottom: #d5f5ff;--panel-a: rgba(8, 26, 41, .78);--panel-b: rgba(3, 13, 22, .88);--panel-border: rgba(255, 255, 255, .12);--text: #f7fbff;--muted: #b8d0dc;--accent: #ffd166;--accent-2: #00d1b2;--warn: #ff7b7b;--good: #7dffb3;--shadow: rgba(0, 0, 0, .35);--touch-size: 64px;--touch-stick-size: 116px;--font-ui: "Avenir Next", "SF Pro Display", "Hiragino Sans", "Yu Gothic", sans-serif;--font-title: "Avenir Next Condensed", "Arial Narrow", "Hiragino Kaku Gothic ProN", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{margin:0;width:100%;height:100%;min-height:100dvh;overflow:hidden;background:linear-gradient(180deg,var(--bg-top),var(--bg-bottom));color:var(--text);font-family:var(--font-ui)}button,select,input{font:inherit}.game-shell{position:relative;width:100%;height:100%;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 10% 12%,rgba(255,241,179,.4),transparent 34%),radial-gradient(circle at 84% 20%,rgba(0,209,178,.2),transparent 40%),linear-gradient(180deg,#93dcff,#c9efff 42%,#d9f6e9)}.game-shell.victory-pulse:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,rgba(255,209,102,.24),transparent 56%);animation:shellPulse .62s ease-out}@keyframes shellPulse{0%{opacity:.9;transform:scale(.96)}to{opacity:0;transform:scale(1.05)}}.game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.ui-layer{position:absolute;inset:0;pointer-events:none}.orientation-gate{position:absolute;inset:0;display:grid;place-items:center;padding:16px;pointer-events:auto;z-index:40;background:linear-gradient(180deg,#020a11d1,#020a11e6),radial-gradient(circle at 50% 38%,rgba(255,209,102,.08),transparent 60%)}.orientation-gate-card{width:min(520px,100%);padding:20px}.orientation-gate-title{margin:8px 0;font-size:clamp(22px,4vw,30px);line-height:1.12}.orientation-gate-body{margin:0 0 12px;color:#d8eaf4;font-size:14px;line-height:1.45}.orientation-gate-hint{margin:10px 0 0}.panel{pointer-events:auto;background:linear-gradient(180deg,var(--panel-a),var(--panel-b));border:1px solid var(--panel-border);border-radius:16px;box-shadow:0 14px 28px var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.center-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:20px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.center-card{width:min(540px,100%);padding:22px;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.eyebrow{margin:0;font-size:11px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-weight:700}.title-mark{margin:8px 0 0;font-size:clamp(34px,5vw,54px);line-height:.92;font-family:var(--font-title);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.title-sub{color:var(--muted);margin:10px 0 16px;font-size:14px;line-height:1.45}.small{font-size:12px;color:var(--muted)}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.btn{border:1px solid rgba(255,255,255,.14);background:#ffffff0e;color:var(--text);border-radius:12px;padding:10px 14px;cursor:pointer;pointer-events:auto;min-height:42px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:background .12s ease,transform .12s ease}.btn:hover{background:#ffffff1f}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,#ffd166f5,#f5ad2df5);color:#172029;font-weight:900;border-color:#fff3}.btn.ghost{background:#ffffff09}.icon-btn{width:40px;min-height:40px;padding:0;display:grid;place-items:center;font-weight:900;border-radius:999px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hidden{display:none!important}.menu-card{width:min(640px,100%)}.menu-hero{margin-bottom:8px}.menu-hero .title-sub{margin:6px 0 10px;letter-spacing:.08em;font-size:11px;text-transform:uppercase}.menu-cta-wrap{display:grid;justify-items:center;gap:6px;margin:0 0 10px}.menu-start-btn{width:min(460px,100%);min-height:62px;border-radius:16px;font-size:clamp(24px,4vw,34px);font-family:var(--font-title);letter-spacing:.04em;box-shadow:0 18px 28px #00000052,0 0 0 1px #fff3 inset}.menu-start-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.menu-start-btn:active{transform:translateY(1px)}.menu-start-btn:disabled{cursor:not-allowed;opacity:.72;filter:saturate(.74);box-shadow:0 10px 18px #00000042,0 0 0 1px #ffffff1f inset}.menu-assist-btn{min-height:36px;padding:7px 12px;border-radius:11px;font-size:12px;letter-spacing:.02em;color:#d4ecf8;border-color:#7dd3fc3d;background:#06162480}.menu-assist-btn:hover{background:#0e2b408f}.menu-substatus{margin:0;text-align:center;color:#c7deea;font-weight:600;letter-spacing:.02em;font-size:11px}.control-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.control-pill{display:flex;align-items:center;justify-content:center;padding:9px 8px;border-radius:12px;background:#ffffff07;border:1px solid rgba(255,255,255,.065);font-size:11px;color:#d4e7f2;text-align:center}.menu-settings{padding:11px;margin-top:0;margin-bottom:0;background:linear-gradient(180deg,#071826d1,#040e18e6);border-color:#7dd3fc1c}.menu-settings-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.menu-inline-btn{min-height:32px;padding:6px 10px;border-radius:10px;font-size:11px}.menu-toggle-btn{width:100%;min-height:38px}.menu-setting-row{display:grid;gap:6px;margin-bottom:8px}.menu-setting-row>span{color:#ecf8ff;font-weight:700}.menu-setting-row:last-child{margin-bottom:0}.menu-select{width:100%;color:#f1f9ff;border:1px solid rgba(125,211,252,.35);border-radius:12px;min-height:42px;padding:9px 32px 9px 12px;background:linear-gradient(45deg,transparent 50%,#9fd9ff 50%) calc(100% - 18px) calc(50% - 1px) / 6px 6px no-repeat,linear-gradient(135deg,#9fd9ff 50%,transparent 50%) calc(100% - 12px) calc(50% - 1px) / 6px 6px no-repeat,linear-gradient(180deg,#061420f2,#040e16fa);-webkit-appearance:none;appearance:none}.menu-select:focus-visible{outline:2px solid rgba(125,211,252,.58);outline-offset:1px}.menu-select option{color:#0b1b29;background:#f2f8fd}input[type=range]{width:100%;accent-color:var(--accent)}.error-card{max-width:560px;color:#ffe4e4}.hud{position:absolute;inset:0;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));pointer-events:none}.hud-focus{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:min(340px,calc(100vw - 130px));padding:12px}.hud-focus-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-bottom:10px}.mini-label{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-weight:700}.focus-rank{font-size:clamp(24px,2.8vw,34px);line-height:1;font-weight:900;letter-spacing:.02em}.lap-stack{text-align:right}.lap-main{font-weight:800;font-size:16px;line-height:1.1}.hud-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-block{border-radius:12px;padding:8px 9px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.stat-value{margin-top:2px;font-weight:800;font-size:14px}.hud-side{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:grid;gap:8px;justify-items:end;pointer-events:auto}.hud-keybinds,.hud-touch-guide{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:min(340px,42vw);padding:10px;pointer-events:none;background:linear-gradient(180deg,#04111c9e,#030c14c7)}.hud-keybinds h3,.hud-touch-guide h3{margin:0 0 7px;font-size:10px;letter-spacing:.18em;color:var(--muted);font-weight:800}.keybind-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px}.keybind-list li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;min-width:0}.kb-key{display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#e9f6ff;font-size:10px;line-height:1;font-weight:800;white-space:nowrap}.kb-desc{font-size:10px;color:#c3d4dd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard{width:210px;padding:8px;background:linear-gradient(180deg,#04111c99,#030c14c7)}.leaderboard h3{margin:0 0 6px;font-size:10px;letter-spacing:.18em;color:var(--muted);font-weight:800}.leaderboard ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}.leaderboard li{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:5px 7px;border-radius:10px;background:#ffffff08;border:1px solid transparent;font-size:11px}.leaderboard li.player{background:#ff375f24;border-color:#ff375f47}.lb-rank{font-weight:800;color:#f0f8ff}.lb-name{display:inline-flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-lap{color:var(--muted)}.car-swatch{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 2px #ffffff0d;flex:0 0 auto}.speed-dial{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(240px,62vw);padding:12px 16px 11px;text-align:center;background:linear-gradient(180deg,#06121ed9,#040c14eb),linear-gradient(90deg,#ffd16626,#00d1b224);overflow:hidden}.speed-dial:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,#ffd166f2,#00d1b2f2);transform-origin:left center;transform:scaleX(var(--speed-fill, 0));box-shadow:0 0 12px #ffd16659}.speed-value{font-family:var(--font-title);font-size:clamp(32px,6vw,46px);line-height:.95;font-weight:900;letter-spacing:.04em;margin-top:2px}.speed-unit{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.overdrive-hud{position:absolute;left:50%;bottom:calc(98px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(186px,52vw);padding:8px 11px 9px;border-radius:12px;background:linear-gradient(180deg,#06121ed6,#030c15eb);border:1px solid rgba(125,211,252,.16);box-shadow:0 10px 20px #00000042;z-index:12}.overdrive-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.overdrive-head #overdriveState{font-size:11px;letter-spacing:.08em;font-weight:800;color:#cde5f2}.overdrive-meter{position:relative;margin-top:7px;height:6px;border-radius:999px;overflow:hidden;background:#ffffff1f}.overdrive-meter>span{position:absolute;inset:0;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#4be0ff,#36c9ff);box-shadow:0 0 10px #36c9ff66}.overdrive-hud[data-state=active]{border-color:#00e0ff75;box-shadow:0 12px 22px #0000004d,0 0 26px #36c9ff38}.overdrive-hud[data-state=active] #overdriveState{color:#7dedff}.overdrive-hud[data-state=overheated]{border-color:#ff7b7b6b}.overdrive-hud[data-state=overheated] #overdriveState{color:#ff9b9b}.overdrive-hud[data-state=overheated] .overdrive-meter>span{background:linear-gradient(90deg,#ff8b8b,#ff5e5e);box-shadow:0 0 10px #ff5e5e5c}.hud.is-fast .speed-dial{border-color:#ffd16659;box-shadow:0 14px 26px #00000059,0 0 24px #ffd1661f}.hud.is-drifting .speed-dial{border-color:#00d1b26b}.hud.is-boosting .speed-dial{border-color:#ffd16673;box-shadow:0 14px 26px #00000059,0 0 28px #ffd16638,0 0 44px #00d1b224}.combo-badge{position:absolute;left:50%;top:calc(78px + env(safe-area-inset-top));transform:translate(-50%);min-width:258px;padding:12px 16px 13px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,#06121edb,#040c14eb);box-shadow:0 10px 20px #00000047;pointer-events:none;z-index:14}.combo-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;letter-spacing:.11em;text-transform:uppercase;color:#d8ebf4;font-weight:800}.combo-head span:last-child{font-size:30px;line-height:1;letter-spacing:.02em;color:#fff}.combo-meter{position:relative;margin-top:8px;height:7px;border-radius:999px;background:#ffffff1f;overflow:hidden}.combo-meter>span{position:absolute;inset:0;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#75f6d1,#36c9ff);box-shadow:0 0 10px #36c9ff73}.combo-badge[data-source=drift]{border-color:#3ee3b873}.combo-badge[data-source=drift] .combo-meter>span{background:linear-gradient(90deg,#7dffb3,#00d1b2)}.combo-badge[data-source=straight]{border-color:#ffd16680}.combo-badge[data-source=straight] .combo-meter>span{background:linear-gradient(90deg,#ffd166,#ff9f43)}.drift-badge{position:absolute;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translate(-50%);padding:6px 11px;border-radius:999px;font-size:11px;letter-spacing:.18em;font-weight:800;color:#06222a;background:linear-gradient(180deg,#7dffb3f2,#00d1b2f0);box-shadow:0 10px 22px #00d1b238;pointer-events:none;animation:driftPulse .38s ease-in-out infinite alternate}.hud.is-boosting .drift-badge{color:#2f1602;background:linear-gradient(180deg,#ffe494f7,#ffa149f2);box-shadow:0 12px 24px #ffa1493d}@keyframes driftPulse{0%{transform:translate(-50%) scale(.98)}to{transform:translate(-50%) scale(1.03)}}.drift-lines{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:1;transition:opacity .14s ease}.drift-lines:before,.drift-lines:after{content:"";position:absolute;inset:-10%;opacity:.95;transform:scale(var(--drift-lines-scale, 1));animation:driftLinesSpin var(--drift-lines-spin-ms, .48s) linear infinite}.drift-lines:before{background:repeating-conic-gradient(from 0deg,#ffffff6b 0deg 1.8deg,#fff0 2deg 9deg);-webkit-mask-image:radial-gradient(circle at center,transparent 0 29%,rgba(0,0,0,1) 50%,transparent 85%);mask-image:radial-gradient(circle at center,transparent 0 29%,rgba(0,0,0,1) 50%,transparent 85%)}.drift-lines:after{background:repeating-conic-gradient(from 12deg,#00d1b23d 0deg 1.2deg,#00d1b200 1.5deg 12deg);animation-direction:reverse;filter:blur(.5px);-webkit-mask-image:radial-gradient(circle at center,transparent 0 35%,rgba(0,0,0,1) 58%,transparent 92%);mask-image:radial-gradient(circle at center,transparent 0 35%,rgba(0,0,0,1) 58%,transparent 92%)}.drift-lines.active{opacity:var(--drift-lines-opacity, .16)}.hud.is-boosting .drift-lines:after{background:repeating-conic-gradient(from 8deg,#ffd16659 0deg 1.35deg,#ffd16600 1.6deg 10deg)}@keyframes driftLinesSpin{0%{transform:scale(var(--drift-lines-scale, 1)) rotate(0)}to{transform:scale(var(--drift-lines-scale, 1)) rotate(360deg)}}.countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-family:var(--font-title);font-size:clamp(56px,16vw,136px);line-height:.9;font-weight:900;color:#fff5d9;text-shadow:0 12px 28px rgba(0,0,0,.45);opacity:0;transition:opacity .12s ease}.hud-focus,.hud-side,.hud-keybinds,.hud-touch-guide,.speed-dial,.drift-badge,.message-banner{z-index:4}.countdown{z-index:5}.countdown.visible{opacity:1}.countdown.pulse{animation:countPulse .24s ease-out}@keyframes countPulse{0%{transform:scale(.84);opacity:.55}to{transform:scale(1);opacity:1}}.message-banner{position:absolute;left:50%;top:calc(16px + env(safe-area-inset-top));transform:translate(-50%);max-width:min(70vw,620px);padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#030e16cc;color:#d8ebf4;font-size:12px;font-weight:700;letter-spacing:.02em;text-align:center;pointer-events:none;box-shadow:0 10px 24px #00000038}.message-banner[data-tone=hype]{color:#10222e;background:linear-gradient(180deg,#ffd166f5,#ffaa4af0);border-color:#ffe1a173}.message-banner[data-tone=warn]{color:#ffe7e7;background:linear-gradient(180deg,#6e1624f0,#400a11eb);border-color:#ff7b7b59}.message-banner[data-tone=result]{color:#08202f;background:linear-gradient(180deg,#7dffb3f2,#00d1b2f2);border-color:#7dffb366}.hud-flash{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .12s ease}.hud-flash.active{opacity:1}.hud-flash[data-kind=go]{background:radial-gradient(circle at center,rgba(255,209,102,.22),transparent 52%)}.hud-flash[data-kind=lap]{background:radial-gradient(circle at center,rgba(125,255,179,.18),transparent 54%)}.hud-flash[data-kind=hit]{background:radial-gradient(circle at center,rgba(255,123,123,.15),transparent 50%)}.hud-flash[data-kind=finish]{background:radial-gradient(circle at center,rgba(255,209,102,.26),rgba(255,209,102,.06) 35%,transparent 60%)}.hud-flash[data-kind=overtake]{background:radial-gradient(circle at center,rgba(0,209,178,.16),transparent 55%)}.hud-flash[data-kind=warn]{background:radial-gradient(circle at center,rgba(255,123,123,.13),transparent 55%)}.touch-controls{position:absolute;inset:0;pointer-events:none;z-index:12;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-cluster{position:absolute;bottom:calc(12px + env(safe-area-inset-bottom));display:grid;gap:8px;pointer-events:auto;z-index:13}.touch-left{left:calc(12px + env(safe-area-inset-left));grid-template-columns:1fr;justify-items:start}.touch-right{right:calc(12px + env(safe-area-inset-right));grid-template-columns:repeat(2,var(--touch-size));grid-template-areas:"go brake" "drift drift" ". boost";justify-items:end;align-content:end}.touch-joystick{width:var(--touch-stick-size);height:var(--touch-stick-size);position:relative;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.08),transparent 52%),radial-gradient(circle at 50% 58%,#03101ba6,#020a11cc);box-shadow:0 12px 22px #00000042,inset 0 0 0 1px #ffffff08;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.touch-joystick:before{content:"";position:absolute;inset:16%;border-radius:999px;border:1px solid rgba(255,255,255,.06)}.touch-joystick-ring{position:absolute;inset:10%;border-radius:999px;border:1px dashed rgba(0,209,178,.28);opacity:.75;pointer-events:none}.touch-joystick-thumb{width:calc(var(--touch-stick-size) * .38);height:calc(var(--touch-stick-size) * .38);border-radius:999px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.22),transparent 58%),linear-gradient(180deg,#071826f2,#040e17f2);box-shadow:0 8px 16px #00000047,inset 0 0 0 1px #ffffff0a;transition:transform 90ms ease-out,background-color 90ms ease-out;will-change:transform;pointer-events:none}.touch-joystick.active{border-color:#00d1b257;box-shadow:0 14px 26px #00000047,0 0 24px #00d1b214,inset 0 0 0 1px #ffffff08}.touch-joystick.active .touch-joystick-ring{border-color:#00d1b26b}.touch-joystick-thumb.active{transition:none;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.28),transparent 58%),linear-gradient(180deg,#0d2c3ffa,#05131ffa)}.touch-btn{width:var(--touch-size);height:var(--touch-size);border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#020d158c;color:var(--text);display:grid;place-items:center;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;box-shadow:0 10px 22px #00000042;font-size:11px;font-weight:900;letter-spacing:.02em;line-height:1;white-space:nowrap;writing-mode:horizontal-tb;text-orientation:mixed;text-transform:none;padding:0 6px}.touch-btn.large{grid-column:span 2;width:calc(var(--touch-size) * 2 + 8px)}.touch-btn.small{width:calc(var(--touch-size) * 1.38);height:calc(var(--touch-size) * .62);font-size:10px;border-radius:12px}.touch-btn.touch-main{grid-area:go;background:linear-gradient(180deg,#00d1b247,#020d159e),#020d158c}.touch-btn.touch-secondary{grid-area:brake}.touch-btn.touch-drift{grid-area:drift}.touch-btn.touch-boost{grid-area:boost;justify-self:end;border-color:#7dd3fc57;background:linear-gradient(180deg,#3bd7ff47,#020d159e),#020d158c}.touch-btn.active{background:#00d1b242;border-color:#00d1b273}.touch-btn.warn.active{background:#ff7b7b38;border-color:#ff7b7b6b}.mobile-banner,.portrait-overlay{position:absolute;left:50%;transform:translate(-50%);pointer-events:none;background:#020d15c7;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 10px;font-size:12px;color:var(--muted)}.mobile-banner{bottom:calc(154px + env(safe-area-inset-bottom))}.portrait-overlay{top:50%;transform:translate(-50%,-50%);display:none;max-width:80vw;text-align:center}.game-shell.is-portrait .portrait-overlay{display:none}.result-verdict{margin:0 0 8px;font-size:14px;line-height:1.45;color:#e9f6ff}.center-overlay[data-rank="1"] .result-verdict,.center-overlay[data-rank="2"] .result-verdict{color:#ffedbf}.result-list{margin:14px 0;padding:0;list-style:none;display:grid;gap:8px}.result-item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:#ffffff0a;border:1px solid transparent}.result-item.player{border-color:#ff375f47;background:#ff375f1f}@media(max-width:920px){:root{--touch-size: 58px}.control-pills{grid-template-columns:1fr}.hud-focus{width:min(330px,calc(100vw - 24px));max-width:calc(100vw - 24px)}.leaderboard{width:170px}.leaderboard li{grid-template-columns:16px 1fr auto;gap:5px;font-size:10px}.combo-badge{min-width:232px;padding:10px 13px 11px}.combo-head{font-size:12px}.combo-head span:last-child{font-size:26px}.combo-meter{height:6px}.message-banner{max-width:min(88vw,620px);top:calc(110px + env(safe-area-inset-top))}.hud-keybinds,.hud-touch-guide{width:min(312px,46vw)}.keybind-list{grid-template-columns:1fr}}@media(pointer:coarse){:root{--touch-size: 74px;--touch-stick-size: 122px}.center-overlay{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.center-card{max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.btn{min-height:46px;padding:10px 13px}.hud-focus{width:min(336px,calc(100vw - 22px));max-width:calc(100vw - 24px);top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));padding:10px}.hud-side{top:max(10px,env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));bottom:auto;gap:0}.hud.touch-layout .hud-keybinds,.leaderboard{display:none}.speed-dial{width:min(228px,58vw);bottom:calc(166px + env(safe-area-inset-bottom));z-index:11;padding:10px 13px 9px}.drift-badge{bottom:calc(236px + env(safe-area-inset-bottom));z-index:11}.message-banner{top:calc(92px + env(safe-area-inset-top));max-width:min(90vw,680px);z-index:14;padding:7px 11px}.drift-lines{z-index:3}.touch-cluster{bottom:calc(10px + env(safe-area-inset-bottom));gap:8px}.touch-btn{border-radius:16px;font-size:12px}.touch-btn.large{width:calc(var(--touch-size) * 2 + 10px)}.mobile-banner{bottom:calc(148px + env(safe-area-inset-bottom));max-width:min(88vw,520px);font-size:11px;padding:7px 9px}.menu-card{width:min(680px,100%);display:flex;flex-direction:column}.menu-cta-wrap{order:2;position:sticky;bottom:-10px;margin:2px -14px 0;padding:10px 14px 12px;background:linear-gradient(180deg,#030d1600,#030d16b8 32%,#030d16e6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.menu-assist-btn{min-height:42px;width:min(320px,100%)}.control-pills{order:3}.menu-settings{order:4;margin-bottom:8px}.hud.touch-layout .hud-focus{width:min(262px,calc(100vw - 170px));max-width:calc(100vw - 170px);padding:9px 10px}.hud.touch-layout .hud-focus-top{margin-bottom:6px;gap:8px}.hud.touch-layout .hud-focus-grid{gap:6px}.hud.touch-layout .stat-block{padding:6px 7px;border-radius:10px}.hud.touch-layout .stat-value{font-size:12px}.hud.touch-layout .lap-main{font-size:13px}.hud.touch-layout .focus-rank{font-size:20px}.hud.touch-layout .hud-touch-guide{top:calc(96px + env(safe-area-inset-top));bottom:auto;width:min(262px,calc(100vw - 170px));max-width:calc(100vw - 170px)}.hud.touch-layout .speed-dial{left:auto;right:calc(10px + env(safe-area-inset-right));top:calc(58px + env(safe-area-inset-top));bottom:auto;transform:none;width:min(132px,34vw);padding:7px 10px;border-radius:12px;z-index:14}.hud.touch-layout .overdrive-hud{left:auto;right:calc(10px + env(safe-area-inset-right));top:calc(118px + env(safe-area-inset-top));bottom:auto;transform:none;width:min(132px,34vw);padding:6px 8px 7px;border-radius:11px;z-index:14}.hud.touch-layout .overdrive-head #overdriveState{font-size:9px;letter-spacing:.06em}.hud.touch-layout .speed-value{font-size:clamp(24px,4.4vw,30px);margin-top:0;letter-spacing:.02em}.hud.touch-layout .speed-unit{font-size:9px;letter-spacing:.12em}.hud.touch-layout .drift-badge{left:auto;right:calc(12px + env(safe-area-inset-right));top:calc(168px + env(safe-area-inset-top));bottom:auto;transform:none;padding:4px 8px;font-size:10px;z-index:14}.hud.touch-layout .combo-badge{left:auto;right:calc(10px + env(safe-area-inset-right));transform:none;top:calc(208px + env(safe-area-inset-top));min-width:154px;padding:7px 10px 8px}.hud.touch-layout .combo-head{font-size:11px;letter-spacing:.1em}.hud.touch-layout .combo-head span:last-child{font-size:18px}.hud.touch-layout .message-banner{top:calc(86px + env(safe-area-inset-top));max-width:min(52vw,360px);padding:6px 10px}.hud.touch-layout .touch-cluster{bottom:calc(8px + env(safe-area-inset-bottom));gap:6px}.hud.touch-layout .touch-left{left:calc(8px + env(safe-area-inset-left))}.hud.touch-layout .touch-right{right:calc(8px + env(safe-area-inset-right));gap:6px}.hud.touch-layout .touch-btn{border-radius:14px;font-size:11px;padding:0 5px}.hud.touch-layout .touch-btn.small{width:calc(var(--touch-size) * 1.18);height:calc(var(--touch-size) * .52);font-size:9px}.hud.touch-layout .mobile-banner{bottom:calc(132px + env(safe-area-inset-bottom));max-width:min(62vw,360px)}.center-overlay .center-card{width:min(92vw,560px)}}@media(max-width:720px){.hud-focus{width:calc(100vw - 24px)}.hud-focus-grid{grid-template-columns:1fr 1fr}.hud-side{top:auto;bottom:calc(176px + env(safe-area-inset-bottom));right:calc(12px + env(safe-area-inset-right))}.leaderboard{width:144px;padding:6px}.leaderboard h3{margin-bottom:4px}.message-banner{top:calc(92px + env(safe-area-inset-top));font-size:11px}.speed-dial{width:min(208px,60vw);bottom:calc(164px + env(safe-area-inset-bottom))}.overdrive-hud{width:min(168px,52vw);bottom:calc(238px + env(safe-area-inset-bottom))}.hud-keybinds,.hud-touch-guide{width:min(280px,48vw)}}@media(max-width:540px){.hud-focus{padding:10px}.focus-rank{font-size:22px}.lap-main{font-size:14px}.stat-value{font-size:13px}.leaderboard,.hud-keybinds{display:none}.message-banner{top:calc(88px + env(safe-area-inset-top));padding:7px 11px}.control-pills{gap:6px}.control-pill{font-size:11px;padding:9px 10px}}@media(pointer:coarse)and (max-height:620px){:root{--touch-stick-size: 112px}.center-overlay{place-items:start center;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.center-card{width:min(100%,760px);padding:14px;border-radius:14px;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.title-mark{font-size:clamp(26px,7vw,40px)}.title-sub{margin:6px 0 10px;font-size:12px}.menu-hero{margin-bottom:10px}.control-pills{gap:6px;margin-bottom:8px}.control-pill{padding:8px 10px;font-size:11px}.menu-settings{padding:10px;margin-bottom:10px}.menu-setting-row{gap:4px;margin-bottom:6px}.menu-substatus{margin:0 0 6px;font-size:11px}.menu-cta-wrap{margin:0 -14px;padding:8px 14px 10px;bottom:-14px}.result-list{margin:10px 0;gap:6px;max-height:min(34dvh,220px);overflow-y:auto;padding-right:2px}.result-item{padding:7px 8px;gap:8px}.hud.touch-layout .speed-dial{width:min(124px,32vw);top:calc(54px + env(safe-area-inset-top));padding:6px 9px}.hud.touch-layout .overdrive-hud{width:min(124px,32vw);top:calc(98px + env(safe-area-inset-top));padding:5px 8px 6px}.hud.touch-layout .drift-badge{top:calc(144px + env(safe-area-inset-top))}.hud.touch-layout .message-banner{top:calc(76px + env(safe-area-inset-top));max-width:min(48vw,320px)}}@media(pointer:coarse)and (max-height:520px){:root{--touch-size: 62px;--touch-stick-size: 102px}.hud-focus{width:min(286px,calc(100vw - 18px));max-width:calc(100vw - 18px);top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));padding:8px}.hud-focus-top{gap:8px;margin-bottom:6px}.mini-label{font-size:9px}.focus-rank{font-size:20px}.lap-main{font-size:13px}.hud-focus-grid{gap:6px}.stat-block{padding:6px 7px;border-radius:10px}.stat-value{font-size:12px}.message-banner{top:calc(74px + env(safe-area-inset-top));max-width:min(86vw,620px);font-size:10px;padding:6px 9px}.speed-dial{width:min(186px,48vw);bottom:calc(136px + env(safe-area-inset-bottom));padding:8px 10px;border-radius:12px}.overdrive-hud{width:min(158px,44vw);bottom:calc(204px + env(safe-area-inset-bottom));padding:6px 8px 7px}.speed-value{font-size:clamp(28px,4.8vw,34px);margin-top:0}.speed-unit{font-size:10px}.drift-badge{bottom:calc(196px + env(safe-area-inset-bottom));padding:4px 9px;font-size:10px}.touch-cluster{bottom:calc(8px + env(safe-area-inset-bottom));gap:6px}.touch-left{left:calc(8px + env(safe-area-inset-left))}.touch-right{right:calc(8px + env(safe-area-inset-right))}.touch-btn{border-radius:14px;font-size:10px;padding:0 4px;box-shadow:0 7px 16px #0000003d}.touch-btn.large{width:calc(var(--touch-size) * 2 + 6px)}.mobile-banner{bottom:calc(124px + env(safe-area-inset-bottom));font-size:10px;padding:6px 8px}.hud.touch-layout .hud-focus{width:min(238px,calc(100vw - 150px));max-width:calc(100vw - 150px);padding:8px}.hud.touch-layout .speed-dial{width:min(112px,31vw);top:calc(50px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));padding:5px 8px 6px}.hud.touch-layout .overdrive-hud{width:min(112px,31vw);top:calc(88px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));padding:4px 7px 5px}.hud.touch-layout .speed-value{font-size:clamp(20px,4vw,26px)}.hud.touch-layout .speed-unit{font-size:8px}.hud.touch-layout .drift-badge{top:calc(134px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));font-size:9px;padding:3px 7px}.hud.touch-layout .combo-badge{top:calc(172px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));min-width:132px;padding:6px 8px 7px}.hud.touch-layout .message-banner{top:calc(66px + env(safe-area-inset-top));max-width:min(46vw,300px);font-size:10px;padding:5px 8px}.hud.touch-layout .touch-btn{font-size:10px}.hud.touch-layout .touch-btn.small{width:calc(var(--touch-size) * 1.08);height:calc(var(--touch-size) * .5);font-size:8px}.hud.touch-layout .mobile-banner{bottom:calc(112px + env(safe-area-inset-bottom));max-width:min(56vw,300px)}}@media(pointer:coarse)and (max-height:430px){:root{--touch-stick-size: 92px}.hud-focus-grid{display:none}.hud-focus-top{margin-bottom:0}.message-banner{top:calc(52px + env(safe-area-inset-top))}.mobile-banner,.menu-settings{display:none}.hud.touch-layout .hud-focus{width:min(214px,calc(100vw - 138px));max-width:calc(100vw - 138px);padding:7px}.hud.touch-layout .speed-dial{width:min(102px,29vw);top:calc(46px + env(safe-area-inset-top))}.hud.touch-layout .overdrive-hud{width:min(102px,29vw);top:calc(80px + env(safe-area-inset-top))}.hud.touch-layout .speed-value{font-size:clamp(18px,3.8vw,24px)}.hud.touch-layout .drift-badge{top:calc(118px + env(safe-area-inset-top));font-size:8px}.hud.touch-layout .combo-badge{top:calc(152px + env(safe-area-inset-top));min-width:120px}.hud.touch-layout .combo-head{font-size:9px}.hud.touch-layout .combo-head span:last-child{font-size:14px}}@media(pointer:coarse)and (orientation:portrait){.menu-cta-wrap{gap:8px}.menu-assist-btn{width:min(320px,calc(100vw - 42px))}.touch-controls,.mobile-banner{display:none}.speed-dial,.overdrive-hud,.drift-badge{opacity:.35}}@media(min-width:901px)and (pointer:fine){.touch-controls,.mobile-banner,.portrait-overlay{display:none}}
