:root{--bg:#101b1c;--panel:#182528;--line:#344245;--green:#a2ed62;--orange:#ffa05d;--white:#edf1e6;--muted:#99a9a7;--mono:'Courier New',monospace;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--white);background:var(--bg);font-family:var(--sans);background-image:linear-gradient(#b8f58303 1px,transparent 1px),linear-gradient(90deg,#b8f58303 1px,transparent 1px);background-size:32px 32px}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{border-radius:0}button:hover:not(:disabled){filter:brightness(1.14)}[hidden]{display:none!important}.page{max-width:1536px;margin:auto;padding:0 48px}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 0;gap:20px}.brand{display:flex;gap:17px;align-items:center}.brand strong{font-size:37px;font-style:italic;letter-spacing:-3px}.brand strong span{font-size:21px;letter-spacing:-4px;color:var(--green);margin-left:6px}.brand small{font:9px var(--mono);letter-spacing:2px;width:110px;line-height:1.6;border-left:1px solid #536159;padding-left:16px}.mast-right{display:flex;gap:32px;align-items:center}.mast-right a{font:12px var(--mono);color:var(--green)}.tiny{font:9px var(--mono);letter-spacing:1.5px;color:var(--muted)}.heading{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:42px 0 34px}.eyebrow{font:bold 9px var(--mono);letter-spacing:1.5px;color:var(--green);line-height:1.6}.dot{display:inline-block;width:6px;height:6px;background:var(--green);margin-right:8px;vertical-align:middle;box-shadow:0 0 8px #a2ed6244}h1{font-size:clamp(35px,4vw,63px);line-height:.94;letter-spacing:-2.5px;margin:17px 0}h1 em{color:var(--green);font-style:italic}h1 em span{font-size:15px;vertical-align:top;letter-spacing:0;margin-left:6px}.intro{font-size:13px;color:var(--white);line-height:1.7;margin:18px 0 0}.intro span{color:var(--muted)}.edition{display:grid;grid-template-columns:auto auto;gap:10px 16px;align-items:center;transform:rotate(5deg);border:1px solid #53634c;padding:17px 22px;background:#1f2d21}.edition b{font:italic bold 50px var(--sans);line-height:1;color:var(--green)}.edition>span{font:bold 11px var(--mono);line-height:1.7;letter-spacing:1px}.edition i{grid-column:1/-1;font:8px var(--mono);letter-spacing:1px;color:#9baf96;border-top:1px solid #52634b;padding-top:10px}.arcade-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.cabinet{border:1px solid #576750;box-shadow:5px 5px 0 #0005;background:#0d1617;min-width:0}.cabinet-top{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#263629;padding:13px 17px;font:bold 9px var(--mono);letter-spacing:1px;color:#c3d2b9}.cabinet-top .tiny{font-size:8px}.scoreboard{display:grid;grid-template-columns:1fr 1.2fr .6fr;padding:17px 22px;gap:18px;background:#111b1c;border-bottom:2px solid #46534a}.scoreboard>div>span{font:8px var(--mono);letter-spacing:1.2px;color:#97a894;display:block;margin-bottom:6px}.scoreboard strong{font:bold clamp(21px,2vw,31px) var(--mono);letter-spacing:-1px;display:block;color:var(--green)}.scoreboard .combo{border-left:1px solid #37453b;padding-left:21px}.combo strong{color:#fff;display:flex;gap:9px;align-items:center}.combo b{font:inherit}.combo i{font:bold 18px var(--mono);background:var(--orange);color:#26251a;padding:2px 5px;letter-spacing:0;white-space:nowrap}.scoreboard .clock{text-align:right}.clock strong{color:var(--white)}.screen{position:relative;overflow:hidden;background:#3e5638;isolation:isolate}#track{display:block;width:100%;height:auto;image-rendering:auto;touch-action:none;outline-offset:-4px}.screen-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 45px #0a15155c;background:repeating-linear-gradient(transparent 0,transparent 3px,#00000007 3px,#00000007 4px);z-index:1}.screen-label{position:absolute;top:13px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none;z-index:2}.pixel-tag{font:8px var(--mono);background:#182522b5;color:#cad9b9;padding:5px 7px;letter-spacing:.8px}.icon-button{pointer-events:auto;font:8px var(--mono);background:#172423ce;border:1px solid #83927b;color:#e5eddc;padding:6px 9px}.game-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0a131859;z-index:4;backdrop-filter:blur(2px);padding:12px}.overlay-card{text-align:center;padding:26px 30px 20px;background:#132123f2;border:1px solid #a1cf77;box-shadow:7px 7px 0 #07100ccc;max-width:90%}.overlay-card .eyebrow{font-size:8px;margin:0;letter-spacing:1.2px}.overlay-card h2{font-size:clamp(24px,3vw,40px);font-style:italic;margin:13px 0;line-height:1.06;letter-spacing:-1px}.overlay-card>p:not(.eyebrow){font-size:12px;line-height:1.7;color:#adbdb3;margin:0 0 17px}.start-button{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:auto;background:var(--green);border:0;border-bottom:3px solid #639b38;color:#14221b;padding:14px 24px;font:bold 12px var(--mono);letter-spacing:1px}.start-button span{font-size:20px}.overlay-card p.overlay-tip{font:8px var(--mono);margin:14px 0 0;color:#809587}.drift-callout{position:absolute;top:53px;left:50%;transform:translateX(-50%);font:bold clamp(10px,1.1vw,15px) var(--mono);letter-spacing:1px;color:#fff;text-shadow:2px 2px 0 #10221b;white-space:nowrap;z-index:2}.telemetry{position:absolute;bottom:12px;left:15px;right:15px;display:flex;align-items:end;gap:20px;z-index:2;pointer-events:none}.telemetry>div:first-child{background:#172625dd;border:1px solid #6b8167;padding:6px 9px;display:flex;align-items:baseline;gap:5px}.telemetry b{font:bold 25px var(--mono)}.telemetry span{font:8px var(--mono);letter-spacing:1px;color:#d2ddc8}.angle{width:126px;background:#172625dd;padding:8px 9px}.angle>span{display:flex;justify-content:space-between}.angle b{font:bold 10px var(--mono)}.angle>div{height:4px;background:#405343;margin-top:7px}.angle i{display:block;background:var(--orange);width:0;height:100%}.telemetry .lap{margin-left:auto;padding:7px;background:#172625dd}.combo-strip{display:flex;gap:12px;align-items:center;border-top:1px solid #65765a;padding:12px 17px;font:9px var(--mono);color:#b7c5aa}.combo-strip>span:first-child{min-width:180px;color:var(--green)}.combo-strip>span:last-child{font-size:8px;white-space:nowrap}.chain-meter{height:4px;background:#334439;flex:1}.chain-meter i{height:100%;display:block;width:0;background:var(--green);transition:width .07s}.cabinet-controls{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;gap:10px;flex-wrap:wrap;background:#1c2a2b;border-top:1px solid #384b3f}.cabinet-controls>div{display:flex;gap:10px;flex-wrap:wrap}.cabinet-controls button{font:9px var(--mono);border:0;background:transparent;padding:5px 0;color:#b6c8ba}.cabinet-controls .session-toggle{gap:0;border:1px solid #587354}.session-toggle button{padding:8px 10px!important}.session-toggle button[aria-pressed=true]{background:#8fd64f;color:#17221a;font-weight:bold}.controls-legend{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;padding:14px 10px;font:7px var(--mono);letter-spacing:.5px;color:#859e8c}kbd{font:8px var(--mono);display:inline-block;padding:3px 5px;background:#2b3a37;color:#d6e1ce;border:1px solid #48594a;border-bottom:2px solid #48594a}.garage{background:#192527;border:1px solid var(--line);padding:19px}.garage-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.garage-heading .eyebrow{font-size:8px;margin:0 0 7px}.garage-heading h2{font-size:18px;letter-spacing:-.5px;margin:0}.garage-heading>span{font:9px var(--mono);color:#748980;padding-top:5px}.car-showcase{margin:20px -19px 0;background-color:#223334;background-image:linear-gradient(#98ce7608 1px,transparent 1px),linear-gradient(90deg,#98ce7608 1px,transparent 1px);background-size:16px 16px;border-top:1px solid #354945;border-bottom:1px solid #354945}#car-preview{width:100%;height:auto;display:block;image-rendering:auto}.showcase-caption{display:flex;justify-content:space-between;gap:10px;padding:9px 14px;background:#172123;font:7px var(--mono);letter-spacing:.5px;color:#9daa94}.showcase-caption>span:first-child{color:var(--orange)}.car-title{margin:16px 0 19px}.car-title h3{font-size:19px;letter-spacing:-.5px;margin:0 0 6px}.car-title p{font-size:10px;line-height:1.5;color:#a1afa4;margin:0}.garage fieldset{margin:0 0 18px;padding:0;border:0}.garage legend{font:bold 8px var(--mono);letter-spacing:.8px;padding:0;margin-bottom:10px;color:#b6c7b8}.garage legend span{color:var(--green);margin-right:7px}.car-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.car-options button{background:#223232;border:1px solid #45534b;color:#9faa9b;padding:8px 3px;font:8px var(--mono);line-height:1.5}.car-options button span{display:block;font-size:15px;margin-bottom:4px}.garage button[aria-pressed=true]{border-color:var(--green);color:var(--green);background-color:#2b3b2b}.feel{font:8px var(--mono);margin:8px 0 0;color:#829c7a}.paint-options{display:flex;justify-content:space-between;gap:7px}.paint-options button{width:31px;height:26px;border:2px solid #445549;background:var(--paint)!important;position:relative}.paint-options button[aria-pressed=true]:after{content:'';width:5px;height:5px;background:#0d171b;box-shadow:0 0 0 1px #ffffffc9;position:absolute;inset:0;margin:auto}.selection-name{font:8px var(--mono);display:block;margin-top:8px;color:#9db295}.wheel-options{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.wheel-options button{min-width:0;background:#213131;border:1px solid #405346;padding:5px 1px 8px;font:7px var(--mono);color:#a7b89f}.wheel-options canvas{width:36px;height:36px;display:block;margin:0 auto 5px;image-rendering:auto}.livery-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.livery-options button{background:#213131;border:1px solid #405346;padding:9px 4px;font:8px var(--mono);color:#adbfaa}.garage-note{font:8px var(--mono);line-height:1.6;color:#7d9487;margin:0;padding-top:12px;border-top:1px solid #344a3d}.below-track{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;margin:32px 0 40px}.howto h2{font-size:26px;letter-spacing:-.7px;margin:10px 0 24px}.howto>div{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.howto article{border-top:1px solid #455748;padding-top:15px}.howto article b{font:9px var(--mono);color:var(--orange);letter-spacing:.5px}.howto article p{font-size:11px;line-height:1.8;color:#a8b7ac;margin:11px 0}.rule-note{font:9px var(--mono);line-height:1.8;color:#84988a;margin:17px 0 0}.best-card{padding:22px;background:#233024;border:1px solid #485a41;align-self:start}.best-card .tiny{font-size:8px}.best-card strong{display:block;font:bold 36px var(--mono);letter-spacing:-1px;color:var(--green);margin:15px 0 9px}.record-label{font:7px var(--mono);letter-spacing:1px;color:#99ad91}.best-card p{font-style:italic;font-size:13px;line-height:1.5;color:#a9bea0;margin:18px 0 0}.checker{height:8px;margin-top:19px;width:100%;background:repeating-conic-gradient(#95a87b 0% 25%,transparent 0% 50%) 0/16px 16px;opacity:.5}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #34463b;padding:24px 0;font:8px var(--mono);letter-spacing:1px;color:#798e82}footer b{color:var(--green);margin:0 8px}footer a{color:#a1b599}.skip{position:absolute;top:-100px;left:10px;background:var(--green);color:#14221b;padding:10px;z-index:10}.skip:focus{top:10px}.noscript{padding:30px;text-align:center;background:#263329}.touch-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid #344d3a}.touch-controls>div{display:flex;gap:7px}.touch-controls button{background:#2a3b3a;border:1px solid #668456;border-bottom:3px solid #435d3b;font:bold 11px var(--mono);min-width:44px;min-height:44px;padding:8px;touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls .handbrake{font-size:8px;border-color:#a9794b;color:#ffc28a}.touch-controls .gas{color:#192318;background:var(--green)}.touch-controls button.pressed{transform:translateY(2px);border-bottom-width:1px;background:#637b47;color:#fff}.cabinet:fullscreen{padding:8px;overflow:auto;max-width:none;width:100%;height:100%;background:#0b1516;display:flex;flex-direction:column;align-items:center}.cabinet:fullscreen>div,.cabinet:fullscreen>.screen{width:min(100%,calc((100vh - 230px)*1.6))}.cabinet:fullscreen .controls-legend{display:none}.cabinet:fullscreen .screen{flex-shrink:1;min-height:0}.cabinet:fullscreen #track{max-height:calc(100vh - 250px);object-fit:contain}
@media(min-width:1200px) and (pointer:fine){.touch-controls{display:none}}@media(max-width:1100px){.page{padding:0 24px}.arcade-layout,.below-track{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.garage{padding:15px}.car-showcase{margin-left:-15px;margin-right:-15px}.cabinet-top .tiny{display:none}.combo-strip>span:first-child{min-width:0;max-width:160px;font-size:8px}.controls-legend{font-size:6px;gap:9px}.scoreboard{gap:10px;padding:15px}.scoreboard .combo{padding-left:12px}.cabinet-controls{padding:10px}.mast-right .tiny{display:none}.car-options button{font-size:7px}}
@media(max-width:850px){.arcade-layout{grid-template-columns:1fr}.garage{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding:20px}.garage-heading,.garage-note{grid-column:1/-1}.car-showcase{grid-column:1;margin:0;border:1px solid #354945;grid-row:2/5;align-self:start}.car-title{grid-column:1;grid-row:5;margin:0}.garage fieldset{margin-bottom:8px;grid-column:2}.garage legend{font-size:8px}.car-options{gap:7px}.car-options button{font-size:8px}.paint-options{justify-content:start;gap:12px}.below-track{grid-template-columns:1fr 230px}.howto>div{grid-template-columns:1fr;gap:8px}.howto h2{font-size:22px}.howto article p{margin:7px 0}.heading{padding:30px 0}.edition{padding:12px 15px}.edition b{font-size:40px}.intro{font-size:12px}.intro span{display:block}.touch-controls{display:flex}}
@media(max-width:520px){.page{padding:0 12px}.masthead{padding:17px 0}.brand small{display:none}.brand strong{font-size:31px}.mast-right a{font-size:9px}.heading{gap:10px;padding:28px 0 25px}.eyebrow{font-size:7px;letter-spacing:.7px}h1{font-size:37px;letter-spacing:-1.7px;margin:14px 0}.edition{display:none}.intro{font-size:11px}.scoreboard{padding:12px 10px;gap:8px;grid-template-columns:1fr 1.05fr .65fr}.scoreboard strong{font-size:22px}.scoreboard>div>span{font-size:6px}.combo i{font-size:14px}.scoreboard .combo{padding-left:10px}.cabinet-top{font-size:7px;padding:11px}.screen-label{top:7px;left:7px;right:7px}.pixel-tag{font-size:5px;padding:4px}.icon-button{font-size:6px;padding:5px}.overlay-card{padding:15px 17px 12px}.overlay-card .eyebrow{font-size:6px}.overlay-card h2{font-size:25px;margin:9px 0}.overlay-card>p:not(.eyebrow){font-size:9px;margin-bottom:10px}.overlay-card p.overlay-tip{font-size:6px;margin-top:8px}.start-button{font-size:9px;padding:9px 15px}.start-button span{font-size:14px}.drift-callout{top:31px;font-size:8px}.telemetry{left:7px;right:7px;bottom:7px;gap:7px}.telemetry b{font-size:18px}.telemetry span{font-size:6px}.telemetry>div:first-child{padding:3px 5px}.angle{width:90px;padding:5px 6px}.angle b{font-size:7px}.angle>div{height:3px;margin-top:4px}.telemetry .lap{padding:5px}.combo-strip{font-size:7px;gap:8px;padding:10px}.combo-strip>span:first-child{max-width:135px;font-size:7px}.combo-strip>span:last-child{font-size:6px}.cabinet-controls{justify-content:center;gap:6px}.cabinet-controls>div{gap:15px}.cabinet-controls button{font-size:8px}.controls-legend{gap:7px;font-size:5px;padding:10px 5px}.controls-legend kbd{font-size:6px;padding:2px 3px}.touch-controls{padding:9px;gap:7px}.touch-controls>div{gap:5px}.touch-controls button{min-width:40px;font-size:9px;padding:7px}.touch-controls .handbrake{font-size:6px}.garage{gap:12px 18px;padding:16px}.car-showcase{grid-row:2;grid-column:1/-1;margin:0 auto;width:100%;max-width:360px}.car-title{grid-row:3;grid-column:1/-1}.garage fieldset{grid-column:auto}.garage legend{font-size:7px}.garage fieldset:nth-of-type(1){grid-column:1/-1}.paint-options{gap:5px;flex-wrap:wrap}.paint-options button{width:28px;height:25px}.wheel-options{grid-template-columns:repeat(2,1fr)}.livery-options{grid-template-columns:1fr}.below-track{grid-template-columns:1fr;margin:26px 0}.howto h2{font-size:24px}.best-card{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.best-card .tiny,.record-label{grid-column:1}.best-card strong{grid-column:1;margin:5px 0;font-size:29px}.best-card p{grid-row:1/4;grid-column:2;margin:0;align-self:center;font-size:12px}.checker{grid-column:1/-1;margin-top:12px}footer{font-size:6px;line-height:1.7;letter-spacing:.5px;flex-wrap:wrap;padding:18px 0}.rule-note{font-size:8px}.arcade-layout{gap:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.screen-vignette{background:none}}

/* Run-local clean laps, separate from drift-chain scoring. */
.lap-counts{margin-left:auto;display:grid;gap:4px}
.telemetry .lap-counts .lap{margin-left:0;text-align:center;white-space:nowrap}
.telemetry .clean-count{color:var(--green);border:1px solid #637d53}
.lap-strip{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#182627;border-top:1px solid #354b3c;padding:10px 16px;font:8px var(--mono);color:#97ae9c;line-height:1.6}
#lap-status[data-clean=true]{color:var(--green)}
#lap-status[data-clean=false]{color:var(--orange)}
.clean-rules{margin-top:20px;border:1px solid #465e46;background:#19292a;padding:13px 15px}
.clean-rules summary{cursor:pointer;font:bold 11px var(--mono);color:var(--green);line-height:1.7}
.clean-rules p{font-size:11px;line-height:1.8;color:#b8c7b9;margin:12px 0 0}
@media(max-width:520px){.lap-strip{padding:8px 10px;font-size:6px}.lap-counts{gap:3px}.clean-rules{padding:11px 12px}.clean-rules summary{font-size:10px}}
/* Weekly club board */
.lap-strip{flex-wrap:wrap;gap:8px}.ranked-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;background:#162a25;color:#b7ccad;font-size:11px;line-height:1.5;border-top:1px solid #324437}.ranked-strip button{flex-shrink:0;border:1px solid #91c86b;border-radius:4px;padding:6px 9px;color:#cfefb3;background:#203929;font:inherit;cursor:pointer}
.weekly-board{margin:38px 0 12px;border:1px solid #35403b;background:#14201d;border-radius:10px;padding:28px;color:#d8e6cc}.weekly-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.weekly-heading h2{font-size:32px;letter-spacing:-1px;margin:6px 0 10px}.weekly-heading p:not(.eyebrow){color:#a3b49f;font-size:13px}.week-label{display:grid;gap:8px;text-align:right;font-size:10px;color:#a6bb9c}.week-label strong{color:#c4eaa5}.weekly-board button{border:1px solid #68795e;border-radius:5px;background:#253528;color:#d4e8c3;padding:9px 13px;cursor:pointer;font:inherit;font-size:11px}.weekly-board button:disabled{opacity:.5}.weekly-board button:hover{border-color:#a4e56e;background:#304a2d}.racer-entry{margin-top:20px;padding:18px;background:#0d1816;border:1px solid #314233;border-radius:6px}.racer-entry label{font-size:10px;letter-spacing:1px;display:block;margin-bottom:10px;color:#c4eaa5}.racer-entry form>div{display:flex;gap:10px}.racer-entry input{min-width:0;width:min(100%,310px);padding:10px 12px;background:#162722;border:1px solid #5f7255;border-radius:5px;color:#e3f0db;font:inherit;font-size:13px}.racer-entry input:focus-visible,.weekly-board button:focus-visible{outline:2px solid #b7f67d;outline-offset:3px}.racer-entry p{color:#9caf93;max-width:720px;font-size:11px;line-height:1.7;margin:10px 0 0}#racer-panel strong{display:block;color:#beef8e;font-size:22px;margin:5px 0 12px}#racer-key{display:block;width:100%;font-size:11px;margin-top:12px}.restore-racer{margin-top:14px;font-size:11px}.restore-racer summary{cursor:pointer;color:#c2d5b3}.restore-racer form{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.restore-racer label{width:100%}#board-status{font-size:11px;color:#bdd1ad;line-height:1.6;margin:16px 0}.leaderboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.leaderboard-grid article{border:1px solid #364533;border-radius:6px;overflow:hidden}.board-title{padding:18px;background:#1c2d23}.board-title>span{font-size:9px;letter-spacing:1px;color:#93b77c}.board-title h3{margin:8px 0 0;font-size:20px}.weekly-board table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:12px}.weekly-board th,.weekly-board td{padding:13px 14px;text-align:left;border-top:1px solid #30402e;overflow-wrap:anywhere}.weekly-board th{color:#8ea780;font-size:9px;letter-spacing:.6px}.weekly-board th:first-child,.weekly-board td:first-child{width:55px;color:#8da681}.weekly-board th:last-child,.weekly-board td:last-child{text-align:right;width:115px}.weekly-board .empty-board{width:auto!important;color:#9caf93!important;text-align:center!important;padding:30px 12px;font-size:11px}.your-rank{background:#2b4126;color:#d5f7b6}.weekly-rules{color:#9eb192;font-size:10px;line-height:1.8;margin:20px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:760px){.weekly-board{padding:20px 15px}.weekly-heading{flex-direction:column;gap:12px}.week-label{text-align:left}.leaderboard-grid{grid-template-columns:1fr}.racer-entry{padding:14px}.racer-entry form>div{flex-wrap:wrap}.racer-entry form>div input{flex-basis:100%}.ranked-strip{padding:10px 12px;font-size:10px;align-items:flex-start}.weekly-heading h2{font-size:27px}.weekly-board th,.weekly-board td{padding:12px 10px}}

.engine-note{font:bold 8px var(--mono);letter-spacing:.6px;color:#b7d59f;margin:6px 0 0;line-height:1.6}

/* Racer setup stays inside the playable cabinet, including fullscreen. */
.racer-entry button{border:1px solid #68795e;border-radius:5px;background:#253528;color:#d4e8c3;padding:9px 13px;cursor:pointer;font:inherit;font-size:11px}
.racer-entry button:hover{border-color:#a4e56e;background:#304a2d}
.racer-entry button:focus-visible{outline:2px solid #b7f67d;outline-offset:3px}
.racer-setup{margin:0;padding:14px 18px;border:0;border-bottom:1px solid #486241;border-radius:0;background:#14281f}
.racer-setup:focus-within{background:#1b3325;box-shadow:inset 3px 0 #a2ed62}
.racer-setup label{font:bold 10px var(--mono);margin-bottom:8px}
.racer-setup form>div{align-items:center;flex-wrap:wrap}
.racer-setup input{width:min(100%,300px)}
.racer-setup p{font:10px/1.6 var(--mono)}
.racer-setup .restore-racer{margin-top:9px;font:10px var(--mono)}
.racer-setup #racer-panel strong{display:inline-block;font:bold 17px var(--mono);margin:0 16px 0 7px}
.racer-setup #racer-panel p{margin:8px 0 0}
.racer-setup #racer-status:empty{display:none}
.ranked-actions{display:flex;gap:7px;flex-shrink:0;flex-wrap:wrap}
.overlay-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:stretch}
.overlay-actions .start-button{margin:0;gap:12px;padding:12px 15px;font-size:10px}
.set-racer-button{background:#20342b;border:1px solid #a1cf77;color:#d2f4b4;padding:11px 12px;font:bold 10px var(--mono);max-width:100%}
.cabinet:fullscreen .racer-setup{flex-shrink:0}
@media(max-width:520px){.racer-setup{padding:12px}.racer-setup form>div{gap:7px}.racer-setup input{width:100%;flex-basis:100%}.racer-setup #racer-panel strong{display:block;margin:5px 0 9px}.ranked-strip{flex-wrap:wrap}.ranked-actions{flex-shrink:1}.overlay-card{padding:18px 14px 14px}.overlay-card h2{margin:10px 0}.overlay-actions{gap:6px}.overlay-actions .start-button{font-size:9px;padding:10px 12px}.set-racer-button{font-size:9px;padding:10px}}

/* Phone play uses the same controls and score rules as the desktop game. */
.mobile-tools{display:none;background:#182e24;border-bottom:1px solid #486241;padding:12px;gap:12px;align-items:center;justify-content:space-between}
.mobile-tools p{margin:0;font:bold 11px/1.5 var(--mono);color:var(--green)}
.mobile-tools p span{display:block;color:var(--muted);font-size:10px;font-weight:normal}
.mobile-tools>div{display:flex;gap:8px}
.mobile-tools button{min-height:44px;padding:10px 12px;background:#253a2c;border:1px solid #a1cf77;font:bold 10px var(--mono)}
.mobile-tools #phone-play{background:var(--green);color:#17251b}
.phone-racer{display:none}
#drive-start{background:var(--green);color:#17221a;font-weight:bold;padding:8px 10px;min-height:44px}
.cabinet:is(.play-mode,:fullscreen) #drive-start{background:var(--green);color:#17221a;font-weight:bold}
.touch-controls button{-webkit-touch-callout:none;min-height:52px;min-width:48px}
.touch-controls{touch-action:none;overscroll-behavior:contain}
.touch-controls .steer-controls button{font-size:18px;min-width:52px}
.game-overlay{overflow:auto}
.overlay-card{max-height:100%;overflow:auto}
body.game-focused{overflow:hidden;overscroll-behavior:none}
.cabinet.play-mode,.cabinet:fullscreen{
 position:fixed;inset:0;z-index:1000;margin:0;max-width:none;width:100%;height:100vh;height:100dvh;overflow:hidden;
 padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
 padding-top:max(8px,env(safe-area-inset-top));background:#0b1516;box-shadow:none;
 display:grid;grid-template-columns:clamp(72px,11vw,120px) minmax(0,1fr) clamp(90px,14vw,145px);
 grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:'toolbar toolbar toolbar' 'steer score pedals' 'steer track pedals' 'steer combo pedals';gap:6px;
}
.cabinet:is(.play-mode,:fullscreen)>div{width:100%;min-width:0}
.cabinet:is(.play-mode,:fullscreen) :is(.cabinet-top,.mobile-tools,.racer-setup,.lap-strip,.ranked-strip,.controls-legend){display:none}
.cabinet:is(.play-mode,:fullscreen) .cabinet-controls{grid-area:toolbar;padding:0;border:0;background:transparent;gap:6px}
.cabinet:is(.play-mode,:fullscreen) .cabinet-controls>div{gap:5px}
.cabinet:is(.play-mode,:fullscreen) .cabinet-controls button{min-height:44px;padding:6px 8px;font-size:10px;border:1px solid #526c4e;background:#20302a}
.cabinet:is(.play-mode,:fullscreen) .cabinet-controls kbd{display:none}
.cabinet:is(.play-mode,:fullscreen) .session-toggle button[aria-pressed=true]{background:var(--green);color:#17221a;font-weight:bold}
.cabinet:is(.play-mode,:fullscreen) .phone-racer{display:block}
.cabinet:is(.play-mode,:fullscreen) .scoreboard{grid-area:score;padding:5px 9px;gap:8px}
.cabinet:is(.play-mode,:fullscreen) .scoreboard>div>span{font-size:7px;margin-bottom:2px}
.cabinet:is(.play-mode,:fullscreen) .scoreboard strong{font-size:23px}
.cabinet:is(.play-mode,:fullscreen) .screen{grid-area:track;width:100%;height:100%;min-height:0;align-self:stretch}
.cabinet:is(.play-mode,:fullscreen) #track{width:100%;height:100%;max-height:none;object-fit:contain}
.cabinet:is(.play-mode,:fullscreen) .combo-strip{grid-area:combo;padding:5px 8px;font-size:8px;gap:8px}
.cabinet:is(.play-mode,:fullscreen) .combo-strip>span:first-child{min-width:0;max-width:none}
.cabinet:is(.play-mode,:fullscreen) .touch-controls{display:contents}
.cabinet:is(.play-mode,:fullscreen) .steer-controls{grid-area:steer}
.cabinet:is(.play-mode,:fullscreen) .pedal-controls{grid-area:pedals}
.cabinet:is(.play-mode,:fullscreen) .touch-controls>div{display:grid;gap:10px;align-self:center;min-width:0}
.cabinet:is(.play-mode,:fullscreen) .touch-controls button{width:100%;min-width:0;min-height:60px;font-size:11px;padding:8px 4px}
.cabinet:is(.play-mode,:fullscreen) .steer-controls button{font-size:26px}
.cabinet:is(.play-mode,:fullscreen) .touch-controls .gas{order:-1;font-size:15px}
.cabinet:is(.play-mode,:fullscreen) .touch-controls .handbrake{font-size:9px;min-height:48px}
.cabinet:is(.play-mode,:fullscreen) .icon-button{min-height:44px;font-size:9px}
.cabinet:is(.play-mode,:fullscreen) .pixel-tag{display:none}
.cabinet:is(.play-mode,:fullscreen) .overlay-card{padding:10px 12px;max-width:96%}
.cabinet:is(.play-mode,:fullscreen) .overlay-card h2{font-size:24px;margin:5px 0}
.cabinet:is(.play-mode,:fullscreen) .overlay-card>p:not(.eyebrow){font-size:10px;line-height:1.4;margin:6px 0}
.cabinet:is(.play-mode,:fullscreen) .overlay-card :is(.eyebrow,.overlay-tip){display:none}
.cabinet:is(.play-mode,:fullscreen) .overlay-actions button{min-height:44px}
@media(max-width:850px),(any-pointer:coarse){
 .mobile-tools{display:flex;flex-wrap:wrap}
 .page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .cabinet-controls button,.ranked-actions button,.garage button,.racer-entry button{min-height:44px}
 .racer-entry input{font-size:16px;min-height:44px}
 .paint-options button{width:44px;height:44px;flex-shrink:0}
 .paint-options{flex-wrap:wrap;justify-content:start}
 .wheel-options button{font-size:10px}
 .livery-options button{font-size:10px}
 .ranked-strip{overflow-wrap:anywhere}
 .controls-legend{display:none}
 .icon-button{min-height:44px;font-size:9px}
}
@media(max-width:520px){
 .mobile-tools{display:grid;grid-template-columns:1fr}
 .mobile-tools>div button{flex:1}
 .touch-controls{padding:9px 7px;gap:6px}
 .touch-controls>div{gap:5px}
 .touch-controls button{font-size:10px;padding:6px;min-width:44px}
 .touch-controls .steer-controls button{min-width:44px;font-size:17px}
 .touch-controls .handbrake{font-size:7px}
 .overlay-card{max-width:96%;padding:10px 12px}
 .overlay-card .eyebrow,.overlay-card .overlay-tip{display:none}
 .overlay-card h2{font-size:22px;margin:5px 0}
 .overlay-card>p:not(.eyebrow){font-size:10px;line-height:1.4;margin:6px 0}
 .overlay-actions button{min-height:44px}
 .scoreboard strong{font-size:20px}
 .weekly-board{padding:18px 12px}
 .weekly-board th:last-child,.weekly-board td:last-child{width:90px}
}
@media(orientation:portrait){
 .cabinet.play-mode,.cabinet:fullscreen{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:'toolbar' 'score' 'track' 'combo' 'touch'}
 .cabinet:is(.play-mode,:fullscreen) .cabinet-controls{justify-content:center}
 .cabinet:is(.play-mode,:fullscreen) .cabinet-controls>div{justify-content:center;flex:1}
 .cabinet:is(.play-mode,:fullscreen) .cabinet-controls button{font-size:9px;padding:6px}
 .cabinet:is(.play-mode,:fullscreen) .touch-controls{grid-area:touch;display:flex;gap:8px;padding:8px 0;border:0}
 .cabinet:is(.play-mode,:fullscreen) .touch-controls>div{display:flex;gap:6px;flex:1}
 .cabinet:is(.play-mode,:fullscreen) .touch-controls button{min-width:44px;min-height:60px;font-size:10px}
 .cabinet:is(.play-mode,:fullscreen) .steer-controls button{font-size:24px}
 .cabinet:is(.play-mode,:fullscreen) .touch-controls .gas{font-size:12px}
 .cabinet:is(.play-mode,:fullscreen) .touch-controls .handbrake{font-size:7px}
}
@media(min-width:1200px) and (pointer:fine) and (hover:hover){
 .cabinet.play-mode,.cabinet:fullscreen{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:'toolbar' 'score' 'track' 'combo'}
 .cabinet:is(.play-mode,:fullscreen) .touch-controls{display:none}
}
