@font-face{font-family:Clash Display;src:url(/fonts/clash.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--paper: #efefe3;--paper-2: #e5e6d9;--ink: #203137;--muted: #6e7b78;--line: rgba(32, 49, 55, .16);--accent: #ee5a33;--white: #fbf9ed;--ease: cubic-bezier(.22, 1, .36, 1);font-family:General Sans,Arial,sans-serif;color:var(--ink);background:#8bb9c1;color-scheme:light;--mono: "Space Mono", monospace}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a{color:inherit}button{cursor:pointer}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=slider]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{opacity:.5;cursor:default}button svg{pointer-events:none}svg{width:20px;height:20px;flex-shrink:0}button{touch-action:manipulation}button:hover{filter:brightness(.97)}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--white)}#world{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}#app{position:relative;pointer-events:none}#app button,#app a,#app input,#app select,#app dialog{pointer-events:auto}.eyebrow{font:10px var(--mono);letter-spacing:1.6px;line-height:1.5}.muted{color:var(--muted)}.brand{display:flex;align-items:center;font-family:Clash Display,sans-serif;font-weight:700;letter-spacing:-1.1px;font-size:25px;gap:3px;line-height:1;text-decoration:none;position:relative;white-space:nowrap}.brand span{color:var(--accent)}.brand-mark{font-size:35px;color:var(--accent);letter-spacing:-8px;transform:skew(-15deg);margin-right:13px}.brand small{position:absolute;left:43px;top:29px;letter-spacing:2.8px;font:7px var(--mono);color:var(--muted)}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 3.1%;position:relative;z-index:5;gap:25px}.topbar nav{display:flex;gap:26px;margin-left:8%}.nav-link{font:10px var(--mono);letter-spacing:1px;padding:12px 0;white-space:nowrap;border-bottom:2px solid transparent}.nav-link.active{border-color:var(--accent)}.top-actions{display:flex;gap:14px;align-items:center}.connection{font:8px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:7px}.status-dot{width:5px;height:5px;background:#638c6c;border-radius:50%;display:inline-block}.icon-button{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:#efefe333}.icon-button svg{width:16px;height:16px}#menu{height:100%;display:flex;flex-direction:column;position:relative;isolation:isolate}#menu:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--paper) 0%,rgba(239,239,227,.97) 23%,rgba(239,239,227,.7) 34%,rgba(239,239,227,0) 53%),linear-gradient(180deg,rgba(239,239,227,.4),transparent 23%);pointer-events:none}.menu-body{flex:1;min-height:300px;position:relative;padding:28px 4%;display:flex;align-items:center}.hero-copy{max-width:540px;position:relative;z-index:2}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;font-size:9px}.tiny-line{width:26px;height:2px;background:var(--accent)}h1{font:700 clamp(54px,5.6vw,92px)/.99 "Clash Display",sans-serif;letter-spacing:-3.8px;margin:24px 0 19px}h1 em{font-style:normal;color:var(--accent)}.hero-copy p{font-size:14px;line-height:1.7;color:#687773;margin:0 0 28px}.button{height:53px;min-width:160px;padding:0 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font:10px var(--mono);letter-spacing:1.1px;border:1px solid var(--line);border-radius:2px;transition:transform .18s var(--ease),background .18s}.button:hover{transform:translateY(-2px)}.button.primary{color:var(--white);background:var(--accent);border-color:var(--accent)}.button.dark{background:var(--ink);color:var(--white)}.button svg{width:20px;height:20px}.hero-copy .button{min-width:229px;height:58px;font-size:11px}.input-hint{display:flex;align-items:center;gap:7px;margin-top:23px;font:7px var(--mono);letter-spacing:.6px;color:var(--muted)}.input-hint svg{width:15px;height:15px}.input-hint i{height:10px;width:1px;background:var(--line);margin:0 5px}.scene-caption{position:absolute;bottom:24px;left:51%;display:flex;flex-direction:column;gap:6px;color:var(--white);text-shadow:0 1px 12px rgba(15,38,43,.4);transform:translate(-15%)}.scene-caption strong{font-size:15px;letter-spacing:1px}.scene-caption strong span{color:#f18b55}.scene-caption>span:last-child{font:7px var(--mono);letter-spacing:1px}.track-summary{width:208px;position:absolute;right:3.1%;top:20%;padding:21px;background:#efefe3d9;backdrop-filter:blur(16px);border-top:2px solid var(--accent)}.track-summary>.eyebrow{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.8px}.track-summary h2{font:700 29px Clash Display;letter-spacing:-1px;margin:18px 0 2px}.track-summary p{font-size:11px;color:var(--muted);margin:0}.track-facts{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);margin-bottom:15px}.track-facts div{display:flex;align-items:center;gap:5px;font:8px var(--mono)}.track-facts svg{width:13px;height:13px}.personal-best{display:flex;flex-direction:column;gap:7px}.personal-best span{font:7px var(--mono);letter-spacing:1px;color:var(--muted)}.personal-best strong{font:9px var(--mono)}.track-deck{background:var(--paper);padding:21px 3.1% 0}.deck-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.deck-heading .eyebrow{font-size:9px}.deck-heading .muted{margin-left:8px;font-size:8px}.text-button{font:9px var(--mono);letter-spacing:1px;display:inline-flex;align-items:center;gap:16px;padding:7px 0}.text-button svg{width:16px;height:16px}.track-list{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.track-card{height:130px;border:1px solid var(--line);position:relative;padding:16px;text-align:left;border-radius:2px;overflow:hidden;transition:background .2s,border-color .2s}.track-card.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.track-card:hover:not(.selected){background:var(--paper-2);border-color:#8a978f}.track-number{position:absolute;top:12px;left:14px;font:8px var(--mono);color:var(--muted)}.selected .track-number{color:#b2c1b7}.course-map{position:absolute;right:7px;top:1px;width:87px;height:87px;color:#acb7aa;opacity:.9}.selected .course-map{color:#ee7650}.course-map circle{display:none}.track-card-copy{position:absolute;left:14px;bottom:14px;display:flex;flex-direction:column;gap:5px}.track-card-copy strong{font-size:14px}.track-card-copy>span{font:7px var(--mono);letter-spacing:1px;color:var(--muted)}.selected .track-card-copy>span{color:#b3c1b8}.track-selected{position:absolute;right:10px;bottom:13px;opacity:0}.selected .track-selected{opacity:1;color:#f17b56}.track-selected svg{width:16px;height:16px}.medal-dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-left:3px;background:#c7935f}.medal-dot.gold{background:#c0a44d}.medal-dot.silver{background:#a7babc}.menu-footer{background:var(--paper);padding:21px 3.1% 19px;display:flex;align-items:center;justify-content:space-between;font:7px var(--mono);letter-spacing:1.2px;color:var(--muted)}.menu-footer .status-dot{margin-right:7px}.menu-footer b{color:var(--accent);font-size:14px;margin-left:14px}#loading{position:fixed;z-index:100;inset:0;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;transition:opacity .6s,visibility .6s;pointer-events:auto}#loading .brand{font-size:37px}#loading.loaded{opacity:0;visibility:hidden;pointer-events:none}.load-line{width:140px;height:2px;background:var(--accent);transform-origin:left;animation:load 2s var(--ease) infinite}@keyframes load{0%{transform:scaleX(.1)}90%,to{transform:scaleX(1)}}#hud{position:absolute;inset:0;color:var(--white);text-shadow:0 2px 15px rgba(13,31,38,.3);background:linear-gradient(180deg,rgba(19,44,50,.27),transparent 22%,transparent 80%,rgba(19,44,50,.28));pointer-events:none}.hud-top{display:flex;justify-content:space-between;align-items:flex-start;padding:30px 36px}.hud-track{display:flex;flex-direction:column;gap:6px}.hud-track .eyebrow{font-size:8px;color:#eff2de}.hud-track strong{font:700 23px Clash Display;letter-spacing:.5px}.hud-track>span:last-child{font:8px var(--mono);letter-spacing:1px;opacity:.8}.race-clock{text-align:center;position:absolute;left:50%;transform:translate(-50%)}.race-clock .eyebrow{font-size:8px}#race-time{font:700 49px/1.25 Clash Display;letter-spacing:-1px;font-variant-numeric:tabular-nums}#race-time>span{font-size:30px;color:#e0e6d9}#split-time{font:8px var(--mono);letter-spacing:1px}#split-time.ahead{color:#d9ffa0}.hud-buttons{display:flex;gap:10px}.hud-icon{height:36px;width:36px;display:flex;align-items:center;justify-content:center;background:#1c31374d;backdrop-filter:blur(10px);color:var(--white);border:1px solid rgba(235,243,224,.4);border-radius:2px}.hud-icon svg{width:16px;height:16px}.hud-bottom{position:absolute;bottom:30px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:flex-end}.minimap-box{width:140px}.race-map{width:125px;height:125px;color:#eef2df;filter:drop-shadow(0 1px 8px rgba(20,50,50,.2))}.race-map .map-car{filter:drop-shadow(0 1px 3px #203137)}#map-progress{display:block;font:7px var(--mono);letter-spacing:1.5px;margin-top:3px}.speedometer{position:relative;text-align:right;min-width:160px}.speed-label{display:flex;justify-content:space-between;align-items:center;font:8px var(--mono);letter-spacing:2px}.speed-label #gear{font:14px var(--mono);border:1px solid rgba(245,244,222,.7);padding:2px 7px}.speedometer #speed{font:700 83px/.95 Clash Display;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:7px 0 2px}.speed-unit{font:9px var(--mono);letter-spacing:2px}.rpm-bar{height:3px;background:#ecf0da55;width:160px;margin-top:12px}.rpm-bar i{display:block;background:#ff8353;height:100%;transition:width .08s}.race-shortcuts{font:7px var(--mono);letter-spacing:.5px;display:flex;align-items:center;gap:6px;opacity:.8}kbd{font:8px var(--mono);border:1px solid currentColor;border-radius:2px;padding:3px 5px;display:inline-block;white-space:nowrap}.race-shortcuts kbd:not(:first-child){margin-left:14px}.course-progress{position:absolute;bottom:0;left:0;right:0;background:#20313722;height:4px}.course-progress i{display:block;height:100%;background:var(--accent);width:0}#race-countdown{position:absolute;top:41%;left:50%;transform:translate(-50%,-50%) skew(-8deg);font:700 130px Clash Display;color:var(--white);text-shadow:3px 5px 0 var(--accent)}#race-event{position:absolute;top:26%;left:50%;transform:translate(-50%,-10px);background:var(--paper);color:var(--ink);text-shadow:none;padding:11px 23px;font:10px var(--mono);letter-spacing:2px;opacity:0;transition:opacity .15s,transform .2s}#race-event.visible{opacity:1;transform:translate(-50%)}#overlay{padding:40px;background:var(--paper);color:var(--ink);border:1px solid #ffffff66;border-radius:3px;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 90px #142f3555}#overlay::backdrop{background:#10242a6e;backdrop-filter:blur(8px)}.close-dialog{position:absolute;right:15px;top:15px}.dialog-eyebrow{color:var(--muted);display:block;font-size:8px}.dialog-eyebrow>span{color:var(--accent);margin:0 8px}#overlay h2{font:700 42px/1.04 Clash Display;letter-spacing:-1.5px;margin:21px 0}.dialog-intro{font-size:13px;line-height:1.7;color:var(--muted);max-width:560px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin:27px 0}.settings-grid label{font:8px var(--mono);letter-spacing:1px}.settings-grid select,.settings-grid input:not([type=range]){display:block;width:100%;height:44px;margin-top:10px;border:1px solid var(--line);background:transparent;border-radius:2px;padding:0 12px;color:var(--ink);font:11px General Sans}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:21px 0;border-bottom:1px solid var(--line);gap:10px}.setting-row strong,.toggle-row strong{font-size:13px;font-weight:500;display:block}.setting-row small,.toggle-row small{font-size:10px;color:var(--muted);margin-top:4px;display:block}.swatches{display:flex;gap:9px}.swatch{width:25px;height:25px;border-radius:50%;background:var(--swatch);border:2px solid var(--paper);outline:1px solid var(--line)}.swatch.selected{outline:2px solid var(--ink);outline-offset:2px}.setting-toggles{border-top:1px solid var(--line)}.toggle-row{display:flex;justify-content:space-between;align-items:center;position:relative;padding:16px 0;border-bottom:1px solid var(--line);cursor:pointer;gap:18px;pointer-events:auto}.toggle-row input{position:absolute;right:0;opacity:0;cursor:pointer;z-index:2;width:40px;height:28px}.toggle-row i{width:33px;height:19px;background:#b2bcb0;border-radius:20px;position:relative;flex-shrink:0}.toggle-row i:before{content:"";position:absolute;width:13px;height:13px;background:var(--paper);border-radius:50%;left:3px;top:3px;transition:transform .15s}.toggle-row input:checked+i{background:var(--accent)}.toggle-row input:checked+i:before{transform:translate(14px)}.toggle-row input:focus-visible+i{outline:2px solid var(--accent);outline-offset:4px}.volume-setting{position:relative}.volume-setting output{float:right;color:var(--muted)}input[type=range]{display:block;width:100%;margin-top:20px;accent-color:var(--accent);height:10px}.dialog-footer{display:flex;align-items:center;justify-content:space-between;margin-top:27px;gap:20px}.dialog-footer>span{font:8px var(--mono);color:var(--muted)}.dialog-footer .button{min-width:160px;height:48px;font-size:9px}.garage-art{width:100%;height:160px;object-fit:cover;object-position:50% 60%;border-radius:2px;margin:0 0 5px}.control-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:28px}.control-columns h3{font:8px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:7px;margin-bottom:22px}.control-columns h3 svg{width:17px}.control-columns p{font-size:11px;line-height:1.8;color:var(--muted)}.control-columns dl{margin:0}.control-columns dt{font:8px var(--mono);margin:13px 0 5px}.control-columns dd{margin:0;font-size:10px;color:var(--muted);line-height:1.6}.controller-note{display:flex;gap:16px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px;align-items:center}.controller-note p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.controller-note>svg{color:var(--accent);width:26px;height:26px}.pause-actions{display:flex;flex-direction:column;gap:12px;margin-top:28px;max-width:400px}.pause-actions .button{width:100%}.pause-actions .text-button{margin-top:10px}.finish-header{display:flex;justify-content:space-between;align-items:center;padding-right:15px;gap:20px}.finish-medal{font:8px var(--mono);display:flex;gap:7px;align-items:center;white-space:nowrap;color:#8f7850}.finish-medal svg{width:17px}.finish-medal.gold{color:#a6842d}.finish-time{font:700 77px/1.2 Clash Display;letter-spacing:-3px;color:var(--accent)}.finish-delta{font:10px var(--mono);color:var(--muted);line-height:1.8}.medal-targets{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:25px 0}.medal-targets>div{display:flex;align-items:center;gap:8px;padding:16px 12px;border-right:1px solid var(--line);font:8px var(--mono);opacity:.55}.medal-targets>div:last-child{border:0}.medal-targets>div.earned{opacity:1;background:var(--paper-2)}.medal-targets strong{margin-left:auto;font-size:11px;font-weight:400}.medal-targets svg{width:14px;height:14px}.medal-targets .gold svg{color:#a68730}.medal-targets .silver svg{color:#829493}.medal-targets .bronze svg{color:#a57851}.finish-stats{display:flex;justify-content:space-between;margin:25px 0 32px}.finish-stats>div{display:flex;flex-direction:column;gap:6px}.finish-stats strong{font:700 28px Clash Display}.finish-stats strong small{font:8px var(--mono);margin-left:5px}.finish-stats span{font:7px var(--mono);letter-spacing:1px;color:var(--muted)}.result-actions{display:flex;gap:12px;margin-bottom:14px}.result-actions .button{flex:1;font-size:9px;white-space:nowrap;padding:0 18px;gap:20px}.storage-notice{font-size:11px;color:#a55038}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);padding:13px 22px;background:var(--ink);color:var(--paper);font:10px var(--mono);max-width:calc(100% - 30px);z-index:150;opacity:0;transition:.25s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%)}#fatal{position:fixed;inset:0;background:var(--paper);padding:12%;pointer-events:auto}#fatal h1{font-size:50px}#fatal p{line-height:1.8;max-width:500px}#touch-controls{position:absolute;inset:0;pointer-events:none;z-index:8}#touch-controls button{border:1px solid #f5f3e275;background:#1e383858;backdrop-filter:blur(7px);color:var(--white);border-radius:6px;touch-action:none;user-select:none;-webkit-user-select:none;font:9px var(--mono);height:68px;min-width:65px;display:flex;align-items:center;justify-content:center;pointer-events:auto}#touch-controls button.pressed{background:#ee653bce;border-color:#ffb58d}#touch-controls button svg{width:27px;height:27px}.touch-left,.touch-right{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));display:flex;gap:10px;align-items:flex-end}.touch-left{left:max(18px,env(safe-area-inset-left))}.touch-right{right:max(18px,env(safe-area-inset-right))}.touch-right{gap:9px}.touch-right .touch-drift{height:44px!important;min-width:55px!important;margin-bottom:81px;position:absolute;right:0;font-size:8px!important}.touch-right .touch-gas{height:84px!important;background:#ee6039b0!important;flex-direction:column;gap:5px}.touch-right .auto-gas{opacity:.45}#steering-buttons{display:flex;gap:10px}#steering-stick{width:135px;height:105px;border-radius:60px;background:#1e383830;border:1px solid #f5f3e260;position:relative;touch-action:none;pointer-events:auto}#steering-stick span{position:absolute;left:36px;top:21px;width:63px;height:63px;border-radius:50%;background:#e5e8d33b;border:1px solid #f5f3e280;display:flex;align-items:center;justify-content:center;transform:translate(var(--stick-x, 0));color:var(--white)}#tilt-label{font:8px var(--mono);color:var(--white);background:#1e38383a;padding:15px}@media(min-width:1700px){.menu-body{padding-left:5%}.hero-copy{max-width:650px}h1{font-size:105px}.hero-copy p{font-size:16px}.track-card{height:160px}.course-map{width:115px;height:115px}.track-card-copy strong{font-size:18px}.track-summary{width:240px}.scene-caption{bottom:45px}.track-deck{padding-top:26px}}@media(max-height:780px)and (min-width:901px){.topbar{height:80px}.menu-body{padding-top:15px;padding-bottom:15px}h1{font-size:64px;margin:18px 0}.hero-copy p{margin-bottom:18px;font-size:13px}.hero-copy .button{height:51px}.input-hint{margin-top:16px}.track-deck{padding-top:16px}.track-card{height:108px}.course-map{height:73px;width:73px}.menu-footer{padding-top:15px;padding-bottom:14px}.track-summary{top:17%}.scene-caption{bottom:18px}}@media(max-width:1100px){.connection{display:none}.topbar nav{margin-left:0}.track-summary{width:175px;padding:15px;right:2.5%}.track-summary h2{font-size:25px}.track-facts{gap:8px}.track-facts span{font-size:7px}.hero-copy{max-width:460px}h1{font-size:65px}.track-list{gap:7px}.track-card{padding:10px}.track-card-copy strong{font-size:12px}.course-map{width:73px;height:73px}.deck-heading .muted{display:none}}@media(max-width:900px){.topbar{height:85px;padding:0 24px}.topbar nav{display:none}.top-actions{gap:9px}.menu-body{padding:25px}.hero-copy{max-width:400px}h1{font-size:58px}.hero-copy p{font-size:13px}.track-summary{display:none}.scene-caption{left:auto;right:28px;bottom:26px;transform:none;text-align:right}.track-list{grid-template-columns:repeat(6,150px);overflow-x:auto;padding:4px 4px 10px;scrollbar-width:thin;pointer-events:auto;scroll-snap-type:x mandatory;margin:0 -4px}.track-card{scroll-snap-align:start;height:116px}.track-card-copy strong{font-size:14px}.course-map{width:80px;height:80px}.track-deck{padding:17px 24px 0}.menu-footer{padding:16px 24px}.menu-footer>span:last-child{display:none}.race-shortcuts{display:none}.hud-top{padding:23px}.hud-bottom{bottom:25px;left:23px;right:23px}.hud-track strong{font-size:20px}.race-clock #race-time{font-size:41px}#race-time>span{font-size:24px}.hud-buttons{gap:7px}.hud-icon{width:32px;height:32px}}@media(pointer:coarse){#hud .hud-bottom{bottom:145px}.minimap-box{width:90px}.race-map{width:90px;height:90px}.speedometer #speed{font-size:60px}.speedometer{min-width:120px}.rpm-bar{width:120px}.speed-label #gear{font-size:11px}.speed-label{font-size:7px}.race-shortcuts{display:none}#hud .hud-bottom #map-progress{font-size:6px}.has-controller #hud .hud-bottom{bottom:25px}}@media(max-width:600px){.topbar{height:80px;padding:0 21px;align-items:flex-start;padding-top:max(24px,env(safe-area-inset-top))}.brand{font-size:23px}.brand-mark{font-size:31px}.brand small{left:39px;top:27px;font-size:6px}.icon-button{width:32px;height:32px}.top-actions{gap:8px}#menu:before{background:linear-gradient(0deg,var(--paper) 0%,var(--paper) 28%,rgba(239,239,227,.95) 42%,rgba(239,239,227,.05) 70%),linear-gradient(180deg,rgba(239,239,227,.9),transparent 28%)}.menu-body{padding:0 23px 22px;align-items:flex-end;min-height:350px}.hero-copy{max-width:none;width:100%}.hero-copy .eyebrow{font-size:7px;letter-spacing:1px}.hero-copy h1{font-size:51px;letter-spacing:-2.6px;line-height:1;margin:14px 0 11px}.hero-copy h1 br{display:none}.hero-copy p{font-size:11px;line-height:1.6;margin:0 0 17px}.hero-copy p br{display:none}.hero-copy .button{width:100%;height:52px;font-size:10px}.input-hint{justify-content:center;margin-top:17px;font-size:6px;gap:5px;letter-spacing:.2px}.input-hint svg{width:14px;height:14px}.input-hint i{margin:0 6px}.scene-caption{display:none}.track-deck{padding:16px 20px 0;border-top:1px solid var(--line)}.deck-heading{margin-bottom:11px}.deck-heading .eyebrow{font-size:8px}.deck-heading .text-button{font-size:7px;gap:7px}.deck-heading .text-button svg{width:14px}.track-list{grid-template-columns:repeat(6,139px);gap:8px;padding-bottom:9px}.track-card{height:101px}.course-map{width:70px;height:70px;right:3px}.track-card-copy{left:12px;bottom:11px}.track-card-copy strong{font-size:12px}.track-card-copy span{font-size:6px}.track-number{font-size:7px;left:12px;top:9px}.menu-footer{padding:12px 22px max(15px,env(safe-area-inset-bottom));font-size:6px;letter-spacing:.5px}.menu-footer .status-dot{width:4px;height:4px;margin-right:4px}.hud-top{padding:max(18px,env(safe-area-inset-top)) 16px 0}.hud-track{gap:4px}.hud-track strong{font-size:15px}.hud-track .eyebrow{font-size:6px;letter-spacing:1px}.hud-track>span:last-child{font-size:6px;letter-spacing:.5px}.hud-buttons{gap:6px}.hud-icon{width:30px;height:30px}.hud-icon svg{width:13px;height:13px}.race-clock{top:93px}.race-clock .eyebrow{font-size:7px}#race-time{font-size:43px!important}#race-time>span{font-size:26px}#split-time{font-size:7px}.hud-bottom{left:18px;right:18px}#race-countdown{font-size:100px;top:44%}#race-event{top:28%;font-size:8px;padding:10px 17px;white-space:nowrap}#overlay{padding:35px 23px 24px;width:calc(100% - 24px);max-height:calc(100dvh - 30px)}#overlay h2{font-size:33px;margin:20px 0 15px;letter-spacing:-1px}.dialog-eyebrow{font-size:7px}.dialog-intro{font-size:12px}.control-columns{grid-template-columns:1fr;gap:15px;margin-top:22px}.control-columns>div{border-top:1px solid var(--line);padding-top:12px}.control-columns h3{margin:0 0 12px}.control-columns dl{display:grid;grid-template-columns:1fr 1.2fr;gap:12px 10px;align-items:center}.control-columns dt{margin:0}.control-columns dd{font-size:10px}.control-columns p{margin:8px 0}.controller-note{margin-top:18px;gap:12px}.controller-note p{font-size:10px}.dialog-footer{flex-direction:column-reverse;gap:17px;margin-top:24px}.dialog-footer .button{width:100%}.settings-grid{gap:21px 13px;margin:22px 0}.settings-grid label{font-size:7px}.settings-grid select,.settings-grid input:not([type=range]){font-size:10px;padding:0 8px;height:41px}.setting-row{display:block;padding-top:8px}.swatches{margin-top:20px;gap:16px}.swatch{width:26px;height:26px}.toggle-row small{font-size:9px;max-width:220px;line-height:1.6}.toggle-row strong{font-size:12px}.finish-header{align-items:flex-start;flex-direction:column;gap:13px}.finish-time{font-size:55px;letter-spacing:-2px}.finish-delta{font-size:9px}.medal-targets{margin:21px 0}.medal-targets>div{padding:13px 7px;flex-wrap:wrap;gap:4px}.medal-targets>div span{font-size:7px}.medal-targets strong{width:100%;font-size:12px;margin-top:5px}.finish-stats strong{font-size:25px}.finish-stats span{font-size:6px}.result-actions{flex-direction:column}.result-actions .button{height:50px;min-height:50px}.garage-art{height:120px}#toast{font-size:9px;text-align:center;bottom:15px;width:max-content;max-width:90%}}@media(max-width:600px)and (max-height:740px){.topbar{height:70px;padding-top:21px}.menu-body{min-height:270px;padding-bottom:15px}.hero-copy h1{font-size:43px;line-height:.98;margin:11px 0}.hero-copy p{font-size:10px;margin-bottom:13px}.hero-copy .button{height:46px}.input-hint{margin-top:12px}.track-deck{padding-top:10px}.track-card{height:88px}.course-map{width:58px;height:58px}.deck-heading{margin-bottom:8px}.menu-footer{padding-top:9px;padding-bottom:12px}}@media(max-height:550px)and (min-width:601px){.topbar{height:63px;padding:16px 25px;align-items:flex-start}.brand{font-size:20px}.brand-mark{font-size:28px}.brand small{font-size:5px;top:24px;left:36px}.menu-body{padding:8px 25px 14px;min-height:175px}.hero-copy{max-width:360px}.hero-copy .eyebrow{font-size:6px}.hero-copy h1{font-size:40px;letter-spacing:-2px;margin:9px 0}.hero-copy p{display:none}.hero-copy .button{height:42px;min-width:200px;font-size:9px}.input-hint{margin-top:10px;font-size:5px;gap:4px}.input-hint svg{height:12px;width:12px}.track-deck{padding:9px 25px 0}.deck-heading{margin-bottom:6px}.deck-heading .eyebrow,.text-button{font-size:7px}.track-list{grid-template-columns:repeat(6,1fr);gap:7px;padding:2px}.track-card{height:77px}.course-map{width:49px;height:49px}.track-card-copy{left:10px;bottom:10px}.track-card-copy strong{font-size:11px}.track-card-copy>span{font-size:5px}.track-number{font-size:6px;left:10px;top:8px}.track-selected{display:none}.menu-footer{padding:9px 25px;font-size:5px}.scene-caption{font-size:8px;bottom:20px}.scene-caption strong{font-size:12px}.scene-caption .eyebrow{font-size:6px}.hud-top{padding:16px max(22px,env(safe-area-inset-left))}.hud-track strong{font-size:16px}.hud-track .eyebrow,.hud-track>span:last-child{font-size:6px}.race-clock{top:12px}#race-time{font-size:34px!important}#race-time>span{font-size:23px}.race-clock .eyebrow,#split-time{font-size:6px}.hud-icon{width:30px;height:30px}#hud .hud-bottom{bottom:28px;left:calc(50% - 165px);right:calc(50% - 165px)}.minimap-box{width:75px}.race-map{width:72px;height:72px}.speedometer #speed{font-size:48px}.speedometer{min-width:100px}.rpm-bar{width:100px;margin-top:6px}.speed-label #gear{font-size:9px}.speed-label,.speed-unit{font-size:6px}#race-countdown{font-size:78px;top:44%}#race-event{top:28%;font-size:7px;padding:8px 15px}.touch-left,.touch-right{bottom:max(20px,env(safe-area-inset-bottom))}.touch-left{left:max(22px,env(safe-area-inset-left))}.touch-right{right:max(22px,env(safe-area-inset-right))}.touch-right .touch-drift{margin-bottom:79px}#touch-controls button{height:63px;min-width:64px}.touch-right .touch-gas{height:77px!important}#overlay{max-height:calc(100dvh - 24px);padding:25px 35px}.settings-grid{gap:18px}.has-controller #hud .hud-bottom{left:25px;right:25px;bottom:25px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.load-line{transform:none}}.speedometer{padding:13px 16px;background:#182c32ab;border-radius:2px;text-shadow:none}.minimap-box{padding:9px 10px;background:#182c324d;border-radius:2px}#touch-controls button{background:#18333891}@media(pointer:coarse){#hud .hud-bottom{bottom:160px}.minimap-box{width:104px}.race-map{width:84px;height:84px}.speedometer{padding:10px 12px}.has-controller #hud .hud-bottom{bottom:25px}}@media(max-height:550px)and (min-width:601px){#hud .hud-bottom{bottom:22px}.speedometer{padding:8px 10px}.minimap-box{width:87px;padding:6px}.race-map{width:72px;height:72px}.has-controller #hud .hud-bottom{bottom:22px}}.hero-copy h1,#overlay h2{word-spacing:.06em}.hero-copy h1{word-spacing:.17em}.compact-help{display:none}@media(max-width:900px){.compact-help{display:inline-flex}}@media(max-width:600px){.topbar{gap:12px}.top-actions{gap:6px}.brand{font-size:21px}}@media(max-height:520px)and (min-width:600px){#overlay[data-view=finish]{padding:16px 28px}#overlay[data-view=finish] #overlay-content{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}#overlay[data-view=finish] .finish-header{grid-column:1 / -1;grid-row:1;height:20px;padding-right:34px}#overlay[data-view=finish] h2{grid-column:1;grid-row:2;font-size:22px;line-height:1.1;margin:6px 0 2px;letter-spacing:-.6px}#overlay[data-view=finish] .finish-time{grid-column:1;grid-row:3;font-size:48px;line-height:1.1;letter-spacing:-1.8px}#overlay[data-view=finish] .finish-delta{grid-column:1;grid-row:4;margin:4px 0 0;font-size:8px;line-height:1.4}#overlay[data-view=finish] .medal-targets{grid-column:2;grid-row:2 / 5;grid-template-columns:1fr;align-self:center;margin:8px 0 0}#overlay[data-view=finish] .medal-targets>div{padding:7px 10px;border:0;border-bottom:1px solid var(--line)}#overlay[data-view=finish] .medal-targets>div:last-child{border-bottom:0}#overlay[data-view=finish] .finish-stats{grid-column:1 / -1;grid-row:5;margin:8px 0 10px}#overlay[data-view=finish] .finish-stats>div{gap:3px}#overlay[data-view=finish] .finish-stats strong{font-size:20px}#overlay[data-view=finish] .result-actions{grid-column:1 / -1;grid-row:6;margin-bottom:6px}#overlay[data-view=finish] .result-actions .button{min-height:40px;height:40px}#overlay[data-view=finish] #exit-button{grid-column:1 / -1;grid-row:7;justify-self:start;font-size:8px}}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff")}
