/* Presentation layers surround the live kart instead of replacing it with a panel. */
body[data-game-state="BOOT"] .modal{display:none}
body:not([data-game-state="COUNTDOWN"]):not([data-game-state="RACING"]):not([data-game-state="FINAL_LAP"]):not([data-game-state="FREE_DRIVE"]) :is(.topbar,.speed,.status,.touch,.arcade-hud,.race-hud,.minimap,.play-control,.race-notice){visibility:hidden}
#flow-ui{position:fixed;inset:0;pointer-events:none;z-index:8;color:#fff7e8;font-family:Arial,Helvetica,sans-serif}
.flow-screen{position:absolute;inset:0;overflow:auto;pointer-events:none}.flow-screen[hidden]{display:none}.flow-screen button,.flow-screen input,.flow-screen a{pointer-events:auto}.flow-screen button{font:inherit;cursor:pointer}.flow-screen button:focus-visible,.flow-screen input:focus-visible{outline:3px solid #fff3c4;outline-offset:4px}
.screen-enter .flow-screen:not([hidden]){animation:screen-arrive .32s ease-out both}@keyframes screen-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.flow-kicker{font-size:10px;letter-spacing:2px;font-weight:800;color:#ffd6a1;line-height:1.6}.flow-primary{border:0;color:#17222c;background:linear-gradient(110deg,#ffce70,#ff9d28 65%,#f27722);box-shadow:0 7px 0 #9b451b,0 14px 28px #0004;border-radius:30px 12px 32px 12px;padding:19px 28px;font-weight:900!important;letter-spacing:1.2px;font-style:italic!important;transition:transform .16s,filter .16s;display:flex;justify-content:space-between;gap:30px;align-items:center}.flow-primary:hover{transform:translateY(-3px);filter:brightness(1.08)}.flow-primary:active{transform:translateY(3px);box-shadow:0 3px 0 #9b451b}.flow-primary span{font-size:25px;line-height:1}.flow-ghost,.flow-secondary{border:1px solid #e2daca66;background:#1e3345bb;color:#fff3dc;border-radius:22px 8px 22px 8px;padding:14px 19px;font-size:12px!important;font-weight:800!important;letter-spacing:.7px}.flow-ghost:hover,.flow-secondary:hover{background:#355367}.flow-link{border:0;background:none;color:#e4d9c8;font-size:11px!important;letter-spacing:.6px;text-decoration:underline;text-underline-offset:5px;padding:12px 0}.flow-back{background:#122638b8;border:1px solid #dce5e333;color:#fff2db;border-radius:24px;padding:10px 17px;font-size:10px!important;font-weight:800!important;letter-spacing:1px}
.intro-screen{background:linear-gradient(90deg,#102538ed 0%,#102538c9 26%,#10253830 58%,transparent 80%)}.intro-copy{position:absolute;left:7vw;top:15%;width:46%;max-width:580px}.game-logo{font-weight:950;font-size:clamp(58px,6.6vw,98px);font-style:italic;line-height:.88;letter-spacing:-5px;margin:27px 0 30px;text-shadow:0 5px 0 #142636,0 12px 28px #0004;transform:rotate(-3deg);overflow:visible}.game-logo span{display:block;color:#ff9e32;margin-left:24px}.game-logo small{font-size:18px;letter-spacing:9px;display:block;margin-top:17px;margin-left:30px;color:#fff2d8}.intro-slogan{font-size:23px;line-height:1.35;font-weight:500;color:#dbe2df;margin:0 0 28px}.intro-slogan b{color:#fff3d5}.intro-buttons{display:flex;gap:13px;align-items:center}.intro-buttons .flow-primary{min-width:215px;font-size:23px}.intro-buttons .flow-ghost{padding:18px}.intro-meta{display:flex;align-items:baseline;gap:7px;font-size:9px;letter-spacing:1px;margin-top:20px;color:#d8ddd9}.intro-meta b{font-size:18px;color:#fff}.intro-meta i{width:1px;height:12px;background:#fff5;margin:0 7px}.intro-stamp{position:absolute;right:5%;bottom:7%;transform:rotate(-7deg);font-size:10px;letter-spacing:3px;text-align:right;color:#fff1d2;text-shadow:0 2px 6px #0008}.intro-stamp strong{display:block;font-size:42px;font-style:italic;letter-spacing:-1px}.intro-stamp span{display:block;font-size:8px;border-top:2px solid #f99c32;padding-top:7px}
.garage-screen{background:linear-gradient(90deg,#102639f2 0%,#102639d1 23%,#10263918 52%,transparent 75%)}.garage-screen>.flow-back{position:absolute;top:24px;left:34px}.garage-title{position:absolute;left:5%;top:80px}.garage-title h2{font-size:50px;line-height:.92;font-weight:900;font-style:italic;margin:12px 0;letter-spacing:-2px}.garage-title h2 em{color:#ffbb5d}.garage-controls{position:absolute;left:5%;top:238px;width:290px;pointer-events:auto}.garage-controls input{font:inherit;color:#fff6e5;background:#0b1d2dba;border:1px solid #b7c8ca70;border-radius:13px 7px 18px 7px;padding:12px 15px;font-weight:800;letter-spacing:1px;max-width:100%}.garage-controls #driver-name{display:block;width:100%;font-size:18px}.field-label,.garage-controls legend{display:block;font-size:10px;font-weight:800;letter-spacing:1.2px;margin-bottom:7px}.garage-controls fieldset{border:0;margin:16px 0;padding:0}.garage-controls legend span{font-weight:400;color:#ffc57b;letter-spacing:0;text-transform:uppercase;font-size:9px}.pilot-options{display:flex;gap:10px}.pilot-options button{flex:1;padding:11px;border:1px solid #b5c5c66b;border-radius:20px 7px 20px 7px;background:#172d3ddd;color:#dce6df;font-size:12px;font-weight:800}.pilot-options button[aria-pressed="true"]{color:#14293b;background:#ffd089;border-color:#ffd089;box-shadow:0 4px 12px #0003}.color-options{display:flex;gap:9px}.color-options button{background:var(--paint);width:30px;height:30px;border:3px solid #ffffff45;border-radius:50%;box-shadow:0 4px 7px #0005;transition:transform .15s}.color-options button[aria-pressed="true"]{outline:2px solid #fff8d9;outline-offset:3px;transform:translateY(-2px)}.number-choice{display:flex;justify-content:space-between;align-items:center;margin:19px 0}.number-choice label{font-size:11px;font-weight:800;letter-spacing:1px}.number-choice label small{display:block;font-size:8px;letter-spacing:.5px;font-weight:400;color:#b8c6c7;margin-top:5px}.number-choice input{width:88px;font-size:24px;font-style:italic;text-align:center;padding:8px}.garage-controls .flow-primary{width:100%;font-size:20px;padding:15px 23px}.profile-help{font-size:9px;line-height:1.7;color:#bfd0d3;margin-top:16px}.preview-caption{position:absolute;left:60%;bottom:10%;transform:rotate(-3deg);border-bottom:3px solid #ffab3a;min-width:240px;text-align:right;pointer-events:none;text-shadow:0 2px 6px #0008}.preview-caption span{font-size:22px;font-weight:900;font-style:italic}.preview-caption b{display:inline-block;font-size:52px;font-style:italic;margin-left:15px;color:#ffcb72}.preview-caption small{display:block;font-size:8px;letter-spacing:1px;padding-bottom:9px;color:#e4ddd0}
#race-transition{position:absolute;inset:0;background:linear-gradient(120deg,#132738,#1b3c51);clip-path:polygon(-30% 0,0 0,-30% 100%,-60% 100%);transition:clip-path .24s ease-in-out;display:grid;place-items:center;pointer-events:none}#race-transition.active{clip-path:polygon(0 0,130% 0,100% 100%,-30% 100%);pointer-events:auto}#race-transition>div{transform:rotate(-4deg);text-align:center}#race-transition small{display:block;font-size:10px;letter-spacing:3px;color:#ffc271}#race-transition strong{display:block;font-size:52px;font-weight:900;font-style:italic;margin:16px}#race-transition span{font-size:12px;letter-spacing:4px}
.finish-screen{background:linear-gradient(180deg,#13253477,transparent 60%)}.finish-badge{position:absolute;top:14%;left:50%;transform:translateX(-50%) rotate(-5deg);text-align:center;text-shadow:0 4px 0 #20374a,0 8px 24px #0005;min-width:310px}.finish-badge small{display:block;font-size:11px;font-weight:800;letter-spacing:4px;color:#ffe1ae}.finish-badge>b{display:block;font-size:116px;line-height:1;font-style:italic;color:#ffbd53}.finish-badge h2{font-size:36px;font-style:italic;font-weight:900;margin:4px 0}.finish-badge p{font-size:16px;font-weight:800;letter-spacing:2px;margin:12px}
.result-screen{background:linear-gradient(270deg,#112638df,#11263866 50%,transparent)}.flow-result-card{position:absolute;right:7%;top:50%;transform:translateY(-50%);width:360px;border-radius:42px 13px 45px 14px;background:linear-gradient(135deg,#1b3447f5,#102334f5);box-shadow:0 16px 60px #0004;padding:28px 30px;border-top:3px solid #ffbe64}.flow-result-card h2{font-size:35px;font-style:italic;margin:12px 0 5px;font-weight:900;overflow-wrap:anywhere;line-height:1.05}.result-position{font-size:10px;letter-spacing:1.4px;color:#e0d4bd}.finish-time{margin:22px -44px 18px;padding:13px 42px;background:linear-gradient(100deg,#ffa22f,#ffd58a);transform:rotate(-3deg);border-radius:14px 8px 26px 7px;color:#142536;box-shadow:0 7px 0 #8d4618}.finish-time small{font-size:9px;font-weight:800;letter-spacing:2px;display:block}.finish-time strong{font-size:43px;font-style:italic;letter-spacing:-1px;font-variant-numeric:tabular-nums}.finish-best{display:flex;justify-content:space-between;font-size:10px;gap:8px;border-bottom:1px solid #fff3;padding-bottom:12px}.finish-best b{font-size:13px;font-variant-numeric:tabular-nums}#result-laps-list{list-style:none;padding:0;margin:13px 0}#result-laps-list li{display:flex;justify-content:space-between;font-size:10px;line-height:2;color:#b9c9cd}#result-laps-list b{font-variant-numeric:tabular-nums;color:#f6ead5}#result-save-status{font-size:9px;color:#b8dabd;line-height:1.5;min-height:27px}.flow-result-card .flow-primary{width:100%;font-size:13px;padding:15px 18px}.result-links{display:flex;gap:8px;margin-top:17px}.result-links button{flex:1;padding:11px 5px;font-size:9px!important}.flow-result-card>.flow-link{display:block;margin:8px auto 0}.result-medal{position:absolute;left:22%;top:13%;transform:rotate(-8deg);text-align:center;text-shadow:0 5px 0 #142738,0 9px 20px #0005}.result-medal span{display:block;font-size:11px;letter-spacing:5px}.result-medal>b{display:block;font-size:110px;font-weight:900;font-style:italic;color:#ffc367;line-height:1.1}.result-medal small{font-size:9px;letter-spacing:3px}
.ranking-screen{background:linear-gradient(110deg,#102438ed,#1b3447b8);pointer-events:auto}.ranking-shell{max-width:630px;margin:35px auto;padding:22px 32px;background:#142b3ec9;border-radius:40px 12px 40px 12px;border-top:3px solid #ffb54e;box-shadow:0 12px 60px #0003}.ranking-shell>.flow-back{margin-bottom:18px}.ranking-shell h2{font-size:38px;line-height:1;font-style:italic;margin:8px 0 12px;font-weight:900}.ranking-shell h2 em{display:block;color:#ffc571}.ranking-scope{font-size:9px;letter-spacing:2px;color:#c3d0cf}.leaderboard{list-style:none;padding:0;margin:20px 0}.leaderboard li{display:flex;align-items:center;gap:14px;padding:12px 8px;border-bottom:1px solid #dce9e322}.leaderboard li:first-child{background:linear-gradient(90deg,#f9ad3f26,transparent);border-radius:20px 4px 20px 4px}.leaderboard li>b{color:#ffbe68;font-size:22px;font-style:italic;min-width:29px}.leaderboard li>span{font-size:14px;font-weight:800;flex:1;overflow-wrap:anywhere}.leaderboard small{display:block;font-size:8px;font-weight:400;letter-spacing:1px;color:#b9c8c9;margin-top:4px}.leaderboard li>strong{font-size:20px;font-style:italic;font-variant-numeric:tabular-nums;color:#fff0d2;white-space:nowrap}.ranking-empty{font-size:13px;line-height:1.6;color:#cfdbd8;padding:15px 0}.history-list li>span{font-size:12px;font-weight:400}
body[data-game-state="CUSTOMIZATION"] #scene{touch-action:none}#audio-controls{z-index:30!important}body:is([data-game-state="MENU"],[data-game-state="CUSTOMIZATION"],[data-game-state="RESULTS"],[data-game-state="RANKING"],[data-game-state="HISTORY"]) #audio-controls{bottom:20px!important;left:auto!important;right:22px!important}
.modal .controls,.modal .card>small{display:none}.modal .card{border-radius:30px 10px 30px 10px}.modal h1{font-size:36px}.modal .card .secondary{border-radius:18px 6px 18px 6px}
@media(max-width:700px){
 .intro-screen{background:linear-gradient(180deg,#102639e8,#10263975 48%,#10263905 75%,#10263966)}.intro-copy{left:7%;top:5%;width:86%}.intro-copy .flow-kicker{font-size:8px;letter-spacing:1px;max-width:290px}.game-logo{font-size:65px;margin:18px 0 22px;letter-spacing:-4px}.game-logo small{font-size:12px;letter-spacing:7px;margin-left:22px}.intro-slogan{font-size:17px;margin-bottom:20px}.intro-buttons{gap:10px}.intro-buttons .flow-primary{min-width:184px;font-size:20px;padding:16px 21px}.intro-buttons .flow-ghost{padding:15px;font-size:10px!important}.intro-meta{margin-top:9px;font-size:8px}.intro-meta b{font-size:15px}.intro-stamp{bottom:8%;right:7%}.intro-stamp strong{font-size:28px}.intro-stamp{font-size:8px}.intro-copy>.flow-link{font-size:9px!important}
 .garage-screen{background:linear-gradient(180deg,#14283c75,transparent 34%,#102638d9 51%,#102638f5 80%)}.garage-screen>.flow-back{top:16px;left:18px;font-size:9px!important;padding:8px 12px}.garage-title{left:auto;right:18px;top:14px;text-align:right}.garage-title .flow-kicker{font-size:7px;letter-spacing:1px;margin:0}.garage-title h2{font-size:28px;letter-spacing:-1px;margin:5px 0}.garage-title h2 br{display:none}.garage-title h2 em{display:block}.garage-controls{left:7%;top:auto;bottom:28px;width:86%;display:grid;grid-template-columns:1fr 100px;column-gap:14px}.garage-controls>.field-label{grid-column:1;align-self:end}.garage-controls #driver-name{grid-column:1;padding:9px 12px;font-size:16px}.garage-controls fieldset{grid-column:1 / -1;margin:12px 0 0}.garage-controls fieldset:first-of-type{margin-top:13px}.garage-controls .number-choice{grid-column:2;grid-row:1 / 3;display:block;margin:0}.number-choice label{font-size:9px}.number-choice label small{display:none}.number-choice input{width:100%;font-size:22px;margin-top:6px;padding:7px}.pilot-options button{padding:9px}.color-options{gap:11px;justify-content:space-between;max-width:310px}.color-options button{width:30px;height:30px}.garage-controls .flow-primary{grid-column:1 / -1;margin-top:17px;font-size:17px;padding:13px 21px}.profile-help{grid-column:1 / -1;font-size:8px;margin:14px 0 0;line-height:1.5;max-width:240px}.preview-caption{left:auto;right:7%;bottom:auto;top:35%;min-width:190px}.preview-caption span{font-size:16px}.preview-caption b{font-size:34px}.preview-caption small{font-size:6px}.garage-controls legend{font-size:9px;margin-bottom:8px}.field-label{font-size:9px}
 #race-transition strong{font-size:35px}.finish-badge{top:15%;min-width:280px}.finish-badge>b{font-size:96px}.finish-badge h2{font-size:27px}.finish-badge small{font-size:9px}.finish-badge p{font-size:13px}
 .result-screen{background:linear-gradient(180deg,#142a3d77,#102537b0)}.flow-result-card{right:7%;left:7%;width:86%;top:50%;padding:23px 25px;max-height:calc(100dvh - 45px);overflow:visible}.flow-result-card h2{font-size:30px}.flow-result-card .flow-kicker{font-size:8px;letter-spacing:1.4px}.finish-time{margin:20px -34px 17px;padding:12px 32px}.finish-time strong{font-size:39px}.result-medal{display:none}.result-links button{font-size:9px!important}.flow-result-card>.flow-link{margin-top:5px}
 .ranking-shell{margin:17px 14px 68px;padding:21px 19px}.ranking-shell h2{font-size:32px}.leaderboard{margin:15px 0}.leaderboard li{gap:9px;padding:11px 3px}.leaderboard li>span{font-size:12px}.leaderboard li>b{font-size:20px;min-width:24px}.leaderboard li>strong{font-size:17px}.ranking-shell .flow-kicker{font-size:8px;letter-spacing:1px}.history-list li>span{font-size:10px}
 body:is([data-game-state="MENU"],[data-game-state="CUSTOMIZATION"],[data-game-state="RESULTS"],[data-game-state="RANKING"],[data-game-state="HISTORY"]) #audio-controls{right:13px!important;bottom:12px!important}
}
@media(max-height:650px) and (min-width:701px){.intro-copy{top:8%}.game-logo{font-size:64px;margin:15px 0 20px}.intro-slogan{font-size:19px;margin-bottom:18px}.intro-meta{margin-top:8px}.garage-title{top:66px}.garage-title h2{font-size:36px}.garage-controls{top:183px;width:280px}.garage-controls fieldset{margin:12px 0}.garage-controls #driver-name{padding:9px 12px}.number-choice{margin:12px 0}.garage-controls .flow-primary{padding:12px 20px;font-size:17px}.profile-help{font-size:8px;margin-top:13px}.garage-title .flow-kicker{font-size:8px}.flow-result-card{padding:20px 26px;top:50%;width:350px}.flow-result-card h2{font-size:27px;margin:5px 0}.finish-time{margin:15px -35px 15px;padding:10px 35px}.finish-time strong{font-size:33px}.finish-best{padding-bottom:7px}#result-laps-list{margin:8px 0}#result-save-status{margin:6px 0;min-height:15px}.flow-result-card .flow-primary{padding:12px 18px}.result-links{margin-top:14px}.flow-result-card>.flow-link{padding:8px}.ranking-shell{margin:15px auto}}
@media(max-height:700px) and (max-width:700px){.game-logo{font-size:52px}.intro-copy{top:4%}.intro-slogan{font-size:15px;margin-bottom:12px}.intro-meta{display:none}.garage-controls{bottom:18px}.garage-controls fieldset{margin-top:9px}.garage-controls .flow-primary{margin-top:12px}.profile-help{margin-top:11px}.preview-caption{top:29%}.garage-title h2{font-size:24px}.flow-result-card{padding:18px 22px}.flow-result-card h2{font-size:25px}.finish-time{margin-top:14px;margin-bottom:13px;padding:10px 30px}.finish-time strong{font-size:32px}#result-laps-list{margin:8px 0}#result-save-status{margin:5px 0;min-height:15px}.flow-result-card .flow-primary{padding:12px 16px}.result-links{margin-top:13px}.flow-result-card>.flow-link{padding:8px}}
@media(prefers-reduced-motion:reduce){.screen-enter .flow-screen:not([hidden]){animation:none}.flow-primary{transition:none}#race-transition{transition:none}}

.difficulty-choice{display:block;font-size:10px;font-weight:800;letter-spacing:1px;margin:12px 0;grid-column:1 / -1}.difficulty-choice select{display:block;width:100%;margin:7px 0;padding:10px;color:#fff;background:#102c40;border:1px solid #d5b384;border-radius:8px;font:inherit;font-size:14px}.difficulty-choice small{font-size:9px;font-weight:400;letter-spacing:0;color:#cbd6d9}.platform-link{display:inline-block;text-decoration:none;margin-top:12px}#connection-status{font-size:13px}#retry-online{margin:8px 0}.garage-controls{max-height:calc(100dvh - 240px);overflow-y:auto;padding:0 5px 18px 0;scrollbar-width:thin}@media(max-height:800px) and (min-width:701px){.garage-controls{top:180px;max-height:calc(100dvh - 190px)}.garage-title{top:62px}.garage-title h2{font-size:34px}}@media(max-width:700px){.garage-controls{max-height:62dvh;bottom:12px}.preview-caption{top:25%;}.difficulty-choice{margin:10px 0 0}}
