:root{font-family:Arial,Helvetica,sans-serif;color:#eff2e9;background:#142c31;font-synthesis:none;font-weight:400;--accent: #e5f0b5;--ink: #183334;--muted: #c2cfca;--line: rgba(237, 244, 229, .23)}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #ecffad;outline-offset:5px}button:disabled{cursor:default}button svg{flex-shrink:0}button{transition:background .18s,transform .18s}button:hover{transform:translateY(-1px)}button:active{transform:translateY(1px)}.app{position:relative;width:100%;height:100dvh;min-height:540px;overflow:hidden}.app>div:first-child{position:absolute!important;inset:0}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(11,29,32,.6),transparent 27%,transparent 78%,rgba(12,32,34,.3))}.menu-layer{position:absolute;inset:0;z-index:3}.home{background:linear-gradient(90deg,rgba(15,40,42,.95) 0%,rgba(19,43,44,.88) 28%,rgba(23,45,44,.35) 49%,transparent 69%)}.dark .home{background:linear-gradient(90deg,#07171df5,#091b22de 27%,#0c1f2633 65%)}.brand-bar{height:102px;display:flex;align-items:center;justify-content:space-between;margin:0 4.2%;border-bottom:1px solid var(--line);gap:20px}.brand-bar a{font-weight:900;font-size:19px;letter-spacing:1.8px;color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark{font-size:30px;font-style:italic;color:var(--accent);letter-spacing:-7px;margin-right:11px}.brand-divider{height:17px;width:1px;background:var(--line);margin:0 3px}.edition{font-size:9px;letter-spacing:2.4px;color:#d5ded3}.brand-bar>div{display:flex;gap:12px}.icon-button{display:grid;place-items:center;background:#132b2d33;border:1px solid var(--line);width:37px;height:37px}.icon-button:hover{background:#e5f0b52b}.menu-content{position:absolute;left:6.2%;top:23%;width:440px;max-width:44%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:10px}.short-line{width:26px;height:2px;background:var(--accent)}h1{font-size:clamp(44px,4.65vw,78px);font-family:Impact,Arial Narrow,Arial,sans-serif;font-weight:400;letter-spacing:.3px;line-height:1.04;margin:22px 0 20px}h1 em{font-style:normal;color:var(--accent);white-space:nowrap}h2{font-family:Impact,Arial Narrow,Arial,sans-serif;font-weight:400;font-size:49px;line-height:1.05;margin:18px 0 16px;letter-spacing:.5px}.menu-description{font-size:13px;line-height:1.85;color:#c4d0c9}.route-meta{display:flex;align-items:center;gap:16px;margin:29px 0 24px;font-size:9px;font-weight:700;letter-spacing:1.2px;color:#d3dfd1}.route-meta span{display:flex;align-items:center;gap:7px}.route-meta span+span{border-left:1px solid var(--line);padding-left:16px}.primary{background:var(--accent);color:#213932;border:0;min-height:57px;width:100%;font-size:12px;font-weight:800;letter-spacing:1.5px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}.primary:hover{background:#f0facd}.secondary-row{display:flex;margin-top:12px;border-bottom:1px solid var(--line);padding-bottom:21px;gap:20px}.secondary-row button{display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;background:none;font-size:9px;letter-spacing:1.4px;padding:12px 0;width:50%}.secondary-row button+button{border-left:1px solid var(--line);padding-left:20px}.car-choice{margin-top:23px;display:grid;grid-template-columns:1fr auto;gap:10px}.tiny{font-size:9px;letter-spacing:1.2px;color:var(--muted)}.car-choice>.tiny{grid-column:1/-1}.car-choice strong{display:block;font-size:15px;letter-spacing:1.3px}.car-choice div>span{display:block;font-size:8px;letter-spacing:1px;color:#a9bcb3;margin-top:7px}.swatches{display:flex;gap:7px;align-items:center}.swatches button{width:19px;height:19px;border:2px solid transparent;display:grid;place-items:center;color:#142e32;padding:0}.swatches button.selected{outline:1px solid #e4ecd5;outline-offset:3px}.scene-label{position:absolute;right:4.3%;top:127px;font-size:8px;letter-spacing:1.7px;display:flex;align-items:center;gap:9px}.scene-label>span:last-child{margin-left:12px;opacity:.6}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.route-card{position:absolute;right:4.3%;bottom:118px;width:234px;padding:18px 20px;background:#122b2cdb;border:1px solid rgba(207,224,208,.3);color:#dce7d7}.route-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.route-card .eyebrow{font-size:8px;letter-spacing:1.5px}.route-card>div>span+span{font-size:8px;color:#93afa5}.map{width:157px;height:167px;display:block;color:#dbe5d0}.menu-map{width:148px;height:138px;margin:12px auto 7px;transform:rotate(-14deg)}.route-card h3{font-size:19px;margin:6px 0 8px;font-weight:500}.route-card p{font-size:7px;letter-spacing:1.1px;color:#a5b9ad;margin:0 0 20px}.route-card-footer{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:.7px}.route-card-footer span:first-child{display:flex;align-items:center;gap:6px}.menu-footer{position:absolute;bottom:0;left:4.3%;right:4.3%;height:74px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1px;color:#c3d0c7}.menu-footer>span:first-child{display:flex;align-items:center;gap:8px}.menu-footer i{height:12px;width:1px;background:var(--line);margin:0 9px}kbd{font-family:inherit;font-size:9px;letter-spacing:1px;padding:5px 6px;border:1px solid rgba(211,230,209,.4);color:#e6eddf;white-space:nowrap;line-height:1.1}.version b{margin-left:12px;font-weight:400;opacity:.5}.dev-credit{display:flex;align-items:center;gap:5px;margin-top:4px;color:#e6eddf;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.5px;opacity:.85}.dev-credit:hover{opacity:1}.keyboard-note{font-size:7px;opacity:.55}.overlay{background:#091a1ec7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center}.overlay .menu-content{position:relative;top:auto;left:auto;width:410px;max-width:90%}.menu-content>p{font-size:13px;line-height:1.7;color:#c0cfc5}.menu-button{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:18px 22px;background:#e9f1dc0a;width:100%;font-size:11px;letter-spacing:1.2px;margin-top:10px}.text-button{display:flex;gap:15px;align-items:center;justify-content:space-between;width:100%;background:none;border:0;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.3px;padding:21px 0}.back{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.3px;border:0;background:none;padding:0;margin-bottom:27px;color:var(--accent)}.subpanel{top:19%}.subpanel h2{font-size:40px}.settings-list{margin:30px 0 18px}.settings-list>div{display:flex;justify-content:space-between;align-items:center;min-height:57px;border-bottom:1px solid var(--line);font-size:12px;gap:14px}.segmented{display:flex;gap:3px}.segmented button{background:transparent;border:1px solid var(--line);padding:9px;font-size:8px;display:flex;align-items:center;gap:6px}.segmented .active{background:var(--accent);color:var(--ink);border-color:var(--accent)}.toggle{background:transparent;border:0;display:flex;align-items:center;gap:10px;font-size:9px;min-width:65px}.toggle>span{width:25px;height:13px;border:1px solid #91aaa0;position:relative}.toggle>span:after{content:"";position:absolute;left:2px;top:2px;width:7px;height:7px;background:#91aaa0}.toggle.active>span{background:var(--accent);border-color:var(--accent)}.toggle.active>span:after{left:14px;background:#263e37}.hint{font-size:10px!important;color:#a9bbb2!important;line-height:1.8!important}.control-list{margin:20px 0}.control-list>div{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1px}.control-list kbd{font-size:10px;min-width:83px;text-align:center}.results{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:22px 0 30px}.results span{display:block;font-size:9px;letter-spacing:1.5px;margin-bottom:10px;color:#aabbaf}.results strong{font-size:27px;font-weight:400;font-variant-numeric:tabular-nums}.results small{font-size:10px}.hud{position:absolute;inset:0;pointer-events:none;z-index:2;text-shadow:0 1px 4px rgba(8,27,25,.35)}.hud button{pointer-events:auto}.race-info{position:absolute;left:3.4%;top:35px;width:218px}.race-info .eyebrow{font-size:8px}.lap{display:flex;align-items:baseline;gap:11px;margin-top:12px}.lap>span{font-size:40px;font-weight:600}.lap small{font-size:12px;letter-spacing:1px;opacity:.7}.race-progress{width:180px;height:3px;background:#e2edd633;margin:9px 0 10px}.race-progress i{display:block;height:100%;background:var(--accent);transition:width .3s}.timer{position:absolute;top:35px;left:50%;transform:translate(-50%);text-align:center;display:flex;align-items:center;flex-direction:column;gap:7px}.timer strong{font-size:30px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:1px}.top-actions{position:absolute;right:3%;top:32px;display:flex;gap:8px}.mini-area{position:absolute;right:3%;top:95px;text-align:center}.mini-area .map{width:140px;height:150px}.mini-area .tiny{font-size:7px}.speedometer{position:absolute;bottom:41px;left:3.3%;width:220px;height:179px;color:#f3f5e8}.dial{position:absolute;inset:0;width:220px;height:150px}.speed-number{position:absolute;top:49px;left:41px;font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:65px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:1px}.speed-unit{position:absolute;top:116px;left:83px;font-size:9px;letter-spacing:2px}.gear{position:absolute;right:-38px;top:77px;border-left:1px solid var(--line);padding-left:17px;text-align:center}.gear span{display:block;font-size:29px}.gear small{font-size:7px;letter-spacing:1px;opacity:.7}.rpm{position:absolute;left:24px;right:24px;bottom:17px;display:flex;gap:3px}.rpm i{height:5px;flex:1;background:#e1f1c82e}.rpm i.on{background:#d6eaa9}.rpm i.on:nth-child(n+14){background:#eb936d}.dial-label{position:absolute;bottom:0;left:24px;right:24px;font-size:6px;letter-spacing:1px;opacity:.65;display:flex;justify-content:space-between}.dial-label b{font-weight:400}.nitro{position:absolute;bottom:49px;left:50%;transform:translate(-50%);width:220px}.nitro>div:first-child{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;margin-bottom:10px}.nitro small{font-size:8px;opacity:.6}.nitro-bars{display:flex;gap:4px;transform:skew(-17deg);height:13px;margin-bottom:12px}.nitro-bars i{background:#d6e8d733;flex:1}.nitro-bars i.charged{background:#d8edaa}.nitro>.tiny{display:flex;justify-content:center;align-items:center;gap:7px;font-size:7px}.nitro kbd{font-size:7px;padding:3px 5px}.boosting .charged{background:#a6e7ec!important}.driving-controls{position:absolute;right:3.3%;bottom:48px;display:flex;flex-direction:column;gap:13px;font-size:7px;letter-spacing:1px;color:#d6dfd3}.touch-controls{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:0 3% max(20px,env(safe-area-inset-bottom));pointer-events:none;z-index:3}.touch-steer,.touch-actions{display:flex;align-items:center;gap:14px;pointer-events:auto}.touch-actions{flex-direction:column;align-items:flex-end}.touch-button{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#132b2d8c;border:1px solid var(--line);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#f3f5e8;font-size:11px;font-weight:700;letter-spacing:1px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-button:active{background:#e5f0b552;transform:scale(.93)}.touch-item{display:flex;flex-direction:column;align-items:center;gap:6px}.touch-small{width:46px;height:46px}.touch-caption{font-size:9px;font-weight:700;letter-spacing:1px;color:#e6eddf;text-shadow:0 1px 4px rgba(8,27,25,.6)}.touch-gas{width:74px;height:74px;background:#e5f0b538}.driving-controls>span{display:flex;align-items:center;gap:10px}.driving-controls kbd{font-size:8px;min-width:55px;text-align:center}.gate-toast{position:absolute;top:27%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.6px;background:#122c2899;padding:12px 18px;color:#e4f1b8}.gate-toast span{font-size:8px;opacity:.7;margin-left:7px}.drift-label{position:absolute;bottom:29%;left:50%;transform:translate(-50%);font-size:23px;letter-spacing:5px}.drift-label span{display:block;font-size:7px;letter-spacing:2px;margin-top:8px;text-align:center}.countdown{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;background:#1125261f;pointer-events:none}.countdown>span{font-size:12px;letter-spacing:5px}.countdown>div{font-family:Impact,sans-serif;font-size:150px;line-height:1.3;color:var(--accent)}.countdown>p{font-size:10px;letter-spacing:3px}.speed-lines{position:absolute;inset:0;background:repeating-conic-gradient(from 20deg at 50% 48%,transparent 0deg 19deg,rgba(222,250,246,.12) 19.1deg 19.3deg,transparent 19.5deg 35deg);-webkit-mask-image:radial-gradient(ellipse,transparent 40%,#000 100%);mask-image:radial-gradient(ellipse,transparent 40%,#000 100%);opacity:.7}.impact{position:absolute;inset:0;box-shadow:inset 0 0 100px #d9916970}.debug{position:absolute;top:180px;left:30px;background:#112827e8;padding:14px;font-size:11px;color:#ecf8ca}.fatal{position:absolute;inset:0;background:#152e34;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.fatal h1{font-family:Arial,sans-serif;font-size:30px}.fatal button{padding:14px 26px;border:0;background:var(--accent);color:var(--ink)}.light.phase-playing .race-info,.light.phase-playing .timer,.light.phase-countdown .race-info,.light.phase-countdown .timer{color:#183a3d;text-shadow:0 1px 5px #eef4db70}.light.phase-playing .race-info .tiny,.light.phase-playing .timer .tiny{color:#325154}.light.phase-playing .race-progress{background:#26474430}.light.phase-playing .race-progress i{background:#365c4c}@media(min-width:1600px){.menu-content{width:500px}.route-card{width:260px}.menu-description{font-size:15px}.primary{height:64px}.car-choice{margin-top:30px}}@media(max-height:790px)and (min-width:801px){.brand-bar{height:78px}.menu-content{top:20%;width:390px}h1{font-size:56px;margin:15px 0}.menu-description{font-size:12px;margin:9px 0}.route-meta{margin:18px 0}.primary{min-height:50px}.secondary-row{padding-bottom:11px}.car-choice{margin-top:15px}.menu-footer{height:57px}.route-card{bottom:86px;transform:scale(.9);transform-origin:right bottom}.scene-label{top:100px}.subpanel{top:16%}.subpanel h2{font-size:33px}.settings-list{margin:15px 0}.back{margin-bottom:17px}.control-list>div{padding:7px 0}.subpanel>p{font-size:11px}.subpanel .primary{margin-top:10px}}@media(max-width:1100px){.edition,.version{display:none}.menu-content{max-width:48%;left:5%}h1{font-size:54px}.route-card{right:3%;width:204px}.brand-bar{margin:0 4%}.route-meta{gap:10px}.route-meta span+span{padding-left:10px}.scene-label>span:last-child{display:none}.driving-controls{font-size:6px}}@media(max-width:800px){.app{min-height:570px}.brand-bar{height:75px}.brand-bar a{font-size:14px;letter-spacing:1px}.brand-mark{font-size:24px}.home{background:linear-gradient(90deg,#0f282af5,#0f282ab3 65%,#0f282a33)}.menu-content{top:19%;left:7%;width:380px;max-width:76%}h1{font-size:55px}.menu-description{font-size:12px}.route-card,.scene-label{display:none}.menu-footer{height:64px;flex-wrap:wrap;gap:0;align-content:center;padding:6px 0}.keyboard-note{width:100%;margin-top:10px;text-align:center;color:#e3f1ba;opacity:1}.menu-footer>span:first-child{margin:auto}.race-info{top:24px;width:180px}.race-info .eyebrow{font-size:6px;letter-spacing:1px}.timer{top:26px;left:53%}.timer strong{font-size:23px}.timer .eyebrow{font-size:7px}.race-progress{width:130px}.lap>span{font-size:30px}.lap small{font-size:10px}.mini-area{top:105px;right:2%}.mini-area .map{width:100px;height:110px}.top-actions{top:23px}.top-actions .icon-button:first-child{display:none}.speedometer{transform:scale(.62);transform-origin:left bottom;bottom:108px}.gear{right:6px;top:56px;padding:4px 8px 5px;border-left:none;background:#132b2d8c;border-radius:8px}.gear span{font-size:18px}.nitro{width:120px;left:62%;bottom:130px}.nitro>div:first-child{font-size:8px}.driving-controls{display:none}.touch-button{width:48px;height:48px}.touch-small{width:44px;height:44px}.touch-gas{width:62px;height:62px}.gate-toast{font-size:8px;white-space:nowrap;top:35%;letter-spacing:1px}.gate-toast span{font-size:6px}.subpanel{top:16%}.subpanel h2{font-size:34px}.control-list>div{padding:7px 0}.menu-content>p{font-size:11px}.settings-list>div{min-height:52px}.back{margin-bottom:16px}}@media(max-width:420px){h1{font-size:45px}.menu-content{max-width:86%;top:18%}.eyebrow{font-size:8px}.route-meta{font-size:7px;gap:9px}.primary{min-height:50px}.car-choice{margin-top:15px}.secondary-row{padding-bottom:12px}.menu-description{line-height:1.7}.swatches{gap:6px}.swatches button{width:16px;height:16px}.nitro{width:100px;left:65%;bottom:120px}.nitro>div:first-child{font-size:8px}.speedometer{transform:scale(.52);bottom:96px}.gear{right:10px;top:60px}.menu-footer{font-size:6px}.menu-footer kbd{font-size:7px}.menu-footer i{margin:0 4px}.timer{left:57%}.race-info{left:5%}.timer strong{font-size:20px}.settings-list>div{font-size:11px}.segmented button{padding:7px}.subpanel h2{font-size:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.speed-lines{display:none}}
