:root{font-family:ui-rounded,Trebuchet MS,system-ui,sans-serif;font-synthesis:none;color:#fff;background:#0c1230;--menu-bg: #0C1230;--menu-surface: #18224B;--menu-surface-raised: #243260;--menu-surface-hover: #304479;--menu-text: #FFFFFF;--menu-muted: #BCC9EE;--menu-line: #637BAE;--menu-primary: #24DCF4;--menu-primary-hover: #83EEFF;--menu-primary-deep: #08778F;--menu-accent: #722AC4;--menu-violet: #AD7DFF;--menu-pink: #F45BEA;--menu-success: #D0FF70;--menu-mint: #51F0BE;--menu-danger: #992765;--menu-danger-line: #FF81D0;--menu-disabled-bg: #273250;--menu-disabled-text: #A8B3D2;--menu-shadow: #050A20}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;min-width:320px;overflow:hidden}body{min-height:100svh;-webkit-user-select:none;user-select:none}#app>canvas{display:block;width:100%;height:100%;touch-action:none}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:3px solid var(--menu-primary);outline-offset:4px}input:focus-visible,summary:focus-visible{outline:3px solid var(--menu-accent);outline-offset:3px}button:disabled{cursor:default;opacity:.64}[hidden]{display:none!important}#hud{position:fixed;inset:0;z-index:10;pointer-events:none}#hud:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,46,49,.22),transparent 52%);opacity:0;transition:opacity .25s}#hud[data-phase=lobby]:before,#hud[data-phase=offline]:before,#hud[data-phase=results]:before{opacity:1}.lobby-panel{position:absolute;left:max(28px,env(safe-area-inset-left));top:max(24px,env(safe-area-inset-top));width:min(366px,calc(100vw - 48px));max-height:calc(100dvh - max(24px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;pointer-events:auto;padding:18px 20px;color:var(--menu-text);background:var(--menu-bg);border:1px solid var(--menu-line);border-radius:24px;box-shadow:0 6px #c9b798,0 18px 38px #25345522;scrollbar-width:thin;scrollbar-color:var(--menu-primary) transparent}.cup-label{display:flex;align-items:center;gap:8px;color:var(--menu-muted);font-size:11px;font-weight:900;letter-spacing:.16em}.cup-sun{color:var(--menu-primary);font-size:25px;line-height:1}.cup-number{margin-left:auto;border:1px solid var(--menu-line);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:var(--menu-primary);letter-spacing:0}.brand-wordmark{position:relative;margin:10px 0 13px;color:var(--menu-text);font-weight:1000;font-style:italic;font-size:clamp(31px,2.7vw,40px);line-height:.88;letter-spacing:-.075em;text-shadow:0 3px 18px rgba(24,200,255,.12)}.brand-wordmark span{color:var(--menu-primary)}.brand-wordmark i{position:absolute;right:0;top:7px;font-size:43px;color:var(--menu-accent);font-style:normal;text-shadow:0 0 20px rgba(196,181,253,.34)}.track-heading{border-top:1px solid var(--menu-line);padding-top:11px;display:flex;gap:9px;align-items:baseline}.track-index{color:var(--menu-accent);font-size:12px;font-weight:900}h1{margin:0;color:var(--menu-text);font-size:23px;font-weight:900;letter-spacing:-.045em}.track-description{margin:6px 0 9px;font-size:13px;line-height:1.4;color:var(--menu-muted)}.track-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin:0 0 9px;color:var(--menu-accent);font-size:10px;font-weight:900;letter-spacing:.1em}.track-picker select{min-width:0;width:100%;padding:8px 30px 8px 10px;border:1px solid var(--menu-primary);border-radius:4px;background:var(--menu-surface-raised);color:var(--menu-text);font:inherit;font-size:11px;letter-spacing:.04em;pointer-events:auto}.track-picker select:disabled{border-color:var(--menu-line);color:var(--menu-muted);cursor:not-allowed}.track-info{display:inline-block;border:1px solid var(--menu-line);border-radius:3px;padding:6px 8px;color:var(--menu-primary);background:var(--menu-surface);font-size:10px;font-weight:900;letter-spacing:.08em}.grid-roster{margin:11px 0 7px}.eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.12em}.grid-roster .eyebrow{color:var(--menu-muted)}.grid-roster p{margin:6px 0 0;color:var(--menu-text);font-size:12px;line-height:1.5;font-weight:800}.lobby-prompt{color:var(--menu-muted);font-size:12px;line-height:1.45;margin:6px 0 9px}.race-action{display:block;width:100%;min-height:48px;padding:13px 18px;border:0;border-radius:5px 14px;background:var(--menu-primary);color:#06131f;font-size:14px;font-weight:1000;letter-spacing:.045em;box-shadow:0 4px 0 var(--menu-primary-deep),0 8px 24px #18c8ff2e;pointer-events:auto;transition:background .13s,color .13s,transform .13s,box-shadow .13s}.race-action:not(:disabled):hover{background:var(--menu-primary-hover)}.race-action:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px 0 var(--menu-primary-deep)}.race-action:disabled{color:var(--menu-muted);background:var(--menu-surface-raised);box-shadow:0 4px #06131f}.invite-section{margin-top:10px}.invite-action{width:100%;min-height:40px;border:1px solid var(--menu-line);border-radius:5px;padding:9px 12px;color:var(--menu-text);background:var(--menu-surface-raised);font-size:10px;letter-spacing:.07em;font-weight:900;transition:background .13s,border-color .13s}.invite-action span{float:right;color:var(--menu-primary)}.invite-action:hover{border-color:var(--menu-primary);background:var(--menu-surface-hover)}.share-link{margin-top:7px}.share-link label{display:block;font-size:10px;letter-spacing:.11em;color:var(--menu-muted);font-weight:800}.share-link input{width:100%;border:0;border-bottom:1px solid var(--menu-line);border-radius:0;color:var(--menu-primary);background:transparent;font-size:11px;padding:5px 0;-webkit-user-select:text;user-select:text}.share-link p{margin:4px 0 0;font-size:10px;line-height:1.4;color:var(--menu-muted)}.controls-guide{margin-top:9px;padding-top:8px;border-top:1px solid var(--menu-line)}.controls-guide p{font-size:11px;line-height:1.55;margin:4px 0 0;color:var(--menu-muted)}kbd{color:var(--menu-text);font:inherit;font-weight:900;border-bottom:1px solid var(--menu-accent)}.touch-guide{display:none}html.touch-capable .touch-guide{display:block}html.touch-capable .desktop-guide{display:none}.race-dashboard{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:min(450px,calc(100vw - 208px))}.race-metric{min-height:53px;padding:15px 10px;background:var(--menu-surface);border:1px solid var(--menu-line);border-radius:4px 12px;text-align:center;font-weight:900;font-size:clamp(12px,1.5vw,20px);white-space:nowrap;font-variant-numeric:tabular-nums}.race-metric.position{background:var(--menu-text);color:var(--menu-text)}.race-metric.clock{color:var(--menu-mint)}.minimap{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));width:156px;height:156px;border:1px solid var(--menu-line);border-radius:5px 20px;background:var(--menu-surface)}.item-slot{position:absolute;top:max(184px,calc(env(safe-area-inset-top) + 166px));right:max(20px,env(safe-area-inset-right));width:156px;padding:11px 8px;border:1px solid var(--menu-line);border-radius:4px 12px;background:var(--menu-surface);text-align:center;font-size:10px;font-weight:900;letter-spacing:.04em}.speed-gauge{position:absolute;left:max(24px,env(safe-area-inset-left));bottom:max(72px,calc(env(safe-area-inset-bottom) + 72px));width:140px;padding:12px 15px;border-left:3px solid var(--menu-pink);border-radius:3px 14px 3px 3px;background:var(--menu-surface)}.speed-reading{display:flex;align-items:baseline;gap:7px}.speed-reading strong{font-size:42px;line-height:1;font-style:italic;font-variant-numeric:tabular-nums;letter-spacing:-.055em}.speed-reading span,.drive-mode{font-size:8px;letter-spacing:.12em;font-weight:900}.speed-track{height:3px;background:#55736e;margin:8px 0 6px;overflow:hidden}.speed-bar{background:#ffb468;height:100%;transform:scaleX(0);transform-origin:left}.drive-mode{color:var(--menu-mint)}.sound-toggle{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:4;min-height:36px;padding:9px 12px;border:1px solid var(--menu-line);border-radius:5px 12px;background:var(--menu-bg);color:var(--menu-text);font-size:9px;font-weight:900;letter-spacing:.06em;pointer-events:auto}#hud[data-phase=racing] .sound-toggle,#hud[data-phase=countdown] .sound-toggle{top:max(232px,calc(env(safe-area-inset-top) + 214px))}.sound-toggle[aria-pressed=false]{color:var(--menu-muted)}.build-version{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));border:1px solid var(--menu-line);color:var(--menu-muted);background:var(--menu-bg);padding:4px 7px;border-radius:3px;font-size:10px;letter-spacing:.035em}.debug-status{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));max-width:min(310px,calc(100vw - 40px));padding:7px 9px;border:1px solid var(--menu-line);border-radius:4px;background:var(--menu-bg);color:var(--menu-muted);font-size:10px;line-height:1.5;pointer-events:auto}.debug-status summary{cursor:pointer;font-size:9px;font-weight:900;letter-spacing:.09em}.debug-status[open] summary{margin-bottom:5px}@media(min-width:741px)and (min-height:431px){#hud:is([data-phase=lobby],[data-phase=offline]) .debug-status{left:max(410px,env(safe-area-inset-left))}}.keyboard-help{position:absolute;bottom:max(38px,calc(env(safe-area-inset-bottom) + 28px));left:50%;transform:translate(-50%);padding:5px 8px;border-radius:3px;background:#103136b3;font-size:10px;white-space:nowrap}body:not(:has(#hud[data-phase=racing])) .keyboard-help,html.touch-capable .keyboard-help{display:none}.race-announcement{position:absolute;left:50%;top:36%;z-index:3;transform:translate(-50%,-50%) scale(.8);opacity:0;color:var(--menu-text);font-size:clamp(70px,14vw,160px);font-weight:1000;font-style:italic;line-height:1;letter-spacing:-.075em;text-shadow:0 5px 0 #214d50,0 9px 25px #17444988;white-space:nowrap;transition:opacity .15s,transform .18s}.race-announcement[data-visible=true]{opacity:1;transform:translate(-50%,-50%) scale(1)}.race-announcement[data-tone=go]{color:#c5f7a0}.race-announcement[data-tone=finalLap]{font-size:clamp(38px,7vw,80px)}.race-announcement[data-tone=finish],.race-announcement[data-tone=dnf]{top:25%;font-size:clamp(38px,6vw,76px)}#hud[data-phase=results] .race-announcement{display:none}.rescue-banner{position:absolute;left:50%;top:max(94px,calc(env(safe-area-inset-top) + 78px));z-index:4;transform:translate(-50%);width:max-content;max-width:calc(100vw - 36px);padding:11px 18px;border:2px solid #fff2d1;border-radius:5px 16px;color:#fff2d1;background:#66172af0;box-shadow:0 8px 28px #14040a57;text-align:center;font-size:clamp(12px,2vw,18px);font-weight:1000;letter-spacing:.04em}.pack-awareness{position:absolute;top:max(82px,calc(env(safe-area-inset-top) + 66px));left:max(20px,env(safe-area-inset-left));z-index:2;padding:7px 11px;border-left:3px solid var(--menu-mint);border-radius:3px 10px 3px 3px;color:var(--menu-text);background:var(--menu-surface);font-size:10px;font-weight:900;letter-spacing:.06em;white-space:nowrap}.spectator-banner{position:absolute;left:50%;top:max(88px,calc(env(safe-area-inset-top) + 72px));transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);padding:10px 14px;border-radius:8px;background:var(--menu-surface);color:var(--menu-text);text-align:center;font-size:12px;font-weight:800}.shield-flash{position:absolute;inset:0;z-index:2;background:radial-gradient(circle,transparent 45%,#8defff66);opacity:0;pointer-events:none;transition:opacity 90ms}.shield-flash[data-active=true]{opacity:1}.results{position:absolute;top:50%;left:50%;z-index:3;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - max(76px,env(safe-area-inset-top)) - max(64px,env(safe-area-inset-bottom)));transform:translate(-50%,-50%);padding:28px;border-radius:5px 25px;border:1px solid var(--menu-line);color:var(--menu-text);background:var(--menu-bg);box-shadow:0 24px 80px #020c1994,inset 0 1px #f4fbff14;overflow-y:auto;touch-action:pan-y;pointer-events:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--menu-primary) transparent}.results:focus{outline:2px solid var(--menu-primary);outline-offset:4px}.results .eyebrow{color:var(--menu-primary)}.results h2{margin:10px 0 6px;color:var(--menu-text);font-size:clamp(26px,5vw,38px);font-weight:1000;font-style:italic;letter-spacing:-.065em;text-shadow:0 3px 18px rgba(24,200,255,.14)}.results-subtitle{margin:0 0 20px;font-size:12px;color:var(--menu-muted)}.result-rows{display:grid;gap:6px}.result-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px 10px;border:1px solid transparent;border-radius:4px;color:var(--menu-text);background:var(--menu-surface-raised);font-weight:800;font-size:12px}.result-row.local{color:#06131f;background:var(--menu-primary);border-color:var(--menu-primary-hover);box-shadow:0 6px 20px #18c8ff29}.result-place{color:var(--menu-accent);font-size:16px;font-weight:1000}.result-name{overflow-wrap:anywhere}.result-time{font-variant-numeric:tabular-nums;color:var(--menu-muted)}.result-row.local .result-time,.result-row.local .result-place{color:#06131f}.result-row.dnf{border-color:var(--menu-line)}.results-prompt{margin:16px 0;color:var(--menu-muted);font-size:12px;line-height:1.5}.results-actions{padding-bottom:5px}#touch-controls{position:fixed;inset:0;--control-left: max(20px, env(safe-area-inset-left));--control-bottom: max(32px, calc(env(safe-area-inset-bottom) + 22px) );--gas-width: clamp(92px, 17vw, 138px);--control-gap: 12px;pointer-events:none;z-index:20}html:not(.touch-capable) #touch-controls,html:not(.touch-capable) #landscape-hint,body:not(:has(#hud[data-phase=racing],#hud[data-phase=countdown])) #touch-controls{display:none}#gas-button{position:absolute;left:var(--control-left);bottom:var(--control-bottom);width:var(--gas-width);height:clamp(82px,15vw,112px);border:1px solid #edf1c1;border-radius:9px 25px;background:#c0edd6eb;color:var(--menu-text);font-size:20px;font-weight:1000;letter-spacing:-.04em;box-shadow:0 5px #1d5b5088;pointer-events:auto;touch-action:none}#item-button{position:absolute;left:calc(var(--control-left) + var(--gas-width) + var(--control-gap));bottom:var(--control-bottom);width:clamp(68px,11vw,94px);height:62px;border:1px solid #f9e9c0;border-radius:7px 20px;background:#ffefcaeb;color:var(--menu-text);font-size:12px;font-weight:1000;box-shadow:0 5px #1d5b5088;pointer-events:auto;touch-action:none}#recover-button{position:absolute;left:calc(var(--control-left) + var(--gas-width) + var(--control-gap));bottom:calc(var(--control-bottom) + 72px);width:clamp(68px,11vw,94px);min-height:44px;border:2px solid #fff2d1;border-radius:18px 7px;background:#ff4d6df5;color:#fff;font-size:10px;font-weight:1000;box-shadow:0 5px #70243a99;pointer-events:auto;touch-action:none}#joystick-zone{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:var(--control-bottom);width:clamp(256px,44vw,344px);height:100px;border:1px solid #f9efd69c;border-radius:50px;background:#10313666;box-shadow:inset 0 1px 15px #193f4022;pointer-events:auto;touch-action:none}#joystick-zone:before{content:"←  STEER  →";position:absolute;inset:9px 0 auto;text-align:center;font-size:9px;letter-spacing:.1em;font-weight:900;color:var(--menu-text)}#joystick-zone:after{content:"";position:absolute;left:18%;right:18%;top:50%;height:2px;background:#eff5db66}#joystick-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin-left:-24px;margin-top:-24px;z-index:1;border:2px solid var(--menu-text);border-radius:50%;background:var(--menu-text);box-shadow:0 3px 8px #1e4a4755}#gas-button:active,#item-button:active,#recover-button:active{transform:translateY(3px)}#item-button[data-item=boost],.item-slot[data-item=boost]{background:#ffd36d;color:#392c1b}#item-button[data-item=gloop_puddle],.item-slot[data-item=gloop_puddle]{background:#b3f38c;color:#153b27}#item-button[data-item=wobble_bolt],.item-slot[data-item=wobble_bolt]{background:#a3e8ff;color:#17364c}#item-button.pickup-flash,.item-slot.pickup-flash{animation:item-pickup-flash .42s ease-out 2}@keyframes item-pickup-flash{50%{filter:brightness(1.25);transform:scale(1.07)}}html.touch-capable .speed-gauge{bottom:max(158px,calc(env(safe-area-inset-bottom) + 148px))}#landscape-hint{display:none;position:fixed;z-index:19;top:max(76px,calc(env(safe-area-inset-top) + 68px));left:16px;max-width:calc(100vw - 132px);padding:6px 8px;border-radius:5px;background:var(--menu-surface);color:var(--menu-text);font-size:10px;pointer-events:none}@media(orientation:portrait){html.touch-capable body:has(#hud[data-phase=racing]) #landscape-hint{display:block}}@media(max-width:740px){.lobby-panel{left:max(14px,env(safe-area-inset-left));top:max(62px,calc(env(safe-area-inset-top) + 50px));width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - max(62px,calc(env(safe-area-inset-top) + 50px)) - max(64px,env(safe-area-inset-bottom)));padding:20px}.brand-wordmark{font-size:43px}.race-dashboard{left:max(10px,env(safe-area-inset-left));top:max(10px,env(safe-area-inset-top));width:calc(100vw - 126px - env(safe-area-inset-left) - env(safe-area-inset-right));gap:3px}.race-metric{padding:14px 3px;min-height:44px;font-size:clamp(9px,2.4vw,14px)}.pack-awareness{top:max(62px,calc(env(safe-area-inset-top) + 52px));left:max(10px,env(safe-area-inset-left));max-width:calc(100vw - 126px);overflow:hidden;text-overflow:ellipsis;font-size:8px}.minimap{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:96px;height:96px;border-radius:4px 12px}.item-slot{top:max(114px,calc(env(safe-area-inset-top) + 104px));right:max(10px,env(safe-area-inset-right));width:96px;padding:8px 4px;font-size:8px}.sound-toggle{right:max(14px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));font-size:8px}#hud[data-phase=racing] .sound-toggle,#hud[data-phase=countdown] .sound-toggle{right:max(10px,env(safe-area-inset-right));top:max(154px,calc(env(safe-area-inset-top) + 144px));min-height:32px;padding:7px;font-size:7px}.speed-gauge{left:max(14px,env(safe-area-inset-left));width:110px;padding:9px 12px}.speed-reading strong{font-size:32px}.build-version{right:max(12px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));font-size:8px}.debug-status{left:max(12px,env(safe-area-inset-left));bottom:max(30px,calc(env(safe-area-inset-bottom) + 22px))}.results{padding:22px}}@media(max-width:440px)and (orientation:portrait){#touch-controls{--control-left: max(12px, env(safe-area-inset-left));--gas-width: 76px;--control-gap: 8px}#gas-button{height:80px;font-size:17px}#item-button{width:58px;height:54px;font-size:10px}#joystick-zone{width:236px;height:88px;right:max(12px,env(safe-area-inset-right))}}@media(max-width:401px)and (orientation:portrait){#joystick-zone{bottom:calc(var(--control-bottom) + 96px)}html.touch-capable .speed-gauge{bottom:max(234px,calc(env(safe-area-inset-bottom) + 224px))}}@media(max-height:700px)and (min-width:741px){.lobby-panel{padding:11px 16px}.brand-wordmark{font-size:31px;margin:6px 0 8px}.track-heading{padding-top:8px}.track-description{margin:4px 0 7px}.track-picker{margin-bottom:8px}.grid-roster{margin:8px 0 6px}.lobby-prompt{margin:4px 0 8px}.invite-section{margin-top:8px}.share-link{margin-top:6px}.controls-guide{margin-top:6px;padding-top:5px}}@media(max-height:430px)and (orientation:landscape){.lobby-panel{top:max(10px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));width:min(500px,calc(100vw - 160px));max-height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));padding:12px 15px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.cup-label,.brand-wordmark,.track-heading,.track-description,.track-picker,.track-info,.grid-roster,.controls-guide{grid-column:1}.cup-label{font-size:9px}.brand-wordmark{font-size:29px;margin:7px 0 9px}.brand-wordmark i{font-size:38px}h1{font-size:18px}.track-heading{padding-top:9px}.track-description{font-size:11px}.track-info{font-size:9px}.grid-roster{margin:10px 0 0}.grid-roster p{font-size:11px}.lobby-prompt{grid-column:2;grid-row:1 / 3;margin:0 0 8px;font-size:11px;align-self:center}.lobby-actions{grid-column:2;grid-row:3 / 5}.race-action{font-size:11px;min-height:42px;padding:12px}.invite-section{grid-column:2;grid-row:5 / 9;margin-top:5px}.invite-action{font-size:9px;min-height:36px}.controls-guide{margin-top:10px;padding-top:8px}.controls-guide p{font-size:10px}.race-dashboard{width:330px;top:max(10px,env(safe-area-inset-top))}.race-metric{min-height:36px;padding:10px 5px;font-size:12px}.pack-awareness{top:max(53px,calc(env(safe-area-inset-top) + 43px));padding:5px 8px}.minimap{width:88px;height:88px;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.item-slot{width:88px;top:max(104px,calc(env(safe-area-inset-top) + 94px));right:max(12px,env(safe-area-inset-right));padding:7px 3px;font-size:7px}#hud[data-phase=racing] .sound-toggle,#hud[data-phase=countdown] .sound-toggle{top:max(10px,env(safe-area-inset-top));right:calc(max(12px,env(safe-area-inset-right)) + 98px);min-height:32px;padding:8px;font-size:7px}#touch-controls{--control-bottom: max(30px, calc(env(safe-area-inset-bottom) + 22px) );--gas-width: 94px}#gas-button{height:76px}#item-button{height:54px;width:72px}#recover-button{bottom:calc(var(--control-bottom) + 62px);width:72px;min-height:38px}#joystick-zone{width:284px;height:84px}.rescue-banner{top:max(56px,calc(env(safe-area-inset-top) + 46px));max-width:calc(100vw - 250px);padding:8px 12px;font-size:11px}html.touch-capable .speed-gauge{bottom:max(121px,calc(env(safe-area-inset-bottom) + 112px));width:100px;padding:6px 10px}.speed-reading strong{font-size:27px}.drive-mode{font-size:7px}.speed-track{margin:5px 0 3px}#hud:is([data-phase=lobby],[data-phase=offline]) .debug-status{left:auto;right:max(12px,env(safe-area-inset-right));top:max(58px,calc(env(safe-area-inset-top) + 48px));bottom:auto;padding:4px 7px}.debug-status{bottom:max(5px,env(safe-area-inset-bottom));padding:4px 7px}.build-version{bottom:max(6px,env(safe-area-inset-bottom))}.results{max-height:calc(100dvh - max(48px,env(safe-area-inset-top)) - max(40px,env(safe-area-inset-bottom)));padding:18px 22px}.results h2{font-size:26px}.results-subtitle{margin-bottom:12px}.result-row{padding:8px}.results-prompt{margin:12px 0}}@media(max-width:720px)and (max-height:430px)and (orientation:landscape){.lobby-panel{width:min(500px,calc(100vw - 190px))}#hud:is([data-phase=lobby],[data-phase=offline]) .debug-status{max-width:158px}}@media(max-width:520px)and (max-height:430px)and (orientation:landscape){.lobby-panel{top:max(44px,calc(env(safe-area-inset-top) + 36px));left:max(8px,env(safe-area-inset-left));width:calc(100vw - max(16px,calc(env(safe-area-inset-left) + env(safe-area-inset-right))));max-height:calc(100dvh - max(52px,calc(env(safe-area-inset-top) + 44px)) - max(40px,calc(env(safe-area-inset-bottom) + 32px)));display:block;grid-template-columns:none;padding:10px 12px}#hud:is([data-phase=lobby],[data-phase=offline]) .debug-status{left:max(8px,env(safe-area-inset-left));right:auto;top:max(8px,env(safe-area-inset-top));max-width:calc(100vw - 132px)}}.brand-wordmark{font-style:normal;letter-spacing:-.065em;text-shadow:0 2px 0 #fff}.brand-wordmark span{color:#a8264d}.brand-wordmark i{color:#58459d;text-shadow:none}.cup-sun,.cup-number,.track-info,.share-link input,.invite-action span,.results .eyebrow{color:#58459d}.track-preview{display:block;width:100%;height:88px;object-fit:cover;border:3px solid #fff;border-radius:16px;margin:8px 0;grid-column:1}.race-action,.invite-action,.sound-toggle,.track-picker select{min-height:44px;border-radius:14px}.race-action{min-height:48px;color:var(--menu-text);box-shadow:0 4px 0 var(--menu-primary-deep)}.track-picker select{font-size:12px}.invite-action,.sound-toggle{font-size:12px;letter-spacing:0}.share-link{display:none}.share-link[data-expanded=true]{display:block}.share-link label,.share-link input,.share-link p{font-size:12px}.share-link input{min-height:44px;color:var(--menu-text)}.grid-roster .eyebrow{display:none}.race-metric,.minimap,.item-slot,.speed-gauge,.pack-awareness,.results{border-radius:18px;box-shadow:0 3px #c9b798}.pack-awareness,.spectator-banner{color:var(--menu-text)}.race-metric,.item-slot{font-size:14px}.race-announcement{color:var(--menu-text);text-shadow:0 5px 0 #a8264d,0 8px 0 #253455}.race-announcement[data-tone=go]{color:#ffb04a}.results{box-shadow:0 6px #c9b798,0 18px 38px #25345533}.results-actions{position:sticky;bottom:0;padding:10px 0;background:var(--menu-bg)}.debug-status{padding:0 8px}.debug-status summary{min-height:44px;display:flex;align-items:center;font-size:10px}.debug-status[open]{max-height:140px;overflow:auto}#recover-button{min-height:44px}#hud:is([data-phase=racing],[data-phase=countdown]) .sound-toggle{min-height:44px;font-size:11px}@media(max-height:430px)and (orientation:landscape){.lobby-panel{gap:0 12px;border-radius:20px}.cup-label{display:none}.brand-wordmark{font-size:25px}.brand-wordmark i{display:none}.track-preview{height:52px;margin:4px 0}.track-description,.track-info{display:none}.track-picker{grid-template-columns:1fr;gap:2px;margin:4px 0}.track-picker>span{display:none}.lobby-prompt,.grid-roster p,.controls-guide p{font-size:12px}.race-action{min-height:48px;font-size:14px}.invite-action{min-height:44px;font-size:12px}.race-metric{font-size:14px}.race-dashboard{width:min(330px,calc(100vw - 222px))}.item-slot,.pack-awareness{font-size:12px}#hud:is([data-phase=racing],[data-phase=countdown]) .debug-status{top:58px;bottom:auto;left:12px;max-width:170px;max-height:132px}}@media(orientation:landscape){#hud:is([data-phase=racing],[data-phase=countdown]) .debug-status{top:max(58px,calc(env(safe-area-inset-top) + 48px));bottom:auto;left:max(12px,env(safe-area-inset-left));max-width:148px;max-height:120px}}@media(min-height:431px)and (max-height:700px)and (orientation:landscape){.lobby-panel{top:max(16px,env(safe-area-inset-top));width:min(500px,calc(100vw - 190px));max-height:calc(100dvh - 32px);display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding:12px 15px}.cup-label,.track-description,.track-info{display:none}.brand-wordmark{grid-column:1;font-size:25px;margin:7px 0 9px}.brand-wordmark i{display:none}.track-heading,.track-preview,.track-picker,.grid-roster,.controls-guide{grid-column:1}.track-heading{padding-top:8px}.track-heading h1{font-size:18px}.track-preview{height:52px;margin:4px 0}.track-picker{grid-template-columns:1fr;margin:4px 0}.track-picker>span{display:none}.lobby-prompt{grid-column:2;grid-row:1 / 3;margin:0 0 8px;align-self:center}.lobby-actions{grid-column:2;grid-row:3 / 5}.invite-section{grid-column:2;grid-row:5 / 9;margin-top:5px}.lobby-prompt,.grid-roster p,.controls-guide p{font-size:12px}#hud:is([data-phase=lobby],[data-phase=offline]) .debug-status{left:auto;right:max(12px,env(safe-area-inset-right));top:max(70px,calc(env(safe-area-inset-top) + 60px));bottom:auto;max-width:158px}}.keyboard-help,#landscape-hint{color:var(--menu-text);background:var(--menu-text);font-size:12px}#recover-button{background:#a8264d;color:#fff6df}#joystick-zone:before{background:#253455;border-radius:8px;margin:0 12px;font-size:12px}@media(orientation:landscape){#hud:is([data-phase=racing],[data-phase=countdown]) .debug-status{top:max(116px,calc(env(safe-area-inset-top) + 106px));font-size:12px}}@media(orientation:landscape)and (max-height:700px){.race-dashboard{left:max(10px,env(safe-area-inset-left));top:max(10px,env(safe-area-inset-top));width:min(330px,calc(100vw - 222px))}.race-metric{min-height:38px;padding:10px 5px;font-size:14px}.pack-awareness{left:max(10px,env(safe-area-inset-left));top:54px;padding:5px 8px;font-size:12px}.minimap{top:10px;right:max(12px,env(safe-area-inset-right));width:88px;height:88px}.item-slot{top:104px;right:max(12px,env(safe-area-inset-right));width:88px;padding:7px 3px;font-size:12px}#hud:is([data-phase=racing],[data-phase=countdown]) .sound-toggle{top:10px;right:calc(max(12px,env(safe-area-inset-right)) + 98px)}#hud:is([data-phase=racing],[data-phase=countdown]) .debug-status{top:84px;max-width:min(170px,calc(35vw - 24px));max-height:min(120px,calc(100dvh - 226px))}#hud .speed-gauge{left:auto;right:max(12px,env(safe-area-inset-right));top:154px;bottom:auto;width:88px;height:48px;padding:4px 7px}.speed-reading strong{font-size:20px}.speed-reading span,.drive-mode{font-size:12px;letter-spacing:0}.speed-reading{gap:3px}.speed-track{display:none}#joystick-zone{width:min(284px,calc(35vw - 22px))}}.local-outcome{background:#f4dfb8;color:#253455;border-radius:12px;padding:10px 12px;margin:8px 0;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}@media(max-height:430px){.local-outcome{padding:6px 10px;margin:5px 0;font-size:14px}}.lobby-panel,.results{box-shadow:0 6px 0 var(--menu-shadow),0 18px 38px #050a2055}.brand-wordmark{text-shadow:none}.brand-wordmark span{color:var(--menu-pink)}.brand-wordmark i,.track-index,.track-picker,.result-place{color:var(--menu-violet)}.cup-sun,.cup-number,.track-info,.share-link input,.invite-action span,.results .eyebrow{color:var(--menu-primary)}.track-preview{border-color:var(--menu-primary-hover);background:var(--menu-surface)}.race-action{color:var(--menu-bg);border-radius:16px 24px 16px 16px}.invite-action{background:var(--menu-accent);color:var(--menu-text);border-color:var(--menu-violet);border-radius:16px}.invite-action:not(:disabled):hover,.sound-toggle:not(:disabled):hover{background:var(--menu-surface-hover)}.share-link input{background:var(--menu-surface-raised);border-radius:8px;padding:8px;color:var(--menu-text)}.race-metric,.minimap,.item-slot,.speed-gauge,.pack-awareness{box-shadow:0 3px 0 var(--menu-shadow)}.race-metric.position,.keyboard-help,#landscape-hint{color:var(--menu-text);background:var(--menu-surface)}.local-outcome{color:var(--menu-text);background:var(--menu-surface-raised);border:1px solid var(--menu-line)}.result-row.local{background:var(--menu-accent);color:var(--menu-text);border-color:var(--menu-violet);box-shadow:none}.result-row.local .result-place,.result-row.local .result-time{color:var(--menu-text)}.speed-bar{background:var(--menu-primary)}.speed-track{background:var(--menu-line)}.race-announcement{color:var(--menu-text);text-shadow:0 3px 0 var(--menu-bg),0 6px 0 var(--menu-shadow)}.race-announcement[data-tone=go]{color:var(--menu-success)}.rescue-banner,#recover-button{color:var(--menu-text);background:var(--menu-danger);border-color:var(--menu-danger-line);box-shadow:0 3px 0 var(--menu-shadow)}#gas-button{color:var(--menu-bg);background:var(--menu-mint);border-color:var(--menu-bg);box-shadow:0 3px 0 var(--menu-shadow)}#item-button{color:var(--menu-text);background:var(--menu-surface-raised);border-color:var(--menu-line);box-shadow:0 3px 0 var(--menu-shadow)}#item-button[data-item=boost],.item-slot[data-item=boost]{background:var(--menu-success);color:var(--menu-bg)}#item-button[data-item=gloop_puddle],.item-slot[data-item=gloop_puddle]{background:var(--menu-mint);color:var(--menu-bg)}#item-button[data-item=wobble_bolt],.item-slot[data-item=wobble_bolt]{background:var(--menu-primary);color:var(--menu-bg)}#joystick-zone{background:var(--menu-surface);border-color:var(--menu-line);box-shadow:none}#joystick-zone:before{background:var(--menu-surface)}#joystick-zone:after{background:var(--menu-line)}#joystick-knob{background:var(--menu-primary);border-color:var(--menu-bg);box-shadow:none}button:disabled,.race-action:disabled,.track-picker select:disabled{background:var(--menu-disabled-bg);color:var(--menu-disabled-text);opacity:1;border-color:var(--menu-line);box-shadow:none;transform:none}button:not(:disabled):active{transform:translateY(1px);box-shadow:0 2px 0 var(--menu-shadow)}button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,.results:focus-visible{outline:3px solid var(--menu-text);outline-offset:2px;box-shadow:0 0 0 2px var(--menu-bg),inset 0 0 0 2px var(--menu-primary)}.debug-status summary{position:sticky;top:0;background:var(--menu-bg)}.debug-status:not([open]){width:112px}#hud[data-phase=offline] .lobby-prompt{background:var(--menu-danger);color:var(--menu-text);border:1px solid var(--menu-danger-line);border-radius:12px;padding:8px}#hud[data-phase=offline] .lobby-prompt:before{content:"! ";font-weight:1000}@media(min-width:521px)and (max-height:430px)and (orientation:landscape){.lobby-panel{grid-template-rows:auto auto auto auto}.brand-wordmark{grid-row:1}.track-heading{grid-row:2}.track-preview{grid-row:3;height:62px}.track-picker{grid-row:4}.lobby-prompt{grid-column:2;grid-row:1}.lobby-actions{grid-column:2;grid-row:2}.invite-section{grid-column:2;grid-row:3 / 5;min-width:0}.share-link[data-expanded=true]{max-height:110px;overflow:auto;padding:3px}.grid-roster{grid-column:1 / 3;margin:5px 0 0}.controls-guide{grid-column:1 / 3;margin-top:5px;padding-top:4px}.controls-guide .eyebrow{display:none}.controls-guide p{margin:0;font-size:10px}}@media(min-width:521px)and (max-width:620px)and (max-height:350px)and (orientation:landscape){.lobby-panel{padding-top:8px;padding-bottom:8px}.brand-wordmark{margin-top:3px;margin-bottom:5px}.track-preview{height:48px}}.haptics-option{display:flex;flex:0 0 100px;min-height:44px;align-items:center;gap:6px;font-size:12px;line-height:1.2}.lobby-actions{display:flex;align-items:center;gap:8px}.lobby-actions .race-action{min-width:0;flex:1}.haptics-option input{width:20px;height:20px;accent-color:var(--menu-primary)}.item-slot,.item-slot[data-item]{width:224px;padding:10px;text-align:left;color:#f8ffdf;background:#102831;border:2px solid #d4ebd6;border-radius:18px 18px 8px;letter-spacing:0}.item-main{display:flex;align-items:center;gap:9px}.item-symbol{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:11px;background:#f8ffdf;color:#102831}.item-symbol svg{width:36px;height:36px}.item-name{display:block;font-size:16px;line-height:1.15}.item-action{display:block;margin-top:4px;font-size:11px;font-weight:900}.item-action kbd{color:#102831;background:#f8ffdf;border:0;border-radius:4px;padding:2px 4px;margin-left:4px}.item-hint{font-size:12px;font-weight:600;line-height:1.3;margin-top:8px}.item-notice{font-size:12px;line-height:1.2;font-weight:900}.item-notice:not(:empty){border-top:1px solid #8cacb3;margin-top:7px;padding-top:6px}.item-timers>div{margin-top:7px;font-size:11px;font-variant-numeric:tabular-nums}.item-timers i{display:block;height:4px;margin-top:3px;background:#47616b}.item-timers b{display:block;height:100%;background:#f8ffdf;transform-origin:left}.item-timers [data-timer=guard] i{height:3px;border-left:3px solid white;border-right:3px solid white}.item-slot[data-state=reveal] .item-symbol{animation:item-reveal .45s ease-out 1}@keyframes item-reveal{0%{transform:translateY(4px) scale(.86)}to{transform:none}}.touch-item-key{display:none}html.touch-capable .touch-item-key{display:inline}html.touch-capable .desktop-item-key{display:none}#item-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}#item-button svg{width:30px;height:30px}#item-button span{font-size:10px}#item-button:disabled{background:var(--menu-disabled-bg);color:var(--menu-disabled-text)}#hud:is([data-phase=racing],[data-phase=countdown]) .sound-toggle{top:max(388px,calc(env(safe-area-inset-top) + 370px))}@media(max-width:740px)and (orientation:portrait){.item-slot{left:max(10px,env(safe-area-inset-left));right:auto;top:max(108px,calc(env(safe-area-inset-top) + 98px));width:calc(100vw - 126px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:8px}.touch-capable #landscape-hint{top:max(64px,calc(env(safe-area-inset-top) + 54px));bottom:auto;left:max(10px,env(safe-area-inset-left));right:auto;transform:none;width:calc(100vw - 134px);max-width:none;padding:4px 6px;font-size:11px;line-height:1.25;text-align:left}.item-name{font-size:14px}#hud:is([data-phase=racing],[data-phase=countdown]) .sound-toggle{top:max(114px,calc(env(safe-area-inset-top) + 104px));right:max(10px,env(safe-area-inset-right));width:96px;font-size:10px}.rescue-banner{top:max(264px,calc(env(safe-area-inset-top) + 254px))}}@media(orientation:landscape)and (max-height:700px){.item-slot,.item-slot[data-item]{width:min(224px,calc(35vw - 24px));top:max(104px,calc(env(safe-area-inset-top) + 94px));right:max(12px,env(safe-area-inset-right));padding:6px}.item-symbol{width:34px;height:34px;flex-basis:34px;border-radius:8px}.item-symbol svg{width:28px;height:28px}.item-name{font-size:14px}.item-action{font-size:10px;margin-top:2px}.item-hint{display:none}.item-timers{display:flex;gap:8px}.item-timers>div{flex:1;margin-top:5px;font-size:10px;white-space:nowrap}.item-notice:not(:empty){font-size:10px;margin-top:4px;padding-top:3px}#hud:is([data-phase=racing],[data-phase=countdown]) .sound-toggle{top:max(10px,env(safe-area-inset-top));right:calc(max(12px,env(safe-area-inset-right)) + 98px)}.rescue-banner{max-width:calc(100vw - 500px);font-size:12px;padding:7px}.race-dashboard{width:min(330px,calc(50vw - 50px))}#hud .speed-gauge{top:max(10px,env(safe-area-inset-top));left:calc(50% - 26px);right:auto;width:72px;height:32px;padding:3px}#hud .speed-gauge .speed-track,#hud .speed-gauge .drive-mode{display:none}#hud .speed-gauge strong{font-size:22px}}@media(orientation:landscape)and (max-height:350px){.minimap{height:62px}.item-slot,.item-slot[data-item]{top:max(78px,calc(env(safe-area-inset-top) + 68px));padding:4px}.item-symbol{width:28px;height:28px;flex-basis:28px}.item-main{gap:6px}}@media(prefers-reduced-motion:reduce){button:not(:disabled):active{transform:none}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.race-announcement{transform:translate(-50%,-50%)}.shield-flash{background:transparent!important;border:5px solid rgba(141,239,255,.6)}}
