:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#f9f4e7;background:#15383f}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.masthead{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;font-size:13px;letter-spacing:.06em}.masthead a:first-child{font-size:22px;font-weight:800;letter-spacing:-1px}.masthead span{font-size:12px;letter-spacing:.2em;color:#94b6b8}main{position:relative;aspect-ratio:3/2;width:min(1250px,100%);margin:auto;overflow:hidden;background:#9bd7df;touch-action:none;user-select:none;-webkit-user-select:none}canvas{display:block;width:100%;height:100%;outline:none}.film{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #132f3f30}.hud{position:absolute;top:24px;left:28px;right:28px;display:flex;justify-content:space-between;pointer-events:none;text-shadow:0 2px 12px #16363f}.track{display:flex;flex-direction:column;gap:7px}.track small{letter-spacing:.2em;font-size:12px}.track strong{font-size:19px;letter-spacing:.05em}.clock{text-align:right}.clock span{font-size:30px;display:block;font-variant-numeric:tabular-nums}.clock small{font-size:12px;letter-spacing:.16em}.distance{position:absolute;top:0;left:0;right:0;height:4px;background:#ffffff40}.distance i{display:block;height:100%;background:#ffd996;width:0}.speed{position:absolute;right:30px;bottom:127px;display:flex;align-items:baseline;gap:8px;text-shadow:0 3px 15px #173341}.speed strong{font-size:56px;font-weight:400;letter-spacing:-3px}.speed small{font-size:12px;letter-spacing:.1em}.driftbar{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);width:24%;text-align:center}.driftbar small{font-size:11px;letter-spacing:.07em;text-shadow:0 1px 5px #123}.driftbar>div{height:6px;background:#163a4380;margin-top:8px;border-radius:9px;overflow:hidden}.driftbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#72e7fa,#ffcd7d)}.utilities{position:absolute;top:110px;left:24px;display:flex;gap:4px}.utilities button{border:0;border-radius:5px;background:#193e4655;color:white;padding:8px;font-size:11px}.controls{position:absolute;bottom:22px;left:22px;right:22px;display:flex;justify-content:space-between;pointer-events:none}.controls>div{display:flex;gap:9px;align-items:flex-end}.controls button{pointer-events:auto;touch-action:none;color:#fff9ed;border:1px solid #ffffff70;background:#173e467a;backdrop-filter:blur(8px);width:68px;height:68px;border-radius:24px;font-size:14px;font-weight:700}.controls>div:first-child button{font-size:29px}.controls .gas{height:87px;width:76px;background:#ef7956;border:1px solid #ffd0a5;color:#fff}.controls .drift{background:#ebc681d9;color:#173e46}.controls .held{transform:translateY(3px);background:#fff!important;color:#173e46!important}.overlay{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,#11373ee8,#11373e5c 45%,transparent 70%);padding:6%}.intro{max-width:45%}.intro>small,.result-card>small{font-size:12px;letter-spacing:.22em;color:#e9cf9f}.intro h1{font-family:Georgia,serif;font-size:clamp(48px,7.7vw,105px);font-weight:400;line-height:.92;letter-spacing:-4px;margin:23px 0}.intro em{color:#f6cc92;font-weight:400}.intro p{font-size:16px;line-height:1.55;color:#d5e4df;margin-bottom:22px}.intro label{font-size:14px;display:flex;align-items:center;gap:8px;margin-bottom:18px}.intro input{width:18px;height:18px;accent-color:#f08461}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:320px;background:#ef7956;border:0;color:#fff8e8;font-size:15px;font-weight:700;letter-spacing:.05em;padding:19px 22px;border-radius:4px}.intro .instructions{font-size:12px;line-height:1.6;margin-top:20px}.edition{font-size:10px;letter-spacing:.16em;color:#a6c6c4}#count{position:absolute;top:40%;left:0;right:0;text-align:center;font-size:110px;font-style:italic;text-shadow:0 5px 20px #133e4a}.result-card{margin:auto;background:#173e46ef;border:1px solid #799799;padding:35px;text-align:center;border-radius:10px}.result-card h2{font:54px Georgia,serif;margin:18px}.result-card>strong{font-size:40px}.result-card p{font-size:14px;color:#cee2da}.result-card .primary{margin:auto}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#173e46;z-index:20;padding:24px;text-align:center}#loading strong{font:32px Georgia,serif;color:#f3ca92}#loading p{font-size:14px;max-width:80%;overflow-wrap:anywhere}#retry{padding:12px 24px;border:0;border-radius:6px}footer{text-align:center;padding:16px;font-size:12px;color:#9dbcb9}[hidden]{display:none!important}.boosting .film{box-shadow:inset 0 0 70px #83e5ff66}
@media(max-width:760px),(max-height:550px){.masthead{height:40px;padding:0 12px}.masthead a:first-child{font-size:16px}.masthead span{display:none}.masthead a:last-child{font-size:11px}main{width:min(100vw,calc((100svh - 40px)*1.5));aspect-ratio:3/2}.hud{top:13px;left:14px;right:14px}.track small,.clock small{font-size:10px}.track strong{font-size:13px}.clock span{font-size:21px}.utilities{top:71px;left:10px}.utilities button{padding:5px;font-size:10px}.controls{bottom:12px;left:12px;right:12px}.controls button{width:49px;height:49px;border-radius:17px;font-size:10px}.controls .gas{width:55px;height:65px}.controls>div{gap:5px}.speed{bottom:83px;right:18px}.speed strong{font-size:35px}.driftbar{bottom:15px;width:22%}.driftbar small{font-size:8px}.intro{max-width:48%}.intro h1{font-size:clamp(32px,8vw,65px);margin:12px 0;letter-spacing:-2px}.intro>small{font-size:9px}.intro p{font-size:12px;line-height:1.3;margin-bottom:12px}.intro label{font-size:12px;margin-bottom:10px}.primary{font-size:12px;padding:12px}.intro .instructions{font-size:10px;margin-top:10px}.edition{font-size:8px}footer{font-size:10px}.result-card{padding:15px}.result-card h2{font-size:36px}}
@media(max-height:550px){.intro h1{font-size:44px;line-height:.88;margin:9px 0}.intro>p:not(.instructions){display:none}.intro .instructions{font-size:10px;margin:8px 0}.overlay{padding:4%}.intro{max-width:49%}.intro label{margin-bottom:8px}.edition{display:none}}
@media(max-width:480px) and (orientation:portrait){.intro h1{font-size:30px;margin:8px 0}.intro>p:not(.instructions),.intro .instructions,.edition{display:none}.intro>small{font-size:8px}.intro{max-width:60%}.overlay{padding:5%}.intro label{font-size:11px}.controls button{width:40px;height:40px;font-size:9px}.controls .gas{width:43px;height:48px}.controls{left:8px;right:8px;bottom:8px}.speed{bottom:60px}.utilities{top:58px}.driftbar{display:none}}
.race-hud{position:absolute;left:4%;top:15%;display:flex;align-items:center;gap:12px;pointer-events:none;color:#fff8dd;text-shadow:0 2px 5px #183b42}.race-hud strong{font-size:clamp(24px,4vw,44px);font-style:italic}.race-hud span{font-size:12px;font-weight:800;background:#183b42c9;padding:7px 10px;border-radius:6px}#classification{white-space:pre-line;text-align:left;font:700 14px/1.6 system-ui;margin:10px auto;max-width:260px}#result .result-card{max-height:95%;overflow:auto}#result h2{font-size:clamp(22px,4vw,42px);margin:8px 0}#result #finishTime{font-size:clamp(26px,4vw,44px)}@media(max-width:600px){.race-hud{top:17%;gap:6px}.race-hud span{font-size:10px;padding:5px}#classification{font-size:12px;line-height:1.4;margin:6px auto}#result .result-card{padding:14px 22px}#result #finishStats{margin:5px 0}}
.utilities{top:auto;bottom:112px}.item-slot{position:absolute;right:3%;top:23%;display:flex;align-items:flex-end;flex-direction:column;gap:7px;max-width:180px}.item-slot button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100px;height:78px;border:2px solid #ffe0a7;border-radius:15px;background:#173e46eb;color:#fff2cd;box-shadow:0 5px 16px #102d4455;touch-action:manipulation}.item-slot button:disabled{opacity:.55;cursor:default}.item-slot button:not(:disabled){background:#ee7856;color:white}.item-slot strong{font-size:18px;letter-spacing:.04em}.item-slot small{font-size:12px}.item-slot>span{font-size:13px;text-align:right;text-shadow:0 2px 4px #102d44;background:#163a4380;padding:4px 6px;border-radius:4px}#itemNotice{position:absolute;top:40%;left:15%;right:15%;text-align:center;color:#fff4ce;font-size:clamp(18px,3vw,32px);font-weight:800;text-shadow:0 3px 8px #102d44;pointer-events:none}.star-power .film{box-shadow:inset 0 0 65px #ffe09677}.item-hit .film{box-shadow:inset 0 0 65px #ff705a88}@media(max-width:760px),(max-height:550px){.utilities{top:auto;bottom:91px}.item-slot{top:28%;max-width:130px;gap:3px}.item-slot button{width:76px;height:57px;border-radius:11px}.item-slot strong{font-size:14px}.item-slot small{font-size:12px}.item-slot>span{font-size:12px}}@media(max-width:480px) and (orientation:portrait){.utilities{bottom:60px}.item-slot{top:31%;right:3%}.item-slot button{width:65px;height:47px;gap:2px}.item-slot>span{display:none}}
.in-garage .hud,.in-garage .race-hud,.in-garage .utilities,.in-garage .controls,.in-garage .item-slot,.in-garage .speed,.in-garage .driftbar{visibility:hidden}#menu .intro{max-width:39%}#menu .intro h1{font-size:clamp(38px,6.5vw,82px)}.garage-panel{position:absolute;right:4%;bottom:6%;width:30%;max-height:88%;overflow:auto;padding:20px;background:#173e46ee;border:1px solid #94b6b877;border-radius:12px;box-shadow:0 12px 40px #16363f33}.garage-panel h2{font:28px Georgia,serif;color:#f6cc92;margin:0 0 15px}.garage-panel>label:not(.wing-option){display:block;margin:12px 0 5px;font-size:12px;letter-spacing:.1em;color:#d3ded6}.garage-panel select{font:14px Arial,sans-serif;min-height:40px;width:100%;background:#234e56;color:#fff5df;border:1px solid #88aaa6;border-radius:6px;padding:7px}.garage-panel .wing-option{display:flex;align-items:center;gap:7px;margin:15px 0;font-size:14px}.garage-panel input{width:18px;height:18px;accent-color:#ef7956}.garage-panel>small{display:block;font-size:12px;line-height:1.4;color:#b9d3cf}.back-garage{margin-top:10px;background:transparent;border:1px solid #94b6b8;color:#fff4da;padding:10px 16px;border-radius:5px;font-size:12px}@media(max-width:760px),(max-height:550px){#menu .intro{max-width:43%}#menu .intro h1{font-size:clamp(28px,5vw,46px);letter-spacing:-1px}.garage-panel{width:40%;right:4%;bottom:5%;padding:12px;max-height:90%}.garage-panel h2{font-size:21px;margin-bottom:8px}.garage-panel>label:not(.wing-option){margin:6px 0 3px;font-size:12px}.garage-panel select{min-height:32px;padding:4px;font-size:14px}.garage-panel .wing-option{margin:8px 0;font-size:12px}.garage-panel>small{font-size:12px;line-height:1.25}.utilities button{padding:5px}}@media(max-width:480px) and (orientation:portrait){.garage-panel{padding:8px;max-height:92%;bottom:4%;width:44%;right:3%}.garage-panel h2,.garage-panel>small{display:none}.garage-panel>label:not(.wing-option){font-size:12px;margin:3px 0}.garage-panel select{min-height:28px;font-size:12px}.garage-panel .wing-option{margin:5px 0;font-size:12px}#menu .intro h1{font-size:28px}#menu .intro{max-width:44%}}
#lapLabel{display:block;color:#ffda91;font-size:16px;letter-spacing:.08em;margin-bottom:4px}#screenHint{display:none;position:absolute;top:8px;left:10%;right:10%;text-align:center;font-size:14px;color:#fff8dd;z-index:5;pointer-events:none}.game-expanded{overflow:hidden}.game-expanded .masthead,.game-expanded footer{display:none}.game-expanded #frame,#frame:fullscreen{position:fixed;inset:0;width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;aspect-ratio:auto;margin:0;z-index:10}.game-expanded .hud,#frame:fullscreen .hud{top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}#menuFullscreen{display:block;margin:12px 0}.edition{display:block;margin-top:12px}
@media(pointer:coarse){.controls{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:10px}.controls button{width:68px;height:68px;border-radius:22px;font-size:14px}.controls .gas{width:78px;height:88px;font-size:17px}.controls>div:first-child button{font-size:34px}.controls>div{gap:8px}.driftbar{bottom:max(18px,env(safe-area-inset-bottom));width:20%}.driftbar small{font-size:12px}.speed{bottom:114px;right:max(20px,env(safe-area-inset-right))}.speed strong{font-size:44px}.utilities{left:max(16px,env(safe-area-inset-left));bottom:112px;max-width:64%;flex-wrap:wrap;gap:5px}.utilities button{font-size:12px;min-height:36px;padding:8px}.item-slot{right:max(20px,env(safe-area-inset-right));top:27%}.item-slot button{width:90px;height:70px}.item-slot strong{font-size:17px}.track strong{font-size:15px}.race-hud{left:max(16px,env(safe-area-inset-left));top:20%}.race-hud span{font-size:12px}.clock span{font-size:25px}.hud .track small{font-size:12px}.garage-panel select{min-height:40px;font-size:16px}.garage-panel label{font-size:14px!important}}
@media(pointer:coarse) and (orientation:landscape){html,body{height:100%;overflow:hidden}.masthead,footer{display:none}#frame{position:fixed;inset:0;width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;aspect-ratio:auto;margin:0}.hud{top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}#menu{padding:3% max(4%,env(safe-area-inset-left))}#menu .intro h1{font-size:44px;line-height:.95}#menu .intro .instructions{font-size:12px}#menu .intro label{font-size:14px}.garage-panel{right:max(3%,env(safe-area-inset-right));width:34%;padding:12px;bottom:4%;max-height:92%}.garage-panel h2{font-size:23px;margin-bottom:5px}.garage-panel>small{display:none}.garage-panel .wing-option{margin:8px 0}#menuFullscreen{margin:8px 0;padding:8px 12px}.item-slot>span{max-width:150px}.edition{display:none}}
@media(pointer:coarse) and (orientation:portrait){#frame{width:100%;height:calc(100svh - 40px);aspect-ratio:auto;min-height:520px}#screenHint{display:block}#menu{align-items:flex-start;padding:45px 6% 0}#menu .intro{max-width:100%;width:100%}#menu .intro h1{font-size:36px;margin:8px 0}#menu .intro h1 br{display:none}#menu .intro .instructions,#menu .intro>p{display:none}#menu .intro>small{font-size:12px}.garage-panel{width:88%;right:6%;bottom:5%;max-height:48%;padding:12px}.garage-panel h2{display:none}.garage-panel select{min-height:38px;font-size:16px}.garage-panel .wing-option{font-size:14px}.garage-panel>small{display:block}#menuFullscreen{position:absolute;top:120px;right:6%;font-size:12px}.race-hud span{display:none}.race-hud{top:17%}.item-slot{top:29%}.controls button{width:54px;height:62px;font-size:12px}.controls .gas{width:60px;height:78px}.controls>div{gap:5px}.controls{left:10px;right:10px}.utilities{max-width:80%;bottom:115px}.driftbar{display:none}.speed{bottom:167px}.hud{top:37px}.game-expanded #frame{min-height:0}}
#viewDriver{display:inline-block;margin-right:6px}#menuFullscreen{display:inline-block}.intro .instructions{margin-bottom:8px}@media(pointer:coarse) and (orientation:landscape){#viewDriver,#menuFullscreen{font-size:12px;padding:7px 10px;margin-top:4px}.intro .instructions{margin-bottom:3px}}@media(pointer:coarse) and (orientation:portrait){#viewDriver{margin-top:8px;padding:8px 10px}}
.film{box-shadow:inset 0 0 75px #164c7414}.primary,.controls .gas{background:#fa7158}.intro em,.garage-panel h2{color:#ffe187}.garage-panel{border-color:#8ddddc99;background:#123d59ed}.garage-panel select{background:#20546b;border-color:#72babb}.garage-panel{touch-action:pan-y;overscroll-behavior:contain}
