*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:#05060c;font-family:Segoe UI,Microsoft YaHei,Arial,sans-serif;touch-action:none;position:fixed;overscroll-behavior:none;-webkit-text-size-adjust:100%}#game{position:fixed;inset:0}canvas{display:block}#rotate{position:fixed;inset:0;z-index:200;background:#05060c;display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:#b9ff00;font-size:17px;text-align:center;letter-spacing:2px;line-height:1.8}#rotate .ph{width:52px;height:88px;border:4px solid #b9ff00;border-radius:10px;position:relative;box-shadow:0 0 24px #b9ff0066;animation:rotph 1.8s ease-in-out infinite}#rotate .ph:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:14px;height:3px;border-radius:2px;background:#b9ff00}@keyframes rotph{0%,15%{transform:rotate(0)}55%,to{transform:rotate(90deg)}}#rotate .en{font-size:11px;color:#8fa0b8;letter-spacing:3px}@media(orientation:portrait){#rotate{display:flex}}@keyframes panelInL{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:none}}@keyframes panelInR{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}@keyframes panelInUp{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}@keyframes titleDrop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes neonFlicker{0%,to{text-shadow:0 0 10px rgba(185,255,0,.95),0 0 26px rgba(185,255,0,.55),0 0 60px rgba(185,255,0,.3)}52%{text-shadow:0 0 6px rgba(185,255,0,.7),0 0 16px rgba(185,255,0,.4),0 0 40px rgba(185,255,0,.2)}56%{text-shadow:0 0 12px rgba(185,255,0,1),0 0 30px rgba(185,255,0,.6),0 0 70px rgba(185,255,0,.35)}}#menu{position:fixed;inset:0;z-index:20;pointer-events:none;background:linear-gradient(180deg,#04050a80,#04050a00 26% 50%,#04050ae0)}#title{position:absolute;top:10px;left:calc(16px + env(safe-area-inset-left));animation:titleDrop .5s ease-out both}#title .sub{font-size:8px;letter-spacing:3px;color:#8892a8;font-weight:700}#title h1{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:32px;line-height:1.05;color:#fff;letter-spacing:1px;text-shadow:0 0 22px rgba(185,255,0,.35),0 2px 0 rgba(0,0,0,.5)}#title h1 span{color:#b9ff00;animation:neonFlicker 3.2s linear infinite}#title .en{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:10px;color:#ff8a00;letter-spacing:4px;margin-top:2px;text-shadow:0 0 8px rgba(255,138,0,.8),0 0 22px rgba(255,138,0,.4)}#carPanel{position:absolute;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:298px;background:linear-gradient(100deg,#0a0c14ed,#0e121ee0);border:1px solid rgba(185,255,0,.35);border-left:4px solid #b9ff00;padding:10px 12px;pointer-events:auto;clip-path:polygon(0 0,100% 0,97% 100%,0 100%);animation:panelInL .45s ease-out both}#carHead{display:flex;align-items:center;justify-content:space-between}.arrowBtn{width:46px;height:46px;background:#b9ff0014;border:1px solid rgba(185,255,0,.4);border-radius:8px;color:#b9ff00;font-size:24px;cursor:pointer;transition:.15s;font-family:Arial;flex:none;text-shadow:0 0 8px rgba(185,255,0,.6)}.arrowBtn:active{background:#b9ff0047;transform:scale(.92)}#carNameBox{text-align:center;flex:1;padding:0 5px}#carName{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:15px;color:#fff}#carNameEn{font-size:8px;color:#8892a8;letter-spacing:1px;font-weight:700}.statRow{display:flex;align-items:center;margin:3px 0}.statRow .lbl{width:62px;font-size:8px;color:#aab4c8;letter-spacing:1px;font-weight:700}.statRow .bar{flex:1;height:7px;background:#1a2030;transform:skew(-20deg);overflow:hidden}.statRow .fill{height:100%;background:linear-gradient(90deg,#5f8f00,#b9ff00);box-shadow:0 0 6px #b9ff00b3;transition:width .3s ease}#carDesc{margin-top:5px;font-size:8px;color:#77839a}#selPanel{position:absolute;right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));width:302px;pointer-events:auto;max-height:84vh;overflow-y:auto;touch-action:pan-y;animation:panelInR .45s .06s ease-out both}.selLabel{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:11px;color:#b9ff00;letter-spacing:2px;margin:6px 0 4px;text-shadow:0 0 6px rgba(185,255,0,.6)}#diffRow{display:flex;gap:5px}.diffBtn{flex:1;min-height:46px;padding:7px 1px;cursor:pointer;text-align:center;background:#0c0f1ae0;border:1px solid #2a3145;color:#8fa0b8;transition:.12s;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.diffBtn .dn{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:13px;display:block}.diffBtn .de{font-size:7px;letter-spacing:1px}.diffBtn.sel{background:linear-gradient(120deg,#b9ff004d,#b9ff001a);border-color:#b9ff00;color:#b9ff00;box-shadow:0 0 14px #b9ff0080,inset 0 0 10px #b9ff0026}.diffBtn:active{transform:scale(.95)}#trackGrid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.trackBtn{min-height:46px;padding:6px 7px;cursor:pointer;background:#0c0f1ae0;border:1px solid #2a3145;color:#c6d2e8;transition:.12s;display:flex;align-items:center;gap:6px;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}.trackBtn.sel{background:linear-gradient(120deg,#b9ff0042,#b9ff0014);border-color:#b9ff00;box-shadow:0 0 12px #b9ff0073,inset 0 0 8px #b9ff001f}.trackBtn:active{transform:scale(.96)}.trackBtn .ti{font-size:13px;flex:none}.trackBtn .tn{font-size:10px;font-weight:700;color:#fff}.trackBtn.sel .tn{color:#b9ff00}.trackBtn .tc{font-size:7px;color:#77839a;letter-spacing:0}.trackBtn .tshape{flex:none;background:#060910b3;border-radius:3px}.trackBtn .ts{font-size:8px;color:#ffd24a;letter-spacing:1px;line-height:1.2}@keyframes startPulse{0%,to{box-shadow:0 0 18px #b9ff0073}50%{box-shadow:0 0 36px #b9ff00e6}}#startBtn{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);pointer-events:auto;cursor:pointer;font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:18px;letter-spacing:2px;color:#0a0c12;background:linear-gradient(90deg,#b9ff00,#8fd400);border:none;padding:13px 32px;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);box-shadow:0 0 24px #b9ff0080;z-index:21;animation:panelInUp .5s .1s ease-out both,startPulse 1.8s .7s ease-in-out infinite}#startBtn:active{transform:translate(-50%) scale(1.06)}#hud{position:fixed;inset:0;z-index:10;pointer-events:none;display:none}#speedo{position:absolute;right:calc(4px + env(safe-area-inset-right));bottom:158px;transform:scale(.5);transform-origin:bottom right}#minimap{position:absolute;left:calc(10px + env(safe-area-inset-left));top:56px;opacity:.9;transform:scale(.66);transform-origin:top left}#posBox{position:absolute;top:8px;left:calc(14px + env(safe-area-inset-left));font-family:Arial Black,Impact,sans-serif;font-style:italic}#posBig{font-size:34px;color:#fff;line-height:1;text-shadow:0 0 14px rgba(185,255,0,.6),0 2px 0 rgba(0,0,0,.55);display:inline-block}#posBig small{font-size:13px;color:#8fa0b8}#lapTxt{font-size:12px;color:#b9ff00;letter-spacing:1px;text-shadow:0 0 8px rgba(185,255,0,.7);display:inline-block;margin-left:8px}#diffTxt{font-size:8px;color:#8fa0b8;letter-spacing:1px}#timeBox{position:absolute;top:8px;right:calc(14px + env(safe-area-inset-right));text-align:right;font-family:Consolas,monospace;background:#06080e6b;padding:4px 8px;border-radius:6px;border:1px solid rgba(185,255,0,.18)}#timeBox .row{font-size:9px;color:#aab4c8;letter-spacing:0;margin-bottom:1px}#timeBox .row b{color:#fff;font-size:12px}#timeBox .row .rec{color:#ff8a00}#msg{position:absolute;top:26%;left:0;width:100%;text-align:center;font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:54px;color:#b9ff00;text-shadow:0 0 26px rgba(185,255,0,.8),0 3px 0 rgba(0,0,0,.6);opacity:0;letter-spacing:3px;transition:opacity .22s}#submsg{position:absolute;top:17%;left:0;width:100%;text-align:center;font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:18px;color:#ff8a00;text-shadow:0 0 14px rgba(255,138,0,.8);opacity:0;transition:opacity .22s}#wrongway{position:absolute;top:42%;left:0;width:100%;text-align:center;display:none;font-family:Arial Black,Impact,sans-serif;font-size:22px;color:#ff2a2a;text-shadow:0 0 16px rgba(255,0,0,.8);animation:wwBlink .5s steps(2) infinite}@keyframes wwBlink{50%{opacity:.25}}#flash{position:fixed;inset:0;pointer-events:none;z-index:14;background:#fff;opacity:0;transition:opacity .5s ease-out}#cockpit{position:absolute;inset:0;display:none;overflow:hidden}#dash{position:absolute;left:0;right:0;bottom:0;height:21%;background:linear-gradient(180deg,#08090e00,#0d0e14f7 30%,#0d0e14)}#dash:before{content:"";position:absolute;top:0;left:-5%;width:110%;height:26px;background:linear-gradient(180deg,#232633,#0d0e14);border-radius:50% 50% 0 0/100% 100% 0 0}#dash:after{content:"";position:absolute;top:24px;left:0;width:100%;height:2px;background:#ffffff0d}#pillarL,#pillarR{position:absolute;top:0;width:11%;height:105%;background:linear-gradient(90deg,#07080d,#07080d00)}#pillarL{left:-5%;transform:skew(14deg)}#pillarR{right:-5%;transform:skew(-14deg);background:linear-gradient(-90deg,#07080d,#07080d00)}#roof{position:absolute;top:-2%;left:0;right:0;height:7%;background:linear-gradient(180deg,#07080d 40%,#07080d00)}#mirror{position:absolute;top:6px;left:50%;transform:translate(-50%);width:118px;height:28px;background:linear-gradient(180deg,#2c3446,#0c1018 60%,#080b12);border:3px solid #05070c;border-radius:5px;box-shadow:0 3px 10px #000000a6}#cluster{position:absolute;left:50%;bottom:3%;transform:translate(-50%);width:min(48vw,400px)}#column{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:172px;height:13%;background:linear-gradient(180deg,#181b26,#0a0b10);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.paddle{position:absolute;width:24px;height:54px;border-radius:9px;background:linear-gradient(90deg,#242835,#12141c);border:2px solid #0a0b10;bottom:110px}#padL{left:calc(50% - 120px)}#padR{right:calc(50% - 120px)}#wheelWrap{position:absolute;bottom:-56px;left:50%;transform:translate(-50%);width:254px;height:254px}#wheelSvg{width:100%;height:100%;transition:transform .06s linear;filter:drop-shadow(0 6px 14px rgba(0,0,0,.85))}#touchUI{position:absolute;inset:0;pointer-events:none;z-index:12}.tbtn{position:absolute;border-radius:50%;background:#0a0e186b;border:2px solid rgba(185,255,0,.55);color:#b9ff00;font-family:Arial Black,Impact,sans-serif;font-style:italic;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;text-shadow:0 0 8px rgba(0,0,0,.8);box-shadow:0 0 12px #00000080;transition:transform .08s,background .1s;touch-action:none}.tbtn .big{font-size:26px;line-height:1}.tbtn .sm{font-size:9px;letter-spacing:1px;margin-top:2px}.tbtn.on{background:#b9ff0052;border-color:#b9ff00;transform:scale(1.13)}#btnL{left:calc(22px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:88px;height:88px}#btnR{left:calc(118px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:88px;height:88px}#btnGas{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:98px;height:98px;border-color:#b9ff00b3}#btnBrake{right:calc(128px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:76px;height:76px;border-color:#ff503cb3;color:#ff6a55}#btnBrake.on{background:#ff503c4d;border-color:#ff6a55}#btnNos{left:calc(56px + env(safe-area-inset-left));bottom:calc(116px + env(safe-area-inset-bottom));width:58px;height:58px;border-color:#37e0ffbf;color:#37e0ff}#btnNos .big{font-size:14px}#btnNos.on{background:#37e0ff52;border-color:#37e0ff;box-shadow:0 0 20px #37e0ffb3}#btnDrift{right:calc(134px + env(safe-area-inset-right));bottom:calc(108px + env(safe-area-inset-bottom));width:64px;height:64px;border-color:#ff8a00b3;color:#ff8a00}#btnDrift.on{background:#ff8a004d;border-color:#ff8a00}#nosBar{position:absolute;left:calc(6px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:9px;height:112px;background:#080c16c7;border:1px solid rgba(55,224,255,.5);border-radius:4px;overflow:hidden;pointer-events:none}#nosFill{position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#37e0ff,#07e);box-shadow:0 0 8px #37e0ff80}#nosBar.active{border-color:#7ceeff}#nosBar.active #nosFill{box-shadow:0 0 16px #37e0ff}#nosLbl{position:absolute;left:-4px;top:-15px;font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:8px;color:#37e0ff;letter-spacing:0;text-shadow:0 0 5px rgba(55,224,255,.8);white-space:nowrap}.sbtn{position:absolute;width:46px;height:46px;border-radius:50%;background:#0a0e1880;border:1px solid rgba(143,160,184,.6);color:#c6d2e8;font-size:16px;display:flex;align-items:center;justify-content:center;pointer-events:auto;transition:transform .08s,background .1s;touch-action:none}.sbtn:active{background:#b9ff0040;color:#b9ff00;transform:scale(.92)}#btnCam{left:calc(206px + env(safe-area-inset-left));top:8px}#btnPause{left:calc(260px + env(safe-area-inset-left));top:8px;border-color:#ff8a00bf;color:#ffb060;font-size:18px}#btnReset{left:calc(314px + env(safe-area-inset-left));top:8px}#btnSound{left:calc(368px + env(safe-area-inset-left));top:8px}#speedlines{position:fixed;inset:0;pointer-events:none;z-index:11}#vignette{position:fixed;inset:0;pointer-events:none;z-index:9;background:radial-gradient(ellipse at center,#0000 52%,#020308a6)}@keyframes resPop{0%{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:none}}@keyframes rowIn{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@keyframes rankPop{0%{opacity:0;transform:scale(2.4)}60%{opacity:1;transform:scale(.94)}to{opacity:1;transform:scale(1)}}#results{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#06080ed1,#030408f5)}#resultsBox{width:min(92vw,540px);max-height:92vh;overflow-y:auto;touch-action:pan-y;border:1px solid rgba(185,255,0,.4);border-left:5px solid #b9ff00;background:linear-gradient(115deg,#0b0e18,#101528);padding:16px 24px;clip-path:polygon(0 0,100% 0,98% 100%,0 100%);animation:resPop .45s cubic-bezier(.2,1.4,.4,1) both}#resTitle{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:26px;color:#fff}#resTitle span{color:#b9ff00;text-shadow:0 0 12px rgba(185,255,0,.7)}#resSub{color:#8fa0b8;font-size:10px;letter-spacing:2px;margin:1px 0 6px}#resRankBig{text-align:center;margin:4px 0 10px;animation:rankPop .6s .15s cubic-bezier(.2,1.6,.4,1) both}#resRankBig .rk{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:44px;line-height:1.1;color:#b9ff00;text-shadow:0 0 24px rgba(185,255,0,.75),0 3px 0 rgba(0,0,0,.5)}#resRankBig .rk.p2{color:#dde4f0;text-shadow:0 0 18px rgba(220,230,255,.6),0 3px 0 rgba(0,0,0,.5)}#resRankBig .rk.p3{color:#ff8a00;text-shadow:0 0 18px rgba(255,138,0,.6),0 3px 0 rgba(0,0,0,.5)}#resRankBig .rk.p4{color:#8fa0b8;text-shadow:0 2px 0 rgba(0,0,0,.5)}#resRankBig .rks{font-size:11px;color:#aab4c8;letter-spacing:2px;margin-top:3px}#resRankBig .rks b{color:#fff;font-family:Consolas,monospace;font-size:15px}.resRow{display:flex;align-items:center;padding:7px 10px;margin:4px 0;font-size:12px;background:#ffffff0a;border-left:3px solid #2a3145;animation:rowIn .4s ease-out both}.resRow.me{background:#b9ff001f;border-left-color:#b9ff00;box-shadow:0 0 12px #b9ff002e}.resRow.first .rp{color:#ffd24a;text-shadow:0 0 10px rgba(255,210,74,.8)}.resRow .rp{width:34px;font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:16px;color:#ff8a00}.resRow .rn{flex:1;color:#e8ecf4}.resRow .rt{font-family:Consolas,monospace;color:#aab4c8;font-size:11px}#bestLapRes{margin-top:8px;color:#ff8a00;font-size:11px;letter-spacing:1px}.resBtn{margin-top:12px;margin-right:10px;cursor:pointer;font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:15px;letter-spacing:1px;padding:13px 26px;border:none;min-height:46px;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);transition:transform .1s}.resBtn:active{transform:scale(.94)}#againBtn{background:linear-gradient(90deg,#b9ff00,#8fd400);color:#0a0c12;box-shadow:0 0 16px #b9ff0066}#garageBtn{background:#222a3e;color:#b9ff00;border:1px solid rgba(185,255,0,.4)}#pause{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;background:#030408cc}#pause .pbox{text-align:center;animation:resPop .3s ease-out both}#pause h2{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:30px;color:#b9ff00;margin-bottom:12px;letter-spacing:3px;text-shadow:0 0 18px rgba(185,255,0,.6)}.setLabel{font-size:9px;color:#8fa0b8;letter-spacing:2px;margin:10px 0 5px;font-weight:700}.setBtnRow{display:flex;gap:6px;justify-content:center}.setBtn{min-width:64px;min-height:40px;padding:8px 14px;cursor:pointer;background:#0c0f1ae6;border:1px solid #2a3145;color:#8fa0b8;font-family:Arial Black,Impact,sans-serif;font-style:italic;font-size:12px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);transition:.12s}.setBtn.sel{border-color:#b9ff00;color:#b9ff00;background:linear-gradient(120deg,#b9ff003d,#b9ff0014);box-shadow:0 0 10px #b9ff0059}.setBtn:active{transform:scale(.93)}#pause .pbox .resBtn{margin-top:16px}#loadErr{position:fixed;inset:0;z-index:99;display:none;align-items:center;justify-content:center;color:#ff8a00;font-size:16px;text-align:center;padding:20px}:root{color-scheme:dark;--accent:#d8ef87}body{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;background:#101719}button,select,input{font:inherit}button:focus-visible,select:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:2px solid #eaffaa;outline-offset:4px}#menu{background:linear-gradient(90deg,rgba(9,16,18,.88),transparent 38%,transparent 65%,rgba(9,16,18,.9)),linear-gradient(0deg,rgba(9,16,18,.8),transparent 35%)}#title{top:30px;left:34px}#title .sub{color:#a4b5b8;font-size:10px;letter-spacing:3px}#title h1{font-size:44px;font-style:normal;letter-spacing:3px;margin:9px 0;text-shadow:none}#title h1 span{color:var(--accent);animation:none;text-shadow:none}#title .en{font-size:11px;color:#aebdbf;font-style:normal;text-shadow:none;letter-spacing:5px}#carPanel{left:34px;bottom:36px;width:330px;padding:20px;clip-path:none;border:1px solid #43504f;border-left:3px solid var(--accent);background:#131f22db;backdrop-filter:blur(14px)}#carName{font-size:18px;font-style:normal}#carNameEn{font-size:9px;margin:6px 0}.arrowBtn{border:1px solid #53605d;border-radius:0;color:var(--accent);background:none;text-shadow:none}.statRow{margin:10px 0}.statRow .lbl{width:86px;font-size:9px}.statRow .bar{height:3px;transform:none}.statRow .fill{background:var(--accent);box-shadow:none}#carDesc{font-size:11px;line-height:1.8;color:#a4b1b4}#selPanel{right:30px;top:28px;bottom:auto;width:320px;max-height:calc(100vh - 130px);padding:18px;background:#111d21e8;border:1px solid #384749;backdrop-filter:blur(15px)}.selLabel{font-style:normal;text-shadow:none;color:#c9d8d6;font-size:10px;margin:8px 0 12px}.trackBtn,.diffBtn{clip-path:none;background:#17252a;border-color:#35464a;box-shadow:none!important;border-radius:3px}.trackBtn.sel,.diffBtn.sel{background:#d8ef8719;border-color:var(--accent)}.trackBtn.sel .tn,.diffBtn.sel{color:var(--accent)}.trackBtn{min-height:62px}.trackBtn .tn{font-size:10px;line-height:1.7}.trackBtn .tc{font-size:9px}.trackBtn .ts{color:#9cac8a}#startBtn{left:auto;right:30px;bottom:30px;transform:none;width:320px;padding:20px;clip-path:none;background:var(--accent);animation:none;font-style:normal;box-shadow:none;font-size:17px;letter-spacing:3px}#startBtn:active{transform:scale(.98)}#setupPanel{position:absolute;left:34px;top:178px;width:300px;pointer-events:auto;font-size:11px;color:#c1cece;max-height:calc(100vh - 500px);min-height:260px;overflow:auto;touch-action:pan-y;padding-right:8px}.section-kicker{font-size:10px;letter-spacing:2px;color:var(--accent);padding-bottom:14px;border-bottom:1px solid #394645;margin-bottom:10px}.section-kicker span{float:right;letter-spacing:0;color:#9baaaa}#setupPanel label{display:block;margin:9px 0}#setupPanel select{display:block;width:100%;padding:9px;margin-top:6px;background:#16252b;border:1px solid #405052;border-radius:3px;color:#e1e9e6;font-size:11px}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}#setupPanel input[type=range]{display:block;width:100%;margin-top:7px;accent-color:var(--accent)}#setupPanel output{float:right;color:var(--accent)}#setupPanel .line-option{display:flex;gap:8px;align-items:center}#sessionNote{color:#93a7aa;line-height:1.9;font-size:10px;padding-top:6px}#telemetry{position:absolute;left:50%;transform:translate(-50%);top:20px;background:#0d1a20ce;border:1px solid #4b5c60;padding:10px 18px;color:#d6e5df;font-size:11px;text-align:center;white-space:pre-line;line-height:1.8;font-variant-numeric:tabular-nums}#pitButton{position:absolute;bottom:14px;left:50%;transform:translate(-50%);pointer-events:auto;padding:12px 20px;color:var(--accent);background:#19282e;border:1px solid #607678;border-radius:4px;display:none}#posBox{top:22px;left:25px}#timeBox{top:22px;right:25px}#minimap{top:82px;left:24px;transform:scale(.85)}#speedo{bottom:170px;right:24px;transform:scale(.7)}#vignette{opacity:.5}#speedlines{opacity:.25}@media(min-width:1100px)and (min-height:800px){#setupPanel{max-height:calc(100vh - 470px);min-height:360px}#selPanel,#startBtn{width:360px}}@media(max-height:730px){#title{top:18px;left:22px}#title h1{font-size:30px}#setupPanel{left:22px;top:125px;max-height:calc(100vh - 320px);min-height:100px;width:270px}#carPanel{left:22px;bottom:20px;width:280px;padding:12px}.statRow{margin:6px 0}#carDesc{font-size:9px}#selPanel{top:16px;right:18px;width:290px}#startBtn{right:18px;bottom:20px;width:290px;padding:14px}.trackBtn{min-height:49px}}@media(max-width:950px){#title h1{font-size:25px}#title .sub{font-size:8px}#setupPanel{width:225px}#carPanel{width:245px}#selPanel,#startBtn{width:250px}.trackBtn{padding:4px}.trackBtn .tshape{width:26px;height:26px}.trackBtn .tn{font-size:9px}#carName{font-size:13px}#telemetry{top:8px;font-size:9px;padding:4px 10px}#speedo{transform:scale(.5)}}@media(orientation:portrait){#rotate{display:none}#menu{overflow-y:auto;pointer-events:auto;background:#0d191ecc;padding:20px}#title,#setupPanel,#carPanel,#selPanel,#startBtn{position:relative;inset:auto;width:100%;margin:0 0 20px;max-height:none;min-height:0;transform:none}#title{padding-bottom:140px}#carPanel{order:0}#setupPanel{overflow:visible}#startBtn{position:sticky;bottom:12px}#telemetry{top:155px}#minimap{top:74px;transform:scale(.6)}}.credits{font-size:9px;color:#93a7a8;line-height:1.9;margin-top:15px}.credits a{color:#c4d4b0;text-decoration:none}#tourBtn{display:block;width:100%;padding:12px;margin-top:14px;background:#263b3e;color:#d8ef87;border:1px solid #567275;border-radius:3px;cursor:pointer}#tourOverlay{position:fixed;z-index:30;left:28px;right:28px;bottom:25px;display:flex;align-items:end;justify-content:space-between;gap:20px;padding:25px;background:linear-gradient(90deg,#102229e8,#102229a0);border:1px solid #83938e;color:#e3e8df;backdrop-filter:blur(10px)}#tourOverlay.hidden{display:none}#tourOverlay small{font-size:10px;letter-spacing:4px;color:#d8ef87}#tourOverlay h2{font-size:28px;font-weight:500;margin:12px 0}#tourOverlay p{font-size:13px;color:#c4d3d3}.tour-actions{display:flex;gap:8px}.tour-actions button{padding:12px 18px;background:#213c43;color:#e3eedc;border:1px solid #768d8a;cursor:pointer}@media(max-width:700px){#tourOverlay{left:12px;right:12px;bottom:12px;padding:16px;display:block}#tourOverlay h2{font-size:22px}.tour-actions{margin-top:14px}.tour-actions button{font-size:11px;padding:10px}}@media(min-width:1100px)and (min-height:800px){#setupPanel{min-height:0;max-height:calc(100vh - 480px)}}#vehicleBtn{width:100%;padding:12px;margin-top:8px;background:#d6dfb7;color:#17221f;border:0;cursor:pointer;font-weight:700}#vehicleOverlay{position:fixed;bottom:24px;left:32px;right:32px;padding:22px 28px;background:#15222bea;border:1px solid #7e939655;color:#e7eceb;z-index:100;backdrop-filter:blur(14px)}#vehicleOverlay.hidden{display:none}#vehicleOverlay small{letter-spacing:4px;color:#d5e694;font-size:10px}#vehicleOverlay h2{margin:10px 0;font-size:25px}#vehicleOverlay p{font-size:12px;color:#afc0c5}.vehicle-actions{display:flex;gap:8px;flex-wrap:wrap}.vehicle-actions button{padding:10px 17px;background:#31464c;border:1px solid #8b9a9466;color:#fff;cursor:pointer}@media(max-width:700px){#vehicleOverlay{left:10px;right:10px;bottom:10px;padding:12px}#vehicleOverlay h2{font-size:18px;margin:5px 0}.vehicle-actions button{padding:7px 10px;font-size:11px}#vehicleOverlay p{margin:5px 0}}#tourOverlay.nature-tour{background:linear-gradient(90deg,#102229a8,#10222930);border:0;backdrop-filter:blur(3px);padding:16px 22px}#tourOverlay.nature-tour h2{margin:7px 0;font-size:24px}#menu{display:flex;flex-direction:column;gap:12px;padding:20px max(20px,calc((100vw - 1240px)/2));background:transparent;pointer-events:auto;height:100dvh;overflow:hidden;touch-action:pan-y}#menu.hidden{display:none}#menu #title{position:static;padding:0;margin:0;animation:none;flex:none}#menu #title h1{font-size:28px;line-height:1.1;margin:4px 0}#menu #title .sub,#menu #title .en{font-size:9px;letter-spacing:2px}#menuTabs{display:flex;gap:6px;flex:none}#menuTabs button{flex:1;min-height:43px;border:1px solid #34454b;background:#17242b;color:#aabec2;border-radius:6px;font-size:13px;cursor:pointer}#menuTabs button.active{color:#d8ef87;border-color:#b2c877;background:#283b32}#menuWorkspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px;min-height:0;flex:1}#menuPreview{position:relative;min-width:0;min-height:0;border:1px solid #3a4b52;border-radius:10px;background:transparent;overflow:hidden;pointer-events:none}#previewCaption{position:absolute;bottom:16px;left:18px;right:18px;display:flex;flex-direction:column;gap:6px;color:#e0e8e6;text-shadow:0 1px 5px #000}#previewCaption span{font-size:9px;letter-spacing:3px;color:#d8ef87}#previewCaption strong{font-size:21px}#previewCaption small{font-size:11px;color:#bfced2}#menuControls{overflow-y:auto;overflow-x:hidden;min-width:0;min-height:0;touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 4px 16px 0}#menuControls *{touch-action:pan-y}#menuControls input[type=range]{touch-action:pan-x}#menu #carPanel,#menu #selPanel,#menu #setupPanel{position:static;inset:auto;width:100%;max-width:none;min-height:0;max-height:none;margin:0;padding:20px;transform:none;animation:none;clip-path:none;border:1px solid #34484d;border-radius:8px;background:#14232b;overflow:visible;font-size:12px}#menuControls .menu-inactive{display:none!important}#menu #carName{font-size:19px}#menu #carNameEn{font-size:10px}#menu #carDesc{font-size:12px;line-height:1.9}.arrowBtn{min-width:44px;min-height:44px}#menu .statRow{margin:16px 0}#menu .statRow .lbl{font-size:10px}#menu .statRow .bar{height:5px}#menu .credits{font-size:10px;line-height:1.8}#menu .selLabel{font-size:12px;margin:12px 0}#menu #trackGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}#menu .trackBtn{min-height:70px;padding:8px;display:flex;align-items:center;gap:7px}#menu .trackBtn .tn{font-size:11px}#menu .trackBtn .tc{font-size:9px}#menu .trackBtn .tshape{width:33px;height:33px;flex:none}#menu #diffRow{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#menu .diffBtn{padding:12px 4px;min-height:52px}#difficultyNote{font-size:11px;line-height:1.7;color:#b2c4c9;margin:10px 0 18px}#menuFooter{display:flex;gap:20px;align-items:center;flex:none;padding-bottom:env(safe-area-inset-bottom)}#raceSummary{flex:1;font-size:12px;color:#b7c8cb;line-height:1.8}#menu #startBtn{position:static;width:260px;max-width:100%;margin:0;transform:none;padding:16px;min-height:50px;border-radius:6px;font-size:16px;letter-spacing:2px;animation:none}#menu #startBtn:active{transform:scale(.98)}@media(max-width:650px),(orientation:portrait){#menu{padding:max(10px,env(safe-area-inset-top)) 12px 8px;gap:8px}#menu #title h1{font-size:24px}#menu #title .sub{font-size:8px}#menu #title .en{display:none}#menuTabs button{font-size:11px;min-height:40px}#menuWorkspace{display:flex;flex-direction:column;gap:8px}#menuPreview{flex:0 0 clamp(155px,28dvh,260px)}#menuControls{flex:1;padding-bottom:12px}#previewCaption{bottom:10px;left:12px;gap:3px}#previewCaption strong{font-size:16px}#previewCaption small{font-size:10px}#menu #carPanel,#menu #selPanel,#menu #setupPanel{padding:13px}#menu .statRow{margin:12px 0}#menu #carName{font-size:16px}#menu #carDesc{font-size:11px}#menu .trackBtn{min-height:65px;padding:6px}#menu .trackBtn .tn{font-size:10px}#menuFooter{gap:10px}#raceSummary{font-size:10px}#menu #startBtn{width:155px;font-size:14px;padding:13px}#rotate{display:none}}@media(max-height:520px)and (orientation:landscape){#menu{gap:6px;padding:8px 14px}#menu #title{display:none}#menuTabs button{min-height:34px}#menu #carPanel,#menu #selPanel,#menu #setupPanel{padding:10px}#menu #startBtn{padding:10px;min-height:40px}#menuFooter{font-size:10px}#previewCaption strong{font-size:15px}}#menuViewport{position:absolute;inset:0 0 72px}#menu #previewCaption{bottom:0;left:0;right:0;padding:10px 14px;height:72px;background:#15232b;border-top:1px solid #34484d;text-shadow:none;justify-content:center}#menu #previewCaption small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:650px),(orientation:portrait){#menuViewport{bottom:59px}#menu #previewCaption{height:59px;padding:6px 10px}#menu #previewCaption strong{font-size:14px}#menu #previewCaption span{font-size:8px}}@media(orientation:portrait){#btnL{left:10px;bottom:18px;width:60px;height:66px}#btnR{left:76px;bottom:18px;width:60px;height:66px}#btnGas{right:10px;bottom:18px;width:70px;height:76px}#btnBrake{right:88px;bottom:18px;width:60px;height:66px}#btnDrift{right:14px;bottom:104px;width:52px;height:52px}#btnCam,#btnPause,#btnReset,#btnSound{left:auto;top:72px;width:40px;height:40px}#btnCam{right:162px}#btnPause{right:112px}#btnReset{right:62px}#btnSound{right:12px}#posBox{left:12px;top:16px}#timeBox{right:12px;top:16px}#minimap{left:10px;top:120px;transform:scale(.5);transform-origin:top left}#telemetry{left:auto;right:12px;top:123px;transform:none;max-width:180px;font-size:8px}#speedo{bottom:168px;right:8px;transform:scale(.48);transform-origin:bottom right}#pitButton{bottom:102px;padding:8px 12px;font-size:11px}}#menu #previewCaption{line-height:1.15;gap:3px}#menuViewport{pointer-events:auto;touch-action:none;cursor:grab}#menuViewport:active,#vehicleOrbitSurface:active{cursor:grabbing}#menuViewport:focus-visible,#vehicleOrbitSurface:focus-visible{outline:2px solid #d8ef87;outline-offset:-3px}#vehicleOrbitSurface{display:none;position:fixed;inset:0 0 auto;z-index:20;touch-action:none;cursor:grab;background:transparent}.orbit-toolbar{display:flex;gap:5px;pointer-events:auto}.orbit-toolbar button{min-width:36px;min-height:34px;border:1px solid #55686b;border-radius:5px;background:#122127e8;color:#e2edc1;cursor:pointer;padding:5px 8px;font-size:11px;touch-action:manipulation}#menuPreview .orbit-toolbar{position:absolute;right:8px;top:8px}#menuPreview.city-preview .orbit-toolbar{display:none}#vehicleOverlay .orbit-toolbar{margin-top:8px}#drivingHelp{margin-top:12px;padding:12px;border:1px solid #34484d;border-radius:8px;background:#14232b;color:#bdcdd0;font-size:11px;line-height:1.9}#drivingHelp summary{cursor:pointer;color:#d8ef87;min-height:30px}#drivingHelp kbd{color:#e7edee;font:inherit;font-weight:600}#touchUI.controls-hidden{display:none!important}#controlsToggle{position:absolute;left:16px;bottom:132px;z-index:15;min-height:38px;padding:8px 12px;pointer-events:auto;background:#14232be8;color:#e1ebc5;border:1px solid #697c66;border-radius:6px;font-size:11px}@media(orientation:portrait){#controlsToggle{left:10px;top:73px;bottom:auto;padding:7px;min-height:38px;max-width:100px}.orbit-toolbar button{min-height:32px;padding:4px 7px}}#menuPreview #tourBtn{display:none;position:absolute;left:12px;top:12px;width:auto;min-width:150px;min-height:48px;margin:0;padding:12px 18px;background:#d8ef87;color:#13231c;border:1px solid #edffb9;border-radius:7px;font-size:16px;font-weight:700;pointer-events:auto;box-shadow:0 4px 20px #0006}#menuPreview.city-preview #tourBtn{display:block}#touchUI #btnCam{inset:auto auto 118px 16px;width:132px;height:52px;border-radius:9px;background:#d8ef87;color:#14231c;border:2px solid #f0ffc8;box-shadow:0 4px 18px #0007;display:flex;flex-direction:column;gap:3px;font-size:14px;font-weight:800}#btnCam small{font-size:10px;font-weight:500}#controlsToggle{bottom:180px}@media(orientation:portrait){#touchUI #btnCam{left:10px;bottom:98px;width:126px;height:52px}#controlsToggle{bottom:auto}#menuPreview #tourBtn{left:8px;top:8px;min-width:124px;min-height:42px;padding:9px 13px;font-size:14px}}#menuPreview.vehicle-loading:after,#vehicleOrbitSurface.vehicle-loading:after{content:"正在载入精细车模…";position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);padding:14px 20px;border:1px solid #687957;border-radius:8px;background:#102029ed;color:#e4f4bf;font-size:14px;white-space:nowrap;pointer-events:none}#quickQuality{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:80;display:flex;gap:4px;padding:4px;background:#17272bf5;border:1px solid #a4bc6f;border-radius:9px;box-shadow:0 3px 12px #0005}#quickQuality button{min-width:52px;min-height:44px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#c2d0c5;font:600 13px system-ui;cursor:pointer;touch-action:manipulation}#quickQuality button[aria-pressed=true]{background:#d8ef87;color:#13231c;border-color:#efffc2;box-shadow:0 1px 5px #0004}#quickQuality button:focus-visible{outline:2px solid white;outline-offset:1px}#quickQuality.in-race{top:85px}#menu #title{padding-right:190px}@media(max-height:520px)and (orientation:landscape){#menuTabs{padding-right:190px}#quickQuality{top:8px}#quickQuality button{min-height:34px}#quickQuality.in-race{top:65px}}@media(max-width:650px){#quickQuality{right:max(12px,env(safe-area-inset-right));gap:2px;padding:3px}#quickQuality button{min-width:46px;padding:8px 6px;font-size:12px}#menu #title{padding-right:154px}#menu #title .sub{max-width:calc(100vw - 184px);white-space:nowrap;overflow:hidden}}#rotateHint[hidden],#performancePanel[hidden],#fpsValue[hidden],#fpsAdvice[hidden]{display:none!important}#rotateHint{position:fixed;inset:0;z-index:1200;background:#091318ed;display:grid;place-items:center;padding:24px;color:#ecf4ed;text-align:center;backdrop-filter:blur(12px)}#rotateHint>div{max-width:340px}#rotateHint .rotate-icon{font-size:72px;color:#d8ef87}#rotateHint h2{font-size:25px}#rotateHint p{line-height:1.8;color:#bfccc5}#rotateHint button{margin-top:20px;padding:14px 22px;border:0;border-radius:8px;background:#d8ef87;color:#17251c;font-size:16px}#performancePanel{position:fixed;right:max(16px,env(safe-area-inset-right));top:146px;z-index:81;display:flex;gap:6px;align-items:center;color:#e4efd9;font:600 12px system-ui}#performancePanel button,#fpsValue{border:1px solid #73887b;background:#14232ded;border-radius:6px;color:#e4efd9;padding:8px;min-height:34px}#fpsValue{box-sizing:border-box;min-width:66px;text-align:center;font-variant-numeric:tabular-nums}#fpsValue.slow{color:#ffd78a}#fpsAdvice{position:absolute;right:0;top:44px;width:min(290px,80vw);padding:12px;background:#17272bf5;border:1px solid #d8b977;border-radius:8px;line-height:1.6}#fpsAdvice span{display:block;margin-bottom:8px}#fpsAdvice button{margin-right:6px}@media(max-height:520px)and (orientation:landscape){#performancePanel{top:112px}}#trackGrid .track-region{grid-column:1/-1;margin:16px 0 6px;padding:8px 0;border-bottom:1px solid #40534e;color:#d8ef87;font-size:14px;font-weight:600}#trackGrid .track-region:first-child{margin-top:0}#trackGrid .track-region-empty{grid-column:1/-1;margin:0 0 8px;color:#9cadb0;font-size:12px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(orientation:landscape)and (max-height:600px)and (max-width:1100px){:root{--edge-l:max(8px,env(safe-area-inset-left));--edge-r:max(8px,env(safe-area-inset-right));--edge-b:max(6px,env(safe-area-inset-bottom))}#menu{height:100dvh;padding:max(5px,env(safe-area-inset-top)) var(--edge-r) var(--edge-b) var(--edge-l);gap:5px}#menu #title{display:none}#menuTabs{gap:5px;padding-right:148px}#menuTabs button{min-height:34px;padding:5px 7px;font-size:11px}#menuWorkspace{display:grid;grid-template-columns:minmax(0,1fr) clamp(230px,32vw,310px);gap:8px;flex:1;min-height:0}#menuPreview{flex:initial;border-radius:6px}#menuViewport{inset:0 0 39px}#menu #previewCaption{height:39px;padding:4px 9px;gap:2px;overflow:hidden}#menu #previewCaption span{display:none}#menu #previewCaption strong{font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#menu #previewCaption small{font-size:10px;line-height:1.2}#menuControls{padding:0 2px 4px 0;scrollbar-width:thin}#menu #carPanel,#menu #selPanel,#menu #setupPanel{padding:9px;font-size:11px;border-radius:6px}#menu #carHead{margin-bottom:5px;gap:6px}#menu .arrowBtn{min-width:36px;min-height:36px;width:36px;height:36px;font-size:21px}#menu #carName{font-size:14px;line-height:1.25}#menu #carNameEn{font-size:9px;letter-spacing:.5px;margin:3px 0}#menu #carDesc{font-size:11px;line-height:1.5;margin:7px 0}#menu .statRow{margin:8px 0;gap:5px}#menu .statRow .lbl{font-size:10px;width:78px}#menu .statRow .bar{height:4px}#menu #vehicleBtn,#menu #retryModel{font-size:11px;min-height:34px;padding:7px;margin-top:4px}#menu .selLabel{font-size:11px;margin:3px 0 8px}#menu #trackGrid{grid-template-columns:1fr;gap:5px}#menu .trackBtn{min-height:52px;padding:5px 7px;gap:8px}#menu .trackBtn .tn{font-size:11px;line-height:1.35}#menu .trackBtn .tc{font-size:9px;line-height:1.3}#menu .trackBtn .ts{font-size:9px;line-height:1.2}#menu .trackBtn .tshape{width:28px;height:28px}#menu .diffBtn{min-height:36px;padding:6px 2px;font-size:11px}#difficultyNote{font-size:10px;line-height:1.4;margin:6px 0 10px}#setupPanel label{margin:6px 0;font-size:11px}#setupPanel select{font-size:11px;min-height:34px;padding:5px;margin-top:3px}.section-kicker{font-size:9px;padding-bottom:7px;margin-bottom:5px;letter-spacing:1px}#drivingHelp{margin-top:6px;padding:7px 9px;font-size:10px;line-height:1.6}#drivingHelp summary{min-height:30px;display:list-item;align-content:center}#menuFooter{gap:8px;padding:0;min-height:34px}#raceSummary{font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#menu #startBtn{width:clamp(140px,23vw,190px);min-height:34px;padding:7px 12px;font-size:13px;letter-spacing:1px}#menuPreview .orbit-toolbar{top:5px;right:5px;gap:4px}.orbit-toolbar button{min-width:32px;min-height:30px;padding:4px 6px;font-size:10px}#menuPreview #tourBtn{left:6px;top:6px;min-width:100px;min-height:34px;padding:7px 10px;font-size:12px}#quickQuality{top:max(5px,env(safe-area-inset-top));right:var(--edge-r);gap:2px;padding:2px;border-radius:6px}#quickQuality button{min-width:42px;min-height:30px;padding:4px 6px;font-size:11px}#quickQuality.in-race{top:51px}#performancePanel{top:91px;right:var(--edge-r);gap:4px;font-size:10px}#performancePanel button,#fpsValue{min-height:30px;padding:5px;font-size:10px}#fpsValue{min-width:54px}#fpsAdvice{top:36px;width:240px;font-size:11px;padding:8px}#posBox{left:var(--edge-l);top:7px}#posBig{font-size:25px}#posBig small{font-size:10px}#lapTxt{font-size:10px;margin-left:5px}#diffTxt{font-size:8px}#timeBox{right:var(--edge-r);top:5px;padding:3px 6px}#timeBox .row{font-size:8px}#timeBox .row b{font-size:10px}#telemetry{top:6px;left:50%;right:auto;transform:translate(-50%);font-size:8px;line-height:1.4;padding:3px 7px;max-width:210px;background:#0d1a208c}#minimap{left:var(--edge-l);top:48px;transform:scale(.48);transform-origin:top left}#speedo{right:var(--edge-r);bottom:calc(var(--edge-b) + 71px);transform:scale(.36);transform-origin:bottom right}#btnL,#btnR{width:60px;height:60px;bottom:var(--edge-b)}#btnL{left:var(--edge-l)}#btnR{left:calc(var(--edge-l) + 67px)}#btnGas{right:var(--edge-r);bottom:var(--edge-b);width:68px;height:68px}#btnBrake{right:calc(var(--edge-r) + 76px);bottom:var(--edge-b);width:60px;height:60px}#btnDrift{right:calc(var(--edge-r) + 82px);bottom:calc(var(--edge-b) + 69px);width:44px;height:44px;font-size:10px}.tbtn .big{font-size:21px}.tbtn .sm{font-size:9px;letter-spacing:0}#touchUI #btnCam{left:var(--edge-l);bottom:calc(var(--edge-b) + 69px);width:100px;height:38px;border-width:1px;gap:1px;font-size:11px}#btnCam small{font-size:9px}#controlsToggle{left:calc(var(--edge-l) + 105px);bottom:calc(var(--edge-b) + 71px);top:auto;min-height:34px;padding:5px 7px;font-size:10px}#btnPause,#btnReset,#btnSound{width:34px;height:34px;top:7px;font-size:14px}#btnPause{left:calc(var(--edge-l) + 135px)}#btnReset{left:calc(var(--edge-l) + 174px)}#btnSound{left:calc(var(--edge-l) + 213px)}#pitButton{padding:7px 10px;font-size:10px;bottom:var(--edge-b)}#msg{font-size:34px}#submsg{font-size:12px}#tourOverlay,#vehicleOverlay{left:var(--edge-l);right:var(--edge-r);bottom:var(--edge-b);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}#tourOverlay.hidden,#vehicleOverlay.hidden{display:none}#tourOverlay small,#vehicleOverlay small{font-size:8px;letter-spacing:2px}#tourOverlay h2,#vehicleOverlay h2{font-size:16px;margin:3px 0}#tourOverlay p,#vehicleOverlay p{font-size:10px;margin:3px 0;line-height:1.4;max-width:45vw}.tour-actions,.vehicle-actions{gap:5px;flex-wrap:wrap;margin:0;justify-content:flex-end}.tour-actions button,.vehicle-actions button{min-height:32px;padding:5px 8px;font-size:10px}#vehicleOverlay{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,1.4fr);column-gap:12px;row-gap:3px}#vehicleOverlay>small{display:none}#vehicleOverlay h2{grid-column:1;grid-row:1}#vehicleOverlay p{grid-column:1;grid-row:2;max-width:none}#vehicleOverlay>a{grid-column:1;grid-row:3;font-size:9px!important}#vehicleOverlay .vehicle-actions{grid-column:2;grid-row:1/3}#vehicleOverlay .orbit-toolbar{grid-column:2;grid-row:3;margin:0;gap:4px;justify-content:flex-end}#pause .pbox{max-height:94dvh;overflow-y:auto;padding:8px 16px}#pause h2{font-size:22px;margin-bottom:7px;letter-spacing:1px}#pause .setLabel{font-size:10px;margin:7px 0 4px}#pause .setBtn{padding:7px 12px;min-height:32px;font-size:11px}#pause .pbox .resBtn{margin-top:8px;padding:9px 16px;font-size:12px}#resultsBox{max-height:94dvh;overflow:auto;padding:10px 20px}#resTitle{font-size:28px}.resBtn{font-size:12px;padding:9px 14px}}@media(orientation:landscape)and (max-height:600px)and (max-width:740px){#telemetry{top:47px;max-width:180px}}@media(orientation:landscape)and (max-height:360px)and (max-width:1100px){#speedo{right:calc(var(--edge-r) + 150px);bottom:var(--edge-b);transform:scale(.32)}#menu #carDesc{margin:5px 0}#menu .statRow{margin:6px 0}}#raceTiming{position:absolute;top:82px;left:max(24px,env(safe-area-inset-left));width:250px;pointer-events:none}#raceTiming #minimap{position:relative;display:block;left:auto;top:auto;width:144px;height:144px;transform:none;margin:0 0 6px;transform-origin:top left}#raceTiming table{width:100%;table-layout:fixed;border-collapse:collapse;background:#0b161dcc;border:1px solid #53656866;font-size:12px;font-variant-numeric:tabular-nums;color:#e4ecec;border-radius:5px}#raceTiming caption{text-align:left;font-size:10px;color:#c8d7d5;background:#0b161dcc;padding:4px 7px}#raceTiming th{font-size:10px;color:#9bafaf;text-align:left;font-weight:400}#raceTiming th,#raceTiming td{padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#raceTiming th:first-child{width:28px}#raceTiming th:last-child{width:74px}#raceTiming td:last-child,#raceTiming th:last-child{text-align:right}#raceTiming .is-player{color:#d8ef87;background:#d8ef8712}#raceTiming .is-finished td:last-child{color:#8ddab8}@media(orientation:portrait){#raceTiming{top:90px;left:max(10px,env(safe-area-inset-left));width:230px}#raceTiming #minimap{width:110px;height:110px}}@media(orientation:landscape)and (max-height:600px)and (max-width:1100px){#raceTiming{top:48px;left:var(--edge-l);width:220px}#raceTiming #minimap{width:82px;height:82px;margin-bottom:3px}#raceTiming table{font-size:10px}#raceTiming caption{font-size:9px;padding:2px 4px}#raceTiming th,#raceTiming td{padding:2px 4px;line-height:12px}#raceTiming th{font-size:9px}#raceTiming th:first-child{width:21px}#raceTiming th:last-child{width:66px}}@media(orientation:landscape)and (max-height:360px)and (max-width:1100px){#raceTiming #minimap{width:54px;height:54px}#raceTiming caption{display:none}}#hud.post-finish #touchUI,#hud.post-finish #controlsToggle,#hud.post-finish #speedo{display:none!important}#resList .rt small{display:block;font-size:.75em;color:#a6bab9;margin-top:3px}#drivingCue{position:absolute;top:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:190px;box-sizing:border-box;padding:5px 10px;border:0;border-radius:20px;background:#08121747;color:#edf4f3;opacity:.85;font-size:12px;pointer-events:none;user-select:none;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000b;--cue-color:#cce9a0}#drivingCue[hidden],#drivingCue [hidden]{display:none}#hud #msg{top:36%}#hud #submsg{top:calc(36% + 64px)}#drivingCue[data-action=brake]{--cue-color:#ffad7d;opacity:1}#drivingCue[data-action=lift]{--cue-color:#f1da88}#drivingCue[data-action=hold]{--cue-color:#99d6f2}.cue-icon{color:var(--cue-color);font-size:20px;line-height:1}.cue-speed{display:flex;align-items:baseline;gap:3px}.cue-speed strong{font-size:18px;line-height:1.15;font-weight:600}.cue-speed small{font-size:9px;color:#c5d2d4}.cue-distance{font-size:11px;color:#c5d2d4}.cue-assist{font-size:9px;color:#f3d899;border:1px solid #f3d89966;border-radius:3px;padding:0 3px}.tbtn{touch-action:none;user-select:none;-webkit-user-select:none}@media(orientation:landscape)and (max-height:600px)and (max-width:1100px){#drivingCue{top:55px;gap:7px;padding:4px 8px}.cue-speed strong{font-size:16px}.cue-icon{font-size:17px}.cue-distance{font-size:10px}}@media(orientation:landscape)and (max-width:740px){#drivingCue{top:87px}}@media(orientation:portrait){#drivingCue{top:auto;bottom:200px}}@media(orientation:landscape)and (max-height:600px)and (max-width:1100px){#hud #msg{top:42%}#hud #submsg{top:calc(42% + 40px)}}@media(orientation:landscape)and (max-width:600px){#drivingCue{left:calc(var(--edge-l,8px) + 222px);transform:none}}#performanceRadar{margin:14px 0 9px;border-top:1px solid #43514b;padding-top:12px;color:#bdccc7}.radar-caption{display:flex;justify-content:space-between;font-size:11px;color:#e4ece8}.radar-caption span{font-size:9px;color:#8fa39a}#performanceRadar svg{display:block;width:100%;max-width:320px;max-height:255px;margin:auto;overflow:visible}.radar-grid{fill:none;stroke:#53665b;stroke-opacity:.55;stroke-width:1}#radarShape{fill:#d8ef8736;stroke:#d8ef87;stroke-width:2;stroke-linejoin:round}#performanceRadar text{fill:#b8c8be;font:11px Segoe UI,sans-serif}.radar-score{fill:#e6f3c1;font-size:14px;font-weight:600}#performanceRadar details{font-size:10px;line-height:1.7}#performanceRadar summary{cursor:pointer;color:#a6b8ac}#performanceRadar ul{padding-left:15px;margin:8px 0}#performanceRadar p{color:#8fa39a;margin:5px 0}@media(max-height:500px)and (orientation:landscape){#performanceRadar{margin-top:8px;padding-top:7px}#performanceRadar svg{max-height:195px}}#menu{background:transparent}#title h1{color:#edf7ff;text-shadow:0 2px 0 #557181,0 5px 0 #203440,0 9px 18px #0009;letter-spacing:.15em}#title h1 span{color:#ffcf83;text-shadow:0 2px 0 #946d38,0 5px 0 #49341e,0 0 30px #ffbb5544}#title .sub{color:#8fb5c9;letter-spacing:.22em}#title .en{color:#79d8ed;letter-spacing:.22em}#menuPreview{border:1px solid #507483;border-top-color:#8bb5c4;border-radius:18px;box-shadow:inset 0 0 45px #18384655,inset 0 1px #d9f5ff88,0 14px 0 -9px #071018,0 24px 45px #0008;isolation:isolate}#menuPreview:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;border-radius:inherit;background:linear-gradient(120deg,#b9edff16,transparent 28%,transparent 70%,#65ceef10);border-bottom:3px solid #66dcf155}#previewCaption{border-top:1px solid #6cb4cf55;background:linear-gradient(90deg,#07121cdd,#10233177);backdrop-filter:blur(10px)}#menuControls{background:linear-gradient(140deg,#1c303cde,#0a121deb);border:1px solid #426172;border-top-color:#7695a4;border-radius:16px;box-shadow:inset 0 1px #c8efff28,0 13px 30px #0008}#menuTabs{gap:8px}#menuTabs button,#menuTabs [role=tab]{background:linear-gradient(#243a46,#14222e);border:1px solid #506773;box-shadow:inset 0 1px #bddeeb33,0 4px #07111a;transition:border-color .2s,box-shadow .2s}#menuTabs [aria-selected=true],#menuTabs button.active{border-color:#72d6ef;color:#b5f5ff;box-shadow:inset 0 1px #d9fbff88,0 4px #10323f,0 0 18px #48ceef25}#startBtn{background:linear-gradient(125deg,#ffe1a4,#edaa50);color:#22190e;border:1px solid #ffdfa6;box-shadow:inset 0 2px #fff5d8,0 5px #785328,0 10px 25px #dd94252e;border-radius:10px;letter-spacing:.08em}#startBtn:hover{filter:brightness(1.08)}#startBtn:active{box-shadow:inset 0 1px #fff5d8,0 2px #785328;transform:translateY(2px)}.trackBtn{background:linear-gradient(145deg,#243542,#101b25);border-color:#405664;box-shadow:inset 0 1px #d5f6ff17,0 3px 8px #0004}.trackBtn.sel{border-color:#7ae7ff;box-shadow:inset 3px 0 #75dff5,0 0 18px #4dd4ef22}#performanceRadar{padding:14px 10px 10px;border:1px solid #3b5c6e;border-radius:14px;background:radial-gradient(ellipse at 50% 47%,#1d4c6277,transparent 65%),linear-gradient(155deg,#11232d,#08121c);box-shadow:inset 0 1px #95dcf733,0 6px 18px #0004}.radar-caption{letter-spacing:.12em;color:#a6e7f6}.radar-caption span{letter-spacing:0;color:#879da9}.radar-grid{stroke:#78b2cc;stroke-opacity:.28}.radar-platform{fill:#24465633;stroke:#477189;stroke-width:2}.radar-orbit{fill:none;stroke:#70cce0;stroke-opacity:.7;stroke-width:1;stroke-dasharray:18 9 3 9;animation:radarCircuit 18s linear infinite}#radarDepth{fill:#153343;stroke:#396d86;stroke-width:2}#radarShape{fill:url(#radarFill);stroke:#85edff;stroke-width:2;filter:url(#radarGlow)}.radar-node{fill:#fff2cc;stroke:#f5bf65;stroke-width:1.5;filter:url(#radarGlow)}#performanceRadar .radar-score{fill:#ffe0a1;font-size:16px;font-weight:750}#performanceRadar text{fill:#c6dce7}@keyframes radarCircuit{to{stroke-dashoffset:-156}}.cover-title h1{color:#edf7ff;text-shadow:0 3px #324c5d,0 8px 30px #000}.cover-title h1 span{color:#ffd28b}.cover-title small{color:#a9eaff}@media(prefers-reduced-motion:reduce){.radar-orbit{animation:none}#menuTabs button{transition:none}}@media(max-width:600px){#menuControls,#menuPreview{border-radius:11px}#performanceRadar{padding:10px 6px}#title .sub{letter-spacing:.1em}}#menu #carPanel,#menu #selPanel,#menu #setupPanel{background:linear-gradient(145deg,#1d303ad9,#0b1722e8);border-color:#49616e}@media(max-width:650px),(orientation:portrait){#menu #title .en{display:block;font-size:7px;letter-spacing:1px;max-width:210px}#menu #title .sub{letter-spacing:1px;font-size:8px}}html[data-touch-device=ipad]{--steer-size:104px;--steer-gap:16px;--steer-left:max(24px,env(safe-area-inset-left));--steer-bottom: calc(72px + env(safe-area-inset-bottom)) }html[data-touch-device=iphone]{--steer-size:76px;--steer-gap:12px;--steer-left:max(12px,env(safe-area-inset-left));--steer-bottom:max(12px,env(safe-area-inset-bottom))}html:is([data-touch-device=ipad],[data-touch-device=iphone]) #touchUI :is(#btnL,#btnR){width:var(--steer-size);height:var(--steer-size);bottom:var(--steer-bottom)}html:is([data-touch-device=ipad],[data-touch-device=iphone]) #touchUI #btnL{left:var(--steer-left)}html:is([data-touch-device=ipad],[data-touch-device=iphone]) #touchUI #btnR{left:calc(var(--steer-left) + var(--steer-size) + var(--steer-gap))}html:is([data-touch-device=ipad],[data-touch-device=iphone]) #touchUI :is(#btnL,#btnR) .big{font-size:30px}html[data-touch-device=ipad] #touchUI #btnCam{left:var(--steer-left);bottom:calc(var(--steer-bottom) + var(--steer-size) + 16px)}html[data-touch-device=ipad] #controlsToggle{left:var(--steer-left);top:auto;bottom:calc(var(--steer-bottom) + var(--steer-size) + 78px)}html[data-touch-device=iphone] #touchUI #btnCam{left:var(--steer-left);bottom:calc(var(--steer-bottom) + var(--steer-size) + 14px)}@media(orientation:landscape){html[data-touch-device=iphone] #controlsToggle{left:calc(var(--steer-left) + 110px);top:auto;bottom:calc(var(--steer-bottom) + var(--steer-size) + 16px)}}@media(max-width:600px){html[data-touch-device=ipad]{--steer-size:88px;--steer-gap:14px;--steer-left:max(16px,env(safe-area-inset-left))}}@media(max-width:360px){html:is([data-touch-device=ipad],[data-touch-device=iphone]){--steer-size:68px;--steer-gap:12px;--steer-left:max(8px,env(safe-area-inset-left))}}
