:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#152427;--ink-soft:#425457;--paper:#f4efe2;--paper-deep:#e5ddcd;--line:#15242729;--line-strong:#15242747;--orange:#f45e37;--teal:#208d86;--yellow:#f2bb2f;--blue:#387ed8;--vehicle-color:#ff6638;--vehicle-accent:#ffe2a8;--shadow:0 18px 54px #131f2029;font-family:Bahnschrift,Aptos Display,Microsoft YaHei UI,Noto Sans SC,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);background:var(--paper);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,a{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}[hidden]{display:none!important}#game-canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.screen{z-index:4;pointer-events:none;position:fixed;inset:0}.screen button,.screen a,.track-list,.modal-backdrop{pointer-events:auto}.eyebrow{color:var(--ink-soft);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800;line-height:1.3}.loading-screen{z-index:100;color:var(--paper);background:linear-gradient(#121f21f0,#121f21fa),repeating-linear-gradient(135deg,#0000 0 16px,#ffffff0a 16px 17px);place-content:center;justify-items:center;gap:12px;transition:opacity .35s,visibility .35s;display:grid;position:fixed;inset:0}.loading-screen.is-hidden{visibility:hidden;opacity:0}.loading-screen strong{letter-spacing:.16em;margin-top:8px;font-size:clamp(22px,3vw,34px)}.loading-screen p{color:#f4efe2ad;letter-spacing:.08em;margin:0;font-size:12px}.loading-mark{align-items:end;gap:5px;height:46px;display:flex}.loading-mark span{background:var(--orange);width:9px;animation:.7s ease-in-out infinite alternate loading-bars}.loading-mark span:first-child{height:22px}.loading-mark span:nth-child(2){height:42px;animation-delay:.16s}.loading-mark span:nth-child(3){height:31px;animation-delay:.3s}@keyframes loading-bars{to{background:var(--yellow);height:10px}}.topbar{pointer-events:none;justify-content:space-between;align-items:center;gap:18px;display:flex;position:absolute;top:22px;left:30px;right:28px}.brand{color:var(--ink);pointer-events:auto;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);background:var(--orange);align-items:end;gap:3px;width:36px;height:37px;padding:5px;display:flex;transform:skew(-8deg)}.brand-mark i{background:var(--ink);width:6px;display:block}.brand-mark i:first-child{height:12px}.brand-mark i:nth-child(2){height:24px}.brand-mark i:nth-child(3){height:18px}.brand>span:last-child{gap:1px;display:grid}.brand strong{letter-spacing:.08em;font-size:19px;font-weight:900;line-height:1}.brand small{color:var(--ink-soft);letter-spacing:.2em;font-size:9px;font-weight:800}.topbar-tools{pointer-events:auto;align-items:center;gap:8px;display:flex}.asset-mode{min-height:32px;color:var(--ink-soft);border:1px solid var(--line);letter-spacing:.13em;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4efe2bd;align-items:center;padding:0 12px;font-size:9px;font-weight:800;display:inline-flex}.icon-button{width:42px;height:42px;color:var(--ink);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4efe2db;border-radius:4px;place-items:center;padding:0;transition:color .16s,border-color .16s,background .16s,transform .16s;display:inline-grid;box-shadow:0 6px 20px #131f2014}.icon-button:hover{color:var(--paper);border-color:var(--ink);background:var(--ink);transform:translateY(-1px)}.icon-button.active{color:var(--ink);border-color:var(--orange);background:var(--orange)}.icon-button svg{width:18px;height:18px}.vehicle-info{pointer-events:none;flex-direction:column;justify-content:center;width:286px;display:flex;position:absolute;top:108px;bottom:80px;left:36px}.vehicle-count{color:var(--ink-soft);letter-spacing:.12em;align-items:center;gap:9px;margin-bottom:20px;font-size:11px;font-weight:800;display:flex}.vehicle-count span:first-child{color:var(--ink);font-size:24px}.vehicle-count i{background:var(--line-strong);width:42px;height:1px}.vehicle-info h1{letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance;max-width:290px;margin:5px 0 2px;font-size:clamp(36px,4vw,58px);font-weight:900;line-height:.96}.vehicle-english{color:var(--vehicle-color);letter-spacing:.17em;margin:9px 0 0;font-size:13px;font-weight:900}.vehicle-tagline{max-width:270px;color:var(--ink-soft);margin:17px 0 20px;font-size:13px;line-height:1.65}.stat-list{gap:10px;width:260px;display:grid}.stat-row{gap:5px;display:grid}.stat-row>span{color:var(--ink-soft);letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;display:flex}.stat-row em{color:var(--ink);font-style:normal}.stat-row>div{background:#1524271a;height:4px;overflow:hidden}.stat-row>div i{background:var(--vehicle-color);transform-origin:0;height:100%;animation:.45s both stat-reveal;display:block}@keyframes stat-reveal{0%{transform:scaleX(.15)}}.dimension-strip{border-top:1px solid var(--line);width:270px;margin-top:21px;padding-top:13px;display:flex}.dimension-strip span{color:var(--ink-soft);letter-spacing:.04em;white-space:nowrap;flex:1;font-size:9px}.dimension-strip span+span{border-left:1px solid var(--line);padding-left:10px}.dimension-strip b{color:var(--ink);letter-spacing:0;font-size:14px;display:block}.car-arrow{width:46px;height:64px;color:var(--ink);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4efe2b8;place-items:center;transition:color .16s,background .16s,transform .16s;display:grid;position:absolute;top:47%}.car-arrow:hover{color:var(--paper);background:var(--ink)}.car-arrow-left{left:calc(50% - 340px)}.car-arrow-right{right:calc(50% - 340px)}.car-arrow-left:hover{transform:translate(-3px)}.car-arrow-right:hover{transform:translate(3px)}.car-arrow svg{width:24px;height:24px}.car-dots{gap:7px;display:flex;position:absolute;bottom:79px;left:50%;transform:translate(-50%)}.car-dots button{background:#f4efe2b3;border:1px solid #15242761;border-radius:0;width:22px;height:7px;padding:0;transition:width .2s,border-color .2s,background .2s}.car-dots button.active{border-color:var(--dot-color);background:var(--dot-color);width:44px}.race-setup{width:min(382px,31vw);max-height:calc(100vh - 142px);box-shadow:var(--shadow);pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4efe2e6;border:1px solid #15242724;flex-direction:column;padding:20px;display:flex;position:absolute;top:92px;right:30px}.setup-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.setup-heading h2{letter-spacing:-.035em;margin:3px 0 0;font-size:25px;font-weight:900}.lap-select{align-items:center;gap:3px;display:flex}.lap-select>span{color:var(--ink-soft);letter-spacing:.06em;margin-right:4px;font-size:9px;font-weight:800}.lap-select button{width:27px;height:27px;color:var(--ink-soft);border:1px solid var(--line);background:0 0;padding:0;font-size:11px;font-weight:800}.lap-select button:hover,.lap-select button.active{color:var(--paper);border-color:var(--ink);background:var(--ink)}.track-list{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;gap:7px;min-height:0;display:grid;overflow:auto}.track-option{text-align:left;border:1px solid var(--line);background:#fffcf594;grid-template-columns:26px minmax(0,1fr) 88px;align-items:center;gap:9px;min-height:76px;padding:10px;transition:border-color .16s,background .16s,transform .16s;display:grid;position:relative;overflow:hidden}.track-option:before{background:var(--track-color);content:"";transform-origin:bottom;width:3px;transition:transform .2s;position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.track-option:hover{border-color:var(--line-strong);background:#fffcf5e6;transform:translate(-2px)}.track-option.active{border-color:var(--track-color);background:#fffcf5f5}.track-option.active:before{transform:scaleY(1)}.track-number{color:var(--track-color);letter-spacing:.1em;font-size:10px;font-weight:900}.track-copy{min-width:0;display:grid}.track-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;line-height:1.35;overflow:hidden}.track-copy small{color:var(--track-color);letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:900;overflow:hidden}.track-copy em{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:9px;font-style:normal;line-height:1.35;display:-webkit-box;overflow:hidden}.track-preview{width:82px;height:54px;color:var(--track-color);border-left:1px solid var(--line);place-items:center;display:grid}.track-preview svg{width:76px;height:46px;display:block}.start-button{min-height:62px;color:var(--paper);background:var(--ink);justify-content:space-between;align-items:center;margin-top:12px;padding:10px 16px 10px 18px;transition:background .16s,transform .16s;display:flex;box-shadow:0 10px 26px #1524272e}.start-button:hover{background:var(--orange);transform:translateY(-2px)}.start-button span{text-align:left;display:grid}.start-button small{color:var(--yellow);letter-spacing:.16em;font-size:8px;font-weight:900}.start-button strong{margin-top:2px;font-size:19px;font-weight:900}.start-button>i{width:38px;height:38px;color:var(--ink);background:var(--yellow);border-radius:50%;place-items:center;display:grid}.start-button svg{width:20px;height:20px}.start-copyright{color:var(--ink-soft);letter-spacing:.06em;text-align:center;margin:9px 0 -2px;font-size:9px;font-weight:700;line-height:1.35}.garage-version{color:#f4efe29e;font-variant-numeric:tabular-nums;letter-spacing:.08em;pointer-events:none;margin:0;font-size:8px;font-weight:700;line-height:1;position:absolute;bottom:18px;left:28px}.garage-footnote{color:var(--ink-soft);letter-spacing:.09em;white-space:nowrap;pointer-events:none;align-items:center;gap:11px;font-size:8px;font-weight:800;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.garage-footnote i{background:var(--orange);border-radius:50%;width:3px;height:3px}.race-top{pointer-events:none;align-items:stretch;gap:7px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.race-stat,.position-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131f21d6;border:1px solid #f4efe229;border-radius:4px;align-content:center;justify-items:center;min-width:100px;min-height:58px;padding:8px 13px;display:grid;box-shadow:0 8px 26px #0812142e}.race-stat>span,.position-card>span{color:#f4efe28a;letter-spacing:.12em;font-size:8px;font-weight:800}.race-stat>strong,.position-card>strong{color:var(--paper);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;margin-top:3px;font-size:16px;font-weight:800}.race-stat>strong b,.position-card>strong b{font-size:23px;font-weight:900}.race-stat>strong i,.position-card>strong i{color:#f4efe252;margin:0 4px;font-size:12px;font-style:normal}.position-card{border-color:var(--orange);background:var(--orange);min-width:106px}.position-card>span,.position-card>strong,.position-card>strong i{color:var(--ink)}.total-time-card{min-width:124px}.race-actions{pointer-events:auto;align-items:stretch;gap:6px;margin-left:4px;display:flex}.race-actions .icon-button{width:48px;height:58px;color:var(--paper);background:#131f21d6;border-color:#f4efe229}.race-actions .icon-button:hover,.race-actions .icon-button.active{color:var(--ink);border-color:var(--orange);background:var(--orange)}.minimap-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#f4efe2e0;border-radius:0;width:220px;padding:10px;position:absolute;top:22px;left:22px;box-shadow:0 8px 30px #0b181a26}.minimap{width:100%;height:125px}.minimap canvas{display:block}.minimap-caption{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 1px 0;display:flex}.minimap-caption span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;overflow:hidden}.minimap-caption small{color:var(--ink-soft);white-space:nowrap;font-size:8px}.quick-switch-panel{width:min(720px,100vw - 40px);color:var(--paper);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#131f21f0;border:1px solid #f4efe233;border-radius:4px;align-items:center;gap:16px;padding:13px;display:flex;position:absolute;bottom:178px;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #050e1042}.quick-switch-panel>div:first-child{flex:none;width:92px}.quick-switch-panel .eyebrow{color:var(--yellow)}.quick-switch-panel>div:first-child strong{white-space:nowrap;margin-top:3px;font-size:15px;display:block}.quick-switch-list{flex:1;grid-template-columns:repeat(6,minmax(72px,1fr));gap:5px;min-width:0;display:grid}.quick-switch-list button{min-width:0;color:var(--paper);text-align:left;background:0 0;border:1px solid #f4efe221;border-radius:2px;align-items:center;gap:7px;padding:8px 7px;display:flex;overflow:hidden}.quick-switch-list button:hover,.quick-switch-list button.active{color:var(--ink);border-color:var(--car-color);background:var(--car-color)}.quick-switch-list button>i{background:var(--car-color);flex:none;width:7px;height:30px}.quick-switch-list button.active>i,.quick-switch-list button:hover>i{background:var(--ink)}.quick-switch-list button>span{min-width:0;display:grid}.quick-switch-list strong,.quick-switch-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-switch-list strong{font-size:10px}.quick-switch-list small{color:inherit;opacity:.64;font-size:7px}.speed-panel{--boost-level:0;pointer-events:none;align-items:end;gap:10px;display:flex;position:absolute;bottom:20px;right:24px}.boost-meter{color:#f4efe2b3;opacity:.76;gap:5px;width:174px;transition:color .16s,opacity .16s,filter .16s;display:grid;position:absolute;bottom:151px;right:0}.boost-meter>span{letter-spacing:.13em;justify-content:flex-end;align-items:center;gap:5px;font-size:8px;font-weight:900;display:flex}.boost-meter svg{width:13px;height:13px;color:var(--yellow)}.boost-meter>div{background:#131f21c7;border:1px solid #f4efe238;height:7px;overflow:hidden;transform:skew(-16deg)}.boost-meter>div>i{transform-origin:0;background:linear-gradient(90deg,#2fd8c6 0%,#f5dc42 48%,#ff5a36 100%);width:100%;height:100%;transition:transform 80ms linear;display:block;transform:scaleX(0);box-shadow:0 0 16px #f5dc42b8}.boost-meter.active{color:var(--paper);opacity:1;filter:drop-shadow(0 0 8px #ffbc3d6b)}.speed-dial{transition:transform .16s,filter .16s}.speed-panel.boosting .speed-dial{filter:drop-shadow(0 0 18px #ffba3752);transform:translateY(-2px)scale(1.025)}.speed-panel.boosting .dial-value{stroke:var(--yellow);filter:drop-shadow(0 0 7px #ffd94cd9)}.speed-dial{width:144px;height:144px;color:var(--paper);position:relative}.speed-dial svg{filter:drop-shadow(0 5px 12px #040c0e38);width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.speed-dial circle{fill:#131f21cc;stroke-width:8px}.dial-track{stroke:#f4efe22e}.dial-value{fill:none;stroke:var(--orange);stroke-linecap:butt;transition:stroke-dashoffset 80ms linear}.speed-dial>div{place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.speed-dial strong{font-variant-numeric:tabular-nums;font-size:42px;font-weight:900;line-height:.9}.speed-dial span{color:#f4efe2a6;letter-spacing:.14em;margin-top:5px;font-size:8px;font-weight:900}.speed-panel>p{width:36px;height:36px;color:var(--ink);background:var(--yellow);border-radius:50%;place-items:center;margin:0 0 9px;font-size:15px;font-weight:900;display:grid}.countdown{color:var(--paper);letter-spacing:-.08em;text-shadow:0 8px #1422244d;opacity:0;pointer-events:none;place-items:center;font-size:clamp(96px,18vw,220px);font-weight:900;transition:opacity .12s,transform .16s;display:grid;position:absolute;inset:0;transform:scale(.76)}.countdown.visible{opacity:1;transform:scale(1)}.countdown.go{color:var(--yellow);letter-spacing:-.04em}.race-message{color:var(--paper);border-left:4px solid var(--orange);letter-spacing:.08em;opacity:0;pointer-events:none;white-space:nowrap;background:#131f21d6;padding:8px 16px;font-size:13px;font-weight:800;transition:opacity .16s,transform .2s;position:absolute;top:27%;left:50%;transform:translate(-50%,10px)}.race-message.show{opacity:1;transform:translate(-50%)}.touch-controls{pointer-events:none;position:absolute;inset:0}.touch-controls button{color:var(--paper);pointer-events:auto;touch-action:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#131f21b8;border:1px solid #f4efe257;box-shadow:0 8px 22px #07111333}.touch-controls button.pressed{color:var(--ink);border-color:var(--yellow);background:var(--yellow);transform:scale(.96)}.touch-steer{bottom:max(18px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));pointer-events:none;gap:9px;display:flex;position:absolute}.touch-steer button{border-radius:4px;place-items:center;width:61px;height:72px;display:grid}.touch-steer svg{width:31px;height:31px}.touch-handbrake{right:max(163px, calc(env(safe-area-inset-right) + 158px));bottom:max(24px, env(safe-area-inset-bottom));border-radius:50%;place-items:center;width:60px;height:60px;padding:0;display:grid;position:absolute}.touch-handbrake svg{width:24px;height:24px}.touch-boost{bottom:max(98px, calc(env(safe-area-inset-bottom) + 94px));width:108px;height:58px;color:var(--paper);background:linear-gradient(135deg,#ff652d47,#0000 55%),#131f21d6;border-color:#f5dc42b8;border-radius:8px;grid-template-rows:1fr;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:3px;padding:7px 10px 11px;display:grid;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.touch-boost svg{width:23px;height:23px;color:var(--yellow)}.touch-boost>span{letter-spacing:.04em;white-space:nowrap;font-size:8px;font-weight:900;line-height:1.18}.touch-boost>b{background:#f4efe233;height:3px;position:absolute;bottom:6px;left:9px;right:9px;overflow:hidden}.touch-boost>b>em{background:linear-gradient(90deg, var(--teal), var(--yellow), var(--orange));transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.touch-boost.active{color:var(--ink);border-color:var(--yellow);background:var(--yellow)}.touch-boost.active svg{color:var(--ink)}.touch-controls .touch-boost.pressed{transform:translate(-50%)scale(.95)}.touch-pedals{right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));pointer-events:none;align-items:end;gap:8px;display:flex;position:absolute}.touch-pedals button{border-radius:4px;font-size:10px;font-weight:900}.brake-pedal{width:56px;height:72px}.accelerate-pedal{place-items:center;width:72px;height:94px;display:grid}.accelerate-pedal svg{width:31px;height:31px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a14168f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{width:min(470px,100%);color:var(--paper);background:linear-gradient(#131f21f7,#131f21f7),repeating-linear-gradient(135deg,#0000 0 12px,#ffffff0a 12px 13px);border:1px solid #f4efe238;border-radius:4px;padding:28px;box-shadow:0 30px 90px #00000057}.modal-panel .eyebrow{color:var(--yellow)}.modal-panel h2{letter-spacing:-.045em;margin:6px 0 9px;font-size:clamp(32px,6vw,48px);font-weight:900}.modal-panel>p:not(.eyebrow){color:#f4efe2a8;margin:0 0 22px;font-size:12px}.control-grid{background:#f4efe21f;border:1px solid #f4efe21f;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.control-grid span{background:#1b2a2c;align-items:center;gap:5px;min-height:44px;padding:8px 10px;font-size:10px;display:flex}kbd{min-width:25px;height:24px;color:var(--ink);background:var(--paper);border-radius:2px;place-items:center;padding:0 5px;font-family:inherit;font-size:9px;font-weight:900;display:inline-grid;box-shadow:inset 0 -2px #15242738}.modal-actions{gap:8px;display:flex}.primary-button,.secondary-button{border-radius:3px;min-height:48px;padding:0 18px;font-size:12px;font-weight:900}.primary-button{color:var(--ink);background:var(--yellow);flex:1;justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary-button:hover{background:var(--orange)}.secondary-button{color:var(--paper);background:0 0;border:1px solid #f4efe23d}.secondary-button:hover{border-color:var(--paper)}.primary-button svg{width:17px;height:17px}.result-panel h2{margin-bottom:16px}.result-position{color:var(--ink);background:var(--orange);justify-content:space-between;align-items:center;margin-bottom:9px;padding:14px 16px;display:flex}.result-position span{letter-spacing:.1em;font-size:10px;font-weight:900}.result-position strong{font-size:24px;font-weight:900}.result-grid{background:#f4efe21f;border:1px solid #f4efe21f;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.result-grid>div{background:#1b2a2c;gap:4px;padding:13px;display:grid}.result-grid span{color:#f4efe28c;letter-spacing:.1em;font-size:8px}.result-grid b{font-variant-numeric:tabular-nums;font-size:19px}.result-panel[data-record=true] .result-position{background:var(--yellow)}.toast{z-index:80;color:var(--paper);border-left:3px solid var(--orange);opacity:0;pointer-events:none;background:#131f21f0;border-radius:2px;padding:9px 14px;font-size:11px;font-weight:800;transition:opacity .18s,transform .2s;position:fixed;bottom:30px;left:50%;transform:translate(-50%,10px);box-shadow:0 8px 24px #0811133d}.toast.show{opacity:1;transform:translate(-50%)}noscript{z-index:200;color:var(--paper);background:var(--ink);place-items:center;display:grid;position:fixed;inset:0}@media (max-width:1180px){.vehicle-info{width:240px;left:24px}.vehicle-info h1{font-size:40px}.stat-list,.dimension-strip{width:230px}.race-setup{width:344px;right:20px}.car-arrow-left{left:calc(50% - 275px)}.car-arrow-right{right:calc(50% - 275px)}.track-option{grid-template-columns:23px minmax(0,1fr) 72px}.track-preview{width:68px}.track-preview svg{width:64px}}@media (max-height:760px) and (min-width:821px){.topbar{top:14px}.vehicle-info{top:82px;bottom:48px}.vehicle-count{margin-bottom:10px}.vehicle-tagline{margin:10px 0 12px}.stat-list{gap:6px}.dimension-strip{margin-top:12px}.race-setup{max-height:calc(100vh - 92px);padding:14px;top:74px}.track-option{min-height:64px;padding:7px 9px}.track-copy em{display:none}.start-button{min-height:53px;margin-top:8px}.garage-footnote{display:none}}@media (max-width:820px){.topbar{top:max(12px, env(safe-area-inset-top));left:14px;right:14px}.brand{gap:8px}.brand-mark{width:31px;height:32px}.brand strong{font-size:16px}.brand small,.asset-mode{display:none}.topbar-tools{gap:5px}.icon-button{width:38px;height:38px}.vehicle-info{top:calc(max(12px, env(safe-area-inset-top)) + 49px);grid-template-columns:minmax(0,1fr) minmax(152px,.72fr);align-content:start;column-gap:18px;width:auto;display:grid;bottom:auto;left:16px;right:16px}.vehicle-count{margin:0;position:absolute;top:1px;right:0}.vehicle-count span:first-child{font-size:18px}.vehicle-count i{width:24px}.vehicle-info>.eyebrow,.vehicle-info h1,.vehicle-english,.vehicle-tagline{grid-column:1}.vehicle-info h1{max-width:58vw;margin-top:3px;padding-right:40px;font-size:clamp(30px,8vw,43px)}.vehicle-english{margin-top:6px;font-size:10px}.vehicle-tagline{margin:9px 0 0;font-size:10px;line-height:1.45}.stat-list{grid-area:1/2/span 4;align-self:start;gap:5px;width:auto;padding-top:25px}.stat-row{gap:3px}.stat-row>span{font-size:8px}.stat-row>div{height:3px}.dimension-strip{display:none}.car-arrow{width:38px;height:55px;top:42%}.car-arrow-left{left:12px}.car-arrow-right{right:12px}.car-dots{display:none}.race-setup{top:auto;right:12px;bottom:calc(max(12px, env(safe-area-inset-bottom)) + 23px);width:auto;max-height:292px;padding:12px;left:12px}.garage-version{bottom:max(9px, env(safe-area-inset-bottom));left:14px}.setup-heading{margin-bottom:9px}.setup-heading h2{font-size:21px}.track-list{scroll-snap-type:x mandatory;grid-template-rows:66px;grid-auto-columns:minmax(205px,70vw);grid-auto-flow:column;gap:7px;overflow:auto hidden}.track-option{scroll-snap-align:start;grid-template-columns:20px minmax(0,1fr) 60px;min-height:66px;padding:7px}.track-copy strong{font-size:12px}.track-copy em{display:none}.track-preview{width:56px;height:45px}.track-preview svg{width:54px;height:40px}.start-button{min-height:52px;margin-top:9px}.start-button strong{font-size:17px}.garage-footnote{display:none}.race-top{top:max(9px, env(safe-area-inset-top));gap:4px;left:9px;right:9px;transform:none}.race-stat,.position-card{flex:1;min-width:0;min-height:48px;padding:5px 7px}.race-stat>span,.position-card>span{font-size:7px}.race-stat>strong,.position-card>strong{font-size:11px}.race-stat>strong b,.position-card>strong b{font-size:17px}.total-time-card{display:none}.race-actions{gap:4px;margin-left:1px}.race-actions .icon-button{width:37px;height:48px}.minimap-panel{width:126px;padding:6px;top:68px;left:10px}.minimap{height:70px}.minimap-caption{padding-top:5px}.minimap-caption span{font-size:8px}.minimap-caption small{display:none}.speed-panel{transform-origin:100% 100%;bottom:159px;right:15px;transform:scale(.76)}.race-message{text-overflow:ellipsis;max-width:calc(100vw - 30px);font-size:11px;top:19%;overflow:hidden}.quick-switch-panel{width:min(290px,100vw - 152px);padding:9px;display:block;inset:69px 10px auto auto;transform:none}.quick-switch-panel>div:first-child{justify-content:space-between;align-items:center;width:auto;margin-bottom:7px;display:flex}.quick-switch-panel>div:first-child strong{font-size:12px}.quick-switch-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.quick-switch-list button{padding:5px}.quick-switch-list button>i{width:5px;height:25px}.quick-switch-list strong{font-size:9px}.quick-switch-list small{font-size:6px}.modal-panel{padding:22px}.toast{text-align:center;max-width:calc(100vw - 32px);bottom:122px}}@media (max-width:430px){.topbar .icon-button:nth-last-child(2){display:none}.vehicle-info{column-gap:10px}.vehicle-info h1{max-width:62vw}.vehicle-tagline{max-width:56vw}.stat-list{padding-top:27px}.race-setup{max-height:260px;padding:10px}.lap-select button{width:25px;height:25px}.track-list{grid-template-rows:62px}.track-option{min-height:62px}.start-button{min-height:49px}.speed-panel{bottom:155px;right:8px;transform:scale(.68)}.touch-steer{gap:6px;left:11px}.touch-steer button{width:54px;height:66px}.touch-handbrake{width:52px;height:52px;right:144px}.touch-pedals{gap:5px;right:11px}.brake-pedal{width:48px;height:65px}.accelerate-pedal{width:63px;height:86px}.race-actions .icon-button{width:34px}.control-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
