:root{--ink:#25243e;--paper:#fff8e9;--lime:#d6f96e;--pink:#eb7fb1;--blue:#93e2ef;--display:"Lilita One",sans-serif;--body:"Nunito",sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--body);color:var(--ink);background:#40476e}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #bc43db}button:disabled{cursor:default}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#race-world{width:100%;height:100%;display:block;position:fixed;inset:0}.scene-shade{pointer-events:none;background:linear-gradient(90deg,#211e426e,#0000 65%),linear-gradient(#0000 60%,#25253a90);position:fixed;inset:0}body.racing .scene-shade{background:linear-gradient(#0000 75%,#23243c44)}body.loading #race-world,body.loading header,body.loading #lobby{visibility:hidden}#loading-screen{color:var(--paper);z-index:100;text-align:center;background:#25263f;flex-direction:column;justify-content:center;align-items:center;gap:25px;display:flex;position:fixed;inset:0}#loading-screen p{padding:0 20px;font-weight:800}#loading-screen button{border-radius:12px;padding:15px 30px}.spinner{border:3px solid #ffffff25;border-top-color:var(--lime);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}header{z-index:10;border:3px solid var(--ink);background:var(--paper);border-radius:24px;align-items:center;gap:24px;height:77px;padding:0 23px;display:flex;position:fixed;top:20px;left:24px;right:24px;box-shadow:0 6px #25243e}.brand{font:38px var(--display);letter-spacing:-1px;white-space:nowrap;text-shadow:2px 3px 0 var(--blue)}.brand span{color:#db4fc3}.brand i{color:#db4fc3;vertical-align:top;font-size:24px;font-style:normal}.header-end{align-items:center;gap:20px;margin-left:auto;display:flex}.header-end>span{letter-spacing:1.5px;font-size:10px;font-weight:1000}nav{gap:5px;display:flex}nav a{letter-spacing:1px;border-radius:9px;padding:10px 12px;font-size:10px;font-weight:1000}nav a[aria-current]{background:var(--lime);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink)}.square{border:2px solid var(--ink);width:46px;height:46px;box-shadow:0 3px 0 var(--ink);background:#edf9f9;border-radius:13px;font-size:21px}#lobby{pointer-events:none;position:fixed;inset:0}#lobby button,#lobby a{pointer-events:auto}.intro{width:430px;color:var(--paper);position:absolute;top:18%;left:5%}.eyebrow{letter-spacing:2px;align-items:center;gap:12px;font-size:10px;font-weight:1000;display:flex}.eyebrow>span{background:var(--lime);border-radius:3px;width:24px;height:4px;display:inline-block}.intro>.eyebrow{color:#e8f8ad}.intro h1{font:clamp(42px,4.1vw,69px)/.94 var(--display);letter-spacing:-1px;text-shadow:3px 4px 0 var(--ink);-webkit-text-stroke:1px var(--ink);margin:19px 0 15px}h1 em{color:var(--lime);font-style:normal}.lead{text-shadow:0 2px 3px #25243e;margin-bottom:20px;font-size:14px;font-weight:700;line-height:1.55}.race-format{gap:5px;display:flex}.race-format button{letter-spacing:.7px;color:#fff;background:#25243e90;border:1px solid #ffffff60;border-radius:8px;padding:10px;font-size:9px;font-weight:1000}.race-format button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 3px 0 var(--pink)}#format-description{letter-spacing:.2px;margin:12px 0 17px;font-size:11px;font-weight:800}.primary{background:var(--lime);border:3px solid var(--ink);width:100%;box-shadow:0 5px 0 var(--ink),5px 9px 0 var(--blue);font:22px var(--display);color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:16px 21px;transition:transform .12s;display:flex}.primary:hover{transform:translateY(-2px)}.primary:active{transform:translateY(2px)}.primary:disabled{opacity:.5}.primary span{font:27px var(--body)}#start-race{width:310px}.mini-controls{letter-spacing:1px;align-items:center;gap:8px;margin-top:23px;font-size:9px;font-weight:1000;display:flex}kbd{font:900 9px var(--body);background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:5px;padding:4px 6px;box-shadow:0 2px #8acbdd}.course-panel{background:var(--paper);border:3px solid var(--ink);pointer-events:auto;border-radius:22px;width:340px;padding:19px;position:absolute;top:17%;right:4%;box-shadow:7px 8px #25243e,11px 12px #aa92d0}.panel-heading .eyebrow{color:#876aa5;letter-spacing:1.5px;font-size:9px}.panel-heading h2{font:24px var(--display);margin:7px 0 16px}.track-card{text-align:left;background:#ecebdd;border:2px solid #0000;border-radius:13px;align-items:center;gap:10px;width:100%;margin-top:9px;padding:8px;transition:transform .12s;display:flex}.track-card[aria-pressed=true]{border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);background:#e8f3ce;transform:translate(-2px)}.track-art{background:var(--track-color);border-radius:8px;flex-shrink:0;width:87px;height:66px;padding:6px;position:relative;overflow:hidden}.track-art svg{filter:drop-shadow(0 3px #25243e80);width:100%;height:100%}.track-copy small{letter-spacing:1px;color:#79708b;font-size:8px;font-weight:1000}.track-copy strong{font:18px var(--display);margin:4px 0;display:block}.track-copy span{color:#746b80;font-size:9px;font-weight:800;display:block}.track-card .difficulty{color:#5f6b38;letter-spacing:3px;font-size:8px}.course-foot{letter-spacing:.5px;border-top:1px solid #25243e25;justify-content:space-between;margin-top:17px;padding-top:12px;font-size:8px;font-weight:1000;display:flex}.course-foot b{color:#bb46c8}.garage{background:var(--paper);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);pointer-events:auto;border-radius:19px;align-items:center;gap:20px;padding:13px 20px;display:flex;position:absolute;bottom:75px;left:4%;right:4%}.garage-heading{min-width:145px}.garage-heading .eyebrow{color:#846996;margin:0 0 5px;font-size:8px}.garage-heading h2{font:20px/1 var(--display);margin:0}#kart-cards{flex:1;gap:9px;display:flex}.kart-card{text-align:left;background:#efeee4;border:2px solid #0000;border-radius:11px;flex:1;align-items:center;gap:12px;padding:8px;display:flex}.kart-card[aria-pressed=true]{border-color:var(--ink);box-shadow:0 3px 0 var(--ink);background:#e7f0d1}.kart-card svg{flex-shrink:0;width:68px}.kart-card strong{font:15px var(--display);white-space:nowrap;display:block}.kart-card small{color:#80748b;font-size:8px;font-weight:800;display:block}.kart-stats{gap:2px;margin-top:5px;display:flex}.kart-stats i{background:#95af53;border-radius:1px;width:8px;height:4px;display:block}.kart-stats i.off{background:#d5d6c9}.driver-tag{color:#847c91;letter-spacing:.5px;gap:8px;font-size:8px;font-weight:800;line-height:1.7;display:flex}.driver-tag strong{font-size:7px}.driver-tag i{background:#accb4e;border-radius:50%;width:8px;height:8px;margin-top:5px}footer{height:47px;color:var(--paper);letter-spacing:1px;justify-content:space-between;align-items:center;padding:0 4%;font-size:9px;font-weight:900;display:flex;position:absolute;bottom:0;left:0;right:0}footer button{color:var(--paper);background:0 0;font-size:11px;font-weight:900}footer b{background:var(--blue);width:21px;height:21px;color:var(--ink);border-radius:50%;place-items:center;margin-left:10px;display:inline-grid}#hud{pointer-events:none;position:fixed;inset:0}#hud button{pointer-events:auto}.race-top{align-items:flex-start;gap:20px;display:flex;position:absolute;inset:24px 26px auto}.position-card{background:var(--paper);border:3px solid var(--ink);box-shadow:4px 5px 0 var(--pink);border-radius:20px;align-items:center;min-width:134px;padding:5px 17px 20px;display:flex;position:relative}.position-card strong{font:62px var(--display);line-height:1}.position-card>span{font:20px var(--display);align-self:flex-start;margin-top:10px}.position-card small{letter-spacing:1.3px;font-size:8px;font-weight:1000;position:absolute;bottom:8px}.lap-card{color:var(--paper);background:#25243edb;border:2px solid #fff4d677;border-radius:15px;gap:2px;min-width:167px;padding:10px 18px;display:grid}.lap-card>span{letter-spacing:2px;color:var(--lime);font-size:10px;font-weight:1000}.lap-card strong{font:24px var(--display);font-variant-numeric:tabular-nums}.lap-card small{letter-spacing:.5px;font-size:8px;font-weight:800}.race-top>.square{margin-left:auto}#countdown{font:150px var(--display);color:var(--lime);-webkit-text-stroke:3px var(--ink);text-shadow:6px 7px 0 var(--ink),10px 12px 0 var(--pink);position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}#race-callout{color:var(--paper);letter-spacing:1px;opacity:0;text-align:center;background:#25243ecc;border:1px solid #fff5;border-radius:9px;padding:9px 20px;font-size:13px;font-weight:1000;transition:opacity .1s;position:absolute;top:21%;left:50%;transform:translate(-50%)}#race-callout.show{opacity:1}#wrong-way{font:28px var(--display);color:#fff1ae;text-shadow:2px 3px var(--ink);text-align:center;position:absolute;top:33%;left:50%;transform:translate(-50%)}#wrong-way small{font:900 10px var(--body);margin-top:5px;display:block}#race-map{width:210px;height:194px;position:absolute;top:98px;right:22px}.map-label{letter-spacing:1px;color:var(--paper);text-shadow:1px 2px 1px var(--ink);font-size:9px;font-weight:1000;position:absolute;top:283px;right:24px}#fps{color:var(--lime);background:#25243eb0;border-radius:5px;padding:4px 7px;font:11px monospace;position:absolute;top:139px;left:26px}.speed-card{color:var(--paper);width:184px;text-shadow:2px 3px 0 var(--ink);position:absolute;bottom:29px;left:30px}.speed-card>strong{font:66px var(--display);font-variant-numeric:tabular-nums;line-height:1}.speed-card>span{font:900 11px var(--body);letter-spacing:1px;margin-left:5px}.speed-track{background:#25243ebb;border:1px solid #fff5;border-radius:3px;height:7px;margin:7px 0}.speed-track i{background:var(--lime);border-radius:2px;width:0;height:100%;display:block}.speed-card>small{letter-spacing:1px;font-size:10px;font-weight:900}.speed-card>small b{color:#ffe080}.drift-card{text-align:center;color:#fff;text-shadow:1px 2px var(--ink);width:270px;position:absolute;bottom:35px;left:50%;transform:translate(-50%)}.drift-card>span{letter-spacing:1px;font-size:9px;font-weight:1000}.drift-segments{gap:5px;margin:8px 0;display:flex}.drift-segments i{background:#25243e99;border:1px solid #fff9;border-radius:3px;flex:1;height:8px}.drift-segments i:first-child.charged{background:#78ddff}.drift-segments i:nth-child(2).charged{background:#f8bf65}.drift-segments i:nth-child(3).charged{background:#ee8dea}.drift-card small{opacity:.85;font-size:9px;font-weight:800}.item-card{background:var(--paper);border:3px solid var(--ink);width:216px;min-height:142px;box-shadow:4px 5px 0 var(--pink);text-align:left;border-radius:18px;grid-template-columns:60px 1fr;align-content:center;gap:4px 10px;padding:25px 13px 14px;display:grid;position:absolute;bottom:29px;right:30px}.item-shortcut{letter-spacing:1px;font-size:8px;font-weight:1000;position:absolute;top:8px;right:11px}.item-card>strong{font:47px var(--display);text-align:center;background:#e4eccd;border-radius:13px;grid-row:span 2;align-self:center;line-height:1.2}.item-card>span:not(.item-shortcut){font:17px var(--display);align-self:end}.item-card small{font-size:9px;font-weight:800;line-height:1.2}.item-card:disabled{background:#eeeae3dd}.item-card:disabled strong{color:#9c96a6}.item-card.ready{box-shadow:4px 5px 0 var(--lime);animation:.3s ease-out item-in}@keyframes item-in{0%{transform:scale(.85)}to{transform:scale(1)}}#finish-banner{background:var(--paper);border:3px solid var(--ink);text-align:center;box-shadow:5px 6px 0 var(--pink);border-radius:20px;padding:22px 30px;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%)}#finish-banner>span{font:36px var(--display);display:block}#finish-banner button{background:var(--lime);border-radius:8px;margin-top:12px;padding:10px;font-weight:1000}.overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#25243e80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.results-card{background:var(--paper);border:3px solid var(--ink);width:min(600px,100%);max-height:96vh;box-shadow:7px 8px 0 var(--ink);border-radius:24px;padding:25px 32px;overflow:auto}.results-card>.eyebrow{color:#9671ac}.results-card h1{font:48px/.95 var(--display);color:var(--ink);margin:10px 0}.results-card h1 em{color:#8fad37}.results-card>p:not(.eyebrow){font-size:12px;font-weight:800;line-height:1.4}.result-metrics{border-top:1px solid #ddd6cc;border-bottom:1px solid #ddd6cc;gap:15px;margin:15px 0;padding:14px 0;display:flex}.result-metrics>div{flex:1}.result-metrics small{letter-spacing:1px;color:#82738c;font-size:8px;font-weight:1000;display:block}.result-metrics strong{font:23px var(--display);margin-top:5px;display:block}.result-table-head{letter-spacing:1px;color:#8a7b94;justify-content:space-between;font-size:8px;font-weight:1000;display:flex}#standings{margin:7px 0 17px;padding:0;list-style:none}#standings li{border-radius:6px;gap:12px;padding:7px 10px;font-size:11px;font-weight:900;display:flex}#standings li.you{background:#e4efbf}#standings li b{font-variant-numeric:tabular-nums;margin-left:auto}#standings li i{border-radius:50%;align-self:center;width:8px;height:8px}.secondary{border:2px solid var(--ink);background:#eef1e5;border-radius:12px;width:100%;margin-top:13px;padding:12px;font-size:13px;font-weight:1000}.text-button{background:0 0;margin:16px auto 0;font-size:12px;font-weight:900;text-decoration:underline;display:block}dialog{border:3px solid var(--ink);background:var(--paper);color:var(--ink);width:calc(100% - 30px);max-width:500px;max-height:90vh;box-shadow:7px 8px 0 var(--ink);border-radius:22px;padding:27px}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#25243e99}dialog h2{font:37px/.98 var(--display);margin:12px 0 24px}dialog .eyebrow{color:#8a6aa4}.close{background:0 0;font-size:26px;position:absolute;top:12px;right:14px}dialog label{justify-content:space-between;align-items:center;gap:12px;margin:17px 0;font-size:12px;font-weight:900;display:flex}select{border:2px solid var(--ink);background:#ecf2e2;border-radius:8px;max-width:230px;padding:8px;font-size:12px}input[type=checkbox]{accent-color:#82a32e;width:20px;height:20px}.muted{color:#82738b;font-size:11px;font-weight:700;line-height:1.55}.controls-list{border-top:1px solid #ded6d0;grid-template-columns:110px 1fr;gap:7px;margin-top:17px;padding-top:17px;font-size:10px;display:grid}.controls-list span{color:#9271a4;font-weight:1000}.controls-list b{font-weight:800}#guide{max-width:710px}.guide-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.guide-grid article>span{font:25px var(--display);color:#a986c2}.guide-grid h3{font:21px var(--display);margin:7px 0}.guide-grid p{margin:0;font-size:12px;line-height:1.55}.touch-controls{display:none}@media (width>=1700px){.intro{width:490px;top:21%;left:7%}.course-panel{width:390px;top:20%;right:6%}.track-art{width:104px;height:77px}.track-copy strong{font-size:21px}.garage{padding:18px 24px;bottom:80px;left:6%;right:6%}.kart-card svg{width:90px}.kart-card strong{font-size:19px}.kart-card small{font-size:10px}.garage-heading{min-width:190px}.garage-heading h2{font-size:25px}.driver-tag{font-size:9px}.lead{font-size:16px}}@media (height<=780px) and (width>=901px){header{height:65px;top:15px}.intro{top:17%;left:4%}.intro h1{margin:13px 0;font-size:48px}.desktop-break{display:none}.intro .lead{margin:10px 0 13px;font-size:12px}.intro>.eyebrow{font-size:9px}.course-panel{width:314px;padding:14px;top:17%}.panel-heading h2{margin-bottom:10px;font-size:21px}.track-art{width:72px;height:56px}.track-card{margin-top:7px;padding:6px}.track-copy strong{font-size:16px}.course-foot{margin-top:10px;padding-top:9px}.garage{padding:10px 15px;bottom:59px}.mini-controls{margin-top:16px}.intro .primary{padding:10px 18px}#format-description{margin:9px 0 12px}}@media (width<=1200px){.driver-tag{display:none}.garage-heading{min-width:130px}.garage{gap:12px}.kart-card{gap:6px}.kart-card svg{width:52px}.intro{width:365px}.header-end>span{display:none}.garage-heading h2{font-size:17px}.kart-card small{font-size:7px}}@media (width<=900px){header{gap:10px;height:64px;padding:0 13px;top:12px;left:12px;right:12px}.brand{font-size:28px}nav{gap:2px}nav a{padding:8px;font-size:8px}.square{width:37px;height:37px;font-size:17px}.header-end{gap:0}.intro{width:calc(50% - 35px);top:105px;left:25px}.intro h1{font-size:42px}.desktop-break{display:none}.lead{font-size:11px}.race-format{flex-wrap:wrap}.race-format button{padding:8px;font-size:8px}#start-race{width:100%;font-size:19px}.course-panel{width:calc(46% - 20px);padding:13px;top:108px;right:20px}.track-art{width:63px;height:53px}.track-copy strong{font-size:14px}.track-copy span{font-size:8px}.track-copy small,.course-foot{font-size:7px}.panel-heading h2{font-size:21px}.garage{padding:11px;bottom:63px;left:20px;right:20px}.garage-heading{display:none}.kart-card svg{width:45px}.kart-card strong{font-size:12px}.mini-controls{gap:4px;font-size:7px}.mini-controls kbd{font-size:7px}.intro>.eyebrow{letter-spacing:1px;font-size:8px}footer{font-size:7px}footer>span:last-child{display:none}.race-top{gap:12px;inset:15px 14px auto}.position-card{min-width:105px;padding:4px 12px 18px}.position-card strong{font-size:47px}.position-card>span{font-size:16px}.lap-card{min-width:150px;padding:8px 12px}.lap-card strong{font-size:22px}.lap-card small{font-size:7px}#race-map{width:155px;height:143px;top:98px;right:9px}.map-label{font-size:7px;top:240px;right:15px}.speed-card{width:140px;bottom:125px;left:17px}.speed-card>strong{font-size:50px}.item-card{grid-template-columns:44px 1fr;width:178px;min-height:102px;padding:22px 9px 10px;bottom:128px;right:17px}.item-card>strong{font-size:35px}.item-card>span:not(.item-shortcut){font-size:13px}.item-card small{font-size:8px}.drift-card{width:240px;bottom:84px}.touch-controls{gap:9px;display:flex;position:absolute;bottom:18px;left:15px;right:15px}.touch-controls button{border:2px solid var(--ink);background:var(--paper);width:56px;height:52px;box-shadow:0 3px 0 var(--ink);touch-action:none;border-radius:13px;font-size:10px;font-weight:1000}.touch-controls button:last-child{background:var(--lime);width:70px}.touch-controls button:nth-child(3){margin-left:auto}.touch-controls button.pressed{background:var(--blue)}#fps{top:100px;left:17px}#countdown{font-size:110px}}@media (width<=580px){html,body{overflow:auto}header{gap:7px;height:58px;padding:0 10px;position:absolute}.brand{font-size:24px}.brand i{font-size:16px}nav a{padding:7px 5px;font-size:7px}.header-end{margin-left:auto}.header-end .square{width:30px;height:30px;font-size:15px}#lobby{min-height:1110px;position:absolute;inset:0;overflow:hidden}.intro{width:calc(100% - 46px);top:94px;left:23px}.intro h1{max-width:370px;margin:15px 0;font-size:52px}.intro .lead{font-size:12px}.race-format{flex-wrap:nowrap}.race-format button{flex:1;font-size:8px}.mini-controls{justify-content:center}.course-panel{width:auto;padding:14px;top:490px;left:23px;right:23px}.track-art{width:83px;height:56px}.track-copy strong{font-size:17px}.track-copy span{font-size:9px}.course-foot{font-size:8px}.garage{padding:10px;display:block;inset:885px 23px auto}#kart-cards{gap:5px}.kart-card{text-align:center;flex-direction:column;gap:2px;padding:8px 4px}.kart-card svg{width:62px}.kart-card strong{font-size:12px}.kart-card small{display:none}.kart-stats{justify-content:center}.garage-heading{display:none}footer{height:45px;padding:0 23px;font-size:7px;bottom:12px}footer button{font-size:10px}.scene-shade{background:linear-gradient(90deg,#25243ebb,#25243e66)}body.racing{overflow:hidden}.race-top{gap:8px}.position-card{min-width:92px}.lap-card{min-width:134px;padding:8px}.lap-card strong{font-size:20px}#race-map{width:124px;height:115px;top:112px}.map-label{max-width:140px;top:225px}.speed-card{width:120px}.speed-card>strong{font-size:46px}.speed-card>small{font-size:8px}.item-card{grid-template-columns:37px 1fr;width:163px;right:14px}.item-card small{font-size:7px}.item-card>strong{font-size:29px}.drift-card{width:220px;bottom:87px}#race-callout{width:max-content;max-width:90%;font-size:10px;top:30%}#finish-banner{width:85%}#finish-banner>span{font-size:30px}.results-card{padding:20px}.results-card h1{font-size:38px}.result-metrics strong{font-size:19px}.result-metrics{gap:8px}.guide-grid{grid-template-columns:1fr}dialog h2{font-size:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}#drive-button{border:2px solid var(--ink);background:var(--lime);letter-spacing:1px;box-shadow:0 3px 0 var(--ink);border-radius:10px;padding:9px 14px;font-size:9px;font-weight:1000;position:absolute;top:24px;left:50%;transform:translate(-50%)}@media (width<=900px){#drive-button{padding:7px 10px;font-size:8px;top:104px;left:17px;transform:none}body:has(#drive-button:not([hidden])) #fps{top:145px}}@media (width<=580px){footer>span:first-of-type{display:none}#lobby{flex-direction:column;gap:25px;width:100%;height:auto;min-height:100%;padding:94px 23px 20px;display:flex;inset:0 auto auto 0;overflow:visible}#lobby .intro,#lobby .course-panel,#lobby .garage,#lobby footer{width:100%;margin:0;position:relative;inset:auto}#lobby .intro .mini-controls{margin:19px 0 0}#lobby footer{flex-shrink:0;gap:8px;height:35px;padding:0}.drift-card{bottom:78px}.drift-card>span{font-size:8px}.drift-segments{margin:5px 0}.drift-card small{display:none}}#kart-cards{scroll-snap-type:x mandatory;min-width:0;padding:3px 3px 7px;overflow-x:auto}.kart-card{scroll-snap-align:start;flex:0 0 180px}.driver-tag,#drive-gesture{display:none}.mobile-game .garage #kart-cards{gap:10px}.mobile-game .garage .kart-card{text-align:center;border-radius:15px;flex-direction:column;flex:0 0 145px;min-height:118px;padding:10px}.mobile-game .garage .kart-card svg{width:85px;height:52px}.mobile-game .garage .kart-card small{font-size:8px;display:block}.mobile-game .garage .kart-card,.mobile-game .garage #kart-cards{touch-action:pan-x pan-y}.mobile-game body.drag-drive .touch-controls{gap:9px;left:auto}.mobile-game body.drag-drive .touch-controls [data-touch=left],.mobile-game body.drag-drive .touch-controls [data-touch=right],.mobile-game body.drag-drive .touch-controls [data-touch=throttle]{display:none}.mobile-game body.drag-drive .touch-controls button{border-radius:18px;width:54px;height:54px;margin:0}.mobile-game body.drag-drive .touch-controls [data-touch=drift]{background:#d6f96e}.mobile-game body.drag-drive #drive-gesture{bottom:var(--safe-bottom);left:var(--safe-left);color:#fff4d6;box-sizing:border-box;pointer-events:none;background:#24243e9e;border:1px solid #fff5dc70;border-radius:17px;grid-template-columns:30px 1fr;align-items:center;gap:6px 10px;width:180px;height:54px;padding:7px 12px;display:grid;position:absolute}.drive-wheel{grid-row:span 2;font-size:30px;line-height:30px}.drive-track{background:#fff4d650;border-radius:3px;width:95px;height:3px;position:relative}.drive-track i{background:#fff4d6;border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;left:43px}#drive-instruction{letter-spacing:.7px;white-space:nowrap;margin:0;font-size:6px;font-weight:900}.mobile-game body.drag-driving #drive-gesture{background:#253a35b8;border-color:#d6f96e}.drag-driving .drive-wheel{color:#d6f96e}.drag-driving .drive-track i{background:#d6f96e}@media (orientation:landscape){.mobile-game body.drag-drive .speed-card{left:220px}.mobile-game body.drag-drive .drift-card{bottom:25px}.mobile-game body.drag-drive .item-card{bottom:85px}}#race-tactics{background:var(--paper);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);opacity:0;pointer-events:none;border-radius:14px;grid-template-columns:30px auto;align-items:center;gap:3px 8px;padding:10px 14px;transition:opacity .15s,transform .15s;display:grid;position:absolute;top:150px;left:32px;transform:translateY(-6px)}#race-tactics.active{opacity:1;transform:none}#tactic-icon{font:30px var(--display);color:#8645ab;grid-row:span 2}#tactic-label{font-size:12px;font-weight:900}#race-tactics i{background:#25243e20;border-radius:5px;height:5px;overflow:hidden}#tactic-fill{background:#a4d548;border-radius:5px;height:100%;display:block}#rocket-warning{border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);font:18px var(--display);pointer-events:none;background:#ff96b5;border-radius:12px;padding:9px 18px;position:absolute;top:125px;left:50%;transform:translate(-50%)}#reserve-item{background:var(--blue);border:3px solid var(--ink);width:44px;height:44px;box-shadow:0 3px 0 var(--ink);font:27px var(--display);border-radius:12px;place-items:center;display:grid;position:absolute;top:-22px;right:-12px}.item-card.defend{outline-offset:3px;background:#ffb8d1;outline:3px solid #fff5da}@media (width<=900px){#race-tactics{max-width:190px;padding:7px 10px;top:145px;left:16px}#tactic-label{font-size:10px}#rocket-warning{font-size:15px;top:105px}#reserve-item{width:35px;height:35px;font-size:23px;top:-19px;right:-4px}}@media (orientation:landscape) and (height<=580px){#race-tactics{padding:5px 9px;top:112px}#rocket-warning{top:88px}}body.racing.race-boost .scene-shade{transition:box-shadow .2s;box-shadow:inset 35px 0 65px -48px #b9f4ef,inset -35px 0 65px -48px #b9f4ef}@media (width<=900px){body:has(#drive-button:not([hidden])) #rocket-warning{top:208px}}#race-intro{z-index:22;pointer-events:none;color:var(--ink);position:fixed;inset:0}#race-intro:before,#race-intro:after{content:"";background:var(--ink);height:5.5vh;position:absolute;left:0;right:0}#race-intro:before{top:0}#race-intro:after{bottom:0}.intro-cut{background:var(--ink);opacity:var(--intro-cut,0);position:absolute;inset:0}.race-intro-caption{left:max(5vw,env(safe-area-inset-left));border:3px solid var(--ink);background:var(--paper);max-width:calc(100% - 235px);box-shadow:5px 5px var(--course-accent,var(--lime)),9px 9px var(--ink);border-radius:20px;padding:17px 23px 14px;position:absolute;bottom:10vh}.race-intro-caption>span{font:900 11px var(--body);letter-spacing:.08em;color:#7e608e}.race-intro-caption h2{font:clamp(23px,3.1vw,42px)/1 var(--display);margin:7px 0 11px}.race-intro-progress{background:#25243e20;border-radius:4px;height:4px;overflow:hidden}.race-intro-progress i{transform-origin:0;width:100%;height:100%;transform:scaleX(var(--intro-progress,0));background:#ae37c9;display:block}#intro-skip{right:max(5vw,env(safe-area-inset-right));background:var(--paper);border:3px solid var(--ink);box-shadow:0 5px var(--ink);font:21px var(--display);pointer-events:auto;border-radius:15px;align-items:center;gap:12px;min-height:49px;padding:12px 17px;display:flex;position:absolute;bottom:10vh}#intro-skip>span{color:#b32bd0;font:25px var(--body)}#intro-skip kbd{font-size:9px}body.race-introducing .scene-shade{background:0 0}body.race-winner #finish-banner{top:18%}@media (width<=650px){.race-intro-caption{border-radius:16px;max-width:none;padding:14px 17px;bottom:19vh;left:20px;right:20px}.race-intro-caption h2{font-size:27px}.race-intro-caption>span{font-size:10px}#intro-skip{padding:10px 16px;font-size:19px;bottom:9vh;right:22px}#intro-skip kbd{display:none}}@media (orientation:landscape) and (height<=550px){.race-intro-caption{max-width:65%;padding:10px 16px;bottom:10vh;left:24px}.race-intro-caption h2{margin:5px 0 8px;font-size:26px}#intro-skip{bottom:10vh;right:24px}#intro-skip kbd{display:none}}
