@font-face{font-family:Space;src:url('./assets/fonts/SpaceGrotesk.ttf')}@font-face{font-family:Barlow;src:url('./assets/fonts/BarlowCondensed-ExtraBold.ttf');font-weight:800}
:root{--ink:#142b31;--paper:#eeeeda;--lime:#d8fb62;--muted:#a8b6a6;--line:#e9efd42c;color-scheme:dark;font-family:Space,Arial,sans-serif;color:var(--paper);background:#243b3d}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit;border:0;background:none;cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}input,select{width:100%;border:1px solid var(--line);background:#102b30;color:var(--paper);padding:10px;border-radius:0;outline:none}input:focus,select:focus{border-color:var(--lime)}input[type=range]{padding:0;accent-color:var(--lime);height:18px}input[type=color]{padding:2px;height:35px;cursor:pointer}label{font-size:9px;letter-spacing:1.2px;display:grid;gap:8px;color:#c4cebf}p{line-height:1.65}[hidden]{display:none!important}#scene{position:fixed;inset:0;touch-action:none}#scene canvas{display:block;width:100%;height:100%}.grain{position:fixed;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.94' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.19' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.12;z-index:3}#menu{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#152e345c,transparent 58%)}#menu button,#menu input,#menu select,#menu a,#menu canvas{pointer-events:auto}.topbar{position:absolute;top:26px;left:3.2%;right:3.2%;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.wordmark{font:800 43px/.8 Barlow,sans-serif;letter-spacing:-1.9px;color:var(--paper);text-decoration:none;white-space:nowrap}.wordmark span{font:10px Space;vertical-align:top;letter-spacing:0;margin-left:5px}.club-name{font-size:10px;line-height:1.5;letter-spacing:2px;border-left:1px solid var(--line);padding-left:20px}.club-name small{font-size:6px;letter-spacing:1.5px;color:var(--muted)}nav{display:flex;gap:31px;align-items:center;margin-left:auto;margin-right:20px}.tab{font-size:10px;letter-spacing:1.2px;height:33px;padding:5px 0;position:relative;color:#bdc7b7}.tab.active{color:var(--lime)}.tab.active:after{content:'';height:2px;position:absolute;bottom:-20px;left:0;right:0;background:var(--lime)}.tab span{font-size:16px}.dot{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%;margin-left:8px}.icon-btn{font-size:20px;display:flex;align-items:center;gap:5px}.icon-btn span{font-size:7px}.hero{position:absolute;left:3.2%;top:16.7%;width:370px}.eyebrow{font-size:8px;letter-spacing:1.7px;display:flex;align-items:center;gap:12px;margin:0 0 19px}.pill{border:1px solid var(--line);padding:5px 7px;font-size:7px}h1{font:800 clamp(65px,7.7vw,120px)/.86 Barlow,Impact,sans-serif;letter-spacing:-2px;margin:0}h1 em,dialog h2 em{font-style:normal;color:var(--lime)}.hero-desc{font-size:15px;line-height:1.4;letter-spacing:-.4px;margin-top:24px;color:#c5cebd}.edition{display:flex;gap:10px;align-items:center;font-size:6px;letter-spacing:1.2px;margin-top:28px}.edition>span:first-child{font-size:11px;letter-spacing:2px;padding-right:12px;border-right:1px solid var(--line);color:var(--lime)}.car-callout{position:absolute;top:57%;left:38%;padding-left:16px;border-left:2px solid var(--lime);text-shadow:0 2px 8px #172d32}.tiny{font-size:7px;letter-spacing:1.7px;color:var(--lime)}.car-callout h2{font:800 26px/1.1 Barlow;margin:7px 0 12px;letter-spacing:.7px}.car-specs{display:flex;gap:20px;font-size:6px;letter-spacing:1px;color:#afbdad}.car-specs b{color:var(--paper);font-size:14px;display:block;margin-bottom:5px;font-weight:500}.orbit-hint{font-size:6px;letter-spacing:1.4px;color:#a6b3a4;margin-top:18px}.track-panel{position:absolute;right:3.2%;top:17%;width:230px;pointer-events:auto}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.3px;color:#bfccb8;margin-bottom:15px}.section-label>span:last-child{font-size:9px}.track-card{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:13px;width:100%;text-align:left;padding:16px 12px;border:1px solid var(--line);border-bottom:0;background:#18343aaa}.track-card:last-child{border-bottom:1px solid var(--line)}.track-card.active{color:var(--ink);background:var(--lime);border-color:var(--lime)}.track-card svg{width:53px;height:55px;fill:none;stroke:currentColor;stroke-width:2.4;opacity:.9}.track-card span{font-size:7px;letter-spacing:1.1px;display:block;opacity:.7}.track-card b{font:800 21px/1 Barlow;display:block;margin:4px 0 7px}.track-card small{font-size:6px;letter-spacing:.6px;opacity:.7}.track-footer{display:flex;justify-content:space-between;margin-top:19px;font-size:6px;letter-spacing:.5px;color:var(--muted)}.track-footer b{font-size:17px;font-weight:500;color:var(--paper);display:block;margin-bottom:4px}.ghost-note{font-size:9px;line-height:1.5;color:#a0b5a6;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.vehicle-strip{position:absolute;left:3.2%;right:3.2%;bottom:96px}.vehicle-strip>.section-label{margin-bottom:9px}.vehicle-strip>.section-label>span:last-child{font-size:6px}#car-list{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.car-card{position:relative;background:#142e34c9;border:1px solid var(--line);text-align:left;padding:9px 11px 10px;min-height:100px;overflow:hidden}.car-card.active{background:var(--paper);color:var(--ink);border-color:var(--paper)}.car-card .number{font-size:6px;letter-spacing:1px;opacity:.6}.car-card svg{height:34px;width:90%;display:block;max-width:128px;margin:0 auto 3px}.car-card>b{font:800 14px/1 Barlow;letter-spacing:.3px;display:block}.car-card>small{font-size:6px;opacity:.6;display:block;margin-top:4px}.car-card .selected-marker{display:none}.car-card.active:after{content:'↗';position:absolute;top:8px;right:9px;font-size:13px}.menu-bottom{position:absolute;left:3.2%;right:3.2%;bottom:21px;display:flex;justify-content:space-between;align-items:center;gap:30px}.control-short{display:flex;align-items:center;gap:4px;font-size:6px;color:#bcc8b6;letter-spacing:.6px}.control-short span{margin:0 10px 0 3px}kbd{font:7px Space,sans-serif;min-width:18px;text-align:center;padding:5px;border:1px solid #c4d3b951}.primary{background:var(--lime);color:var(--ink);font-size:10px;font-weight:700;letter-spacing:1.6px;min-height:48px;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:28px;transition:background .2s}.primary:hover{background:#e9ff9b}.primary>span{font-size:24px;font-weight:400;line-height:1}.menu-bottom>.primary{width:300px;min-height:55px}.build-tag{font-size:6px;letter-spacing:1px;line-height:1.8;color:#a7b9a7}.build-tag b{font-weight:400;color:var(--paper)}.garage-panel{position:absolute;right:3.2%;top:115px;bottom:222px;width:320px;padding:20px;background:#132e34eb;border:1px solid var(--line);pointer-events:auto}.garage-panel h2{font:800 30px Barlow;margin:0 0 20px}.garage-scroll{height:calc(100% - 70px);overflow:auto;padding-right:7px;scrollbar-width:thin;scrollbar-color:#d8fb6255 transparent}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:17px}.field-row select{font-size:10px;padding:9px 5px}.paint-row{display:flex;align-items:center;gap:15px;margin:0 0 18px}.paint-row label{max-width:95px;font-size:7px}#paint-swatches{display:flex;flex-wrap:wrap;gap:6px;width:150px}#paint-swatches button{width:23px;height:23px;border:1px solid #fff5}.livery-title{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-bottom:15px;font-size:7px;letter-spacing:1px}.livery-editor{display:flex;gap:12px}.livery-editor canvas{width:120px;height:150px;background:#26434a;touch-action:none;cursor:move;align-self:center}.livery-tools{display:grid;gap:9px;flex:1;min-width:0}.livery-tools label{font-size:7px;gap:4px}.livery-tools input,.livery-tools select{font-size:9px;padding:5px}.livery-tools input[type=color]{height:23px}.layer-actions{display:flex;gap:6px}.layer-actions button{border:1px solid var(--line);padding:7px;font-size:8px}.layer-actions button:first-child{flex:1;background:var(--lime);color:var(--ink)}.small-note{font-size:9px;line-height:1.6;color:var(--muted)}.text-btn{font-size:9px;text-decoration:underline;text-underline-offset:5px;letter-spacing:1px;padding:8px 0}.garage-mode .hero{top:22%;width:280px}.garage-mode h1{font-size:70px}.garage-mode .hero-desc,.garage-mode .edition{display:none}.garage-mode .car-callout{left:7%;top:54%}
dialog{color:var(--paper);background:#152e34;border:1px solid #b4c8ad60;padding:32px;box-shadow:0 35px 150px #08191bd9;width:min(540px,calc(100vw - 30px));max-height:calc(100dvh - 32px);overflow:auto;scrollbar-width:thin;scrollbar-color:#d8fb6255 transparent}dialog::backdrop{background:#091b24b0;backdrop-filter:blur(9px)}dialog h2{font:800 60px/.9 Barlow;letter-spacing:-1px;margin:15px 0 20px}dialog p{font-size:12px;color:#bbcab9}dialog .primary{width:100%;margin-top:15px}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{margin:0;font-size:7px}.close-btn{font-size:29px;line-height:1;padding:0 3px}.dialog-intro{font-size:11px;margin-bottom:22px}.rooms-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;margin:25px 0 12px}.rooms-heading button{font-size:7px;color:var(--lime)}.room-row{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--line);margin-bottom:7px}.room-row b{font-size:12px;display:block}.room-row small{font-size:8px;opacity:.6}.room-row button{font-size:9px;padding:9px 12px;background:var(--lime);color:var(--ink)}.room-row button:disabled{background:#3b5155;color:var(--paper);cursor:default}.join-code{display:flex;gap:10px;margin-top:12px}.join-code input{width:50%;letter-spacing:5px}.join-code button{flex:1;border:1px solid var(--line);font-size:9px;letter-spacing:1px}.room-meta{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}.room-meta>b{font-size:24px;letter-spacing:3px;color:var(--lime)}.room-meta>span{font-size:8px;flex:1}.room-meta button{font-size:8px}#room-members{display:grid;grid-template-columns:1fr 1fr;gap:7px}.member{padding:12px;border:1px solid var(--line);font-size:11px}.member small{display:block;font-size:7px;margin-top:5px;color:var(--muted)}.member.bot{opacity:.45}.member.self{border-color:var(--lime)}.room-actions{display:flex;align-items:center;gap:20px}.room-actions .primary{flex:1}.room-actions .text-btn{flex:none}#online-error{padding:12px;background:#ed98752b;color:#ffb28e}#online-status{display:block;margin-top:12px;font-size:7px}.secondary{display:block;width:100%;border:1px solid var(--line);margin-top:9px;padding:15px;font-size:10px}#pause-dialog>.text-btn,#results-dialog>.text-btn{display:block;margin:18px auto 0}dl{margin:24px 0}dl>div{display:flex;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}dt{color:var(--lime);width:45%}dd{margin:0;flex:1}#results-list{padding:0;list-style:none}#results-list li{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid var(--line);font-size:11px}#results-list .self{background:#d8fb621a;color:var(--lime)}#results-summary{font:800 38px Barlow;color:var(--lime)}#toast{position:fixed;z-index:20;left:50%;bottom:25px;transform:translateX(-50%);background:var(--lime);color:var(--ink);font-size:11px;padding:13px 22px;box-shadow:0 4px 20px #0004}
#hud{position:fixed;inset:0;pointer-events:none;text-shadow:0 2px 8px #142b3188}#hud button{pointer-events:auto}.race-top{position:absolute;left:3%;right:3%;top:28px;display:flex;align-items:flex-start}.position{display:flex;gap:10px;align-items:center}.position>span{font:800 62px/.8 Barlow}.position>small{font-size:13px}.position small b{display:block;font-size:7px;letter-spacing:1px;color:var(--lime);margin-top:8px}.lap{position:absolute;left:50%;transform:translateX(-50%);text-align:center}.lap span{display:block;font-size:7px;letter-spacing:2px;margin-bottom:7px}.lap b{font-size:18px;font-weight:500}.timer{margin-left:auto;display:grid;text-align:right;position:relative;padding-right:48px;gap:7px}.timer>span{font-size:7px;letter-spacing:1.4px;color:var(--lime)}.timer>b{font-size:21px;letter-spacing:1px;font-weight:500}.timer button{position:absolute;right:0;top:0;font-size:20px;padding:8px 10px;border:1px solid var(--line);background:#172d3266}.race-bottom{position:absolute;bottom:28px;left:3%;right:3%;display:flex;align-items:flex-end;justify-content:space-between}.instrument{width:180px}.tach{position:relative;width:180px;height:115px}.tach svg{width:180px;height:108px;position:absolute;inset:0;overflow:visible}.tach svg path.tach-track{fill:none;stroke:#b4c7b644;stroke-width:4}.tach #rpm-arc{fill:none;stroke:var(--lime);stroke-width:4;stroke-dasharray:236;stroke-dashoffset:236}.tach #needle{fill:var(--paper);transform-origin:90px 89px}.rpm-label{position:absolute;font-size:7px;left:0;right:0;top:95px;display:flex;justify-content:space-between}.rpm-label i{font-style:normal;font-size:5px;letter-spacing:1px;opacity:.5}.tach>b{font:800 44px/.8 Barlow;position:absolute;left:53px;top:54px}.tach>small{font-size:6px;letter-spacing:2px;position:absolute;left:60px;top:94px}.tach>em{position:absolute;right:35px;top:72px;font-style:normal;font-size:16px;color:var(--lime)}#shift-light{position:absolute;width:6px;height:6px;top:42px;left:87px;border-radius:50%;background:#485e53}.surface{display:flex;align-items:center;gap:6px;font-size:7px;border-top:1px solid var(--line);padding-top:13px}.surface>span:first-child{width:5px;height:5px;border-radius:50%;background:var(--lime)}.surface>b{font-weight:500;letter-spacing:1px}.surface>span:last-child{font-size:6px;margin-left:auto;color:var(--muted)}.drift-readout{position:absolute;left:50%;transform:translateX(-50%);bottom:0;text-align:center;width:200px}.drift-readout>span{display:block;font-size:7px;letter-spacing:1.6px;color:var(--lime)}.drift-readout>b{display:block;font:800 39px Barlow;margin:4px}.drift-readout>div{height:2px;background:#ffffff26;max-width:130px;margin:auto}.drift-readout i{display:block;height:2px;background:var(--lime);width:0}.drift-readout small{font-size:5px;letter-spacing:1.8px;color:var(--muted);display:block;margin-top:8px}.race-tools{display:flex;gap:15px}.race-tools button{font-size:10px;border:1px solid #c9dac344;padding:7px;background:#172d3266}.race-tools span{font-size:6px;letter-spacing:.7px;margin-left:6px}#countdown{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font:800 145px Barlow;color:var(--lime);text-shadow:0 5px 40px #14322d}#names{position:absolute;inset:0;overflow:hidden}.nametag{position:absolute;transform:translate(-50%,-100%);font-size:8px;letter-spacing:.5px;padding:4px 7px;background:#102d3399;border-bottom:2px solid var(--c);white-space:nowrap}.edge-mark{position:absolute;font-size:8px;color:var(--c);display:flex;gap:5px;align-items:center}.edge-mark b{font-size:15px}#loading{position:fixed;inset:0;z-index:100;background:#172d32;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px}#loading .wordmark{font-size:65px}#loading-text{font-size:8px;letter-spacing:2px}#loading>i{width:90px;height:2px;background:var(--lime);animation:load 1.2s ease infinite;transform-origin:left}@keyframes load{50%{transform:scaleX(.2);opacity:.4}}.touch-controls{display:none}
@media(min-width:1550px){.track-panel{width:270px}.track-card{padding:20px 15px}.track-card b{font-size:25px}.car-card{min-height:115px}.car-card svg{height:45px}.vehicle-strip{bottom:110px}.garage-panel{bottom:255px;width:360px}.car-callout{top:61%}}
@media(max-width:1050px){.topbar{top:19px;gap:12px}.club-name{font-size:8px;padding-left:12px}.club-name small{font-size:5px}nav{gap:19px;margin-right:9px}.hero{top:19%;width:290px}h1{font-size:79px}.hero-desc{font-size:12px}.edition{display:none}.track-panel{width:193px;top:20%}.track-card{grid-template-columns:42px 1fr;gap:8px;padding:11px 8px}.track-card svg{width:40px;height:43px}.track-card b{font-size:19px}.ghost-note{display:none}.track-footer{margin-top:15px}.car-callout{left:35%;top:59%}.car-callout h2{font-size:21px}.orbit-hint{font-size:5px}.vehicle-strip{bottom:90px}.car-card{padding:7px;min-height:87px}.car-card>b{font-size:12px}.car-card svg{height:29px}.menu-bottom{gap:15px}.menu-bottom>.primary{width:250px}.build-tag{display:none}.control-short{font-size:5px}.garage-panel{top:100px;bottom:202px;width:280px;padding:15px}.garage-panel h2{font-size:26px}.garage-mode .hero{width:210px}.garage-mode h1{font-size:60px}.garage-mode .car-callout{left:5%}}
@media(max-height:740px) and (min-width:701px){.topbar{top:17px;padding-bottom:13px}.tab.active:after{bottom:-13px}.hero{top:19%}h1{font-size:77px}.hero-desc{font-size:12px;margin-top:15px}.edition{display:none}.track-panel{top:19%}.track-card{padding:10px}.track-footer{margin-top:12px}.ghost-note{display:none}.car-callout{top:56%}.car-callout h2{font-size:22px}.orbit-hint{display:none}.car-card{min-height:85px}.car-card svg{height:27px}.vehicle-strip{bottom:82px}.menu-bottom{bottom:16px}.menu-bottom>.primary{min-height:45px}.garage-panel{top:93px;bottom:193px}.garage-mode .car-callout{top:52%}}
@media(max-width:700px) and (orientation:portrait){.topbar{left:5%;right:5%;top:21px;padding-bottom:13px;gap:10px}.wordmark{font-size:32px}.club-name{display:none}nav{gap:17px;margin:0 auto}.tab{font-size:8px;letter-spacing:.6px}.tab.active:after{bottom:-13px}.icon-btn{font-size:17px}.icon-btn span{font-size:5px}#help-open{display:none}.hero{top:14%;left:5%;width:260px}.eyebrow{font-size:6px;letter-spacing:1px;margin-bottom:11px}.pill{font-size:5px}h1{font-size:62px;letter-spacing:-1px}.hero-desc,.edition{display:none}.car-callout{left:5%;top:44%;border-left-width:2px}.car-callout h2{font-size:21px}.tiny{font-size:6px}.car-specs{gap:14px}.car-specs b{font-size:11px}.car-specs{font-size:5px}.orbit-hint{display:none}.track-panel{left:5%;right:5%;top:auto;bottom:212px;width:auto}.track-panel>.section-label{font-size:6px;margin-bottom:8px}#track-list{display:flex;gap:5px}.track-card{flex:1;display:block;padding:8px;border:1px solid var(--line)!important}.track-card svg{width:100%;height:29px;margin:0 0 4px}.track-card b{font-size:17px;line-height:.95;margin:4px 0}.track-card span{font-size:5px}.track-card small{font-size:5px;letter-spacing:0}.track-footer,.ghost-note{display:none}.vehicle-strip{left:5%;right:5%;bottom:85px}.vehicle-strip>.section-label>span:last-child{display:none}#car-list{display:flex;overflow-x:auto;scrollbar-width:none;gap:5px;pointer-events:auto}.car-card{min-width:105px;min-height:80px;flex:none}.car-card svg{height:26px}.menu-bottom{left:5%;right:5%;bottom:19px}.control-short,.build-tag{display:none}.menu-bottom>.primary{width:100%;min-height:47px}.garage-panel{top:95px;right:5%;width:52%;bottom:202px;padding:12px}.garage-panel h2{font-size:22px}.garage-panel>.section-label{font-size:5px;letter-spacing:.5px}.garage-panel .text-btn{font-size:6px}.garage-scroll{height:calc(100% - 66px);padding-right:3px}.field-row{grid-template-columns:1fr;gap:10px;margin-bottom:13px}.field-row label{font-size:7px}.field-row select{font-size:9px}.paint-row{flex-wrap:wrap;gap:10px}.paint-row label{max-width:none;width:100%}#paint-swatches{width:auto}.livery-editor{flex-direction:column}.livery-editor canvas{width:100%;height:auto}.garage-mode .hero{top:17%;left:5%;width:37%}.garage-mode h1{font-size:43px}.garage-mode .eyebrow{display:none}.garage-mode .car-callout{left:5%;top:46%;width:37%;padding-left:8px}.garage-mode .car-callout h2{font-size:18px}.garage-mode .car-specs{flex-wrap:wrap;gap:10px}.garage-mode .tiny{font-size:5px}.race-top{top:22px;left:5%;right:5%}.position>span{font-size:48px}.position>small{font-size:10px}.timer>span{font-size:5px}.timer>b{font-size:13px}.timer{padding-right:35px}.timer button{font-size:15px;padding:6px}.lap{top:64px}.lap b{font-size:14px}.lap span{font-size:6px}.race-bottom{left:5%;right:5%;bottom:125px}.instrument{transform:scale(.78);transform-origin:left bottom}.drift-readout{left:auto;right:0;transform:none;width:110px;bottom:14px}.drift-readout>span{font-size:5px}.drift-readout small{font-size:4px;letter-spacing:1px}.drift-readout>b{font-size:30px}.race-tools{position:absolute;right:0;bottom:113px;gap:5px}.race-tools span{display:none}.race-tools button{padding:5px 8px}.touch-controls{display:flex;position:absolute;bottom:24px;left:4%;right:4%;justify-content:space-between}.touch-controls>div{display:flex;gap:7px}.touch-controls button{background:#172d32bf;border:1px solid #d8fb6266;min-width:47px;height:59px;font-size:10px;touch-action:none}.touch-controls [data-control=accel]{background:var(--lime);color:var(--ink)}dialog{padding:24px}dialog h2{font-size:52px}.room-meta>b{font-size:19px}.room-meta>span{font-size:6px}}
@media(max-height:500px) and (orientation:landscape){.topbar{top:12px;padding-bottom:9px}.wordmark{font-size:31px}.club-name{display:none}.tab.active:after{bottom:-9px}.hero{top:24%}h1{font-size:50px}.hero-desc,.eyebrow,.edition{display:none}.track-panel{top:23%;width:170px}.track-card{padding:6px;grid-template-columns:30px 1fr}.track-card svg{width:29px;height:28px}.track-card b{font-size:15px;margin:3px 0}.track-card span,.track-card small{font-size:5px}.track-footer,.track-panel>.section-label{display:none}.vehicle-strip{bottom:60px;left:3%;right:24%}.vehicle-strip>.section-label{display:none}.car-card{min-height:62px;padding:4px}.car-card svg{height:20px;margin-bottom:2px}.car-card>b{font-size:10px}.car-card>small{display:none}.car-card .number{font-size:5px}.car-callout{top:52%;left:29%}.car-callout h2{font-size:17px;margin-bottom:6px}.car-specs b{font-size:10px}.car-specs{font-size:5px;gap:14px}.tiny{font-size:5px}.menu-bottom{bottom:10px}.control-short{display:none}.menu-bottom>.primary{margin-left:auto;width:210px;min-height:37px;padding:10px;font-size:8px}.garage-panel{top:72px;bottom:61px;width:250px}.garage-panel h2{font-size:23px;margin-bottom:11px}.garage-mode .hero{top:25%}.garage-mode h1{font-size:45px}.garage-mode .car-callout{top:50%}.garage-mode .vehicle-strip{right:39%}#car-list{overflow-x:auto;display:flex}.car-card{min-width:83px}.race-top{top:16px}.position>span{font-size:45px}.timer>b{font-size:15px}.race-bottom{bottom:14px}.instrument{transform:scale(.7);transform-origin:left bottom}.race-tools{display:none}.drift-readout{bottom:0;left:auto;right:0;transform:none;width:130px}.drift-readout>b{font-size:28px}.drift-readout>span{font-size:5px}.drift-readout small{display:none}.touch-controls{display:flex;position:absolute;left:25%;right:25%;bottom:18px;justify-content:space-between}.touch-controls>div{display:flex;gap:5px}.touch-controls button{background:#172d32a0;border:1px solid #d8fb6244;min-width:38px;height:39px;font-size:8px;touch-action:none}.touch-controls [data-control=accel]{color:var(--lime)}dialog h2{font-size:40px}}
#menu{background:linear-gradient(90deg,#122d32b8,transparent 65%),linear-gradient(0deg,#142c3280,transparent 32%)}.car-callout{background:#18353b55;padding:12px 17px}.orbit-hint{color:#d1dec6}.track-footer,.ghost-note{color:#d1dec6}
@media(min-width:1100px) and (min-height:741px){.hero{width:475px}h1{font-size:clamp(85px,7.2vw,112px)}.car-callout{top:59%;left:42%}}
.quality-btn{font:700 9px Space,sans-serif;letter-spacing:.5px;min-width:25px;height:25px;border:1px solid var(--line)}
#hud:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10253055,transparent 18%,transparent 76%,#10253044);pointer-events:none}
body[data-race-track=alpine] #hud{color:#183a46;text-shadow:0 1px 4px #fff6}
body[data-race-track=alpine] .position small b,body[data-race-track=alpine] .timer>span,body[data-race-track=alpine] .drift-readout>span,body[data-race-track=alpine] .tach>em{color:#205d4e}
body[data-race-track=alpine] #rpm-arc{stroke:#27664f}body[data-race-track=alpine] #slip-bar{background:#27664f}
body[data-race-track=alpine] .surface>span:last-child,body[data-race-track=alpine] .drift-readout small{color:#31565c}
body[data-race-track=alpine] #hud button,body[data-race-track=alpine] .nametag{color:#f1f1dc;text-shadow:0 1px 3px #102530}
@media(max-width:700px) and (orientation:portrait){.topbar{gap:7px}nav{gap:11px}.quality-btn{font-size:7px;min-width:22px}.icon-btn{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}#loading>i{animation:none}}
.turbo-gauge{position:absolute;right:0;bottom:53px;width:178px;padding:12px 14px;background:#0d252de6;border:1px solid #719d9b66;border-radius:2px;box-shadow:0 8px 30px #06192033;color:#dbe8df;text-shadow:none}
.turbo-gauge>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px}.turbo-gauge b{font-size:16px;font-weight:500;letter-spacing:0}.turbo-track{height:5px;background:#b1e5e220;margin-top:9px;overflow:hidden}.turbo-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#a5efe3,#d8fb62);transform-origin:left;transition:transform .07s linear}.turbo-gauge small{font-size:5px;letter-spacing:1px;display:block;margin-top:7px;color:#a9beb5}.turbo-gauge.active{border-color:#c9f974;box-shadow:0 0 30px #a7ec7433}.turbo-gauge.active #turbo-state{color:#d8fb62}.turbo-gauge.empty{opacity:.6}.touch-controls .boost-control{position:absolute;right:0;bottom:70px;height:35px;min-width:97px;background:#d8fb62;color:#172d32;border:1px solid #e9ffb9;font-weight:700;letter-spacing:1px}.touch-controls .boost-control.empty{background:#304549;color:#a0b2a9;border-color:#708880}
@media(max-width:700px) and (orientation:portrait){.turbo-gauge{bottom:126px;width:135px;padding:9px 10px}.turbo-gauge b{font-size:13px}.turbo-gauge>div:first-child{font-size:6px}.turbo-gauge small{font-size:4px;letter-spacing:.6px}.race-tools{bottom:90px}}
@media(max-height:500px) and (orientation:landscape){.turbo-gauge{bottom:68px;width:132px;padding:8px 10px}.turbo-gauge b{font-size:12px}.turbo-gauge>div:first-child{font-size:6px}.turbo-gauge small{display:none}.touch-controls .boost-control{bottom:48px;height:29px;min-width:88px}}
