@font-face{font-family:Barlow Condensed;font-style:italic;font-weight:800;font-display:swap;src:url(../fonts/latin-0.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/latin-1.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/latin-2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/latin-3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/latin-4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/latin-4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/latin-4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/latin-4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,Arial,sans-serif;color:#f0f2e8;background:#111913;font-synthesis:style;--lime: #d5ff41;--muted: #a9b1a3;--line: #e0ead124;--display: "Barlow Condensed", "Arial Narrow", sans-serif;font-weight:400;color-scheme:dark}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}a{color:inherit;text-decoration:none}button svg{width:20px;height:20px;flex-shrink:0}button{transition:background .18s,color .18s,transform .18s,border-color .18s}button:active{transform:translateY(1px)}button:hover{color:#fff}.hidden{display:none!important}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.cinema-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0a1310f7,#0a1310e3 24%,#0a13106e 44%,#0a131000 65%),linear-gradient(0deg,rgba(9,19,15,.9),transparent 24%,transparent 79%,rgba(8,19,15,.63));pointer-events:none;transition:opacity .8s}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 60% 40%,transparent 35%,#04120c30 100%)}.topbar{height:104px;position:absolute;z-index:15;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;margin:0 4.2%;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand>svg{width:37px;height:37px;color:var(--lime)}.brand>span:first-of-type{font-family:var(--display);font-size:32px;font-weight:800;font-style:italic;letter-spacing:.5px;white-space:nowrap}.brand-gp{margin-left:5px;color:var(--lime)}.brand-divider{height:23px;width:1px;background:#e0ead13a;margin-left:7px}.brand-caption{font-size:9px;letter-spacing:2px;font-weight:600;color:#d4d9cd}.menu-nav{display:flex;gap:35px;height:100%;align-items:center;margin-right:3%}.nav-link{background:none;font-size:10px;letter-spacing:1.4px;font-weight:700;color:#c1c9b9;position:relative;height:100%;padding:0 2px;display:flex;align-items:center;gap:8px;white-space:nowrap}.nav-link.active{color:var(--lime)}.nav-link.active:after{content:"";height:2px;position:absolute;left:0;right:0;bottom:-1px;background:var(--lime)}.nav-link svg{width:13px;height:13px}.toolbar{display:flex;align-items:center;gap:10px}.icon-button{height:37px;width:37px;display:grid;place-items:center;border:1px solid #e0ead132;background:#12201833;border-radius:50%;color:#e4eadb;flex-shrink:0}.icon-button:hover{background:#ffffff1a;border-color:#e0ead17a}.icon-button svg{width:17px;height:17px}.live-tag{display:flex;gap:7px;align-items:center;font-size:8px;letter-spacing:1.6px;margin-right:17px;white-space:nowrap;color:#e0e7d8}.live-tag i,.race-live i{height:4px;width:4px;display:block;background:var(--lime);border-radius:50%;box-shadow:0 0 8px #d5ff4166}.menu{position:absolute;top:104px;right:0;bottom:0;left:0;pointer-events:none}.menu-content{position:absolute;left:6%;top:clamp(30px,5.7vh,70px);width:410px;pointer-events:auto}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;font-weight:600;letter-spacing:2.7px;color:#d7dfcb}.small-line{width:22px;height:2px;display:inline-block;background:var(--lime)}h1{font-family:var(--display);font-size:clamp(76px,6.4vw,103px);font-weight:800;line-height:.89;letter-spacing:-1.5px;margin:22px 0 20px}h1 em{font-style:italic;color:var(--lime)}.intro{color:#b8c3b3;font-size:12px;line-height:1.85;letter-spacing:.2px;margin:0 0 27px}.race-spec{padding:20px 0 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:23px}.circuit-title{display:flex;gap:16px;align-items:center}.circuit-number{font-family:var(--display);font-weight:600;font-size:39px;line-height:1;color:#a4ad9750;border-right:1px solid var(--line);padding-right:15px}.micro{font-size:8px;font-weight:600;letter-spacing:1.8px;color:var(--muted);display:block}.circuit-title .micro{font-size:7px;letter-spacing:2px}.circuit-title h2{font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:1.8px;margin:4px 0 0;line-height:1.1;display:flex;gap:11px;align-items:center}.circuit-title h2 svg{width:16px;height:16px;color:#c4cfb5}.spec-numbers{display:flex;gap:20px;align-items:center;margin-top:17px;font-size:8px;letter-spacing:.8px;color:#aab6a2}.spec-numbers b{font-size:12px;color:#f0f1e8;margin-right:3px;font-weight:500}.spec-numbers .weather{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10px}.weather svg{width:14px;height:14px;color:#e8d4a0}.selection-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.selection-label .micro:last-child{font-size:7px;letter-spacing:1px;color:#c6d1b9}.liveries{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.livery{height:42px;display:flex;align-items:center;gap:9px;background:#1f2a2080;border:1px solid var(--line);padding:0 12px;font-size:9px;font-weight:700;letter-spacing:1px;color:#afb9a6}.livery:hover{background:#2d3d2880;border-color:#bbcba655}.livery.selected{background:#d5ff4110;border-color:#d5ff4195;color:var(--lime)}.team-mark{display:flex;gap:2px;transform:skew(-25deg)}.team-mark i{display:block;width:3px;height:15px;background:var(--team)}.team-mark i:first-child{height:9px;margin-top:6px}.team-mark i:last-child{height:11px;margin-top:4px}.selected-check{margin-left:auto;width:11px;height:11px;visibility:hidden}.selected-check svg{width:11px;height:11px}.selected .selected-check{visibility:visible}.difficulty-row{display:flex;align-items:center;justify-content:space-between;margin:18px 0 21px}.difficulty{display:flex;gap:2px}.difficulty button{font-size:9px;padding:6px 10px;background:transparent;color:#9daa91;border-radius:2px}.difficulty button.selected{color:#e2ebd6;background:#e0ead118}.difficulty button:hover{color:var(--lime)}.difficulty-row>.micro{font-size:7px}.start-button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--lime);color:#192410;height:58px;width:100%;padding:0 21px;font-size:12px;font-weight:800;letter-spacing:1.5px;position:relative;isolation:isolate}.start-button:hover{background:#e0ff73;color:#17250b;box-shadow:0 0 40px #d5ff4115}.start-button svg{width:21px;height:21px;transition:transform .2s}.start-button:hover svg{transform:translate(2px,-2px)}.start-shortcut{font-size:8px;font-weight:500;letter-spacing:1px;margin-left:auto;opacity:.52;border:1px solid #19241050;padding:3px 5px}.menu-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:8px;color:#a3af97;letter-spacing:.1px}.key-cluster{display:flex;gap:3px}kbd{font:500 8px DM Sans,sans-serif;min-width:16px;padding:3px 4px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #c9d6ba35;border-bottom-width:2px;border-radius:3px;color:#d0dcc2;background:#15201744;line-height:1}.hint-dot{margin:0 2px}.track-preview{width:238px;position:absolute;bottom:103px;right:4.2%;background:#101e1860;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #dce4cf26;border-radius:2px;padding:17px 17px 14px;pointer-events:auto}.track-preview-heading{display:flex;justify-content:space-between}.track-preview .micro{font-size:7px;letter-spacing:1.2px}.track-preview .preview-number{color:#c7d6b484}.track-preview canvas{width:100%;height:137px;display:block}.track-preview-footer{display:flex;justify-content:space-between;font-size:6px;letter-spacing:.9px;border-top:1px solid var(--line);padding-top:12px;color:#c9d4c0}.track-preview-footer>span:first-child{display:flex;align-items:center;gap:5px}.track-preview-footer>span:last-child{color:#aeb9a3}.lime-dot{width:4px;height:4px;border-radius:50%;background:var(--lime);display:inline-block}.car-caption{position:absolute;top:38%;right:5.2%;display:flex;align-items:center;gap:13px}.caption-rule{width:39px;height:1px;background:#f1f4db66}.car-caption .micro{font-size:7px;color:#f1f4db9c;letter-spacing:2px}.car-caption b{display:block;font-size:12px;font-weight:600;letter-spacing:1.4px;margin-top:5px}.car-caption-badge{border:1px solid #f1f4db50;font-family:var(--display);font-size:22px;padding:5px 8px;color:var(--lime)}.menu-footer{position:absolute;bottom:0;height:66px;left:4.2%;right:4.2%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.5px;color:#c0cbb4;gap:18px}.menu-footer>span:first-child{display:flex;align-items:center;gap:9px}.menu-footer b{font-family:var(--display);font-size:13px;font-weight:600;margin-left:16px;color:#e8eedc;letter-spacing:1px}.footer-version{color:#aab69b;opacity:.6}.best-record{margin-left:auto;margin-right:5%}.in-race .cinema-shade{opacity:0}.in-race .topbar{height:78px;border-bottom:0;pointer-events:none}.in-race .topbar .brand,.in-race .toolbar{pointer-events:auto}.in-race .menu-nav,.in-race .brand-caption,.in-race .brand-divider,.in-race .live-tag{display:none}.in-race .topbar .brand>svg{width:29px}.in-race .brand>span:first-of-type{font-size:26px}.in-race .topbar{margin:0 3%}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;text-shadow:0 1px 10px #05120766}.race-heading{position:absolute;left:3%;top:92px;display:flex;align-items:center;gap:13px}.race-heading>.micro{color:#f0f2e3;font-size:9px}.race-live{display:flex;gap:5px;align-items:center;font-size:7px;color:var(--lime);letter-spacing:1px}.race-stats{display:flex;gap:30px;position:absolute;top:119px;left:3%}.race-stats>div{display:flex;flex-direction:column;gap:0}.race-stats .micro{font-size:7px;color:#e0e8d0a8}.race-stats strong{font-family:var(--display);font-size:57px;font-weight:600;line-height:1.1;letter-spacing:1px}.race-stats strong span{font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:0;color:#dfe8c89c;margin-left:6px}.position-stat strong{color:var(--lime)}.timing-panel{position:absolute;top:30px;left:50%;transform:translate(-50%);width:184px;text-align:center}.timing-panel>.micro{font-size:7px;color:#e4eed49c}.timing-panel>strong{font-family:var(--display);font-size:31px;font-weight:600;letter-spacing:1.8px;display:block;margin:3px 0}.timing-panel>div{display:flex;justify-content:center;gap:16px;font-size:7px;color:#d6e0c6;letter-spacing:1.3px}.timing-panel b{font-weight:500;color:var(--lime);font-variant-numeric:tabular-nums}.leaderboard{position:absolute;top:212px;left:3%;width:208px;display:flex;flex-direction:column;gap:3px}.leader-row{display:grid;grid-template-columns:22px 3px 1fr 40px;align-items:center;gap:9px;background:linear-gradient(90deg,#101c18d1,#101c1866);height:31px;padding:0 10px;font-size:9px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.leader-position{font-family:var(--display);font-size:15px;font-weight:600;color:#c3cbb8}.leader-row>i{width:2px;height:12px}.leader-row>b{font-weight:500;letter-spacing:.3px}.leader-gap{text-align:right;font-size:8px;font-variant-numeric:tabular-nums;color:#b7c5a7}.leader-row.is-player{background:linear-gradient(90deg,#d5ff41ed,#d5ff41be);color:#1b2e17;text-shadow:none}.is-player .leader-position,.is-player .leader-gap{color:#2e4224}.leader-row.is-player b{font-weight:800}.race-map-panel{position:absolute;left:3%;bottom:66px;width:206px}.race-map-panel>.micro{display:flex;justify-content:space-between;font-size:7px;color:#e2ead4aa;letter-spacing:1.2px;padding:0 12px}.race-map-panel>.micro .map-live{color:var(--lime);font-size:6px}.race-map-panel canvas{width:100%;height:176px}.speedometer{position:absolute;right:3.7%;bottom:61px;width:239px;background:linear-gradient(135deg,#0e1d1596,#0e1d15c9);border:1px solid #daeac622;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px 20px 15px;border-radius:3px}.rpm-lights{display:flex;gap:4px;justify-content:space-between}.rpm-lights i{display:block;flex:1;height:3px;background:#dce9c528;border-radius:2px}.rpm-lights i.on{background:var(--rpm-color);box-shadow:0 0 6px color-mix(in srgb,var(--rpm-color) 50%,transparent)}.speed-main{display:flex;align-items:center;gap:15px;margin-top:5px}.gear{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);padding-right:18px;min-width:56px}.gear>span:first-child{font-family:var(--display);font-size:48px;color:var(--lime);font-weight:600;line-height:1}.gear>span:last-child{font-size:5px;letter-spacing:1.1px;color:#aebe9e;margin-top:6px}.speed-value{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:6px}.speed-value>strong{font-family:var(--display);font-size:77px;font-weight:600;letter-spacing:-1px;line-height:1.15;font-variant-numeric:tabular-nums}.speed-value>span{font-size:6px;letter-spacing:1px;margin-bottom:13px;color:#c0ceb3}.ers-label{display:flex;justify-content:space-between;font-size:8px;margin-top:9px;letter-spacing:.9px;color:var(--lime)}.ers-label>span>span{color:#bcc9ac;font-size:6px}.ers-label b{font-weight:500;font-variant-numeric:tabular-nums}.ers-track{height:4px;margin-top:8px;background:#e4efce22;overflow:hidden}.ers-track>div{height:100%;background:var(--lime);transform-origin:left;transition:transform .1s linear}.pedals{display:flex;gap:16px;margin-top:14px}.pedals>span{display:flex;align-items:center;gap:7px;flex:1;font-size:5px;letter-spacing:.9px;color:#bac8a8}.pedals i{height:3px;display:block;background:#e4efce22;flex:1}.pedals b{height:100%;display:block;background:var(--lime);transform-origin:left;transform:scaleX(0)}.pedals>span:last-child b{background:#ff765a}.race-bottom-hints{position:absolute;left:50%;transform:translate(-50%);bottom:26px;display:flex;gap:23px;font-size:7px;letter-spacing:1px;color:#d8e3c5bb;white-space:nowrap}.race-bottom-hints span{display:flex;gap:6px;align-items:center}.camera-label{position:absolute;right:3.7%;bottom:30px;font-size:6px;letter-spacing:1.2px;color:#d7e1c5ad}.race-notice{position:absolute;left:50%;top:21%;transform:translate(-50%,-8px);font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:2px;color:var(--lime);padding:10px 24px;background:linear-gradient(90deg,transparent,#0a1d17c9,transparent);opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap}.race-notice.visible{opacity:1;transform:translate(-50%)}.offroad-notice{position:absolute;bottom:22%;left:50%;transform:translate(-50%);color:#ffd7a3;font-size:9px;letter-spacing:3px;opacity:0}.offroad-notice.visible{opacity:1}.starting-overlay{position:absolute;left:50%;top:28%;transform:translate(-50%);z-index:10;text-align:center;white-space:nowrap}.starting-overlay>.micro{color:#eff1dc;letter-spacing:3px;font-size:9px;text-shadow:0 1px 12px #000}.starting-lights{display:flex;gap:13px;padding:19px 23px;background:#0b1515e6;border:1px solid #ebf2d62b;border-radius:6px;margin:18px 0;box-shadow:0 8px 35px #0004}.starting-lights i{height:41px;width:41px;background:#412121;border-radius:50%;border:3px solid #121b18;box-shadow:inset 0 2px 6px #0007}.starting-lights i.on{background:#ff4937;box-shadow:0 0 24px #ff49378c,inset 0 0 0 6px #ff4937}.starting-hint{font-size:8px;letter-spacing:1.4px;text-shadow:0 1px 10px #000}.speed-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(ellipse at 50% 52%,transparent 38%,#d5ff4125 100%);box-shadow:inset 0 0 130px #d5ff4112}.speed-fx.active{opacity:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#07130dc2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;z-index:30;padding:24px;overflow:auto}.modal{position:relative;width:460px;max-height:calc(100dvh - 48px);overflow-y:auto;background:#142018;border:1px solid #d2e4be29;padding:39px;box-shadow:0 28px 100px #0005}.modal .eyebrow{color:var(--lime);font-size:8px;letter-spacing:2px}.modal h2{font-family:var(--display);font-weight:700;letter-spacing:.3px;font-size:44px;line-height:1.02;margin:15px 0}.modal p{font-size:11px;line-height:1.8;color:#adbea0;margin:0 0 24px}.modal-close{position:absolute;top:18px;right:18px;width:28px;height:28px}.modal-close svg{width:14px;height:14px}.controls-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:20px}.controls-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0}.controls-list>div b{font-size:10px;font-weight:400;color:#d6e1cc}.controls-list>div>span{display:flex;gap:4px}.controls-list kbd{min-width:22px;height:22px;font-size:9px}.modal .tip{font-size:10px;padding-left:12px;border-left:2px solid var(--lime)}.compact{height:45px;font-size:10px}.pause-modal{text-align:center;padding:45px 35px}.pause-modal .eyebrow{justify-content:center}.pause-modal h2{font-size:63px}.pause-modal p{margin-bottom:30px}.secondary-button{width:100%;height:48px;border:1px solid var(--line);background:transparent;font-size:10px;letter-spacing:1px;margin-top:12px}.secondary-button:hover{background:#ffffff0c}.text-button{display:block;background:transparent;color:#afbf9f;font-size:10px;margin:21px auto 0;padding:5px;text-decoration:underline;text-underline-offset:4px}.results-modal{width:590px;padding:30px 35px}.result-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.result-title-row svg{width:32px;height:32px;color:var(--lime);flex-shrink:0}.result-title-row h2{font-size:40px}.result-stats{display:flex;align-items:center;justify-content:space-between;margin:8px 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line);gap:15px}.result-stats .micro{font-size:6px;letter-spacing:1px}.result-stats strong{font-family:var(--display);font-size:56px;font-weight:600;color:var(--lime);line-height:1.2}.result-stats strong span{font-size:19px;color:#a8ba99;margin-left:7px}.result-stats b{font-family:var(--display);font-size:27px;font-weight:600;display:block;margin-top:8px;white-space:nowrap}.result-laps{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;color:#a8ba99}.result-laps b{display:block;font-size:10px;font-weight:500;margin-top:5px;color:#dbe5ce;letter-spacing:.5px}.result-laps b.fastest{color:var(--lime)}.new-record{font-size:8px;color:var(--lime);letter-spacing:1.6px;padding-top:15px}.result-standings{margin:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.result-standings>div{display:grid;grid-template-columns:18px 3px 1fr auto;gap:7px;align-items:center;height:25px;font-size:8px;color:#b1c0a4;padding:0 7px}.result-standings>div>b{font-weight:500;color:#e0e8d7}.result-standings>div>i{height:10px;width:2px}.result-standings>div>span:last-child{font-size:7px;font-variant-numeric:tabular-nums}.result-standings .is-player{background:#d5ff411a}.result-standings .is-player b{color:var(--lime)}.results-modal .start-button{font-size:10px;height:49px}.results-modal .text-button{margin-top:13px}.loading{position:fixed;top:0;right:0;bottom:0;left:0;background:#111c15;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .5s;gap:25px}.loading-brand{display:flex;align-items:center;gap:15px;color:var(--lime)}.loading-brand svg{width:44px;height:44px}.loading-brand span{font-family:var(--display);font-style:italic;font-weight:800;font-size:49px;color:#eff3e5}.loading>.micro{font-size:8px;letter-spacing:2px}.loading-line{width:160px;height:2px;background:#d5ff4122;overflow:hidden}.loading-line>i{display:block;height:100%;width:60%;background:var(--lime);animation:loading 1.2s ease-in-out infinite}.loading.done{opacity:0;pointer-events:none}.loading.error .loading-line{display:none}.loading.error .micro{max-width:420px;line-height:2;text-align:center;padding:0 25px;font-size:11px;letter-spacing:.5px}.loading.error button{margin-top:15px}.toast{position:fixed;z-index:90;left:50%;bottom:32px;transform:translate(-50%);padding:13px 22px;background:#1c3024f2;border:1px solid #d5ff4144;font-size:10px;color:#eaf3dd;box-shadow:0 8px 25px #0004;max-width:90%;text-align:center;line-height:1.6}.touch-controls{display:none;position:absolute;inset:auto 0 18px;z-index:20;padding:0 22px;justify-content:space-between;pointer-events:none;-webkit-user-select:none;user-select:none}.touch-controls>div{display:flex;gap:10px;align-items:flex-end}.touch-controls button{height:61px;min-width:62px;border:1px solid #e1efce60;background:#17271bbb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;color:#e9efd8;font-size:10px;font-weight:700;letter-spacing:1px;pointer-events:auto;touch-action:none}.touch-controls .touch-gas{height:81px;background:#d5ff41be;color:#20331a;min-width:76px;border-color:#d5ff41a0}.touch-controls .touch-boost{height:44px;min-width:48px;font-size:8px}.touch-controls button.pressed{background:var(--lime);color:#1b321a}.touch-steering button{font-size:18px}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(270%)}}@media(min-width:1600px){.menu-content{width:460px;top:7vh;left:7%}.intro{font-size:14px;margin-bottom:30px}.race-spec{padding:23px 0;margin-bottom:24px}.livery{height:47px}.start-button{height:64px}.difficulty-row{margin:20px 0 25px}.track-preview{width:272px;bottom:120px}.track-preview canvas{height:160px}.menu-hint{font-size:9px}.car-caption{right:6%;top:40%}}@media(max-height:850px)and (min-width:901px){.topbar{height:84px}.menu{top:84px;right:0;bottom:0;left:0}.menu-content{top:27px;width:370px}h1{font-size:87px;margin:17px 0}.intro{font-size:11px;margin-bottom:19px}.race-spec{padding:14px 0;margin-bottom:17px}.spec-numbers{margin-top:12px}.circuit-title h2{font-size:24px}.livery{height:37px}.difficulty-row{margin:12px 0 15px}.start-button{height:53px}.menu-hint{margin-top:12px}.track-preview{bottom:84px}.menu-footer{height:54px}.eyebrow{font-size:8px}}@media(max-height:690px)and (min-width:901px){.topbar{height:68px}.menu{top:68px;right:0;bottom:0;left:0}.menu-content{top:21px;width:345px}h1{font-size:68px;margin:12px 0}.intro{font-size:10px;line-height:1.6;margin-bottom:13px}.race-spec{padding:10px 0;margin-bottom:11px}.circuit-number{font-size:33px}.circuit-title h2{font-size:21px}.spec-numbers{margin-top:10px}.livery{height:34px}.difficulty-row{margin:9px 0 10px}.start-button{height:45px;font-size:10px}.menu-hint{margin-top:9px;font-size:7px}.menu-footer{height:43px}.track-preview{bottom:65px}.brand-caption{display:none}.menu-nav{gap:25px}.race-map-panel{bottom:42px;width:170px}.race-map-panel canvas{height:143px}.leaderboard{top:183px}.race-heading{top:78px}.race-stats{top:103px}.race-stats strong{font-size:48px}}@media(max-width:1100px){.brand-caption,.brand-divider{display:none}.menu-nav{gap:22px;margin-right:0}.live-tag{display:none}.menu-content{left:5%;width:350px}.car-caption{right:4%;top:34%}.track-preview{width:208px}.track-preview canvas{height:125px}.spec-numbers{gap:13px}}@media(max-width:900px){.topbar{height:78px;margin:0 5%}.menu-nav{margin-left:auto;margin-right:10px}.nav-link{font-size:8px;letter-spacing:1px}.nav-link.active{display:none}.brand>span:first-of-type{font-size:28px}.brand>svg{width:29px}.toolbar{gap:7px}.icon-button{width:32px;height:32px}.menu{top:78px;right:0;bottom:0;left:0}.menu-content{top:40px;width:340px}.cinema-shade{background:linear-gradient(90deg,#0a1310f2,#0a1310bf 39%,#0a131038 77%),linear-gradient(0deg,#09130feb,transparent 40%,transparent 75%,#08130f80)}h1{font-size:88px}.track-preview{width:183px;bottom:85px;right:4%}.track-preview .micro{font-size:6px}.track-preview canvas{height:112px}.track-preview-footer{font-size:5px}.car-caption{top:43%;right:4%}.caption-rule{width:20px}.menu-footer{font-size:6px;letter-spacing:1px}.best-record{margin-right:0}.menu-footer>span:first-child{max-width:150px;line-height:1.7}.race-bottom-hints{gap:12px;font-size:6px}.speedometer{width:206px;padding:12px 15px;bottom:51px}.speed-value>strong{font-size:65px}.gear{padding-right:12px}.gear>span:first-child{font-size:41px}.race-map-panel{width:173px}.race-map-panel canvas{height:145px}.leaderboard{width:185px}.camera-label{font-size:5px}}@media(max-width:600px){.topbar{height:65px;margin:0 6%;gap:12px}.brand{gap:8px}.brand>span:first-of-type{font-size:27px}.brand>svg{width:26px;height:30px}.menu-nav{margin:0 0 0 auto}.nav-link{font-size:7px;letter-spacing:.7px}.nav-link svg{display:none}.toolbar{gap:6px}.icon-button{width:29px;height:29px}.icon-button svg{width:14px;height:14px}#fullscreen-button{display:none}.menu{top:65px;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;padding-bottom:60px;pointer-events:auto}.menu-content{position:relative;left:auto;top:auto;width:auto;margin:31px 7% 70px;max-width:420px}.eyebrow{font-size:7px;letter-spacing:2px;gap:9px}.small-line{width:17px}h1{font-size:84px;margin:17px 0 15px;line-height:.9}.intro{font-size:11px;margin-bottom:146px;line-height:1.7}.cinema-shade{background:linear-gradient(90deg,#0a1310ac,transparent 90%),linear-gradient(0deg,#0a1511,#0a1511f5 28%,#0a151170,#0a151133 60%,#0a151172 75%,#0a1511b3)}.race-spec{padding:15px 0;margin-bottom:19px;background:#11201735}.circuit-title .micro{font-size:6px;letter-spacing:1.6px}.circuit-title h2{font-size:25px}.circuit-number{font-size:36px}.spec-numbers{gap:17px;margin-top:14px;font-size:7px}.spec-numbers b{font-size:11px}.spec-numbers .weather{font-size:9px}.selection-label .micro{font-size:7px}.livery{padding:0 11px;height:41px;font-size:8px;gap:7px}.difficulty-row{margin:15px 0 18px}.difficulty-row>.micro{font-size:6px}.difficulty button{font-size:9px;padding:5px 9px}.start-button{height:53px;font-size:11px}.start-shortcut{display:none}.menu-hint{font-size:7px;gap:6px;margin-top:13px}.track-preview{display:none}.car-caption{top:276px;right:7%;gap:8px}.car-caption .micro{font-size:6px}.car-caption b{font-size:9px;margin-top:4px}.car-caption-badge{font-size:19px;padding:3px 6px}.caption-rule{width:25px}.menu-footer{position:fixed;bottom:0;left:0;right:0;padding:0 7%;height:43px;background:#0d1b14ee;font-size:5px;gap:10px}.menu-footer>span:first-child{max-width:none;font-size:5px;letter-spacing:.6px}.menu-footer>span:last-child{display:none}.menu-footer .best-record{font-size:5px;text-align:right;margin:0 0 0 auto;letter-spacing:.5px}.menu-footer b{font-size:11px;margin-left:7px}.in-race .topbar{height:60px;margin:0 5%}.in-race .brand>span:first-of-type{font-size:23px}.in-race .brand>svg{width:23px}.timing-panel{top:76px;left:auto;right:5%;transform:none;width:auto;text-align:right}.timing-panel>strong{font-size:26px}.timing-panel>.micro{font-size:6px;letter-spacing:1px}.timing-panel>div{font-size:6px;gap:10px}.race-heading{top:77px;left:5%}.race-heading>.micro{font-size:7px;letter-spacing:1.1px}.race-live{display:none}.race-stats{top:103px;left:5%;gap:25px}.race-stats strong{font-size:43px}.race-stats strong span{font-size:9px}.race-stats .micro{font-size:6px;letter-spacing:1px}.leaderboard{top:165px;left:5%;width:144px;gap:2px}.leader-row{height:25px;font-size:7px;padding:0 7px;grid-template-columns:16px 2px 1fr 28px;gap:5px}.leader-position{font-size:12px}.leader-gap{font-size:6px}.leader-row:nth-child(n+5){display:none}.race-map-panel{bottom:144px;left:3%;width:127px}.race-map-panel canvas{height:121px}.race-map-panel>.micro{font-size:5px;letter-spacing:.6px;padding:0 15px}.race-map-panel>.micro .map-live{display:none}.speedometer{width:169px;right:5%;bottom:139px;padding:10px 12px}.speed-value>strong{font-size:56px}.speed-main{gap:9px}.gear{padding-right:10px;min-width:40px}.gear>span:first-child{font-size:36px}.gear>span:last-child{font-size:4px}.speed-value>span{font-size:5px;margin-bottom:10px}.rpm-lights{gap:3px}.ers-label{font-size:7px;margin-top:5px}.ers-label>span>span{font-size:5px}.pedals{margin-top:10px;gap:10px}.camera-label,.race-bottom-hints{display:none}.race-notice{top:37%;font-size:17px;letter-spacing:1px;width:100%;text-align:center;white-space:normal;padding:10px 20px}.offroad-notice{bottom:35%;font-size:7px;letter-spacing:2px}.starting-overlay{top:34%;width:auto}.starting-lights{padding:14px 17px;gap:10px}.starting-lights i{height:32px;width:32px}.starting-overlay>.micro{font-size:7px;letter-spacing:1.5px}.starting-hint{font-size:6px;letter-spacing:1px}.modal-backdrop{padding:15px}.modal{padding:30px 25px;max-height:calc(100dvh - 30px)}.modal h2{font-size:37px}.modal p{font-size:10px}.modal .eyebrow{font-size:7px}.controls-list>div{padding:6px 0}.controls-list>div b{font-size:9px}.controls-list kbd{font-size:8px;min-width:20px;height:21px}.pause-modal h2{font-size:58px}.results-modal{padding:27px 22px}.result-title-row h2{font-size:32px}.result-stats{gap:12px}.result-stats b{font-size:21px}.result-stats .micro{font-size:5px;letter-spacing:.6px}.result-stats strong{font-size:47px}.result-stats strong span{font-size:15px}.result-standings{gap:1px 6px}.result-standings>div{padding:0 3px;gap:4px;font-size:7px;grid-template-columns:13px 2px 1fr auto}.result-standings>div>span:last-child{font-size:6px}.results-modal .start-button{font-size:8px;letter-spacing:1px}.touch-controls{padding:0 16px;bottom:25px}.touch-controls>div{gap:7px}.touch-controls button{min-width:48px;height:57px;border-radius:7px;font-size:8px}.touch-steering button{font-size:16px}.touch-controls .touch-gas{min-width:61px;height:76px}.touch-controls .touch-boost{min-width:37px;font-size:7px}.touch-controls .touch-pedals{gap:6px}.toast{bottom:14px;font-size:9px}}@media(pointer:coarse){.touch-controls:not(.hidden){display:flex}.in-race .race-bottom-hints{display:none}}@media(max-width:900px)and (max-height:560px){.topbar{height:53px}.menu{top:53px;right:0;bottom:0;left:0}.menu-content{top:18px;width:300px;margin-bottom:65px}h1{font-size:57px;margin:10px 0}.intro{font-size:9px;margin-bottom:10px}.race-spec{padding:9px 0;margin-bottom:9px}.circuit-title h2{font-size:20px}.circuit-title .micro{font-size:6px}.circuit-number{font-size:29px}.spec-numbers{margin-top:8px}.livery{height:30px;font-size:7px;padding:0 9px}.selection-label{margin-bottom:7px}.selection-label .micro{font-size:6px}.difficulty-row{margin:6px 0 8px}.difficulty-row .micro{font-size:6px}.difficulty button{font-size:8px;padding:4px 9px}.start-button{height:37px;font-size:9px}.menu-hint{display:none}.menu-footer{height:32px;font-size:5px}.car-caption{top:30%}.track-preview{bottom:51px;width:165px;padding:12px}.track-preview canvas{height:88px}.in-race .topbar{height:51px}.race-heading{top:63px}.race-stats{top:82px;gap:23px}.race-stats strong{font-size:39px}.leaderboard{top:140px;width:162px}.leader-row{height:24px;font-size:8px}.leader-row:nth-child(n+5){display:none}.timing-panel{top:17px}.timing-panel>strong{font-size:26px}.race-map-panel{display:none}.speedometer{bottom:104px;width:170px;padding:9px 12px;right:3%}.speed-value>strong{font-size:55px}.gear>span:first-child{font-size:33px}.speed-main{gap:9px}.gear{min-width:37px;padding-right:9px}.pedals{margin-top:8px}.rpm-lights{gap:3px}.ers-label{margin-top:2px}.touch-controls{bottom:13px}.touch-controls button{height:49px;min-width:55px}.touch-controls .touch-gas{height:68px;min-width:67px}.starting-overlay{top:25%}.starting-lights i{width:32px;height:32px}.race-notice{top:28%;font-size:19px}.camera-label{display:none}}@media(prefers-reduced-motion:reduce){button,.cinema-shade,.loading,.race-notice,.speed-fx{transition:none}.loading-line>i{animation:none;width:100%}}.headline-line{display:block;white-space:nowrap}@media(max-width:600px){h1{font-size:clamp(55px,18.5vw,84px)}}.touch-toolbar{display:none;gap:6px}@media(pointer:coarse){.in-race .touch-toolbar{display:flex}}.cinema-shade{transition:none}.in-race .vignette{background:linear-gradient(180deg,#05180e55,transparent 25%),radial-gradient(ellipse at 60% 40%,transparent 35%,#04120c30 100%)}@media(min-width:901px){.car-caption{top:30%}}@media(max-width:600px){.cinema-shade{background:linear-gradient(0deg,#0a1511,#0a1511f7 43%,#0a151135 56%,#0a151145 64%,#0a1511df 79%,#0a1511eb)}}@media(max-width:600px){.car-caption{top:190px}}.circuit-choice{flex:1;min-width:0}.circuit-select-wrap{display:flex;align-items:center;position:relative;margin-top:4px}#track-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:1px solid #d5ff4140;color:#f0f2e8;font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:1.25px;text-transform:uppercase;line-height:1.15;width:100%;padding:1px 28px 5px 0;cursor:pointer;border-radius:0}#track-select:hover{color:var(--lime);border-bottom-color:var(--lime)}#track-select:focus-visible{outline:2px solid var(--lime);outline-offset:5px}#track-select option{background:#142018;color:#f0f2e8;font-size:18px;text-transform:none}.circuit-select-wrap>svg{position:absolute;right:0;width:18px;height:18px;color:var(--lime);pointer-events:none}@media(max-height:850px)and (min-width:901px){#track-select{font-size:24px}}@media(max-height:690px)and (min-width:901px){#track-select{font-size:21px}}@media(max-width:600px){#track-select{font-size:24px}}@media(max-width:900px)and (max-height:560px){#track-select{font-size:20px}}
