:root{color:#334944;font-synthesis:none;background:#edf0df;font-family:Arial,Helvetica,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline-offset:5px;outline:3px solid #306a64}button,a{touch-action:manipulation}button{color:inherit}button:hover:not(:disabled){filter:brightness(.96)}[hidden]{display:none!important}#game{min-height:100svh;position:relative;overflow:hidden}#world{background:#cbdde0;position:absolute;inset:0}#world canvas{width:100%;height:100%;display:block}.topbar{z-index:2;justify-content:space-between;align-items:center;gap:16px;height:92px;padding:0 42px;display:flex;position:relative}.back{color:#334944;background:#faf8ede8;border:1px solid #fff8;border-radius:30px;padding:12px 19px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 3px 14px #324d4010}.wordmark{letter-spacing:2px;white-space:nowrap;background:#faf8eddf;border-radius:24px;padding:12px 18px;font-size:12px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.brand-icon{color:#d77b58;vertical-align:-2px;margin-right:6px;font-size:21px;display:inline-block}.panel{background:#fbf9eeef;border:1px solid #ffffffb0;border-radius:26px;box-shadow:0 18px 70px #33494420}.garage{z-index:1;width:366px;margin:22px 0 45px 5vw;padding:31px;position:relative}.eyebrow{letter-spacing:1.7px;color:#77867b;font-size:9px;font-weight:800}h1{letter-spacing:-3px;margin:20px 0 16px;font-size:57px;font-weight:800;line-height:.98}h1 em{color:#ce7757;font-style:normal}.intro{color:#758277;margin-bottom:29px;font-size:15px}fieldset{border:0;margin:0 0 24px;padding:0}legend{margin-bottom:13px;padding:0;font-size:13px;font-weight:700}legend span{color:#7d877c;margin-left:7px;font-size:10px;font-weight:400}.color-options{gap:13px;display:flex}.color-options button{border:4px solid #fbf9ee;border-radius:50%;width:43px;height:43px;position:relative;box-shadow:0 0 0 1px #dadfce}.color-options button[aria-pressed=true]{box-shadow:0 0 0 2px #3f6257}.color-options button[aria-pressed=true]:after{content:"✓";color:#fff;text-shadow:0 1px 2px #0004;font-size:20px;font-weight:700}.stepper{align-items:center;gap:16px;display:flex}.stepper button{background:#eaeedf;border-radius:11px;width:38px;height:38px;font-size:24px}.stepper button:disabled{cursor:default}.stepper output{text-align:center;min-width:18px;font-size:23px;font-weight:700}.car-dots{flex-wrap:wrap;gap:5px;max-width:87px;margin-left:auto;display:flex}.car-dots i{background:#8eaa97;border-radius:5px 5px 3px 3px;width:23px;height:12px;box-shadow:0 3px 0 -1px #536b5a}.primary{color:#fffef3;background:#365e50;border-radius:15px;justify-content:space-between;align-items:center;width:100%;min-height:59px;padding:18px 21px;font-size:17px;font-weight:700;display:flex;box-shadow:0 5px #28483d}.primary span:last-child{font-size:23px}.lesson{border-top:1px solid #dfe3d6;align-items:center;gap:16px;margin-top:27px;padding-top:18px;display:flex}.lesson p{margin:0;font-size:11px;line-height:1.8}.lesson p span{color:#7c877d;font-size:10px}.keys{flex-direction:column;align-items:center;gap:3px;display:flex}.keys div{gap:3px;display:flex}kbd{background:#eef0e5;border:1px solid #d8dfce;border-bottom:3px solid #cbd5c2;border-radius:6px;place-items:center;min-width:27px;height:27px;font:700 15px Arial;display:inline-grid}.route-card{z-index:1;background:#faf8ede8;border-radius:16px;align-items:center;gap:13px;padding:16px 22px;display:flex;position:absolute;bottom:35px;right:38px;box-shadow:0 5px 24px #33494412}.route-icon{color:#6e8a6e;font-size:31px}.route-card b{font-size:13px}.route-card div>span{color:#778278;margin-top:5px;font-size:11px;display:block}.icon-button{background:#fbf9ee;border-radius:50%;width:46px;height:46px;margin-left:auto;font-size:23px;font-weight:800}.hud{z-index:1;background:#fbf9eef0;border-radius:18px;align-items:center;gap:20px;width:min(430px,100% - 36px);padding:13px 20px;display:flex;position:absolute;top:106px;left:50%;transform:translate(-50%)}.lap{white-space:nowrap;align-items:center;gap:10px;display:flex}.lap>span{font-size:27px}.lap b{font-size:20px}.lap b span{font-size:12px;font-weight:400}.progress-track{background:#dce4d4;border-radius:8px;flex:1;height:7px;overflow:hidden}#progress{background:#d88660;border-radius:8px;width:0;height:100%}.speed{text-align:right;min-width:45px}.speed b{font-size:25px;display:block}.speed span{text-transform:uppercase;letter-spacing:1px;font-size:9px}.countdown{pointer-events:none;color:#fff9e8;text-shadow:0 5px #365e50,0 12px 45px #24382a60;place-items:center;font-size:clamp(90px,18vw,170px);font-weight:800;display:grid;position:absolute;inset:0}.drive-hint{white-space:nowrap;background:#fbf9eee8;border-radius:14px;padding:12px 20px;font-size:15px;font-weight:700;position:absolute;bottom:122px;left:50%;transform:translate(-50%)}.drive-hint kbd{margin:0 5px}.touch-controls{bottom:max(25px, env(safe-area-inset-bottom));justify-content:space-between;gap:14px;padding:0 35px;display:flex;position:absolute;left:0;right:0}.touch-controls>div{gap:10px;display:flex}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;background:#fbf9eeeb;border-radius:19px;width:66px;height:66px;font-size:33px;box-shadow:0 4px #adb7a5}.touch-controls .gas{color:#fff9e8;background:#365e50;width:83px;box-shadow:0 4px #28483d}.touch-controls .brake{background:#e5b197}.touch-controls button.pressed{box-shadow:none;filter:brightness(.88);transform:translateY(3px)}.modal{z-index:5;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#324c3d50;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.result{text-align:center;width:min(390px,100%);padding:34px}.result-icon{color:#d9ac52;font-size:64px;line-height:1.3}.result h2{letter-spacing:-1.6px;margin:14px 0;font-size:36px}.result p{color:#758277;margin-bottom:28px;font-size:14px;line-height:1.6}.secondary{background:0 0;padding:20px 10px 0;font-size:13px;font-weight:700}.error{z-index:6;background:#fff8e9;border-radius:15px;max-width:460px;margin:20px auto;padding:20px;font-size:16px;line-height:1.6;position:relative}body:has(#game[data-phase=error]) .garage{display:none}@media (width>=1500px){.garage{margin-top:7vh}h1{font-size:64px}}@media (width<=760px){.topbar{height:72px;padding:0 18px}.back{padding:10px 14px;font-size:12px}.wordmark{letter-spacing:1px;padding:10px 12px;font-size:9px;left:auto;right:18px;transform:none}.brand-icon{font-size:15px}.garage{width:calc(100% - 32px);max-width:420px;margin:180px 16px 24px;padding:24px}.eyebrow{font-size:8px}h1{letter-spacing:-2px;margin:10px 0;font-size:43px;line-height:1}h1 br{display:block}h1 em{margin-left:0}.intro{margin:12px 0 22px;font-size:13px}.colors{margin-bottom:20px}.color-options{justify-content:space-between;gap:4px}.color-options button{flex-shrink:0;width:44px;height:44px}.racers{margin-bottom:20px}.lesson{margin-top:22px;padding-top:15px}.route-card{display:none}#game:has(.garage:not([hidden])) #world{height:420px}.hud{top:84px}.touch-controls{padding:0 18px}.touch-controls button{width:55px;height:61px}.touch-controls .gas{width:66px}#game:not([data-phase=garage]):not([data-phase=loading]) .wordmark{display:none}.icon-button{width:41px;height:41px}.drive-hint{font-size:13px;bottom:113px}.result{padding:25px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}.garage{width:390px;margin-top:8px;padding:25px 28px}.garage h1{margin:13px 0 10px;font-size:45px}.garage .intro{margin:0 0 18px}.garage fieldset{margin-bottom:17px}.player-choice legend{margin-bottom:9px}.choice-row{gap:7px;display:flex}.choice-row button{background:#e9edde;border-radius:10px;flex:1;min-height:44px;padding:12px 8px;font-size:13px;font-weight:700}.choice-row button[aria-pressed=true]{color:#fffef3;background:#365e50}#players-help{color:#647466;margin:9px 0 0;font-size:10px;line-height:1.5}.map-select{margin-bottom:19px;font-size:13px;font-weight:700;display:block}.map-select select{font:inherit;color:#334944;background:#e9edde;border:1px solid #d7decd;border-radius:10px;width:100%;min-height:44px;margin-top:9px;padding:11px 9px;display:block}select:focus-visible{outline-offset:3px;outline:3px solid #306a64}.garage .lesson{margin-top:21px;padding-top:14px}.color-options{justify-content:space-between}.color-options button:disabled{cursor:default;opacity:.3}#split-divider{z-index:2;background:#faf8ef;height:4px;position:absolute;top:50%;left:0;right:0;box-shadow:0 1px 6px #33494455}.split{height:100svh}.split .topbar{height:60px}.split .wordmark{display:none}.split .back{padding:9px 15px}.split .icon-button{width:38px;height:38px;font-size:19px}.driver-tag{white-space:nowrap;letter-spacing:.5px;font-size:12px}.split .hud{border-left:5px solid var(--player-one);gap:14px;padding:10px 16px;top:68px}.split .hud .lap{display:none}.split .hud-two{border-color:var(--player-two);top:calc(50% + 16px)}#progress-two{background:var(--player-two);border-radius:8px;width:0;height:100%}.split #progress{background:var(--player-one)}.split .touch-controls{padding:0 22px;bottom:calc(50% + 14px)}.split .touch-controls-two{bottom:max(16px, env(safe-area-inset-bottom))}.split .touch-controls button{border-radius:13px;width:52px;height:48px;font-size:25px}.split .touch-controls .gas{width:66px}.split .drive-hint{white-space:normal;text-align:center;max-width:85%;padding:9px 13px;font-size:12px;bottom:calc(50% + 76px)}.split .drive-hint-two{bottom:78px}@media (width<=760px){.garage{width:calc(100% - 32px);margin:130px 16px 24px;padding:22px 24px}.garage h1{font-size:41px}.split .topbar{height:50px}.split .hud{width:calc(100% - 28px);top:57px}.split .hud-two{top:calc(50% + 12px)}.split .touch-controls{padding:0 16px}.split .touch-controls button{width:44px}.split .touch-controls .gas{width:55px}.driver-tag{font-size:10px}}@media (height<=600px){.split .topbar{height:42px}.split .hud{padding:5px 12px;top:45px}.split .hud-two{top:calc(50% + 7px)}.split .speed b{font-size:17px}.split .touch-controls button{height:36px;font-size:21px}.split .touch-controls{bottom:calc(50% + 8px)}.split .touch-controls-two{bottom:8px}.split .drive-hint{padding:5px 10px;bottom:calc(50% + 45px)}.split .drive-hint-two{bottom:45px}}.split .countdown{height:50%;font-size:clamp(60px,12vh,100px)}.split #countdown-two{top:50%}@media (width<=760px){#game:has(.garage:not([hidden])) #world{height:340px}}.race-options{border-top:1px solid #dce1d0;border-bottom:1px solid #dce1d0;margin:0 0 20px}.race-options summary{cursor:pointer;padding:15px 0;font-size:13px;font-weight:700}.race-options summary span{color:#647466;margin:6px 0 0 16px;font-size:11px;font-weight:400;display:block}.assist-option{cursor:pointer;align-items:flex-start;gap:10px;margin:4px 0 20px;font-size:13px;display:flex}.assist-option input{accent-color:#365e50;flex:0 0 24px;width:24px;height:24px}.assist-option small{color:#647466;margin-top:5px;font-size:11px;line-height:1.5;display:block}.settings-note{color:#647466;font-size:11px;line-height:1.5}.car-dots{gap:4px;max-width:115px}.car-dots i{width:15px;height:9px}.driver-tag small{letter-spacing:0;margin-top:5px;font-size:10px;font-weight:400;display:block}.recover{z-index:2;color:#365e50;background:#fbf9eee8;border-radius:12px;min-height:40px;padding:10px 14px;font-size:12px;position:absolute;top:184px;left:50%;transform:translate(-50%)}.split .recover{top:142px}.split .recover-two{top:calc(50% + 90px)}@media (width<=760px){.recover{top:166px}.split .recover{top:130px}.split .recover-two{top:calc(50% + 86px)}}@media (height<=600px){.split .recover{min-height:30px;padding:5px 10px;font-size:10px;top:104px}.split .recover-two{top:calc(50% + 66px)}}.type-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 13px;display:grid}.type-options button{background:#edf0e3;border:1px solid #d7decd;border-radius:12px;min-height:70px;padding:7px 5px 9px;font-size:12px;font-weight:700}.type-options button[aria-pressed=true]{background:#e0e8d8;border-color:#365e50;box-shadow:0 0 0 1px #365e50}.type-options svg{width:100%;max-width:86px;height:37px;fill:var(--player-one);margin:0 auto 4px;display:block}#models-two svg{fill:var(--player-two)}.types-note{color:#647466;margin:-3px 0 12px;font-size:10px}.color-options{grid-template-columns:repeat(6,44px);justify-content:space-between;gap:10px 6px;display:grid}.color-options button{width:44px;height:44px}.color-options button[aria-pressed=true]:after{color:var(--swatch-ink,white);text-shadow:none}@media (width<=370px){.color-options{grid-template-columns:repeat(4,44px)}}
