:root{font-family:Inter,Arial,'Malgun Gothic',sans-serif;color:#edf2ef;background:#142126;font-synthesis:none;--lime:#c5ff44;--panel:#142026ed;--muted:#a4b2b7}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button{cursor:pointer;border:0;border-radius:3px;transition:background .15s,transform .15s}button:hover{filter:brightness(1.12)}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:active{transform:translateY(1px)}[hidden]{display:none!important}#world{width:100vw;height:100vh;display:block;position:fixed;inset:0}#loading{position:absolute;inset:0;display:grid;place-content:center;font-size:40px;font-weight:900;background:#142026}#loading span{font-size:14px;margin-top:20px;color:var(--muted)}#menu{position:absolute;inset:0;background:linear-gradient(90deg,#101b22f5 0%,#101b22e8 40%,#101b2230 100%);padding:30px 5vw 24px;display:grid;grid-template-columns:1fr 440px;grid-template-rows:50px 1fr 40px;gap:24px}header{grid-column:1/3;display:flex;align-items:center;justify-content:space-between}.brand{font-size:29px;font-weight:900;letter-spacing:-3px;color:var(--lime);text-decoration:none;display:flex;align-items:center;gap:18px}.brand span{color:#fff;font-size:12px;letter-spacing:2px;font-weight:700}.edition{font-size:10px;letter-spacing:3px;color:#b4c2c5}.quiet{background:transparent;color:#ced9d9;padding:12px 0}.quiet span{margin-left:20px}.hero{align-self:center}.eyebrow{font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:10px}.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--lime)}h1{font-size:clamp(70px,8.3vw,136px);line-height:.88;letter-spacing:-6px;font-weight:950;margin:28px 0}h1 em{font-style:italic;color:var(--lime)}.hero p{color:#b8c5c9;font-size:15px;line-height:1.8;margin:24px 0 36px}.trackChip{display:flex;align-items:center;gap:17px;width:390px;border-top:1px solid #ffffff26;padding-top:22px}.trackChip>span{font-size:32px;color:var(--lime);font-weight:800}.trackChip strong{font-size:12px;letter-spacing:1px}.trackChip small{display:block;margin-top:7px;font-size:10px;color:#9caaaf}.trackChip svg{width:85px;margin-left:auto}.garage{align-self:center;background:#142026f2;border:1px solid #ffffff15;padding:23px;border-radius:7px;box-shadow:0 22px 80px #0c141e50}.sectionTitle{display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:1.3px;margin-bottom:18px}.sectionTitle small{color:#768d95}.carCard{position:relative;width:100%;text-align:left;background:#25333a;border:1px solid #ffffff12;color:#fff;margin-bottom:11px;display:grid;grid-template-columns:115px 1fr;gap:14px;padding:17px 14px;border-radius:4px}.carCard.selected{border:1px solid var(--lime);background:#303e33}.carCard .number{position:absolute;right:12px;top:12px;font-size:10px;color:#7f9697}.carCard.selected .number{color:var(--lime)}.carCard svg{width:110px;height:90px;align-self:center}.carCard h3{font-size:18px;letter-spacing:1px;margin:0 0 4px}.carCard p{font-size:10px;color:#9baeb4;margin:7px 0 12px}.carCard small{font-size:10px;color:#c7d2d3}.bars{display:flex;gap:7px}.stat{flex:1;font-size:8px;color:#8fa0a6}.stat i{display:block;height:3px;background:#ffffff15;margin-top:5px}.stat b{display:block;height:100%;background:#81988c}.selected .stat b{background:var(--lime)}.launchRow{display:flex;justify-content:space-between;gap:20px;margin-top:15px;align-items:center}.launchRow .quiet{font-size:11px}.primary{background:var(--lime);color:#182021;font-weight:800;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:28px}.launchRow .primary{flex:1;max-width:242px}.secondary{background:#293a42;color:white;padding:16px;font-weight:700}footer{grid-column:1/3;display:flex;align-items:flex-end;justify-content:space-between;font-size:9px;color:#8a9da3;letter-spacing:1px}footer span:first-child{font-size:10px;color:#b6c4c6}#hud{position:absolute;inset:0;pointer-events:none;padding:28px 35px}.hudTop{display:flex;align-items:start;gap:35px;text-shadow:0 2px 12px #0b1b28}.place{display:flex;align-items:center;gap:12px}.place>b{font-size:64px;line-height:1;color:var(--lime);font-weight:900}.place>span{font-size:22px;color:#e5ece9}.place small{display:block;font-size:9px;letter-spacing:1px;margin-top:5px}.lap,.clock{padding-top:5px}.lap small,.clock small{display:block;font-size:9px;letter-spacing:2px;margin-bottom:9px}.lap strong,.clock strong{font-size:26px}.clock{margin-left:auto;position:relative;padding-right:55px}.clock button{pointer-events:auto;position:absolute;right:0;top:6px;background:#13242dbb;color:#fff;width:35px;height:35px}.hudBottom{position:absolute;bottom:30px;left:35px;right:35px;display:flex;justify-content:space-between;align-items:end;gap:30px}.mapPanel{background:#142026d9;width:215px;padding:12px;border:1px solid #ffffff15;border-radius:5px}.mapPanel canvas{width:190px;height:150px;display:block}#leaderboard{font-size:9px;letter-spacing:1px;line-height:1.8}#leaderboard .me{color:var(--lime)}.boostPanel{width:350px}.speed{display:flex;align-items:baseline;justify-content:flex-end;gap:10px;text-shadow:0 2px 12px #0b1b28}.speed b{font-size:76px;font-style:italic;line-height:1;font-weight:900}.speed small{font-size:11px}.boostLabel{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:1px;margin:15px 0 9px;text-shadow:0 2px 9px #000}#boostBar{height:16px;background:#172831c9;border:1px solid #ffffff4d;position:relative;border-radius:2px;overflow:hidden}#gaugeFill{position:absolute;height:100%;background:var(--lime);width:0}#timingWindow{position:absolute;top:0;height:100%;background:#ffffffe0;border-left:2px solid #42bcff;border-right:2px solid #42bcff;display:none}.boostHint{font-size:9px;color:#d9e6df;letter-spacing:1px;margin-top:7px;text-align:right}.itemSlot{background:var(--panel);margin-top:19px;padding:14px;display:flex;gap:11px;align-items:center;border:1px solid #ffffff20}.itemKey{border:1px solid #87999d;border-radius:2px;font-size:9px;padding:5px}.itemSlot strong{font-size:12px}.itemSlot>span:last-child{margin-left:auto;font-size:9px;color:#afbec4}#status{min-height:16px;text-align:right;color:#ffe69b;font-size:10px;padding-top:8px}#countdown{position:absolute;top:30%;left:0;right:0;text-align:center;font-size:100px;font-weight:900;color:var(--lime);text-shadow:0 4px 20px #142026}#notice{position:absolute;top:21%;left:0;right:0;text-align:center;font-size:22px;font-weight:800;color:#fff;text-shadow:0 3px 12px #111}dialog{background:#142026;color:#f4f6f2;border:1px solid #ffffff28;border-radius:8px;padding:35px;width:440px;max-width:94vw;box-shadow:0 40px 100px #0008}dialog::backdrop{background:#07121bb0;backdrop-filter:blur(3px)}dialog>small,.dialogHeading small{font-size:10px;letter-spacing:2px;color:var(--lime)}dialog h2{font-size:30px;margin:12px 0 25px}dialog label{display:flex;justify-content:space-between;align-items:center;margin:22px 0;font-size:14px}select{background:#2b3a42;border:1px solid #ffffff29;color:#fff;padding:9px;border-radius:3px}input[type=checkbox]{accent-color:var(--lime);width:18px;height:18px}.muted{font-size:11px;color:#a5b7bd;line-height:1.9}.primary[data-close]{width:100%;margin-top:25px}dialog dl{display:grid;grid-template-columns:90px 1fr;font-size:11px;gap:17px 12px;line-height:1.5}dialog dt{color:var(--lime)}dialog dd{margin:0;color:#bdcbd0}#pause button,#results>button{width:100%;margin-top:12px}.resultRow{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #ffffff15;font-size:13px}.resultRow span:last-child{margin-left:auto;color:#b7c8cb}.resultRow.me{color:var(--lime)}#drivePad{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);pointer-events:auto;display:flex;gap:6px}#drivePad button{padding:14px;background:#142026e0;color:white;border:1px solid #ffffff40;touch-action:none;user-select:none}#drivePad button.held{background:#67833b}#qa{position:absolute;top:130px;left:20px;width:330px;background:#142026ee;border:1px solid #fff6;padding:12px;font-size:10px;z-index:20}#qa select,#qa button{font-size:10px;padding:7px;margin:4px}#qa pre{font-size:10px;white-space:pre-wrap;max-height:220px;overflow:auto}#qa strong{display:block}.error{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#142026;padding:30px}
@media(max-height:750px) and (min-width:850px){#menu{padding-top:20px;gap:12px}.carCard{padding:10px 14px}.carCard svg{height:73px}.garage{padding:18px}.hero p{margin:20px 0}h1{font-size:100px}.trackChip{padding-top:15px}}@media(max-width:850px){#menu{padding:15px 20px;grid-template-columns:1fr 340px;gap:15px}.garage{padding:14px}.carCard{grid-template-columns:75px 1fr;padding:10px}.carCard svg{width:75px;height:60px}.carCard p{font-size:9px}.hero h1{font-size:70px;letter-spacing:-4px}.hero p{font-size:11px}.trackChip{width:250px}.trackChip svg{display:none}.edition,footer span:last-child{display:none}.primary{padding:15px}#hud{padding:16px}.hudBottom{left:16px;right:16px;bottom:65px}.boostPanel{width:260px}.speed b{font-size:54px}.mapPanel{width:165px}.mapPanel canvas{width:140px;height:115px}}@media(max-width:600px){body:has(#menu:not([hidden])){overflow:auto}#menu{display:flex;flex-direction:column;position:relative;min-height:100vh;gap:20px}.hero{align-self:stretch}.hero h1{font-size:70px;margin:20px 0}.hero p{display:none}.trackChip{width:100%;padding-top:10px}.garage{align-self:stretch}.carCard{grid-template-columns:90px 1fr}.carCard svg{width:85px}.hero .eyebrow{font-size:9px}footer{padding-bottom:10px}.hudTop{gap:20px}.place>b{font-size:45px}.clock strong,.lap strong{font-size:18px}.place>span{font-size:14px}.mapPanel{display:none}.hudBottom{justify-content:flex-end}.boostPanel{width:250px}.edition{display:none}#drivePad{gap:3px}#drivePad button{padding:12px 9px}}
#smokeOverlay{position:fixed;inset:0;pointer-events:none;z-index:1;background:#808080;opacity:0;}
#attackWarning{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0;background:radial-gradient(ellipse at center,rgba(255,20,20,0) 45%,rgba(255,20,20,.12) 64%,rgba(255,20,20,.85) 100%)}#hud{z-index:2}
/* Transparent 234-degree instrument arc, anchored at the bottom edge. */
.hudBottom{bottom:0;display:block;min-height:1px}.hudBottom:has(~ #drivePad:not([hidden])){bottom:74px}.mapPanel{position:absolute;left:0;bottom:18px}
.boostPanel{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:260px;text-align:center;--dial-color:#ffd54f}
.speedDial{width:240px;height:192px;position:relative;margin:0 auto;background:none;box-shadow:none;filter:none;opacity:.72;--dial-color:#ffd54f}.dialFace{display:block;width:100%;height:100%;overflow:visible}
.dialOutline{fill:none;stroke:#fff;stroke-opacity:.5;stroke-width:1.3;stroke-linejoin:round}
#boostBar,#gaugeFill,#timingWindow{position:static;width:auto;height:auto;fill:none;background:none;border:0;border-radius:0;stroke-linecap:butt;filter:none}
#boostBar{stroke:#e3ecf0;stroke-opacity:.16;stroke-width:5}#gaugeFill{stroke:var(--dial-color);stroke-width:5;stroke-dasharray:0 100}#timingWindow{stroke:#fff;stroke-width:8;stroke-dasharray:0 100;display:none}
.speedDial .speed{position:absolute;inset:57.6px 24px auto;display:flex;flex-direction:column;align-items:center;gap:0;text-shadow:none}.speedDial .speed b{font-size:54px;line-height:1;font-style:normal;font-weight:400;letter-spacing:-2px;color:#f4fcff;font-variant-numeric:tabular-nums}.speedDial .speed small{font-size:14.4px;font-weight:500;color:#f4fcff;margin-top:3px}
.speedDial .boostLabel{position:absolute;left:12px;right:12px;bottom:7.2px;margin:0;display:flex;flex-direction:column;align-items:center;gap:3.6px;font-size:8.4px;letter-spacing:.6px;text-shadow:none}.speedDial #gaugeText{font-size:10.8px;color:var(--dial-color)}
.boostPanel .itemSlot{margin:0;padding:4px 8px;min-height:25px;border:0;border-radius:0;background:none;gap:8px;justify-content:center}.boostPanel .itemSlot strong{font-size:10px}.boostPanel .itemSlot>span:last-child{margin-left:0;font-size:8px}.boostPanel .itemKey{padding:3px;font-size:8px;border-color:#fff5}.boostPanel #status{position:absolute;top:-15px;left:-20px;right:-20px;min-height:0;text-align:center;font-size:8px;line-height:1.3;padding:0}.boostPanel #status:empty{display:none}
@media(max-width:850px){.boostPanel{width:250px}.hudBottom{bottom:0}.hudBottom:has(~ #drivePad:not([hidden])){bottom:74px}}
@media(max-width:600px),(max-height:600px){.speedDial{width:216px;height:172.8px}.speedDial .speed{top:50.4px}.speedDial .speed b{font-size:48px}.speedDial .speed small{font-size:13.2px}.speedDial .boostLabel{bottom:6px;font-size:7.2px;gap:2.4px}.speedDial #gaugeText{font-size:9.6px}.boostPanel{width:240px}.hudBottom{bottom:0}.hudBottom:has(~ #drivePad:not([hidden])){bottom:70px}}
#overdriveWarning{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0;background:radial-gradient(ellipse at center,rgba(40,155,255,0) 45%,rgba(40,155,255,.12) 64%,rgba(40,155,255,.85) 100%)}
#timeOfDay{display:block;font-size:10px;letter-spacing:1px;color:#c4d7de;margin-top:7px}
.boostPanel .itemSlot{min-height:40px;padding:7px 10px;gap:10px;flex-wrap:wrap}.boostPanel .itemSlot strong{font-size:15px}.boostPanel .itemSlot>span:last-child{font-size:11px}.boostPanel .itemKey{font-size:11px;padding:5px}#drivePad button.held{background:#c5ff44;color:#142026;border-color:#e5ff9a;box-shadow:inset 0 0 0 1px #e5ff9a;font-weight:800}
.coursePicker{display:flex;flex-direction:column;gap:7px;margin:10px 0 12px;font-size:9px;letter-spacing:1px;color:#adc0c7}.coursePicker select{width:100%;font-size:11px;letter-spacing:0;padding:9px;background:#24343e}.debugLaunch{display:flex;gap:12px;align-items:center}.debugLaunch button{font-size:10px;padding:10px 12px;flex:1}.debugLaunch label{display:flex;align-items:center;gap:6px;font-size:9px;color:#a5b7bd}.debugLaunch input{width:86px;padding:6px;background:#24343e;border:1px solid #fff2;color:#d8e4e8;font-size:10px}#debugPanel{position:absolute;top:130px;right:28px;width:224px;padding:12px;background:#13232edc;border:1px solid #ffffff24;pointer-events:auto;font-size:10px;line-height:1.7}#debugPanel>strong{color:#c5ff44;letter-spacing:2px}#debugPanel label{display:flex;align-items:center;justify-content:space-between;margin:7px 0}#debugPanel select{font-size:10px;padding:5px}#debugTelemetry{font-size:9px;max-height:180px;overflow:auto;white-space:pre-wrap;color:#9eb9c6}#debugPanel summary{cursor:pointer;color:#bed0d8;margin-top:6px}@media(max-width:600px){#debugPanel{width:190px;right:12px;top:110px}.debugLaunch{gap:6px}}

#fullThrottleGlow{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0;--clear-center:79%;background:radial-gradient(ellipse at center,rgba(164,71,255,0) var(--clear-center),rgba(164,71,255,.28) 88%,rgba(157,55,255,.85) 100%)}

#finishCountdown{position:absolute;top:30px;left:50%;transform:translateX(-50%);font-size:20px;font-weight:800;color:#ffde76;text-shadow:0 2px 8px #000}#spectatorLabel{position:absolute;top:14%;left:0;right:0;text-align:center;font-size:16px;font-weight:700;color:#c5ff44;text-shadow:0 2px 8px #000}@media(max-width:600px){#finishCountdown{top:80px;font-size:14px}#spectatorLabel{top:18%;font-size:13px}}
