:root{color-scheme:dark;--ink:#152940;--mint:#58ead4;--cream:#fff2d8;--yellow:#ffd476}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{font-family:Arial,Helvetica,sans-serif;background:var(--ink);color:var(--cream);touch-action:none;-webkit-user-select:none;user-select:none}button,a,input{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:3px}button:active{transform:translateY(2px)}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block}.grain{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#13283b00 65%,#13283b44)}.screen{position:fixed;inset:0;z-index:10;overflow:auto;touch-action:pan-y}.menu-shell{min-height:100%;padding:24px max(24px,env(safe-area-inset-right)) 18px max(24px,env(safe-area-inset-left));background:linear-gradient(110deg,#152940f7 8%,#183349ee 52%,#143148cf);display:flex;flex-direction:column;justify-content:center}nav{display:flex;justify-content:space-between;align-items:center;max-width:1090px;width:100%;margin:0 auto 24px}.home-link,.small-button{font-size:11px;font-weight:900;letter-spacing:1.5px;text-decoration:none;color:#c7e7e7}.small-button{background:#ffffff10;border:1px solid #ffffff25;border-radius:30px;padding:11px 15px}.menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;width:100%;max-width:1060px;margin:auto;align-items:center}.tagline{font-size:10px;letter-spacing:2.5px;color:var(--mint);font-weight:900;display:flex;align-items:center;gap:8px}.tagline i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 16px #58ead4}h1{font-size:clamp(65px,8vw,116px);font-weight:1000;font-style:italic;letter-spacing:-7px;line-height:.84;margin:27px 0 20px;position:relative;max-width:440px;text-shadow:0 7px 0 #0c1b2b}h1 span{color:var(--mint)}h1 b{font-size:.47em;display:inline-block;transform:rotate(-9deg);vertical-align:top;margin:7px 0 0 18px;background:var(--yellow);padding:9px 13px 10px;color:var(--ink);border-radius:12px;text-shadow:none;letter-spacing:-3px}.hero-copy{font-size:15px;line-height:1.55;color:#bfd4dd;margin:0}#showroom{display:block;width:100%;height:155px;object-fit:contain;margin:-10px 0 -10px}.hero-caption{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;max-width:420px}#kartName{font-size:16px;font-weight:900;letter-spacing:3px}#kartRide{grid-row:2;color:#a9c7d4;font-size:9px;letter-spacing:2px}#kartChoices{grid-column:2;grid-row:1/3;display:flex;gap:9px}.kart-choice{width:37px;height:37px;border:3px solid transparent;border-radius:50%;padding:5px;background:#fff1}.kart-choice i{display:block;width:100%;height:100%;border-radius:50%;background:var(--paint)}.kart-choice[aria-pressed=true]{border-color:var(--cream)}.race-card{background:#f5eedf;border-radius:25px;color:var(--ink);padding:26px;box-shadow:0 18px 60px #06122155;transform:rotate(1deg)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:8px}.eyebrow{font-size:9px;font-weight:900;letter-spacing:1.5px}.pill{font-size:8px;font-weight:900;background:#dce8df;padding:7px 8px;border-radius:20px;white-space:nowrap}.track-choice{display:flex;align-items:center;position:relative;gap:14px;width:100%;text-align:left;color:var(--ink);background:#e6e6dc;border:2px solid transparent;padding:13px;border-radius:14px;margin-bottom:9px;transition:background .15s}.track-choice[aria-pressed=true]{border-color:#193c4a;background:#d1e9df}.track-choice svg{width:63px;height:43px;flex-shrink:0}.track-choice strong{display:block;font-size:15px;margin-bottom:4px}.track-choice small{display:block;color:#526975;font-size:10px}.track-choice .medal{margin-left:auto;font-size:10px;font-weight:900}.assist-row{display:flex;align-items:center;justify-content:space-between;margin:20px 0}.assist-row label{display:block;cursor:pointer}.assist-row b{display:block;font-size:12px}.assist-row span{display:block;font-size:10px;color:#526975;margin-top:4px}.assist-row input{width:37px;height:22px;accent-color:#147c70;cursor:pointer}.primary{width:100%;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-bottom-width:5px;border-radius:12px;padding:17px;font-size:17px;letter-spacing:1px;font-weight:900;display:flex;align-items:center;justify-content:space-between}.quick-tip{font-size:10px;text-align:center;color:#4e6874;margin:12px 0 18px}.menu-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #cdd4cb;padding-top:15px}.text-button{font-weight:900;font-size:9px;letter-spacing:1px;padding:4px 0;background:none;color:#234957}.menu-footer>span{font-size:8px;font-weight:900;letter-spacing:.6px;color:#54716f}.menu-shell>footer{font-size:8px;font-weight:700;letter-spacing:2px;color:#7fabb8;text-align:center;margin-top:30px}.menu-shell>footer span{color:var(--yellow);padding:0 15px}#hud{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;z-index:3}.race-info{display:flex;align-items:center;border:1px solid #ffffff30;border-radius:15px;background:#162b42ed;box-shadow:0 5px 15px #182f3b22;overflow:hidden}.position{background:var(--yellow);color:var(--ink);padding:7px 14px;display:flex;gap:7px;align-items:baseline}.position b{font-style:italic;font-size:42px;line-height:1}.position span{font-size:11px;font-weight:bold}.lap-block,.time-block{padding:7px 17px;display:flex;flex-direction:column;gap:5px}.lap-block b,.time-block b{font-size:18px;font-variant-numeric:tabular-nums}.lap-block small{font-size:11px;color:#b6d4dc}.time-block{border-left:1px solid #ffffff20}.icon-button{width:44px;height:44px;border:1px solid #ffffff50;background:#162b42ed;border-radius:13px;font-weight:bold;font-size:20px}#trackLabel{position:fixed;top:88px;left:24px;z-index:2;color:#18394b;display:flex;flex-direction:column;gap:4px;text-shadow:0 1px 3px #fff8}#trackName{font-size:10px;font-weight:900;letter-spacing:1.4px}#turnHint{font-size:11px;font-weight:800}#raceToast{position:fixed;top:24%;left:50%;transform:translateX(-50%);z-index:4;padding:10px 19px;color:var(--ink);background:var(--cream);border-radius:40px;font-size:14px;letter-spacing:1px;font-weight:900;white-space:nowrap;opacity:0;transition:opacity .15s;box-shadow:0 4px 0 #142d4266}#raceToast.show{opacity:1}#countdown{position:fixed;top:35%;left:0;right:0;text-align:center;font-size:100px;font-style:italic;font-weight:900;color:var(--yellow);text-shadow:0 6px 0 #183047,3px 0 0 #183047,-3px 0 0 #183047;z-index:4;pointer-events:none}#speedometer{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;min-width:140px;text-align:center;color:white;text-shadow:0 2px 3px #183047}#speedometer>span{font-style:italic;font-size:35px;font-weight:900;font-variant-numeric:tabular-nums}#speedometer small{font-size:9px;font-weight:bold;margin-left:5px}.drift-meter{height:6px;border-radius:5px;background:#153046bb;overflow:hidden;margin-top:3px;border:1px solid #ffffff40}.drift-meter i{display:block;height:100%;background:var(--mint);width:0;transition:width .08s}#driftLabel{display:block;font-style:normal;font-size:8px;font-weight:900;letter-spacing:1px;margin-top:6px}#map{position:fixed;right:21px;top:83px;width:143px;height:91px;z-index:2;border:1px solid #fff3;border-radius:12px;background:#163149df}#controls{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));z-index:5;display:flex;justify-content:space-between;pointer-events:none}#controls button{pointer-events:auto;touch-action:none;-webkit-touch-callout:none;box-shadow:0 5px 0 #152a4266;border:2px solid #fff7}#controls button.held{background:#59ead4;color:#142b40;border-color:#fff;transform:translateY(4px);box-shadow:none}.steering,.actions{display:flex;gap:12px;align-items:flex-end}.steering button{width:76px;height:76px;border-radius:23px;background:#172f46bb}.steering svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.actions button{width:80px;height:80px;border-radius:24px;background:#193048d9;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.actions b{font-size:9px;font-weight:900;letter-spacing:.8px}.drift-mark{font-size:30px;line-height:1}#item{background:#ffdb84;color:#1a3347}#item:disabled{background:#193048ba;color:#d5dde3;border-style:dashed;opacity:.8}#itemIcon{height:30px;font-size:29px;font-weight:900}#itemIcon svg{height:32px;width:32px}#desktopHint{position:fixed;bottom:9px;left:0;right:0;text-align:center;font-size:9px;font-weight:bold;color:#f3ead5;text-shadow:0 1px 4px #000;pointer-events:none}#desktopHint span{color:var(--yellow);padding:0 8px}.overlay{display:flex;align-items:center;justify-content:center;padding:20px;background:#0f2236c9;backdrop-filter:blur(7px)}.dialog{background:var(--cream);border-radius:24px;padding:30px;color:var(--ink);width:100%;max-width:430px;max-height:100%;overflow:auto;box-shadow:0 20px 60px #0004}.dialog .eyebrow{color:#487470;display:block}.dialog h2{font-size:35px;font-style:italic;letter-spacing:-1px;margin:12px 0 8px}.dialog p{font-size:13px;line-height:1.55;color:#526975}.dialog .secondary{display:block;width:100%;padding:14px;background:#dce6de;border:2px solid #c5d2c9;border-radius:11px;color:var(--ink);font-size:12px;font-weight:bold;margin-top:10px}.dialog .primary{margin-top:20px}.rules{display:grid;gap:12px;margin:20px 0}.rules>div{display:flex;gap:12px;align-items:center}.rules i{font-style:normal;width:37px;height:37px;border-radius:12px;background:#c9e6dc;display:grid;place-items:center;flex-shrink:0;font-weight:900}.rules b{display:block;font-size:12px}.rules small{display:block;font-size:11px;line-height:1.5;color:#526975}.result-position{font-size:70px;font-weight:900;font-style:italic;color:#196b65;line-height:1.1}.result-position small{font-size:20px}.result-stats{display:flex;gap:15px;margin:20px 0;padding:14px 0;border-top:1px solid #b8ccbf;border-bottom:1px solid #b8ccbf}.result-stats span{flex:1;display:flex;flex-direction:column;gap:5px;font-size:9px;color:#526975}.result-stats b{font-size:18px;color:var(--ink)}.standings{font-size:11px;display:grid;gap:6px}.standings div{display:flex;justify-content:space-between}.standings .you{color:#17776d;font-weight:bold}#saveWarning{position:fixed;bottom:0;left:0;right:0;background:#ffdf95;color:#213347;text-align:center;padding:5px;font-size:11px;z-index:20}
@media (pointer:fine){#controls .steering{opacity:.48}#controls .steering:hover{opacity:1}}
@media(max-width:700px){.menu-shell{padding:18px 20px 16px;justify-content:flex-start}nav{margin-bottom:16px}.menu-layout{display:block}.hero{position:relative;margin-bottom:22px}.tagline{font-size:8px;letter-spacing:1.5px}h1{font-size:65px;letter-spacing:-4px;margin:19px 0 13px;max-width:245px}h1 b{margin-left:12px;letter-spacing:-2px;padding:7px 9px}.hero-copy{font-size:11px;line-height:1.45}#showroom{position:absolute;width:50%;height:139px;right:-12px;top:37px;margin:0}.hero-caption{margin-top:17px;max-width:none}#kartName{font-size:12px}#kartRide{font-size:8px}.kart-choice{width:31px;height:31px;padding:4px}.race-card{padding:17px;border-radius:20px;transform:none}.section-heading{margin-bottom:11px}.eyebrow{font-size:8px}.pill{font-size:7px}.track-choice{padding:9px 11px;margin-bottom:7px;gap:12px}.track-choice strong{font-size:13px}.track-choice small{font-size:9px}.track-choice svg{width:55px;height:37px}.assist-row{margin:14px 0}.primary{padding:14px;font-size:16px}.quick-tip{font-size:9px;margin:10px 0 13px}.menu-footer{padding-top:12px}.menu-shell>footer{font-size:7px;letter-spacing:1px;margin-top:20px}.menu-shell>footer span{padding:0 7px}#hud{top:max(12px,env(safe-area-inset-top));left:12px;right:12px}.position{padding:9px 10px}.position b{font-size:32px}.position span{font-size:9px}.lap-block,.time-block{padding:8px 10px}.lap-block b,.time-block b{font-size:14px}.race-info{border-radius:12px}.icon-button{width:41px;height:41px}#trackLabel{top:78px;left:15px}#trackName{font-size:8px}#turnHint{font-size:9px}#map{width:100px;height:65px;right:13px;top:70px}#controls{left:15px;right:15px;bottom:max(24px,env(safe-area-inset-bottom));}.steering,.actions{gap:7px}.steering button{width:56px;height:68px;border-radius:18px}.actions button{width:59px;height:69px;border-radius:19px}.actions b{font-size:7px;letter-spacing:.4px}.drift-mark{font-size:26px}#speedometer{bottom:114px;min-width:118px}#speedometer>span{font-size:28px}#desktopHint{display:none!important}#raceToast{font-size:11px;top:22%;padding:9px 14px}.dialog{padding:24px}.dialog h2{font-size:31px}.time-block .eyebrow{font-size:7px}}
@media(max-height:530px) and (min-width:601px){.menu-shell{padding:12px 26px}nav{margin-bottom:12px}.menu-layout{gap:35px;max-width:900px;grid-template-columns:.88fr 1.12fr}.tagline{font-size:7px;letter-spacing:1.3px}h1{font-size:65px;letter-spacing:-4px;margin:17px 0 10px}.hero-copy{font-size:10px}#showroom{position:absolute;width:140px;height:130px;top:90px;left:165px}.hero{position:relative}.hero-caption{margin-top:30px;max-width:280px}#kartName{font-size:12px}.kart-choice{width:28px;height:28px;padding:4px}#kartChoices{gap:5px}.race-card{padding:15px;transform:none;border-radius:17px}.section-heading{margin-bottom:8px}.eyebrow{font-size:7px}.pill{font-size:7px;padding:4px 6px}.track-choice{padding:6px 10px;margin-bottom:5px;gap:10px}.track-choice svg{width:45px;height:28px}.track-choice strong{font-size:11px;margin-bottom:2px}.track-choice small{font-size:8px}.assist-row{margin:9px 0}.assist-row b{font-size:10px}.assist-row span{font-size:8px}.primary{padding:10px;font-size:13px}.quick-tip{margin:7px 0;font-size:8px}.menu-footer{padding-top:7px}.menu-shell>footer{margin-top:10px;font-size:7px}#hud{top:10px;left:18px;right:18px}.position b{font-size:29px}.position{padding:6px 12px}.lap-block,.time-block{padding:5px 13px}.lap-block b,.time-block b{font-size:13px}.icon-button{height:38px;width:38px}#trackLabel{top:68px;left:20px}#map{right:20px;top:62px;width:100px;height:64px}#controls{bottom:16px;left:20px;right:20px}.steering button{width:61px;height:59px;border-radius:18px}.actions button{width:62px;height:62px;border-radius:18px}.actions b{font-size:8px}#speedometer{bottom:20px;min-width:115px}#speedometer>span{font-size:25px}#desktopHint{display:none!important}#countdown{top:26%;font-size:75px}#raceToast{top:19%;font-size:11px}.dialog{padding:20px;max-width:450px}.dialog h2{font-size:27px;margin:8px 0}.dialog .primary{margin-top:12px}.rules{gap:8px;margin:10px 0}.result-position{font-size:44px}.result-stats{margin:10px 0;padding:8px 0}.standings{grid-template-columns:1fr 1fr;gap:5px 16px}}
@media(max-width:350px){.menu-shell{padding:14px}.tagline{font-size:7px}h1{font-size:58px}.hero-copy{font-size:10px}#showroom{width:45%;right:-5px;top:45px}.hero-caption{margin-top:14px}#kartChoices{gap:6px}.race-card{padding:13px}.track-choice strong{font-size:12px}.track-choice .medal{font-size:8px}.section-heading .eyebrow{letter-spacing:1px}.pill{font-size:6px}#controls{left:9px;right:9px}.steering button{width:49px}.actions button{width:53px}.lap-block,.time-block{padding:7px 8px}.position b{font-size:28px}.time-block b{font-size:12px}#hud{left:9px;right:9px}.position{padding:8px}.race-info .eyebrow{letter-spacing:.9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.icon-button svg{width:22px;height:22px}.drift-mark svg{width:30px;height:28px}
