@import"https://fonts.googleapis.com/css2?family=Lilita+One&family=Titan+One&family=Baloo+2:wght@800&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Orbitron:wght@400..900&family=Oswald:wght@200..700&display=swap";*{margin:0;padding:0;box-sizing:border-box;touch-action:manipulation;-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}html,body{height:100%;overflow:hidden;overscroll-behavior:none;background:#2fb8ff}body{font-family:Oswald,sans-serif;font-optical-sizing:auto;font-style:normal}@font-face{font-family:mario_kart_f2;src:url(/fonts/mario_kart_f2.ttf);font-display:swap}@font-face{src:url(https://assets.codepen.io/4175254/DIN2014-DemiBold.ttf) format("truetype");font-family:"DIN 2014"}.canvas-container{width:100vw;height:100vh;height:100dvh;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;background:linear-gradient(180deg,#2fb8ff,#8fe1ff 58%,#fff1a6 58%,#ffd86b)}.loading-screen .loading-status{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:14px;font-family:Lilita One,system-ui,sans-serif;font-size:14px;color:#1d1442}.loading-screen .loading-bar{position:absolute;left:0;bottom:0;height:6px;width:100%;transform-origin:left center;background:repeating-linear-gradient(-45deg,#1d1442 0,#1d1442 10px,#ffcc19 10px,#ffcc19 20px);transition:transform .3s ease-out}:root{--ink: #1d1442;--ink-soft: rgba(29, 20, 66, .72);--paper: #ffffff;--red: #ee2c2f;--red-lip: #a3121a;--blue: #2a7bff;--blue-lip: #1446a8;--yellow: #ffcc19;--yellow-lip: #c48a00;--green: #22b450;--green-lip: #11702e;--drift-blue: #45c3ff;--drift-orange: #ff9a1f;--drift-purple: #c056ff;--font-ui: "Lilita One", "Arial Rounded MT Bold", system-ui, sans-serif;--font-mk: "mario_kart_f2", "Lilita One", system-ui, sans-serif;--font-num: "Titan One", "Lilita One", system-ui, sans-serif;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--gt: max(10px, var(--sat));--gr: max(14px, var(--sar));--gb: max(10px, var(--sab));--gl: max(14px, var(--sal))}.ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;font-family:var(--font-ui);color:var(--ink);-webkit-tap-highlight-color:transparent}.ui-root *{font-family:inherit}.ui-root button,.ui-root input,.ui-root a,.ui-root .screen{pointer-events:auto}.sticker{background:var(--paper);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 5px 0 var(--ink)}.field-label{display:block;font-size:13px;color:var(--ink-soft);letter-spacing:.02em}.screen-title{font-weight:400;font-size:clamp(22px,6.5vh,40px);line-height:1;color:var(--paper);text-shadow:0 3px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink),0 -2px 0 var(--ink),2px 3px 0 var(--ink),-2px 3px 0 var(--ink)}.screen-title .count{font-size:.6em;vertical-align:.2em}.checker-strip{height:14px;width:min(260px,100%);border:3px solid var(--ink);border-radius:4px;background:repeating-conic-gradient(var(--ink) 0 25%,var(--paper) 0 50%) 0 0 / 14px 14px;box-shadow:3px 3px 0 var(--ink)}.block-btn{--c: var(--red);--lip: var(--red-lip);--fg: var(--paper);-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:52px;padding:8px 18px 11px;border:3px solid var(--ink);border-radius:14px;background:var(--c);color:var(--fg);text-align:left;cursor:pointer;box-shadow:inset 0 -6px 0 var(--lip),0 5px 0 var(--ink);transform:translateY(0);transition:transform 70ms ease-out,box-shadow 70ms ease-out,filter .12s;touch-action:manipulation}.block-btn .btn-main{font-size:clamp(17px,4.9vh,26px);line-height:1.05;text-shadow:0 2px 0 rgba(29,20,66,.55)}.block-btn .btn-sub{font-size:clamp(11px,3.3vh,15px);line-height:1.15;opacity:.92}.block-btn svg{width:22px;height:22px;flex:none}.block-btn:hover:not(:disabled){filter:brightness(1.06)}.block-btn:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 -2px 0 var(--lip),0 1px 0 var(--ink)}.block-btn:disabled{cursor:default;filter:saturate(.25) brightness(.95);opacity:.8}.block-btn:focus-visible,.icon-btn:focus-visible,.seg button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.btn-red{--c: var(--red);--lip: var(--red-lip)}.btn-blue{--c: var(--blue);--lip: var(--blue-lip)}.btn-yellow{--c: var(--yellow);--lip: var(--yellow-lip);--fg: var(--ink)}.btn-yellow .btn-main{text-shadow:0 2px 0 rgba(255,255,255,.6)}.btn-green{--c: var(--green);--lip: var(--green-lip)}.btn-white{--c: var(--paper);--lip: #c9c6dc;--fg: var(--ink)}.btn-white .btn-main{text-shadow:none}.btn-compact{flex-direction:row;align-items:center;gap:8px;min-height:46px;padding:6px 16px 9px}.btn-small{min-height:46px;padding:6px 16px 9px}.btn-small .btn-main{font-size:clamp(15px,4.2vh,21px)}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;width:44px;height:44px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer}.icon-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.corner-tr{position:absolute;top:var(--gt);right:var(--gr);z-index:2}.corner-group{display:flex;gap:8px}.swatch{flex:none;width:18px;height:18px;border:2.5px solid var(--ink);border-radius:6px}.pm-num,.pm-sfx,.cd-beat,.room-code,.logo-line,.finish-line,.banner[data-text]{position:relative;display:inline-block;color:transparent}.pm-num:before,.pm-sfx:before,.cd-beat:before,.room-code:before,.logo-line:before,.finish-line:before,.banner[data-text]:before,.pm-num:after,.pm-sfx:after,.cd-beat:after,.room-code:after,.logo-line:after,.finish-line:after,.banner[data-text]:after{content:attr(data-text);position:absolute;left:0;top:0;white-space:nowrap}.pm-num:before,.pm-sfx:before,.cd-beat:before,.room-code:before,.logo-line:before,.finish-line:before{color:var(--ink);-webkit-text-stroke:var(--stroke, .14em) var(--ink)}.pm-num:after,.pm-sfx:after,.cd-beat:after,.room-code:after,.logo-line:after,.finish-line:after{color:var(--fill-color, var(--paper));background:var(--fill, none);-webkit-background-clip:text;background-clip:text}.pm-num:after,.pm-sfx:after,.cd-beat:after,.logo-line:after,.finish-line:after{color:transparent}.place-mark{display:inline-flex;align-items:flex-start;font-family:var(--font-num);line-height:1;filter:drop-shadow(0 .05em 0 var(--ink));--fill: linear-gradient(180deg, #e8f4ff 0%, #8fc6ff 48%, #2a6fe8 52%, #6fb2ff 100%)}.place-mark .pm-num{font-size:1em;--stroke: .16em}.place-mark .pm-sfx{font-size:.42em;margin-left:.06em;margin-top:.08em;--stroke: .2em}.place-mark.tone-gold{--fill: linear-gradient(180deg, #fffbd0 0%, #ffe04a 46%, #f5a800 54%, #ffd23a 100%)}.place-mark.tone-silver{--fill: linear-gradient(180deg, #ffffff 0%, #e4ebf3 46%, #9fb0c4 54%, #dfe7f0 100%)}.place-mark.tone-bronze{--fill: linear-gradient(180deg, #ffe6c8 0%, #ffb366 46%, #c8661c 54%, #f0a058 100%)}.place-mark.pop-up{animation:place-pop .42s cubic-bezier(.2,1.6,.4,1)}.place-mark.pop-down{animation:place-drop .38s ease-out}@keyframes place-pop{0%{transform:scale(1.45) rotate(-6deg)}to{transform:none}}@keyframes place-drop{0%{transform:translateY(-14%) scale(.9);opacity:.6}to{transform:none;opacity:1}}.screen{position:fixed;top:0;right:0;bottom:0;left:0;padding:var(--gt) var(--gr) var(--gb) var(--gl);overflow:hidden}.title-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:1fr auto;column-gap:clamp(18px,4vw,64px);align-items:center;max-width:1120px;margin:0 auto}.title-left{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(10px,3vh,22px);container-type:inline-size}.title-right{display:flex;flex-direction:column;gap:clamp(8px,2.6vh,16px)}.logo{display:flex;flex-direction:column;align-items:flex-start;font-family:"Baloo 2",var(--font-num),system-ui,sans-serif;font-weight:800;line-height:.82;transform:rotate(-4deg);transform-origin:left center;filter:drop-shadow(0 5px 0 var(--ink))}.logo-line{--stroke: .2em;white-space:nowrap}.logo-row{display:flex;align-items:center;gap:.25em}.logo-a{font-size:min(14vh,7.4vw,104px);font-size:min(14vh,15cqi,128px);--fill: linear-gradient(180deg, #ff7a5c 0%, #ee2c2f 50%, #b8141c 100%)}.logo-b{font-size:min(17vh,9vw,128px);font-size:min(17vh,19cqi,150px);--stroke: .16em;transform:translate(.35em);--fill: linear-gradient(180deg, #fff6b0 0%, #ffd21a 50%, #f5a300 100%)}.name-field{width:min(320px,100%);padding:6px 14px 8px;cursor:text}.name-field input{display:block;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:clamp(20px,6vh,30px);line-height:1.15;padding:0;user-select:text;-webkit-user-select:text}.name-field:focus-within{box-shadow:4px 5px 0 var(--ink),0 0 0 4px var(--yellow)}.name-field input::placeholder{color:#1d144259}.join-row{display:flex;gap:10px}.code-input{flex:1;min-width:0;height:56px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);box-shadow:0 5px 0 var(--ink);color:var(--ink);font-size:clamp(22px,6.4vh,30px);letter-spacing:.16em;text-transform:uppercase;padding:0 14px;outline:0;user-select:text;-webkit-user-select:text}.code-input::placeholder{letter-spacing:.02em;text-transform:none;color:#1d144266}.code-input:focus{box-shadow:0 5px 0 var(--ink),0 0 0 4px var(--yellow)}.join-row .block-btn{flex:none;width:clamp(96px,16vw,150px);height:56px;min-height:0;align-items:center}.title-status{min-height:1.3em;font-size:15px;line-height:1.3;color:var(--paper);text-shadow:0 2px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.title-status.is-error{align-self:flex-start;color:var(--paper);background:var(--red);border:2.5px solid var(--ink);border-radius:10px;padding:4px 10px;text-shadow:0 1px 0 var(--ink)}.fan-note{grid-column:1 / -1;justify-self:center;font-size:11px;line-height:1.3;color:var(--paper);text-shadow:0 1px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink);text-align:center;padding-top:4px}.lobby-screen{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(16px,3.5vw,56px);align-items:center;max-width:1120px;margin:0 auto}.lobby-left{display:flex;flex-direction:column;gap:12px;align-items:stretch}.code-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 16px 16px;transform:rotate(-2deg)}.room-code{font-family:var(--font-num);font-size:min(17vh,7.2vw,112px);line-height:1.1;letter-spacing:.04em;white-space:nowrap;--stroke: .12em;--fill-color: var(--yellow);filter:drop-shadow(0 4px 0 var(--ink));margin-bottom:4px}.share-note{font-size:15px;color:var(--green-lip)}.manual-link{width:100%;font-size:13px;padding:6px 8px;border:2px solid var(--ink);border-radius:8px;user-select:text;-webkit-user-select:text}.lobby-hint{font-size:14px;line-height:1.3;color:var(--paper);text-shadow:0 2px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.lobby-right{display:flex;flex-direction:column;gap:clamp(8px,2.4vh,16px);min-height:0;max-height:100%}.racer-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;min-height:0;padding:2px 4px 4px 2px}.racer-chip{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 8px 4px 10px;background:var(--paper);border:2.5px solid var(--ink);border-radius:10px;box-shadow:2px 3px 0 var(--ink);font-size:clamp(14px,4.2vh,19px)}.racer-chip.is-me{background:#fff6c4}.racer-chip.is-empty{grid-column:1 / -1;justify-content:center;color:var(--ink-soft)}.racer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:12px;padding:2px 7px;border-radius:7px;border:2px solid var(--ink)}.tag svg{width:13px;height:13px}.tag-host{background:var(--yellow)}.tag-bot{background:#dcd9ee}.tag-ready{background:var(--green);color:var(--paper)}.tag-wait{background:var(--paper);color:var(--ink-soft);border-style:dashed}.lobby-actions{display:flex;gap:10px;align-items:stretch}.lobby-actions .btn-grow{flex:1;min-width:0}.lobby-actions .btn-white{flex:none;width:36%;align-items:center;text-align:center}.lobby-leave{position:absolute;top:var(--gt);right:var(--gr);z-index:2}.hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.hud-tl{position:absolute;top:var(--gt);left:var(--gl);display:flex;gap:8px;align-items:stretch}.hud-tl .icon-btn{pointer-events:auto}.lap-timer{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px 0 10px;border-radius:12px;box-shadow:0 4px 0 var(--ink)}.lap{display:flex;align-items:baseline;gap:4px}.lap-word{font-size:15px;color:var(--ink-soft)}.lap-num{font-family:var(--font-num);font-size:30px;line-height:1;color:var(--red)}.lap-of{font-size:17px;color:var(--ink-soft)}.race-time{font-size:20px;min-width:4.6em;font-variant-numeric:tabular-nums;padding-left:12px;border-left:2.5px solid rgba(29,20,66,.18)}.hud-map{position:absolute;top:calc(var(--gt) + 56px);left:var(--gl);width:clamp(104px,15vw,200px);aspect-ratio:325 / 290}.minimap{display:block;width:100%;height:100%}.hud-tr{position:absolute;top:calc(var(--gt) - 4px);right:var(--gr);text-align:right}.place-badge{display:flex;flex-direction:column;align-items:flex-end}.place-badge .place-mark{font-size:clamp(64px,21vh,150px)}.place-of{margin-top:-4px;font-size:15px;color:var(--paper);text-shadow:0 2px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.banner-slot{position:absolute;top:calc(var(--gt) + 72px);left:50%;transform:translate(-50%)}.banner{font-size:clamp(22px,7.5vh,46px);line-height:1;padding:.2em .6em .26em;border:3px solid var(--ink);border-radius:12px;box-shadow:0 5px 0 var(--ink);white-space:nowrap;animation:banner-in .36s cubic-bezier(.2,1.5,.4,1)}.banner[data-text]{color:inherit}.banner[data-text]:before,.banner[data-text]:after{content:none}.tone-lap{background:var(--paper);color:var(--ink)}.tone-final{background:var(--red);color:var(--paper);text-shadow:0 2px 0 var(--red-lip);transform-origin:center}.tone-wrong{color:var(--ink);background:repeating-linear-gradient(-45deg,var(--yellow) 0 16px,#ffe680 16px 32px);animation:wrong-blink .9s steps(2,jump-none) infinite}@keyframes banner-in{0%{transform:translateY(-30px) scale(.7);opacity:0}to{transform:none;opacity:1}}@keyframes wrong-blink{50%{background:var(--red);color:var(--paper)}}.hud-tc{position:absolute;top:var(--gt);left:50%;transform:translate(-50%);animation:fade-in .2s ease-out .9s both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.item-slot{display:grid;place-items:center;width:62px;height:62px;border:3px solid var(--ink);border-radius:16px;background:radial-gradient(circle at 50% 40%,#fff 0,#fff 55%,#e7e5f2);box-shadow:0 4px 0 var(--ink),inset 0 0 0 3px #ffffffe6;opacity:.85}.item-slot.is-held{opacity:1;animation:item-land .26s cubic-bezier(.2,1.6,.4,1)}.item-slot.is-rolling{opacity:1;box-shadow:0 4px 0 var(--ink),0 0 0 3px var(--yellow)}@keyframes item-land{0%{transform:scale(1.25)}to{transform:none}}.grid-wait{position:absolute;left:0;right:0;top:22%;display:flex;justify-content:center;padding:0 var(--gr) 0 var(--gl)}.grid-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 20px 14px;max-width:min(520px,100%)}.grid-card .checker-strip{width:140px}.grid-text{font-size:clamp(17px,5vh,26px);text-align:center;line-height:1.2}.hud-bc{position:absolute;bottom:var(--gb);left:50%;transform:translate(-50%)}.speed-drift{--charge: rgba(29, 20, 66, .2);display:flex;align-items:center;gap:10px;padding:5px 12px;background:var(--paper);border:3px solid var(--ink);border-radius:12px;box-shadow:0 4px 0 var(--ink)}.speed-num{display:flex;align-items:baseline;gap:3px;min-width:4.4em;justify-content:flex-end}.speed-num span{font-size:20px;font-variant-numeric:tabular-nums}.speed-num small{font-size:11px;color:var(--ink-soft)}.speed-bar{position:relative;width:clamp(80px,11vw,170px);height:14px;border:2.5px solid var(--ink);border-radius:4px;background:#e7e5f2;overflow:hidden;transform:skew(-18deg)}.speed-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#7ce0ff,var(--blue))}.speed-drift.is-boost .speed-fill{background:linear-gradient(90deg,var(--yellow),var(--drift-orange),var(--red))}.turbo-segs{display:flex;gap:3px;transform:skew(-18deg)}.turbo-seg{position:relative;width:22px;height:16px;border:2.5px solid var(--ink);border-radius:3px;background:linear-gradient(180deg,#2a3268,#161b40);box-shadow:inset 0 2px #ffffff1f;overflow:hidden}.turbo-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;transform:scaleX(0);transition:transform .16s ease-out;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 45%,transparent 60%) 0 0 / 260% 100%,linear-gradient(180deg,#8ff4ff,#28b8dc);animation:turbo-shimmer 1.4s linear infinite}.turbo-seg:after{content:"";position:absolute;left:0;right:0;top:0;height:40%;background:#ffffff38;pointer-events:none}.turbo-seg.is-full{animation:turbo-pop .32s cubic-bezier(.3,1.6,.5,1),turbo-ready 1.6s ease-in-out .32s infinite}.turbo-seg.is-full .turbo-fill{background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.75) 45%,transparent 60%) 0 0 / 260% 100%,linear-gradient(180deg,#e2feff,#46e6ff 45%,#12a8d8)}@keyframes turbo-shimmer{0%{background-position:130% 0,0 0}to{background-position:-130% 0,0 0}}@keyframes turbo-pop{0%{transform:scale(1)}45%{transform:scale(1.28);box-shadow:0 0 14px 4px #78f8ff}to{transform:scale(1)}}@keyframes turbo-ready{0%,to{box-shadow:0 0 5px 1px #3ff0ffbf}50%{box-shadow:0 0 11px 3px #78f8ff}}.drift-pips{display:flex;gap:5px}.pip{width:14px;height:14px;border:2.5px solid var(--ink);border-radius:50%;background:#e7e5f2}.speed-drift[data-drift=blue] .pip-1,.speed-drift[data-drift=orange] .pip-1,.speed-drift[data-drift=purple] .pip-1{background:var(--drift-blue)}.speed-drift[data-drift=orange] .pip-2,.speed-drift[data-drift=purple] .pip-2{background:var(--drift-orange)}.speed-drift[data-drift=purple] .pip-3{background:var(--drift-purple)}.speed-drift[data-drift=blue]{border-color:#0e6aa8;box-shadow:0 4px 0 var(--ink),0 0 0 3px var(--drift-blue)}.speed-drift[data-drift=orange]{box-shadow:0 4px 0 var(--ink),0 0 0 3px var(--drift-orange)}.speed-drift[data-drift=purple]{box-shadow:0 4px 0 var(--ink),0 0 0 3px var(--drift-purple)}.countdown{position:absolute;left:0;right:0;top:4%;display:flex;justify-content:center}.cd-beat{font-family:var(--font-num);font-size:clamp(80px,28vh,240px);line-height:1;--stroke: .14em;--fill: linear-gradient(180deg, #e8f4ff 0%, #8fc6ff 48%, #2a6fe8 52%, #6fb2ff 100%);filter:drop-shadow(0 .04em 0 var(--ink));animation:beat-in .9s cubic-bezier(.2,1.4,.4,1) both}.cd-beat.is-go{--fill: linear-gradient(180deg, #fffbd0 0%, #ffe04a 46%, #f5a800 54%, #ffd23a 100%);animation:go-out .9s ease-out both}@keyframes beat-in{0%{transform:scale(1.8);opacity:0}25%{transform:scale(1);opacity:1}85%{transform:scale(.96);opacity:1}to{transform:scale(.8);opacity:0}}@keyframes go-out{0%{transform:scale(.6) rotate(-8deg);opacity:0}20%{transform:scale(1.1) rotate(-3deg);opacity:1}70%{transform:scale(1.15) rotate(-3deg);opacity:1}to{transform:scale(1.6) rotate(-3deg);opacity:0}}.key-hints{position:absolute;right:var(--gr);bottom:var(--gb);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 14px;max-width:min(28vw,300px);font-size:13px;color:var(--paper);text-shadow:0 1px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink);opacity:.92}.key-hints span{display:inline-flex;align-items:center;gap:3px}.key-hints kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 4px;font-size:12px;color:var(--ink);text-shadow:none;background:var(--paper);border:2px solid var(--ink);border-radius:5px;box-shadow:0 2px 0 var(--ink)}.race-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:var(--gt) var(--gr) var(--gb) var(--gl);background:#1d144280;pointer-events:auto}.race-menu{width:min(560px,100%);display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px 18px}.race-menu .screen-title{grid-column:1 / -1;color:var(--ink);text-shadow:none;font-size:clamp(22px,6vh,32px)}.race-menu .menu-note{grid-column:1 / -1;margin-top:-6px}.menu-note{font-size:14px;line-height:1.3;color:var(--ink-soft)}.seg{display:flex;align-items:center;gap:6px;padding:4px 0}.seg-label{font-size:14px;color:var(--ink-soft);margin-right:2px}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:40px;padding:0 12px;font-size:16px;border:2.5px solid var(--ink);border-radius:9px;background:var(--paper);color:var(--ink);cursor:pointer}.seg button.on{background:var(--blue);color:var(--paper);box-shadow:inset 0 -3px 0 var(--blue-lip)}.finish-splash{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:clamp(16px,5vw,72px);padding:var(--gt) var(--gr) var(--gb) var(--gl);background:linear-gradient(180deg,#1d144200,#1d144259)}.finish-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;animation:banner-in .5s cubic-bezier(.2,1.5,.4,1)}.finish-flag{width:120px;height:18px;border:3px solid var(--ink);border-radius:4px;background:repeating-conic-gradient(var(--ink) 0 25%,var(--paper) 0 50%) 0 0 / 18px 18px;transform:rotate(-3deg)}.finish-line{font-family:var(--font-mk);font-size:clamp(34px,12vh,80px);line-height:1.1;--stroke: .18em;--fill: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, #d9d6ee 100%);filter:drop-shadow(0 4px 0 var(--ink));transform:rotate(-3deg)}.finish-place{font-size:clamp(80px,30vh,220px)}.finish-sub{font-size:clamp(15px,4.6vh,22px);line-height:1.3;color:var(--paper);text-shadow:0 2px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.finish-table{pointer-events:auto;display:flex;flex-direction:column;gap:8px;width:min(360px,46vw);max-height:100%;padding:10px 12px 12px;animation:slide-in .38s cubic-bezier(.2,1.2,.4,1)}.finish-table .block-btn{align-self:flex-start}@keyframes slide-in{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.standings{list-style:none;display:flex;flex-direction:column;gap:3px;overflow-y:auto;min-height:0}.st-row,.st-head{display:grid;grid-template-columns:2.6em 18px minmax(0,1fr) 5.2em 5.2em;align-items:center;gap:8px}.standings.is-compact .st-row{grid-template-columns:2.4em 18px minmax(0,1fr) 5em}.st-row{min-height:30px;padding:2px 8px;border-radius:8px;font-size:clamp(14px,4.2vh,19px)}.st-row:nth-child(odd){background:#f1f0f8}.st-row.is-me{background:#fff1a8;box-shadow:inset 0 0 0 2.5px var(--ink)}.st-place{font-family:var(--font-num);font-size:1.15em;line-height:1}.st-place small{font-size:.5em;vertical-align:.6em;margin-left:1px}.st-row.top-1 .st-place{color:#e09a00}.st-row.top-2 .st-place{color:#7d8ea3}.st-row.top-3 .st-place{color:#c0631c}.st-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-bot{font-size:.65em;color:var(--ink-soft)}.st-time,.st-best{text-align:right;font-variant-numeric:tabular-nums}.st-best{color:var(--ink-soft);font-size:.85em}.st-head{padding:0 8px 4px;font-size:12px;color:var(--ink-soft)}.st-head span:nth-child(4),.st-head span:nth-child(5){text-align:right}.results-screen{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(16px,4vw,64px);align-items:center;max-width:1120px;margin:0 auto;background:linear-gradient(90deg,#1d144259,#1d14421a);max-width:none}.results-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px;justify-self:end;width:min(100%,380px)}.results-place{font-size:clamp(72px,26vh,200px)}.results-sub{font-size:clamp(15px,4.6vh,22px);color:var(--paper);text-shadow:0 2px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.results-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;margin-top:6px}.results-actions .menu-note{color:var(--paper);text-shadow:0 1px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.results-right{justify-self:start;width:min(100%,560px);max-height:100%;display:flex;flex-direction:column;padding:10px 10px 12px;min-height:0}.touch-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.steer-zone{position:absolute;left:0;top:0;bottom:0;width:50%;pointer-events:auto;touch-action:none}.steer-stick{position:absolute;left:calc(var(--gl) + 100px);top:calc(100% - var(--gb) - 52px);width:0;height:0;opacity:.55;transition:opacity .15s}.steer-stick.is-live{left:0;top:0;opacity:1;transition:none}.steer-track{position:absolute;left:-92px;top:-26px;width:184px;height:52px;border:3px solid var(--ink);border-radius:26px;background:#ffffff61;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.steer-arrow{font-size:15px;color:var(--ink);opacity:.75}.steer-knob{position:absolute;left:-30px;top:-30px;width:60px;height:60px;border:3px solid var(--ink);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0,#fff 30%,#e4e1f3 70%);box-shadow:0 4px 0 var(--ink)}.steer-hint{position:absolute;left:-92px;width:184px;top:-52px;text-align:center;font-size:13px;color:var(--paper);text-shadow:0 1px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.steer-stick.is-live .steer-hint,.steer-stick.was-used .steer-hint{display:none}.touch-layer{--pr: calc(var(--gr) + 6px);--pb: calc(var(--gb) + 8px)}.pad-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;color:var(--paper);font-size:19px;text-shadow:0 2px 0 rgba(29,20,66,.6);pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform 60ms,box-shadow 60ms,opacity .12s}.pad-btn:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:inherit}.pad-btn.is-down{transform:translateY(4px)}.pad-drift{right:var(--pr);bottom:var(--pb);width:92px;height:92px;background:var(--blue);box-shadow:inset 0 -7px 0 var(--blue-lip),0 5px 0 var(--ink);font-size:21px}.pad-drift:before{top:-12px;right:-12px;bottom:-12px;left:-12px}.pad-drift.is-down{box-shadow:inset 0 -3px 0 var(--blue-lip),0 1px 0 var(--ink)}.pad-drift[data-level="1"]{box-shadow:inset 0 -3px 0 var(--blue-lip),0 1px 0 var(--ink),0 0 0 6px var(--drift-blue)}.pad-drift[data-level="2"]{box-shadow:inset 0 -3px 0 var(--blue-lip),0 1px 0 var(--ink),0 0 0 6px var(--drift-orange)}.pad-drift[data-level="3"]{box-shadow:inset 0 -3px 0 var(--blue-lip),0 1px 0 var(--ink),0 0 0 6px var(--drift-purple)}.pad-brake{right:calc(var(--pr) + 92px + 18px);bottom:var(--pb);width:64px;height:64px;background:var(--red);box-shadow:inset 0 -5px 0 var(--red-lip),0 5px 0 var(--ink);font-size:15px}.pad-brake.is-down{box-shadow:inset 0 -2px 0 var(--red-lip),0 1px 0 var(--ink)}.pad-turbo{right:calc(var(--pr) + 8px);bottom:calc(var(--pb) + 92px + 14px);width:76px;height:76px;gap:0;align-content:center;background:#1fc8e6;color:var(--paper);box-shadow:inset 0 -6px #0d7f99,0 4px 0 var(--ink);opacity:.45;filter:saturate(.35)}.pad-turbo.is-ready{opacity:1;filter:none;background:radial-gradient(circle at 35% 30%,#9ffaff,#1fc8e6 55%,#0f9fc4);box-shadow:inset 0 -6px #0d7f99,0 4px 0 var(--ink),0 0 0 3px #8ff6ff,0 0 18px 4px #3ff0ff8c}.pad-turbo.is-ready:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:3px solid #8ff6ff;pointer-events:none;animation:turbo-ring 1.3s ease-out infinite}@keyframes turbo-ring{0%{transform:scale(.92);opacity:.9}to{transform:scale(1.35);opacity:0}}.pad-turbo.is-down{box-shadow:inset 0 -2px #0d7f99,0 1px 0 var(--ink)}.pad-turbo svg{margin-bottom:-3px}.pad-turbo-label{font-size:14px;line-height:1}.pad-item{right:calc(var(--pr) + 8px + 76px + 14px);bottom:calc(var(--pb) + 92px + 14px + 2px);width:72px;height:72px;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:inset 0 -5px #c9c6dc,0 4px 0 var(--ink);opacity:.5}.pad-item.is-ready{opacity:1;box-shadow:inset 0 -5px #c9c6dc,0 4px 0 var(--ink),0 0 0 3px var(--yellow)}.pad-item.is-down{transform:translateY(3px);box-shadow:inset 0 -2px #c9c6dc,0 1px 0 var(--ink)}.pad-item-label{font-size:15px;color:var(--ink-soft);text-shadow:none}.pad-look{right:calc(var(--pr) + 8px + 15px);bottom:calc(var(--pb) + 92px + 14px + 76px + 12px);width:46px;height:46px;background:var(--paper);color:var(--ink);box-shadow:inset 0 -3px #c9c6dc,0 3px 0 var(--ink)}.pad-look:before{top:-5px;right:-5px;bottom:-5px;left:-5px}.pad-look.is-down{background:var(--yellow);box-shadow:inset 0 -2px 0 var(--yellow-lip),0 1px 0 var(--ink)}.is-touch .hud-bc{bottom:calc(var(--gb) + 2px)}.rotate-prompt{display:none}@media(orientation:portrait){.is-touch .rotate-prompt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:var(--ink);color:var(--paper);pointer-events:auto}.rotate-prompt svg{color:var(--yellow);animation:rot-phone 2.4s ease-in-out infinite}.rotate-title{font-size:26px}.rotate-sub{font-size:16px;line-height:1.35;max-width:30ch;opacity:.85}}@keyframes rot-phone{0%,30%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media(min-height:640px)and (min-width:900px){.hud-tl,.hud-bc,.key-hints,.place-of,.banner-slot,.hud-tc,.grid-card{zoom:1.35}.hud-map{top:calc(var(--gt) + 76px)}.name-field,.title-status{zoom:1.15}}@media(max-height:430px){.block-btn{min-height:48px;padding:6px 14px 9px}.join-row .block-btn,.code-input{height:50px}.name-field{padding:4px 12px 6px}.fan-note{font-size:10px}.racer-chip{min-height:36px}}@media(prefers-reduced-motion:reduce){.ui-root *,.ui-root *:before,.ui-root *:after{animation-duration:1ms!important;animation-iteration-count:1!important}}.avatar{--av: 22px;--ring: #ffffff;position:relative;flex:none;display:inline-grid;place-items:center;width:var(--av);height:var(--av);border-radius:50%;border:2px solid var(--ink);background:var(--ring);box-shadow:0 0 0 2px var(--ring);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar-initial{font-size:calc(var(--av) * .52);line-height:1;color:var(--paper);text-shadow:0 1px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.avatar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:none;padding:0;border:0;background:none;border-radius:50%;cursor:pointer}.avatar-btn:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.avatar-btn:active{transform:translateY(2px)}.avatar-plus{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:20px;height:20px;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);color:var(--ink);font-size:16px;line-height:1}.name-field.has-avatar{display:flex;align-items:center;gap:10px;padding:6px 14px 8px 8px}.name-label{flex:1;min-width:0;display:block;cursor:text}.me-card{display:flex;flex-direction:column;gap:6px;padding:6px 8px 8px}.me-row{display:flex;align-items:center;gap:10px;min-width:0}.me-row .look-text{flex:1;min-width:0;display:flex;flex-direction:column}.me-row .look-value{font-size:clamp(15px,4.4vh,20px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-row .block-btn{flex:none;align-items:center}.me-name{display:block;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:clamp(17px,5vh,22px);line-height:1.15;padding:0;user-select:text;-webkit-user-select:text}.me-name::placeholder{color:#1d144259}.me-card:focus-within{box-shadow:4px 5px 0 var(--ink),0 0 0 4px var(--yellow)}.track-thumb{display:block;flex:none;width:44px;height:44px;overflow:visible}.track-thumb .tt-edge{fill:none;stroke:var(--ink);stroke-width:10;stroke-linejoin:round}.track-thumb .tt-road{fill:none;stroke:#fff;stroke-width:4.5;stroke-linejoin:round}.race-choice{display:flex;align-items:center;gap:10px;padding:5px 8px 6px 10px;min-width:0}.race-choice .rc-text{flex:1;min-width:0;display:flex;flex-direction:column}.race-choice .rc-title{font-size:clamp(16px,4.8vh,22px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-choice .rc-sub{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-choice .block-btn{flex:none;align-items:center}.race-choice.is-compact{padding:3px 6px 4px 8px;gap:8px;box-shadow:3px 4px 0 var(--ink)}.race-choice.is-compact .track-thumb{width:32px;height:32px}.race-choice.is-compact .rc-title{font-size:clamp(14px,4.2vh,18px)}.race-choice.is-compact .block-btn{min-height:38px;padding:4px 12px 7px}.lobby-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.lobby-head .race-choice{flex:0 1 auto;max-width:64%}.picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:16;display:grid;place-items:center;padding:var(--gt) var(--gr) var(--gb) var(--gl);background:#1d144280;pointer-events:auto}.race-picker{width:min(860px,100%);max-height:100%;display:flex;flex-direction:column;gap:10px;padding:12px 14px;overflow:hidden}.picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mode-seg{flex-wrap:wrap;padding:0}.mode-seg button{min-height:42px}.picker-done{flex:none;align-items:center}.tcard-strip{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:4px 4px 12px;margin:0 -4px;touch-action:pan-x}.tcard{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:clamp(138px,19vw,180px);display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px 10px;border:3px solid var(--ink);border-radius:14px;background:linear-gradient(160deg,var(--a),var(--b));color:var(--paper);text-align:left;box-shadow:0 4px 0 var(--ink);scroll-snap-align:center;cursor:pointer;transition:transform 80ms ease-out}.tcard .track-thumb{width:100%;height:clamp(52px,17vh,86px);margin-bottom:4px}.tcard-name{font-size:clamp(15px,4.6vh,19px);line-height:1.1;text-shadow:0 2px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.tcard-sub{font-size:12px;line-height:1.2;text-shadow:0 1px 0 var(--ink),1px 0 0 var(--ink),-1px 0 0 var(--ink),0 -1px 0 var(--ink)}.tcard.is-on{transform:translateY(-3px);box-shadow:0 7px 0 var(--ink),0 0 0 4px var(--yellow)}.tcard:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.tcard.is-cup{cursor:default}.tcard:disabled{opacity:1}.picker-info{font-size:14px;line-height:1.3;color:var(--ink-soft);min-height:1.3em}.avatar-sheet{width:min(500px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;overflow:auto}.avatar-file{display:none!important}.avatar-sheet-head{display:flex;align-items:center;gap:14px}.sheet-title{font-weight:400;font-size:clamp(20px,6vh,28px);line-height:1.1}.avatar-actions{display:flex;flex-wrap:wrap;gap:10px}.avatar-actions .block-btn{align-items:center}.avatar-actions.is-column{flex-direction:column;align-items:stretch;flex:1}.camera-capture{display:flex;align-items:center;gap:18px}.camera-circle{position:relative;flex:none;width:min(220px,54vh);aspect-ratio:1;border-radius:50%;border:4px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#2a2350;overflow:hidden}.camera-circle video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block}.camera-wait{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--paper);font-size:15px}.st-row,.st-head{grid-template-columns:2.6em 26px minmax(0,1fr) 5.2em 5.2em}.standings.is-compact .st-row{grid-template-columns:2.4em 26px minmax(0,1fr) 5em}.cup-table .st-row{grid-template-columns:2.6em 26px minmax(0,1fr) 3em 4.6em}.cup-last{text-align:right;color:var(--green-lip)}.cup-total{text-align:right;font-variant-numeric:tabular-nums}.cup-total small{font-size:.6em;color:var(--ink-soft)}.cup-head{font-size:14px;color:var(--ink-soft);padding:0 8px 6px}.champion{align-items:flex-start}.trophy{width:clamp(56px,19vh,120px);height:auto;filter:drop-shadow(0 4px 0 var(--ink));animation:trophy-in .6s cubic-bezier(.2,1.5,.4,1) both}@keyframes trophy-in{0%{transform:scale(.4) rotate(-14deg);opacity:0}to{transform:none;opacity:1}}.champ-name{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%}.champ-text{font-family:var(--font-num);font-size:clamp(28px,10vh,64px);line-height:1.1;color:var(--yellow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 4px 0 var(--ink),3px 0 0 var(--ink),-3px 0 0 var(--ink),0 -3px 0 var(--ink),2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink),-2px -2px 0 var(--ink);padding:0 4px 4px}@media(max-height:500px){.title-right .race-choice{margin-right:104px}}@media(max-height:430px){.race-choice .rc-sub{display:none}.title-right .race-choice .track-thumb{width:36px;height:36px}}.corner-group .lobby-leave{position:static}.corner-group{align-items:flex-start}.steer-seg,.fs-seg{flex-wrap:wrap}.steer-seg button,.fs-seg button{min-height:36px;padding:0 12px;font-size:15px}.seg-note{font-size:12px;color:var(--red-lip)}.seg-gap{margin-left:8px}.title-left .steer-seg{background:var(--paper);border:3px solid var(--ink);border-radius:12px;box-shadow:3px 4px 0 var(--ink);padding:4px 6px 4px 10px}.me-card .steer-seg{padding:0}.race-menu .fs-seg{grid-column:1 / -1}.ios-tip{position:absolute;top:max(4px,var(--sat));left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:8px;max-width:min(400px,calc(100vw - 2 * var(--gr) - 120px));padding:2px 4px 2px 10px;font-size:12px;line-height:1.15;background:var(--yellow);border:2.5px solid var(--ink);border-radius:10px;box-shadow:0 3px 0 var(--ink)}.ios-tip-x{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:24px;height:24px;border:2px solid var(--ink);border-radius:7px;background:var(--paper);color:var(--ink);font-size:13px;cursor:pointer}.tilt-indicator{position:absolute;left:var(--gl);bottom:calc(var(--gb) + 118px);display:flex;align-items:center;gap:6px;padding:3px 8px 3px 6px;font-size:13px;background:var(--paper);border:2.5px solid var(--ink);border-radius:10px;box-shadow:0 3px 0 var(--ink);pointer-events:none}.tilt-phone{transition:transform 60ms linear}@media(max-height:430px){.title-left{gap:8px}.title-left .checker-strip,.lobby-hint{display:none}}.ios-tip-x{position:relative}.ios-tip-x:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.garage-screen{z-index:15;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:clamp(12px,3vw,40px);align-items:stretch;max-width:1120px;margin:0 auto;background:linear-gradient(180deg,#2a7bff,#1d1442)}@media(min-width:1121px){.garage-screen{max-width:none;padding-left:max(var(--gl),calc((100vw - 1120px)/2));padding-right:max(var(--gr),calc((100vw - 1120px)/2))}}.garage-left{display:flex;flex-direction:column;gap:clamp(6px,2vh,14px);min-height:0}.garage-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 40%,#fff6c0,#ffe27a 55%,#ffb81f)}.garage-stage canvas{display:block}.garage-caption{position:absolute;left:10px;bottom:8px;display:flex;flex-direction:column;pointer-events:none}.garage-name{font-family:var(--font-mk);font-size:clamp(22px,7vh,40px);line-height:1;color:var(--paper);text-shadow:0 3px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink),0 -2px 0 var(--ink)}.garage-kart{font-size:clamp(12px,3.4vh,16px);color:var(--ink)}.stat-bars{list-style:none;margin:0;padding:clamp(6px,1.6vh,12px) 14px;display:grid;gap:clamp(3px,1vh,8px)}.stat-bars li{display:grid;grid-template-columns:7.5em 1fr;align-items:center;gap:10px}.stat-label{font-size:clamp(12px,3.4vh,16px)}.stat-track{height:clamp(10px,2.8vh,16px);border:2px solid var(--ink);border-radius:99px;background:#ece9f7;overflow:hidden}.stat-fill{display:block;height:100%;background:var(--yellow);box-shadow:inset 0 -3px 0 var(--yellow-lip);transition:width .18s ease-out}.garage-right{display:flex;flex-direction:column;gap:clamp(6px,1.8vh,12px);min-height:0}.garage-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.garage-head .block-btn{align-items:center;min-width:110px}.garage-tabs{display:flex;gap:6px;flex-wrap:wrap}.garage-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:3px solid var(--ink);border-radius:99px;background:var(--paper);color:var(--ink);font-size:clamp(13px,3.6vh,17px);padding:4px 14px 5px;cursor:pointer;box-shadow:0 3px 0 var(--ink);touch-action:manipulation}.garage-tabs button.on{background:var(--yellow)}.garage-tabs button:focus-visible,.driver-chip:focus-visible,.kart-chip:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.driver-grid{list-style:none;margin:0;padding:2px 4px 8px 2px;display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(88px,13vw,130px),1fr));gap:8px;overflow-y:auto;min-height:0;flex:1;align-content:start}.driver-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:clamp(38px,10vh,52px);border:3px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);font-size:clamp(14px,4vh,19px);cursor:pointer;box-shadow:0 4px 0 var(--ink);touch-action:manipulation}.driver-chip.is-on{background:var(--red);color:var(--paper);box-shadow:inset 0 -4px 0 var(--red-lip),0 4px 0 var(--ink)}.driver-chip:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.garage-sub{color:#ffffffd9}.kart-row{list-style:none;margin:0;padding:0 0 6px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.kart-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 5px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--ink);touch-action:manipulation}.kart-chip.is-on{box-shadow:0 4px 0 var(--ink),0 0 0 3px var(--yellow)}.kart-chip:disabled{opacity:.35;cursor:default}.kart-dot{width:clamp(16px,5vh,26px);height:clamp(16px,5vh,26px);border-radius:50%;border:2px solid var(--ink);background:var(--kc)}.kart-name{font-size:clamp(8px,min(2.6vh,1.2vw),13px);line-height:1.05;text-align:center}.change-btn{align-self:flex-start}.look-field{display:flex;align-items:center;gap:10px;width:min(320px,100%);padding:6px 8px 8px 14px}.look-field .look-text{flex:1;min-width:0;display:flex;flex-direction:column}.look-field .look-value{font-size:clamp(17px,5vh,24px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.look-field .block-btn{flex:none;align-items:center}@media(pointer:coarse){.garage-tabs button{min-height:44px;padding-top:0;padding-bottom:0}.driver-chip{min-height:44px}}@media(orientation:portrait){.garage-screen{grid-template-columns:1fr;grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr);row-gap:10px}}@media(max-height:430px){.garage-screen{column-gap:12px}.stat-bars{padding:4px 10px}.garage-tabs button{padding:2px 10px 3px}}
