:root{--ink:#17202b;--cream:#fffaf0;--yellow:#ffd84a;--blue:#55c8ff;--red:#ff5b55;--glass:rgba(11,22,35,.66)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#eaf8ff;color:var(--ink);font-family:Arial Rounded MT Bold,Avenir Next,system-ui,sans-serif}button{font:inherit;color:inherit}.page-shell{width:min(1440px,100%);margin:auto;padding:12px}.topbar{height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px}.wordmark{font-size:20px;font-weight:1000;letter-spacing:-.04em}.wordmark span{font-size:11px;font-weight:800;letter-spacing:.06em;margin-left:8px;color:#5c6b78}.ghost{border:0;background:transparent;font-size:11px;font-weight:900;letter-spacing:.08em;padding:10px}.game-frame{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;border:3px solid var(--ink);border-radius:24px;background:linear-gradient(#8bdcff,#dff6ff);box-shadow:0 12px 0 var(--ink),0 22px 50px rgba(20,60,90,.22);touch-action:none;user-select:none;-webkit-user-select:none}#renderCanvas{display:block;width:100%;height:100%;outline:0}.hud{position:absolute;inset:14px 16px auto;display:grid;grid-template-columns:110px 90px 1fr 120px;align-items:start;gap:8px;color:white;text-shadow:0 3px 0 rgba(0,0,0,.42);pointer-events:none}.hud>div{display:flex;flex-direction:column}.hud small{font-size:10px;letter-spacing:.12em}.hud strong{font-weight:1000}.position{flex-direction:row!important;align-items:baseline}.position strong{font-size:54px;line-height:.8;color:var(--yellow);font-style:italic}.position span{font-size:17px}.lap strong,.time strong{font-size:19px}.time{text-align:center}.speed{text-align:right;align-items:flex-end}.speed strong{font-size:36px;line-height:.8}.item-slot{position:absolute;left:18px;top:92px;width:66px;height:66px;border:4px solid white;border-radius:17px;background:linear-gradient(135deg,#2a3441,#111820);display:grid;place-items:center;color:white;box-shadow:0 5px 0 rgba(0,0,0,.35);transform:rotate(-3deg)}.item-slot span{font-size:33px;font-weight:1000}.boost-meter{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:min(260px,30%);color:white;font-size:9px;font-weight:900;letter-spacing:.1em;text-shadow:0 2px #000}.boost-meter i{height:10px;margin-top:4px;display:block;border:2px solid white;border-radius:9px;background:#20303e;overflow:hidden}.boost-meter b{display:block;width:0;height:100%;background:linear-gradient(90deg,#57d8ff,#fff76a,#ff8b32)}.race-message{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(90px,20vw,260px);font-weight:1000;font-style:italic;color:white;text-shadow:0 10px 0 #182331,0 16px 30px rgba(0,0,0,.35);pointer-events:none;opacity:0;transform:scale(.7)}
.touch-controls{position:absolute;inset:auto 14px 14px;display:flex;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;align-items:flex-end;gap:9px}.touch-controls button{pointer-events:auto;border:3px solid rgba(255,255,255,.92);background:rgba(13,27,39,.57);color:white;box-shadow:0 5px 0 rgba(0,0,0,.3);backdrop-filter:blur(5px);width:68px;height:68px;border-radius:50%;font-size:32px;font-weight:1000}.touch-controls .pedal-pad button{font-size:10px}.touch-controls .gas{width:78px;height:78px;background:rgba(38,177,87,.76)}.touch-controls .drift{background:rgba(255,153,37,.72)}.touch-controls button.active{transform:translateY(4px);box-shadow:0 1px 0 rgba(0,0,0,.3);filter:brightness(1.2)}
.menu,.finish-panel{position:absolute;inset:0;display:grid;place-items:center;padding:26px;background:linear-gradient(90deg,rgba(2,17,31,.78),rgba(2,17,31,.12));transition:.35s}.menu-card{width:min(480px,90%);margin-right:auto;background:rgba(255,250,240,.95);border:3px solid var(--ink);border-radius:24px;padding:24px;box-shadow:9px 9px 0 var(--ink)}.eyebrow{margin:0;font-size:10px;font-weight:1000;letter-spacing:.18em}.menu h1{font-size:clamp(48px,8vw,82px);line-height:.8;letter-spacing:-.07em;margin:14px 0 0}.subtitle{font-size:20px;font-weight:900;color:#ff645e;margin:5px 0 20px}.track-card{display:grid;grid-template-columns:96px 1fr;gap:13px;align-items:center;border:2px solid var(--ink);padding:8px;border-radius:16px;background:white}.track-art{height:70px;border-radius:10px;background:linear-gradient(145deg,#43c1ff 0 48%,#fff0ae 49% 60%,#3fa864 61%);display:grid;place-items:center;color:white;font-size:34px;font-weight:1000;text-shadow:0 3px #134}.track-card small{font-size:9px;letter-spacing:.12em}.track-card strong{display:block;font-size:18px}.track-card p{font-size:10px;margin:2px 0;color:#667}.menu-actions{display:flex;gap:9px;margin-top:14px}.menu-actions button,.finish-panel button{flex:1;border:2px solid var(--ink);border-radius:999px;background:white;padding:12px;font-size:11px;font-weight:1000}.menu-actions .primary,.finish-panel .primary{background:var(--yellow);box-shadow:0 4px 0 var(--ink)}.help{font-size:9px;text-align:center;margin:13px 0 0;color:#64717b}.finish-panel{background:rgba(5,15,25,.56)}.finish-panel .compact{margin:auto;text-align:center}.finish-panel h2{font-size:50px;margin:10px 0 0}.result-time{font-size:26px}.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#eaf8ff;z-index:20;font-size:12px;letter-spacing:.12em}.loading span{width:220px;height:10px;border:2px solid var(--ink);border-radius:10px;overflow:hidden}.loading i{display:block;height:100%;width:35%;background:var(--yellow);animation:load 1s infinite alternate ease-in-out}.loading.done{opacity:0;visibility:hidden;transition:.45s}.build-note{text-align:center;margin:22px 0 0;font-size:10px;color:#64717b;letter-spacing:.08em}@keyframes load{to{transform:translateX(185%)}}
@media(pointer:fine){.touch-controls{opacity:.35}.touch-controls:hover{opacity:1}}@media(max-width:720px){.page-shell{padding:0}.topbar{height:42px;padding:0 5px}.wordmark{font-size:15px}.wordmark span{display:none}.game-frame{border-width:0;border-radius:0;box-shadow:none;max-height:calc(100vh - 42px)}.hud{inset:9px 10px auto;grid-template-columns:72px 64px 1fr 74px}.position strong{font-size:39px}.lap strong,.time strong{font-size:13px}.speed strong{font-size:26px}.item-slot{top:66px;left:10px;width:49px;height:49px}.item-slot span{font-size:23px}.touch-controls{inset:auto 8px 8px}.touch-controls button{width:56px;height:56px}.touch-controls .gas{width:64px;height:64px}.boost-meter{bottom:8px}.menu-card{padding:17px}.menu h1{font-size:46px}.track-card{grid-template-columns:70px 1fr}.track-art{height:55px}.help{display:none}.build-note{display:none}}
@media(max-height:520px){.topbar{display:none}.game-frame{height:100vh;max-height:none;aspect-ratio:auto}.menu-card{transform:scale(.86)}}
.loading small{max-width:280px;text-align:center;font-size:11px;letter-spacing:0;color:#64717b}
