@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2) format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-700-normal-CqTg7A15.woff2) format("woff2"),url(/assets/baloo-2-latin-700-normal-Ld3Zm3l2.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2) format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff) format("woff")}:root{--ui-font: "Baloo 2", ui-rounded, system-ui, sans-serif;--panel: #1c2b40;--panel-2: #22344d;--panel-edge: #0e1827;--panel-drop: #0a1220;--stitch: rgba(232, 196, 128, .45);--card: #24364f;--card-edge: #3a5070;--card-drop: #111c2c;--ink: #f6ecd9;--ink-bright: #fff4e6;--ink-soft: #c9b99c;--ink-dim: #8e9bb0;--muted: #8e9bb0;--amber-top: #ffd35c;--amber: #f5a300;--amber-drop: #a06400;--amber-ink: #3a2400;--steel-top: #4f86a8;--steel: #33617f;--steel-drop: #1f3f55;--ember-top: #e06a45;--ember: #bf4a2a;--ember-drop: #7d2d18;--gold: #ffc83d;--brass: #caa66a;--ok: #9fe0b5;--ok-bg: #243f33;--warn: #ffcf7a;--rarity-common: #7fb0cf;--rarity-uncommon: #7fd6a0;--rarity-rare: #9b7bff;--rarity-epic: #ffb03d;--rarity-legendary: #ff7a6b}.tt-panel{position:relative;padding:18px;border:4px solid var(--panel-edge);border-radius:18px;background:var(--panel);box-shadow:inset 0 0 0 3px var(--panel),inset 0 0 0 5px var(--stitch),0 8px 0 var(--panel-drop),0 18px 34px #00000059;color:var(--ink);font-family:var(--ui-font)}.tt-ribbon{position:absolute;top:-22px;left:50%;transform:translate(-50%);padding:4px 36px 2px;border-radius:12px;background:linear-gradient(180deg,var(--ember-top),var(--ember));box-shadow:0 4px 0 var(--ember-drop),0 8px 14px #00000040;color:var(--ink-bright);font:800 24px/1.2 var(--ui-font);letter-spacing:.02em;white-space:nowrap;text-shadow:0 2px 0 rgba(0,0,0,.18)}.tt-btn{--btn-top: var(--steel-top);--btn: var(--steel);--btn-drop: var(--steel-drop);--btn-ink: var(--ink);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:8px 22px;border:none;border-radius:14px;background:linear-gradient(180deg,var(--btn-top),var(--btn));box-shadow:0 5px 0 var(--btn-drop),0 9px 14px #00000040;color:var(--btn-ink);font:800 18px/1 var(--ui-font);letter-spacing:.02em;text-shadow:0 2px 0 rgba(0,0,0,.16);cursor:pointer;pointer-events:auto;transition:transform .08s,box-shadow .08s,filter .15s}.tt-btn:hover:not(:disabled){filter:brightness(1.08)}.tt-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--btn-drop),0 4px 8px #00000040}.tt-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.tt-btn:disabled{--btn-top: #4a5566;--btn: #3a4455;--btn-drop: #252c38;--btn-ink: #9aa4b4;cursor:default;text-shadow:none}.tt-btn--primary{--btn-top: var(--amber-top);--btn: var(--amber);--btn-drop: var(--amber-drop);--btn-ink: var(--amber-ink);text-shadow:0 1px 0 rgba(255,255,255,.35)}.tt-btn--danger{--btn-top: var(--ember-top);--btn: var(--ember);--btn-drop: var(--ember-drop);--btn-ink: var(--ink-bright)}.tt-btn--big{min-height:62px;padding:10px 30px;font-size:26px;border-radius:18px}.tt-btn--small{min-height:36px;padding:4px 14px;font-size:15px;border-radius:11px}.tt-btn svg{width:1.1em;height:1.1em;flex:none}.tt-icon-btn{display:inline-grid;place-items:center;width:48px;height:48px;padding:0;border:none;border-radius:14px;background:linear-gradient(180deg,var(--steel-top),var(--steel));box-shadow:0 4px 0 var(--steel-drop),0 8px 12px #00000040;color:var(--ink);cursor:pointer;pointer-events:auto;transition:transform .08s,box-shadow .08s}.tt-icon-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--steel-drop)}.tt-icon-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.tt-icon-btn svg{width:24px;height:24px}.tt-pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:3px 16px 3px 6px;border:2px solid var(--brass);border-radius:999px;background:#23344b;box-shadow:0 3px 0 var(--panel-edge),0 6px 12px #00000040;color:var(--ink);font:800 18px/1 var(--ui-font);font-variant-numeric:tabular-nums;white-space:nowrap}.tt-coin{display:inline-block;flex:none;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4 0 18%,var(--gold) 19% 55%,#d98c00 56%);box-shadow:inset 0 0 0 2px #a86a00,inset 0 0 0 5px #fff3c48c}.tt-coin--small{width:18px;height:18px;box-shadow:inset 0 0 0 1.5px #a86a00,inset 0 0 0 3.5px #fff3c48c}.tt-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:#ffffff14;color:var(--ink-soft);font:800 12px/1.3 var(--ui-font);letter-spacing:.02em;white-space:nowrap}.tt-badge svg{width:13px;height:13px}.tt-badge--ok{background:var(--ok-bg);color:var(--ok)}.tt-badge--warn{background:#ffcf7a24;color:var(--warn)}.tt-tabs{display:flex;gap:6px;padding:5px;border-radius:14px;background:#00000038}.tt-tabs button{flex:1;min-height:40px;padding:4px 12px;border:none;border-radius:10px;background:transparent;color:var(--ink-soft);font:800 16px/1 var(--ui-font);cursor:pointer}.tt-tabs button.is-active{background:linear-gradient(180deg,var(--amber-top),var(--amber));box-shadow:0 3px 0 var(--amber-drop);color:var(--amber-ink)}.tt-bar{position:relative;height:14px;border-radius:999px;background:#00000059;box-shadow:inset 0 2px #0000004d;overflow:hidden}.tt-bar>span{position:absolute;inset:0 auto 0 0;width:calc(var(--value, 0) * 100%);border-radius:inherit;background:linear-gradient(180deg,var(--amber-top),var(--amber));box-shadow:inset 0 -3px #00000026}.tt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#topbar{position:fixed;top:max(16px,env(safe-area-inset-top,0px));right:84px;display:flex;align-items:center;gap:12px;z-index:7;font-family:var(--ui-font);pointer-events:none}#topbar>*{pointer-events:auto}#menu-account{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:3px 6px 3px 4px;border:2px solid var(--brass);border-radius:999px;background:#23344b;box-shadow:0 3px 0 var(--panel-edge),0 6px 12px #00000040}.account-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,var(--ember-top),var(--ember));color:var(--ink-bright);font:800 16px/1 var(--ui-font)}.account-text{display:grid;line-height:1.05}#menu-account-label{color:var(--ink);font:800 15px/1.1 var(--ui-font);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#menu-account-sub{color:var(--ink-soft);font:700 11px/1.2 var(--ui-font)}#menu-account-action{margin-left:4px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.panel-head h2{margin:0;font:800 20px/1.1 var(--ui-font);color:var(--ink)}.panel-head span{font:700 13px/1.2 var(--ui-font);color:var(--ink-soft)}.level-card{position:relative;display:grid;justify-items:center;align-content:end;gap:2px;min-width:0;min-height:112px;padding:10px 6px 8px;border:2px solid var(--card-edge);border-radius:14px;background:var(--card);box-shadow:0 4px 0 var(--card-drop);color:var(--ink);font-family:var(--ui-font);text-align:center;cursor:pointer;overflow:hidden;transition:transform .1s,box-shadow .1s}.level-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease-out}.level-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a14241a,#0a142473 42%,#0a1424e0 80%,#0a1424f5)}.level-card>*:not(.level-art){position:relative;z-index:1}.level-card:hover:not(.is-locked){transform:translateY(-2px)}.level-card:hover:not(.is-locked) .level-art{transform:scale(1.07)}.level-card.is-selected{border-color:var(--gold);box-shadow:0 0 0 3px #ffc83d59,0 4px 0 var(--card-drop)}.level-card.is-locked{background:#1f2d42;color:var(--ink-dim);cursor:not-allowed}.level-card.is-locked .level-art{filter:grayscale(.55) brightness(.82)}.level-card.is-locked:after{background:linear-gradient(180deg,#0a14242e,#0a142480 42%,#0a1424e0 80%,#0a1424f5)}.level-card.is-locked .level-icon{color:var(--ink);filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}@media(prefers-reduced-motion:reduce){.level-card:hover:not(.is-locked) .level-art{transform:none}}.level-card .level-icon{display:grid;place-items:center;height:30px}.level-card .level-icon svg{width:22px;height:22px}.level-name{font:800 14px/1.1 var(--ui-font)}.level-note{font:700 11px/1.2 var(--ui-font);color:var(--ink-soft)}.level-card.is-locked .level-note{color:var(--ink-dim)}.medal-empty{width:26px;height:26px;border:3px dashed rgba(201,185,156,.5);border-radius:50%}.medal.medal--small{width:28px;height:28px;margin:0;box-shadow:0 0 0 2px #00000040,0 3px #00000040}.medal.medal--small:after{font-size:14px}#menu-offline{margin-left:2px}#mute{width:48px;height:48px;border:none;border-radius:14px;background:linear-gradient(180deg,var(--steel-top),var(--steel));box-shadow:0 4px 0 var(--steel-drop),0 8px 12px #00000040;color:var(--ink)}#mute:hover{filter:brightness(1.08)}body:has(#topbar:not([hidden])) #mute{top:max(16px,env(safe-area-inset-top,0px))}@media(max-width:720px){#topbar{left:12px;right:70px;gap:8px;flex-wrap:wrap}#menu-account .account-text{display:none}.tt-pill{min-height:36px;padding-right:12px;font-size:16px}.level-card{min-height:70px;padding:6px 2px}.level-card .level-note{display:none}.level-name{font-size:11px}}#message,#reward,#signin,#controls{position:fixed;inset:0;display:grid;place-items:center;padding:44px 16px 24px;background:radial-gradient(ellipse at center,#08101e73,#08101ec7);font-family:var(--ui-font);overflow-y:auto}kbd{display:inline-block;min-width:1.9em;padding:1px 7px 0;border:2px solid var(--panel-edge);border-radius:7px;background:linear-gradient(180deg,var(--card-edge),#2a3c56);box-shadow:0 3px 0 var(--panel-edge);color:var(--ink);font:800 13px/1.5 var(--ui-font);text-align:center}#message{z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,#08101e40,#08101ea6)}.result-panel{display:grid;justify-items:center;gap:14px;width:min(460px,100%);padding:40px 24px 22px;text-align:center;animation:panel-in .35s cubic-bezier(.2,1.4,.4,1) both}#message-title{margin:0}#result-hero{display:grid;justify-items:center;align-content:center;min-height:92px}#result-hero .medal{width:96px;height:96px;margin:0;box-shadow:0 0 0 5px #00000040,0 6px #0000004d,0 0 40px #ffc83d59;animation:medal-drop .6s .15s cubic-bezier(.2,1.6,.4,1) both}#result-hero .medal:after{font-size:44px}.result-score{font:800 56px/1 var(--ui-font);color:var(--ink);font-variant-numeric:tabular-nums;text-shadow:0 4px 0 var(--panel-edge)}.result-score-label{font:700 14px/1 var(--ui-font);color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase}#result-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.result-stat{display:grid;justify-items:center;gap:2px;min-width:98px;padding:8px 12px;border:2px solid var(--card-edge);border-radius:12px;background:var(--card);box-shadow:0 3px 0 var(--card-drop)}.result-stat-label{font:700 11px/1 var(--ui-font);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase}.result-stat b{display:inline-flex;align-items:center;gap:6px;font:800 22px/1.1 var(--ui-font);font-variant-numeric:tabular-nums}#result-next{display:grid;gap:6px;width:100%;font:700 14px/1.2 var(--ui-font);color:var(--ink-soft)}#result-next[hidden]{display:none}#banked{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;font:700 15px/1.3 var(--ui-font);color:var(--ink-soft)}#banked[hidden]{display:none}.banked-gain{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-size:18px;font-weight:800}.banked-wallet b{color:var(--ink);font-variant-numeric:tabular-nums}.result-actions{display:flex;gap:10px}.result-actions:not(:has(>:not([hidden]))){display:none}#message-shop,#message-menu{pointer-events:auto}#message-body{font:700 14px/1.6 var(--ui-font);color:var(--ink-soft)}#message-body:empty{display:none}@keyframes panel-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes medal-drop{0%{opacity:0;transform:translateY(-30px) scale(.6) rotate(-20deg)}to{opacity:1;transform:none}}#reward{z-index:8;--rarity: var(--rarity-common)}.reward-panel{display:grid;justify-items:center;gap:8px;width:min(440px,100%);padding:42px 26px 24px;text-align:center;animation:panel-in .4s cubic-bezier(.2,1.4,.4,1) both}.reward-stage{position:relative;display:grid;place-items:center;width:220px;height:200px}.reward-rays{position:absolute;inset:-30px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--rarity) 55%,transparent) 0%,transparent 62%),repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--rarity) 40%,transparent) 0deg 10deg,transparent 10deg 30deg);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);mask-image:radial-gradient(circle,#000 30%,transparent 70%);animation:rays-turn 14s linear infinite}#reward-image{position:relative;width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.45));animation:reward-pop .7s .1s cubic-bezier(.2,1.6,.4,1) both}#reward-rarity{background:color-mix(in srgb,var(--rarity) 22%,transparent);color:var(--rarity);text-transform:uppercase;letter-spacing:.12em}#reward-name{margin:0;font:800 30px/1.1 var(--ui-font);color:var(--ink)}#reward-description{margin:0 0 4px;max-width:34ch;font:600 15px/1.45 var(--ui-font);color:var(--ink-soft)}.reward-backpack{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin-bottom:8px}.reward-backpack[hidden]{display:none}.reward-backpack .tt-badge{padding:6px 14px;font-size:14px}#reward-backpack{color:var(--gold);font:800 14px/1.2 var(--ui-font);text-decoration:none}#reward-backpack:hover{text-decoration:underline}#reward-continue{min-width:220px}@keyframes rays-turn{to{transform:rotate(360deg)}}@keyframes reward-pop{0%{opacity:0;transform:scale(.3) rotate(-12deg)}to{opacity:1;transform:none}}#signin{z-index:11;background:radial-gradient(ellipse at center,#1c2b40d9,#0b1526)}.signin-panel{display:grid;justify-items:center;gap:12px;width:min(440px,100%);padding:30px 26px 22px;text-align:center}.signin-kicker{color:var(--ink-bright);font:800 34px/1 var(--ui-font);-webkit-text-stroke:2px var(--ember);paint-order:stroke fill;text-shadow:0 4px 0 var(--panel-edge)}.signin-panel h2{margin:4px 0 0;font:800 24px/1.15 var(--ui-font);color:var(--ink)}.signin-panel p{margin:0 0 6px;font:600 15px/1.45 var(--ui-font);color:var(--ink-soft)}#signin-button{width:100%}#signin-status{min-height:1.2em;font:700 13px/1.3 var(--ui-font);color:var(--warn)}#signin-offline{padding:6px;border:none;background:none;color:var(--ink-soft);font:700 14px/1.3 var(--ui-font);text-decoration:underline;cursor:pointer}#signin-offline:hover{color:var(--ink)}#controls{z-index:7}.controls-panel{display:grid;justify-items:center;gap:18px;width:min(640px,100%);padding:40px 26px 22px}.controls-panel h2{margin:0}.controls-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:18px 26px;width:100%}.controls-panel dl{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-content:start;margin:0;padding:14px;border:2px solid var(--card-edge);border-radius:14px;background:var(--card)}.controls-panel dt{justify-self:end;color:var(--ink-soft);font:700 14px/1.6 var(--ui-font);white-space:nowrap}.controls-panel dd{margin:0;color:var(--ink);font:700 15px/1.6 var(--ui-font)}.controls-race{grid-column:1 / -1}.controls-race h3{margin:0 0 6px;color:var(--ink);font:800 15px/1.2 var(--ui-font);letter-spacing:.04em;text-transform:uppercase}.controls-race dl{grid-template-columns:auto 1fr auto 1fr}@media(max-width:720px){.controls-race dl{grid-template-columns:auto 1fr}}#loading{font-family:var(--ui-font);font-weight:800;color:var(--ink)}#loading-track{height:14px;border-radius:999px;background:#00000059;box-shadow:inset 0 2px #0000004d,0 0 0 3px var(--panel-edge);overflow:hidden}#loading-bar{height:100%;border-radius:inherit;background:linear-gradient(180deg,var(--amber-top),var(--amber))}@media(max-width:720px){.controls-columns{grid-template-columns:1fr}.result-panel,.reward-panel{padding-inline:16px}.result-stat{min-width:84px}}@media(prefers-reduced-motion:reduce){.reward-rays,#reward-image,#result-hero .medal,.result-panel,.reward-panel{animation:none}}.run-tip{margin:8px auto 0;max-width:34em;padding:8px 12px;border-radius:10px;background:#ffd23f29;border:1px solid rgba(255,210,63,.55);color:var(--ink-soft);font:600 14px/1.35 var(--ui-font);text-align:center}.run-tip[hidden]{display:none}.run-tip .tt-coin{vertical-align:-2px;margin-right:2px}#inventory-screen{position:fixed;inset:0;display:grid;place-items:center;padding:40px 16px 20px;background:radial-gradient(ellipse at center,#08101e8c,#08101ed9);z-index:8;font-family:var(--ui-font)}.inv-panel{display:flex;flex-direction:column;gap:14px;width:min(980px,100%);height:min(720px,calc(100dvh - 60px));padding:38px 20px 16px}.inv-panel h2{margin:0}.inv-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.inv-tabs{width:min(480px,70%)}.inv-tabs button{white-space:nowrap}.inv-loadout{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:14px;padding:10px 14px;border:2px solid var(--card-edge);border-radius:14px;background:#0000002e}.inv-label{color:var(--ink);font:800 15px/1.2 var(--ui-font)}.inv-hint{color:var(--ink-soft);font:600 13px/1.35 var(--ui-font)}#inv-slots{display:flex;gap:10px}.inv-slot{position:relative;display:grid;place-items:center;width:58px;height:58px;padding:0;border:3px solid var(--brass);border-radius:50%;background:radial-gradient(circle at 50% 35%,#34496a,#1d2b40);box-shadow:0 4px 0 var(--panel-edge);cursor:pointer}.inv-slot img{width:42px;height:42px;object-fit:contain}.inv-slot.is-empty{border-style:dashed;border-color:#caa66a80;background:#0003;box-shadow:none;cursor:default}.inv-slot-key{position:absolute;left:-6px;bottom:-4px;display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--panel-edge);border-radius:7px;background:var(--ink);color:var(--panel);font:800 12px/1 var(--ui-font)}.inv-slot-count{position:absolute;right:-6px;top:-4px;min-width:22px;padding:2px 5px;border-radius:999px;background:linear-gradient(180deg,var(--ember-top),var(--ember));color:var(--ink-bright);font:800 11px/1.3 var(--ui-font)}#inv-list{flex:1 1 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));align-content:start;gap:14px;min-height:0;padding:4px 6px 10px 2px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--brass) transparent}#inv-list::-webkit-scrollbar{width:10px}#inv-list::-webkit-scrollbar-thumb{border-radius:999px;background:var(--brass)}.inv-card{--rarity: var(--rarity-common);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;min-width:0;gap:8px;padding:10px;border:2px solid var(--card-edge);border-radius:16px;background:var(--card);box-shadow:0 4px 0 var(--card-drop)}.inv-card.is-bought{animation:inv-bought .9s ease-out}.inv-card.is-unaffordable .inv-art img{filter:saturate(.5) brightness(.8)}.inv-card.is-locked{opacity:.6;filter:grayscale(.85)}.inv-mystery{display:grid;place-items:center;width:100px;height:100px;color:var(--ink-soft);font:800 64px/1 var(--ui-font);text-shadow:0 4px 0 rgba(0,0,0,.35)}@keyframes inv-bought{0%{box-shadow:0 0 #ffc83de6,0 4px 0 var(--card-drop);transform:scale(1.03)}to{box-shadow:0 0 0 16px #ffc83d00,0 4px 0 var(--card-drop);transform:none}}.inv-art{position:relative;display:grid;place-items:center;height:120px;border:2px solid var(--rarity);border-radius:12px;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--rarity) 30%,transparent) 0%,transparent 70%),#1b2940}.inv-art img{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}.inv-rarity{position:absolute;top:6px;left:6px;padding:1px 8px;border-radius:8px;background:var(--rarity);color:#10192a;font:800 10px/1.5 var(--ui-font);letter-spacing:.08em;text-transform:uppercase}.inv-text h3{margin:0 0 2px;color:var(--ink);font:800 16px/1.15 var(--ui-font)}.inv-text p{max-height:53px;margin:0;padding:0 4px 2px 0;overflow-y:auto;overscroll-behavior:contain;color:var(--ink-soft);font:600 12.5px/17px var(--ui-font);scrollbar-width:thin;scrollbar-color:var(--brass) transparent}.inv-text p::-webkit-scrollbar{width:4px}.inv-text p::-webkit-scrollbar-thumb{border-radius:999px;background:var(--brass)}.inv-shared{display:flex;align-items:center;gap:4px;margin-top:3px;color:var(--brass);font:700 11px/1.3 var(--ui-font)}.inv-shared svg{width:12px;height:12px;flex:none}.inv-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;min-height:36px}.inv-side>.tt-btn{flex:1}.inv-side>.tt-badge{max-width:100%;white-space:normal}.inv-count{color:var(--ink);font:800 15px/1 var(--ui-font)}.inv-group{grid-column:1 / -1;margin:18px 4px 2px;color:var(--ink-soft);font:800 13px/1.2 var(--ui-font);letter-spacing:.1em;text-transform:uppercase}.inv-others-note{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 4px 6px;color:var(--ink-soft);font:600 13px/1.35 var(--ui-font)}.inv-others-note p{margin:0}.inv-perk{flex-basis:100%;color:var(--ink-soft);font:600 12px/1.3 var(--ui-font)}.inv-empty{grid-column:1 / -1;margin:40px auto;max-width:40ch;color:var(--ink-soft);font:700 15px/1.5 var(--ui-font);text-align:center}.inv-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.inv-player{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ink-soft);font:700 12px/1.3 var(--ui-font)}.inv-player[hidden],.inv-loadout[hidden]{display:none}.inv-player summary{color:var(--ink-soft);cursor:pointer;text-decoration:underline}.inv-player[open] summary{margin-bottom:4px}.inv-backpack-intro{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 2px;color:var(--ink-soft);font:600 13px/1.4 var(--ui-font)}.inv-backpack-intro p{flex:1 1 280px;margin:0}.inv-wallet-link{flex:none;text-decoration:none}.inv-wallet-link svg:last-child{width:14px;height:14px;opacity:.7}.inv-tabs button[hidden]{display:none}.inv-player code{padding:3px 8px;border-radius:8px;background:#0000004d;color:var(--ink);font:700 12px/1.3 ui-monospace,monospace;user-select:all}#inv-backpack{color:var(--gold);font:800 14px/1.2 var(--ui-font);text-decoration:none}#inventory-close{margin-left:auto}@media(max-width:720px){#inventory-screen{align-items:end;padding:104px 10px 10px}.inv-panel{padding:34px 12px 12px;height:calc(100dvh - 114px)}.inv-header{flex-direction:column-reverse;align-items:stretch}.inv-tabs{width:100%}.inv-wallet{align-self:flex-end}.inv-loadout{grid-template-columns:auto 1fr}.inv-hint{grid-column:1 / -1}#inv-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.inv-art{height:96px}.inv-art img{width:80px;height:80px}}.inv-shop-intro{grid-column:1 / -1;margin:0 0 4px;opacity:.85;font-size:13px}.overlay{font-family:var(--ui-font)}#stats{top:max(14px,env(safe-area-inset-top,0px));left:14px;display:grid;justify-items:start;gap:6px;padding:8px 14px 10px;border:3px solid var(--panel-edge);border-radius:14px;background:#1c2b40e0;box-shadow:inset 0 0 0 2px #e8c48059,0 4px 0 var(--panel-drop);text-shadow:none}#stats .label{color:var(--ink-soft);font:800 11px/1 var(--ui-font);letter-spacing:.18em;text-transform:uppercase}#score{color:var(--ink);font:800 32px/.95 var(--ui-font);font-variant-numeric:tabular-nums}#coin-row{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font:800 19px/1 var(--ui-font);font-variant-numeric:tabular-nums}#inventory{display:flex;gap:6px}#inventory .item{position:relative;display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--brass);border-radius:10px;background:#22344d}#inventory .item img{width:26px;height:26px;object-fit:contain}#inventory .count{position:absolute;right:-5px;bottom:-5px;padding:0 4px;border-radius:999px;background:var(--ember);color:var(--ink-bright);font:800 10px/1.4 var(--ui-font)}#inventory .item.is-fresh{animation:item-pop .9s ease-out}#speed{top:max(96px,calc(env(safe-area-inset-top,0px) + 80px));right:16px;padding:3px 10px;border-radius:999px;background:#1c2b40cc;color:var(--ink-soft);font:800 12px/1.4 var(--ui-font);font-variant-numeric:tabular-nums;text-shadow:none}#progress{position:fixed;top:max(16px,env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;width:min(380px,44vw);z-index:4;pointer-events:none}#progress[hidden]{display:none}#progress-level{grid-column:1 / -1;justify-self:center;margin-bottom:4px;padding:1px 12px;border-radius:999px;background:#1c2b40d1;color:var(--ink);font:800 12px/1.5 var(--ui-font);letter-spacing:.08em;text-transform:uppercase}.progress-track{position:relative;height:12px;border:2px solid var(--panel-edge);border-radius:999px;background:#1c2b40d9}#progress-bar{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,var(--amber-top),var(--amber));transform:scaleX(0);transform-origin:left}.progress-runner{position:absolute;top:50%;left:calc(var(--p, 0) * 100%);width:18px;height:18px;border:3px solid var(--panel-edge);border-radius:50%;background:var(--ink-bright);transform:translate(-50%,-50%)}.progress-flag{width:22px;height:22px;color:var(--ember-top);filter:drop-shadow(0 2px 0 var(--panel-edge))}.qb-slot{width:66px;height:66px;margin:-33px 0 0 -33px;border:3px solid var(--brass);background:radial-gradient(circle at 50% 35%,#34496a,#1d2b40);box-shadow:0 4px 0 var(--panel-edge),0 8px 14px #0000004d;backdrop-filter:none}.qb-slot img{width:46px;height:46px;object-fit:contain;pointer-events:none}.qb-slot.is-empty{border-style:dashed;border-color:#caa66a73;background:#1c2b4073;box-shadow:none}.qb-slot.is-out img{opacity:.3;filter:grayscale(1)}.qb-slot:after{inset:-6px;background:conic-gradient(var(--gold) calc(var(--progress, 0) * 360deg),transparent 0);-webkit-mask:radial-gradient(circle,transparent 35px,#000 36px);mask:radial-gradient(circle,transparent 35px,#000 36px)}.qb-slot.is-active{border-color:var(--gold)}.qb-key{position:absolute;left:-4px;bottom:-4px;display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--panel-edge);border-radius:7px;background:var(--ink);color:var(--panel);font:800 12px/1 var(--ui-font)}.qb-count{position:absolute;right:-5px;top:-5px;min-width:22px;padding:1px 5px;border-radius:999px;background:linear-gradient(180deg,var(--ember-top),var(--ember));color:var(--ink-bright);font:800 11px/1.4 var(--ui-font)}#toast{top:max(74px,calc(env(safe-area-inset-top,0px) + 60px));left:50%;transform:translate(-50%,-8px);padding:6px 18px;border:2px solid var(--brass);border-radius:999px;background:#1c2b40f0;box-shadow:0 4px 0 var(--panel-edge);color:var(--gold);font:800 16px/1.3 var(--ui-font);white-space:nowrap;text-shadow:none;opacity:0;transition:opacity .25s ease,transform .25s ease}#toast.is-visible{opacity:1;transform:translate(-50%)}#hint{top:22%;left:50%;display:grid;justify-items:center;gap:6px;padding:12px 24px;border:3px solid var(--panel-edge);border-radius:16px;background:#1c2b40eb;box-shadow:inset 0 0 0 2px #e8c48066,0 6px 0 var(--panel-drop);transform:translate(-50%,8px) scale(.96);opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:4;text-align:center;text-shadow:none}#hint.is-visible{opacity:1;transform:translate(-50%) scale(1)}#hint-title{color:var(--ink-bright);font:800 clamp(22px,5vw,34px)/1.1 var(--ui-font);letter-spacing:.04em;text-transform:uppercase}#hint-keys{color:var(--ink-soft);font:700 14px/1.4 var(--ui-font)}#act-banner-kicker{color:var(--ink-bright);font:800 13px/1.2 var(--ui-font);letter-spacing:.24em;text-shadow:0 2px 0 var(--ember)}#act-banner-title{color:var(--ink-bright);font:800 clamp(30px,5.4vw,52px)/1 var(--ui-font);-webkit-text-stroke:3px var(--ember);paint-order:stroke fill;text-shadow:0 5px 0 var(--panel-edge)}@media(max-width:720px){#stats{padding:6px 10px 8px}#score{font-size:24px}#progress{top:max(12px,env(safe-area-inset-top,0px));left:auto;right:70px;transform:none;width:40vw}#speed{display:none}}#pause-button{position:fixed;top:max(40px,calc(env(safe-area-inset-top,0px) + 22px));right:76px;z-index:12}#pause,#settings{position:fixed;inset:0;display:grid;place-items:center;padding:44px 16px 24px;background:radial-gradient(ellipse at center,#08101e80,#08101ed1);font-family:var(--ui-font);overflow-y:auto}#pause{z-index:9}#settings{z-index:10}.pause-panel,.settings-panel{display:grid;justify-items:center;gap:16px;padding:40px 24px 20px;animation:panel-in .3s cubic-bezier(.2,1.4,.4,1) both}.pause-panel{width:min(380px,100%)}.settings-panel{width:min(480px,100%)}.pause-panel h2,.settings-panel h2{margin:0}#pause-stats{display:flex;gap:10px}.pause-actions{display:grid;gap:12px;width:100%}.pause-actions .tt-btn{width:100%}.pause-note{margin:0;color:var(--ink-soft);font:700 12px/1.3 var(--ui-font)}.settings-rows{display:grid;gap:10px;width:100%}.settings-row{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:14px;min-height:52px;padding:6px 14px;border:2px solid var(--card-edge);border-radius:14px;background:var(--card);color:var(--ink);font:800 16px/1.2 var(--ui-font)}.settings-row>:last-child{justify-self:end;width:100%}.settings-row .tt-toggle{width:64px}.settings-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.settings-debug-text{width:100%;margin:0 0 12px;padding:8px;border:2px solid var(--card-edge, #4f78ad);border-radius:8px;background:#06101f99;color:var(--ink, #f6ecd9);font:12px/1.35 ui-monospace,monospace;resize:vertical}.tt-range{--value: .5;width:100%;height:28px;margin:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}.tt-range::-webkit-slider-runnable-track{height:14px;border-radius:999px;background:linear-gradient(90deg,var(--amber) calc(var(--value) * 100%),rgba(0,0,0,.35) 0);box-shadow:inset 0 2px #00000040}.tt-range::-moz-range-track{height:14px;border-radius:999px;background:#00000059}.tt-range::-moz-range-progress{height:14px;border-radius:999px;background:var(--amber)}.tt-range::-webkit-slider-thumb{width:28px;height:28px;margin-top:-7px;border:3px solid var(--panel-edge);border-radius:50%;background:var(--ink-bright);box-shadow:0 3px 0 var(--panel-edge);-webkit-appearance:none;appearance:none}.tt-range::-moz-range-thumb{width:22px;height:22px;border:3px solid var(--panel-edge);border-radius:50%;background:var(--ink-bright)}.tt-range:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:999px}.tt-toggle{position:relative;width:64px;height:34px;padding:0;border:3px solid var(--panel-edge);border-radius:999px;background:#3a4455;cursor:pointer;transition:background .15s}.tt-toggle span{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink-bright);box-shadow:0 2px #0000004d;transition:transform .15s}.tt-toggle[aria-checked=true]{background:linear-gradient(180deg,var(--amber-top),var(--amber))}.tt-toggle[aria-checked=true] span{transform:translate(30px)}.tt-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:720px){#pause-button{right:70px}.settings-row{grid-template-columns:1fr;gap:6px;padding:10px 14px}.settings-row>:last-child{justify-self:stretch}.settings-row .tt-toggle{justify-self:start}}#name-dialog{position:fixed;inset:0;display:grid;place-items:center;padding:44px 16px 24px;background:radial-gradient(ellipse at center,#08101e80,#08101ed6);z-index:11;font-family:var(--ui-font)}.name-panel{display:grid;justify-items:stretch;gap:12px;width:min(400px,100%);margin:0;padding:40px 22px 20px;animation:panel-in .3s cubic-bezier(.2,1.4,.4,1) both}.name-panel h2{margin:0}.name-panel p{margin:0;color:var(--ink-soft);font:600 14px/1.4 var(--ui-font);text-align:center}.tt-input{min-height:50px;padding:6px 16px;border:3px solid var(--panel-edge);border-radius:14px;background:#121d2e;box-shadow:inset 0 3px #0000004d;color:var(--ink);font:800 20px/1 var(--ui-font);user-select:text;-webkit-user-select:text}.tt-input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}#name-error{min-height:1.2em;color:var(--warn);font:700 13px/1.3 var(--ui-font);text-align:center}.name-id{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:10px 12px;border-radius:12px;background:#00000038;color:var(--ink-soft);font:700 12px/1.3 var(--ui-font)}.name-id[hidden]{display:none}.name-id code{grid-column:1;color:var(--ink);font:600 12px/1.3 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}.name-id button{grid-column:2;grid-row:1 / span 2}.name-actions{display:flex;justify-content:center;gap:12px}.account-name{display:inline-flex;align-items:center;gap:10px;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.account-name:disabled{cursor:default}.account-name:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:999px}#goals{position:fixed;inset:0;display:grid;place-items:center;padding:44px 16px 24px;background:radial-gradient(ellipse at center,#08101e80,#08101ed6);z-index:8;font-family:var(--ui-font);overflow-y:auto}.goals-panel{display:grid;justify-items:stretch;gap:14px;width:min(560px,100%);padding:40px 22px 20px;animation:panel-in .3s cubic-bezier(.2,1.4,.4,1) both}.goals-panel h2{margin:0}.goals-reset{margin:0;justify-self:center;color:var(--ink-soft);font:700 13px/1.2 var(--ui-font)}.goals-reset:empty{display:none}#goals-list{display:grid;gap:10px}.goal{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px 14px;border:2px solid var(--card-edge);border-radius:14px;background:var(--card);box-shadow:0 3px 0 var(--card-drop)}.goal.is-done{border-color:var(--gold);box-shadow:0 0 0 3px #ffc83d40,0 3px 0 var(--card-drop)}.goal.is-claimed{opacity:.72}.goal-text{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px}.goal-text h3{grid-column:1 / -1;margin:0;color:var(--ink);font:800 16px/1.2 var(--ui-font)}.goal-count{color:var(--ink-soft);font:800 12px/1 var(--ui-font);font-variant-numeric:tabular-nums}.goal-side{display:flex;justify-content:flex-end;min-width:108px}.goal-side .tt-btn{width:100%}.goals-streak{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:12px 14px;border:2px dashed rgba(202,166,106,.55);border-radius:14px;background:#0000002e}.goals-streak[hidden]{display:none}#goals-streak-art{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}.goals-streak-text h3{margin:0 0 2px;color:var(--ink);font:800 16px/1.2 var(--ui-font)}.goals-streak-text p{margin:0 0 8px;color:var(--ink-soft);font:600 13px/1.35 var(--ui-font)}.goals-days{display:flex;gap:8px}.goal-day{display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--card-edge);border-radius:50%;background:var(--card);color:var(--ink-dim);font:800 13px/1 var(--ui-font)}.goal-day svg{width:16px;height:16px}.goal-day.is-done{border-color:var(--amber-drop);background:linear-gradient(180deg,var(--amber-top),var(--amber));color:var(--amber-ink)}.goals-offline{display:grid;justify-items:center;gap:12px;padding:10px 6px;text-align:center}.goals-offline p,.goals-loading{margin:0;color:var(--ink-soft);font:700 15px/1.45 var(--ui-font);text-align:center}#goals-close{justify-self:center}.tt-btn .btn-badge{position:absolute;top:-8px;right:-8px;min-width:24px;padding:2px 7px;border:2px solid var(--panel-edge);border-radius:999px;background:linear-gradient(180deg,var(--ember-top),var(--ember));color:var(--ink-bright);font:800 12px/1.3 var(--ui-font);text-shadow:none}@media(max-width:720px){.goal{grid-template-columns:1fr}.goal-side{min-width:0}.goals-streak{grid-template-columns:1fr;justify-items:center;text-align:center}.goals-days{justify-content:center}}#howto{position:fixed;inset:0;display:grid;place-items:center;padding:44px 16px 24px;background:radial-gradient(ellipse at center,#08101e80,#08101ed6);z-index:9;font-family:var(--ui-font);overflow-y:auto}.howto-panel{display:grid;justify-items:center;gap:18px;width:min(760px,100%);padding:42px 22px 22px;animation:panel-in .35s cubic-bezier(.2,1.4,.4,1) both}.howto-panel h2{margin:0}.howto-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:0;padding:0;list-style:none;counter-reset:step}.howto-steps li{position:relative;display:grid;justify-items:center;align-content:start;gap:6px;padding:16px 12px 14px;border:2px solid var(--card-edge);border-radius:16px;background:var(--card);box-shadow:0 4px 0 var(--card-drop);text-align:center;counter-increment:step}.howto-steps li:before{content:counter(step);position:absolute;top:-12px;left:-8px;display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--panel-edge);border-radius:50%;background:linear-gradient(180deg,var(--ember-top),var(--ember));color:var(--ink-bright);font:800 14px/1 var(--ui-font)}.howto-steps h3{margin:0;color:var(--ink);font:800 17px/1.2 var(--ui-font)}.howto-steps p{margin:0;color:var(--ink-soft);font:600 13px/1.45 var(--ui-font)}.howto-art{display:grid;place-items:center;width:72px;height:72px;object-fit:contain}.howto-art--run{border-radius:14px;background:linear-gradient(90deg,transparent 32%,rgba(255,255,255,.35) 32% 35%,transparent 35% 65%,rgba(255,255,255,.35) 65% 68%,transparent 68%),linear-gradient(180deg,#8fc3e8,#dff4ff);position:relative}.howto-art--run:after{content:"";position:absolute;left:50%;bottom:12px;border:12px solid transparent;border-bottom:22px solid var(--ember);transform:translate(-50%)}.howto-art--coins .tt-coin{width:48px;height:48px}#howto-go{min-width:240px}@media(max-width:720px){.howto-steps{grid-template-columns:1fr}.howto-steps li{grid-template-columns:auto 1fr;justify-items:start;text-align:left;column-gap:12px}.howto-steps li>:first-child{grid-row:1 / 3}}.goals-quests{margin-top:12px}.goals-quests[hidden]{display:none}.goals-quests h3{margin:0 0 2px}.goals-quests-note{margin:0 0 8px;font-size:13px;opacity:.8}.quest-list{display:grid;gap:4px;margin:0;padding:0;list-style:none;max-height:32vh;overflow-y:auto}.quest{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:5px 8px;border-radius:8px;background:#ffffff0f;font-size:14px}.quest-mark{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.35)}.quest.is-done .quest-mark{border-color:#6be38a;background:#2f9e57}.quest-mark svg{width:12px;height:12px}.quest-reward{font-weight:800;color:#ffd23f}.quest.is-done .quest-name{opacity:.7}#race-panel,#race-results{position:fixed;inset:0;display:grid;place-items:center;padding:44px 16px 24px;background:radial-gradient(ellipse at center,#08101e80,#08101ed6);z-index:9;font-family:var(--ui-font);overflow-y:auto}#race-panel[hidden],#race-results[hidden],#race-hud[hidden]{display:none}.race-card{display:grid;gap:14px;width:min(460px,100%);padding:40px 22px 20px;animation:panel-in .3s cubic-bezier(.2,1.4,.4,1) both}.race-card h2{margin:0;text-align:center}.race-note,.race-status{margin:0;text-align:center;color:var(--ink-soft);font:700 14px/1.35 var(--ui-font)}.race-home,.race-room{display:grid;gap:12px}.race-home[hidden],.race-room[hidden]{display:none}.race-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.race-check{display:inline-flex;gap:6px;align-items:center;font:800 15px/1 var(--ui-font);color:var(--ink)}#race-code{width:8.5em;padding:10px 12px;border:2px solid var(--card-edge);border-radius:12px;background:var(--card);color:var(--ink);font:900 20px/1 var(--ui-font);letter-spacing:.2em;text-align:center;text-transform:uppercase}.race-code-line{display:flex;justify-content:center;gap:10px;align-items:baseline;font:800 15px/1 var(--ui-font);color:var(--ink-soft)}#race-room-code{color:var(--ink);font-size:26px;letter-spacing:.18em}.race-members,.race-results-note{margin:-4px 0 10px;text-align:center;color:var(--gold, #ffd23f);font:700 16px/1.3 var(--ui-font)}.race-podium{display:grid;gap:8px;margin:0;padding:0;list-style:none}.race-members li,.race-podium li{min-width:0;display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--card-edge);border-radius:12px;background:var(--card);box-shadow:0 3px 0 var(--card-drop);font:800 16px/1.2 var(--ui-font);color:var(--ink)}.race-members li.is-empty{opacity:.45;box-shadow:none;border-style:dashed}.race-podium li.is-me{border-color:var(--rider)}.race-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-dot{flex:none;width:14px;height:14px;border-radius:50%;background:var(--rider, #8aa);box-shadow:0 0 0 2px #00000059}.race-rank{width:2.4em;font-weight:900}.race-time{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.race-rooms-head{display:flex;justify-content:space-between;font:900 13px/1 var(--ui-font);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.race-rooms{display:grid;gap:6px;max-height:210px;margin:0;padding:0;overflow-y:auto;list-style:none}.race-rooms li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:2px solid var(--card-edge);border-radius:12px;background:var(--card);font:800 15px/1.2 var(--ui-font);color:var(--ink)}.race-rooms li em{font-style:normal;font-size:12px;color:var(--ink-soft)}.race-rooms .race-rooms-empty{justify-content:center;border-style:dashed;color:var(--ink-soft);font-size:13px}.race-players{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.race-error{margin:0;min-height:1em;text-align:center;color:#ff7a6a;font:800 14px/1.3 var(--ui-font)}.race-error:empty{display:none}#race-back{justify-self:center}.race-badges{display:flex;flex:none;gap:6px;align-items:center}.race-badges:empty{display:none}.race-new{background:var(--gold)}.race-new.is-live{background:var(--ok, #6dff7a);color:#06240d}#race-reconnect{position:fixed;top:max(16px,env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 18px;border:2px solid var(--brass, #c8923a);border-radius:999px;background:#0a121eeb;box-shadow:0 4px 0 var(--panel-edge, var(--panel-edge)),0 8px 20px #0006;color:var(--ink);font:800 15px/1 var(--ui-font);z-index:21;pointer-events:none}#race-reconnect[hidden]{display:none}.race-spinner{width:16px;height:16px;border:3px solid rgba(232,244,255,.3);border-top-color:var(--ink);border-radius:50%;animation:race-spin .8s linear infinite}@keyframes race-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.race-spinner{animation-duration:2.4s}}body.is-racing #pause-button,body.is-racing #inventory{display:none!important}#race-hud{position:fixed;inset:0;pointer-events:none;z-index:4;font-family:var(--ui-font)}.race-place{position:absolute;top:118px;left:16px;display:flex;align-items:baseline;gap:4px;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.45)}.race-place strong{font:900 44px/1 var(--ui-font)}.race-place span{font:800 18px/1 var(--ui-font);opacity:.85}.race-count{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);color:#fff;font:900 120px/1 var(--ui-font);text-shadow:0 6px 0 rgba(0,0,0,.45),0 0 30px rgba(141,255,60,.6)}.race-count.is-pop{animation:race-pop .9s ease-out both}@keyframes race-pop{0%{transform:translate(-50%,-50%) scale(1.6);opacity:0}20%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(.9);opacity:.9}}.race-finish-by{position:absolute;top:176px;left:18px;padding:5px 12px;border-radius:999px;background:#0a121eb8;color:var(--gold);font:800 15px/1 var(--ui-font);font-variant-numeric:tabular-nums}.race-finish-by[hidden]{display:none}.race-ping{margin-left:10px;padding:2px 8px;border-radius:999px;background:#0a121e99;color:var(--ok);font:700 12px/1.2 var(--ui-font);font-variant-numeric:tabular-nums}.race-ping:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:currentColor}.race-ping[data-level=fair]{color:var(--warn)}.race-ping[data-level=bad]{color:#ff7a6b}.race-ping--hud{position:absolute;top:64px;left:50%;translate:-50% 0;margin:0;opacity:.85}.race-ping[hidden]{display:none}.race-leave{position:absolute;bottom:16px;left:16px;pointer-events:auto}.race-tags{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}.race-tag{max-width:160px;overflow:hidden;text-overflow:ellipsis;position:absolute;top:0;left:0;padding:3px 8px;border-radius:999px;background:#0a121eb3;border:2px solid var(--rider);color:#fff;font:800 13px/1.1 var(--ui-font);white-space:nowrap}.race-tag[hidden]{display:none}.race-callout{position:absolute;top:0;left:0;padding:2px 10px;border-radius:8px;color:#fff;font:900 20px/1.1 var(--ui-font);letter-spacing:.04em;white-space:nowrap;text-shadow:0 2px 0 rgba(0,0,0,.45);animation:race-callout 1.2s ease-out forwards}.race-callout.is-hit{background:#e0552f}.race-callout.is-blocked{background:#1aa6c2}.race-callout[hidden]{display:none}@keyframes race-callout{0%{opacity:0;scale:.6}12%{opacity:1;scale:1.15}25%{scale:1}80%{opacity:1}to{opacity:0;translate:0 -18px}}.race-kit{position:absolute;left:16px;bottom:70px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}.race-energy{position:relative;display:flex;align-items:center;gap:10px;padding:6px 12px 6px 8px;border-radius:999px;background:#0814229e;box-shadow:0 3px #00000059}.race-energy-label{display:flex;align-items:center;gap:6px;color:#fff;font:800 14px/1 var(--ui-font);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 0 rgba(0,0,0,.4)}.race-energy-track{position:relative;display:block;width:min(260px,46vw);height:18px;padding:2px;border:2px solid rgba(255,255,255,.7);border-radius:999px;background:#0814228c}.race-energy-track:after{content:"";position:absolute;inset:2px;border-radius:999px;pointer-events:none;background:linear-gradient(90deg,transparent calc(33.33% - 1.5px),rgba(8,20,34,.9) calc(33.33% - 1.5px),rgba(8,20,34,.9) calc(33.33% + 1.5px),transparent calc(33.33% + 1.5px),transparent calc(66.67% - 1.5px),rgba(8,20,34,.9) calc(66.67% - 1.5px),rgba(8,20,34,.9) calc(66.67% + 1.5px),transparent calc(66.67% + 1.5px))}.race-energy-track>i{display:block;width:100%;height:100%;border-radius:999px;background:linear-gradient(90deg,#4fb3ff,#9ef0ff);transition:width .12s linear,background .2s ease}.race-energy.is-boosting>.race-energy-track>i{background:linear-gradient(90deg,#ffd23f,#ff8a3d)}.race-energy.is-boosting .race-energy-track{border-color:#ffd23f;box-shadow:0 0 14px #ffaa3cbf}.race-energy.is-low>.race-energy-track>i{background:linear-gradient(90deg,#ff6a5a,#ff9a7a)}.race-energy.is-gain .race-energy-track{animation:race-energy-gain .5s ease-out}@keyframes race-energy-gain{0%{box-shadow:0 0 0 4px #9ef0ffe6,0 0 22px #9ef0ffe6}to{box-shadow:0 0 #9ef0ff00,0 0 #9ef0ff00}}.race-energy.is-ready .race-energy-track{animation:race-energy-ready .9s ease-out}.race-energy.is-ready .race-energy-label kbd{animation:race-energy-key .9s ease-out}@keyframes race-energy-ready{0%{transform:scale(1);box-shadow:0 0 #ffec8c00}20%{transform:scale(1.06);border-color:#ffe98c;box-shadow:0 0 0 4px #ffec8cf2,0 0 26px #9ef0fff2}to{transform:scale(1);box-shadow:0 0 #ffec8c00,0 0 #9ef0ff00}}@keyframes race-energy-key{0%,to{background:#ffffff24;color:#fff;box-shadow:none}20%,55%{background:#ffe98c;color:#10263c;box-shadow:0 0 14px #ffec8cf2}}.race-energy-empty{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:900 11px/1 var(--ui-font);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 0 rgba(0,0,0,.6);opacity:0;pointer-events:none}.race-energy.is-empty{animation:race-shake .4s ease-in-out}.race-energy.is-empty .race-energy-track{border-color:#ff6a5a;background:#961e14b3}.race-energy.is-empty .race-energy-empty{animation:race-say 1.2s ease-out}@keyframes race-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes race-say{0%{opacity:0}15%,75%{opacity:1}to{opacity:0}}#race-hud kbd{display:inline-block;min-width:1.6em;padding:2px 6px;border:1px solid rgba(255,255,255,.55);border-bottom-width:3px;border-radius:6px;background:#ffffff24;color:#fff;font:800 12px/1.2 var(--ui-font);text-align:center;text-transform:none}.race-keys{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin:0;padding:8px 10px;border-radius:12px;background:#0814228c;color:#e8f6ff;font:700 13px/1.2 var(--ui-font);list-style:none;opacity:.6}.race-keys li{display:flex;align-items:center;gap:4px}.race-keys.is-fresh{animation:race-keys-dim 1s ease 20s both}@keyframes race-keys-dim{0%{opacity:1}to{opacity:.6}}.race-keys-touch{display:none!important}@media(hover:none)and (pointer:coarse){.race-keys-desk{display:none!important}.race-keys-touch{display:flex!important}#race-hud .race-energy-label kbd{display:none}}.race-coach{position:absolute;top:56%;left:50%;max-width:calc(100vw - 32px);padding:10px 20px;border-radius:14px;background:#0a1828d1;color:#fff;font:900 24px/1.2 var(--ui-font);text-align:center;text-shadow:0 2px 0 rgba(0,0,0,.4);transform:translate(-50%)}.race-coach.is-big{top:34%;padding:16px 32px;border:3px solid #ffd23f;border-radius:18px;font-size:clamp(26px,5vw,46px)}.race-coach[hidden]{display:none}.race-coach.is-shown{animation:race-coach-in .35s ease-out}@keyframes race-coach-in{0%{opacity:0;transform:translate(-50%,10px) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}.race-item{position:relative;display:flex;align-items:center;gap:8px;padding:6px 12px;border:2px solid rgba(255,255,255,.7);border-radius:12px;background:#0a1828c7;color:#fff;font:700 15px/1 var(--ui-font);letter-spacing:.02em;text-shadow:0 2px 0 rgba(0,0,0,.4);cursor:pointer;pointer-events:auto}.race-item[data-item=rocket]{border-color:#ff6a3d}.race-item[data-item=shield]{border-color:#9ef0ff}.race-item[data-item=banana]{border-color:#9ad34f}.race-item[data-item=charge]{border-color:#ffd23f}.race-item[data-item=comet]{border-color:#bff4ff;box-shadow:0 0 12px #9ef0ff99}.race-item[data-item=thunder]{border-color:#8fc0ff;box-shadow:0 0 12px #508cffa6}.race-item[data-item=snow]{border-color:#fff;box-shadow:0 0 10px #9ec8ee99}.race-item[data-item=wall]{border-color:#9ee6ff;box-shadow:0 0 10px #3b9fd099}.race-item[data-item=mine]{border-color:#ff5a4a;box-shadow:0 0 10px #ff2a2a8c}.race-item[data-item=rainbow]{border-color:#ffe94d;box-shadow:0 0 10px #ff4d6d8c,0 0 16px #4dc3ff73}.race-item.is-idle{border-color:#ffffff40;box-shadow:none;opacity:.6}.race-item.is-idle .race-item-key{opacity:.4}.race-slot.is-idle{border-color:#ffffff40;box-shadow:none;opacity:.5}.race-slot.is-idle .item-icon{filter:grayscale(1)}.race-comet-wait{position:absolute;top:-8px;right:-8px;padding:0 5px;border:2px solid #1d2433;border-radius:999px;background:#9ef0ff;color:#13233b;font:900 12px/16px var(--ui-font);pointer-events:none}.race-thunder-count{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 5px;border:2px solid #1d2433;border-radius:999px;background:#4f8dff;color:#fff;font:900 12px/16px var(--ui-font);text-align:center;box-shadow:0 0 8px #4f8dffcc;pointer-events:none}.race-frost{position:absolute;inset:0;background:radial-gradient(ellipse at center,#dcf8ff00 45%,#c8f0ff8c 78%,#ebfcffd9);opacity:0;pointer-events:none}.race-frost.is-on{animation:race-frost calc(var(--frost-hold, 1.6s) + .6s) ease-out both}@keyframes race-frost{0%{opacity:0}12%{opacity:1}75%{opacity:1}to{opacity:0}}.race-item-key{padding:1px 6px;border-radius:6px;background:#ffffff2e;font-size:12px}.race-item-hint{max-width:min(320px,calc(100vw - 32px));padding:4px 10px;border-radius:8px;background:#0a1828b3;color:#e8f6ff;font:600 13px/1.3 var(--ui-font);text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.4)}.race-shield{padding:3px 10px;border:2px solid #9ef0ff;border-radius:999px;background:#14465abf;color:#dffbff;font:700 13px/1 var(--ui-font);letter-spacing:.02em}.race-item.is-new{animation:race-item-pop .32s ease-out}@keyframes race-item-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.race-item.is-full{animation:race-item-full .9s ease-out}@keyframes race-item-full{0%{box-shadow:0 0 #dce4f0e6}40%{box-shadow:0 0 0 5px #dce4f08c}to{box-shadow:0 0 0 8px #dce4f000}}.race-item.is-empty{border-style:dashed;border-color:#ffffff73;background:#0a182866;color:#fff9;font-size:13px}.race-item.is-denied{animation:race-shake .4s ease-in-out;border-color:#ff6a5a}@media(prefers-reduced-motion:reduce){.race-item.is-new,.race-item.is-full,.race-item.is-denied,.race-energy.is-empty,.race-energy.is-gain .race-energy-track,.race-energy.is-ready .race-energy-track,.race-coach.is-shown{animation:none}.race-energy.is-empty .race-energy-empty{animation:none;opacity:1}.race-energy-track>i{transition:none}.race-keys.is-fresh{animation:none}}.race-item.is-rolling{border-color:#fff6;opacity:.8;animation:race-item-roll .14s steps(2,end) infinite}@keyframes race-item-roll{0%{transform:translateY(-1px)}to{transform:translateY(1px)}}.race-item.is-landed{box-shadow:0 0 0 3px #ffffff8c,0 0 22px #ffd23fbf}@media(prefers-reduced-motion:reduce){.race-item.is-rolling{animation:none}}.race-maps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.race-maps[hidden]{display:none}.race-map-card{position:relative;display:grid;gap:2px;padding:0 0 9px;overflow:hidden;text-align:left;border:3px solid var(--card-edge);border-radius:14px;background:var(--card);box-shadow:0 3px 0 var(--card-drop);color:var(--ink);cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.race-map-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 0 var(--card-drop)}.race-map-card:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}.race-map-card.is-chosen{border-color:#ffd23f;box-shadow:0 0 0 2px #ffd23f55,0 3px 0 var(--card-drop)}.race-map-card:disabled{cursor:default}.race-map-card:disabled:not(.is-chosen){opacity:.5}.race-map-thumb{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--card-edge);margin-bottom:6px}.race-map-chosen{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:999px;background:#ffd23f;color:#1d2433;font:800 11px/1.2 var(--ui-font);letter-spacing:.02em;text-transform:uppercase;visibility:hidden}.race-map-card.is-chosen .race-map-chosen{visibility:visible}.race-map-name{padding:0 10px;font:800 16px/1.2 var(--ui-font)}.race-map-meta{padding:0 10px;font:700 12px/1.3 var(--ui-font);color:var(--ink-soft)}.race-map-about{padding:2px 10px 0;font:600 12px/1.35 var(--ui-font);color:var(--ink-soft)}.race-time{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:8px}.race-time[hidden]{display:none}.race-time-label{display:grid;font:800 14px/1.2 var(--ui-font);color:var(--ink)}.race-time-label small{font:600 11px/1.2 var(--ui-font);color:var(--ink-soft)}.race-time-btn{min-height:40px;padding:6px 10px;border:3px solid var(--card-edge);border-radius:12px;background-size:300% auto;background-position:45% 78%;box-shadow:0 3px 0 var(--card-drop);color:#fff;text-shadow:0 1px 0 #000a,0 0 6px #000c,0 0 2px #000;font:800 14px/1 var(--ui-font);cursor:pointer;transition:transform .12s ease,border-color .12s ease}.race-time-btn:disabled{cursor:default}.race-time-btn:disabled:not(.is-chosen){filter:saturate(.5) brightness(.75)}.race-time-btn:hover:not(:disabled){transform:translateY(-2px)}.race-time-btn:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}.race-time-btn.is-chosen{border-color:#ffd23f;box-shadow:0 0 0 2px #ffd23f55,0 3px 0 var(--card-drop)}.race-members.is-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.race-members.is-wide li{padding:6px 8px;font-size:13px;gap:6px}@media(max-width:420px){.race-map-about{display:none}}.race-members li.is-summary{grid-column:1 / -1;justify-content:center}.race-members li.is-summary .race-dot{display:none}.race-edge{position:absolute;top:0;left:0;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:999px;background:#0a121eb8;border:2px solid var(--rider);color:#fff;font:800 13px/1.1 var(--ui-font);white-space:nowrap;transform-origin:50% 50%}.race-edge[hidden]{display:none}.race-edge em{font-style:normal;font-weight:700;font-size:11px;opacity:.8}.race-edge-arrow{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid var(--rider);transform:rotate(var(--turn, 0rad));filter:drop-shadow(0 0 2px rgba(0,0,0,.6))}.race-loading{position:fixed;inset:0;z-index:30;display:grid;align-items:end;overflow:hidden;background:#0b1626;color:var(--ink);font-family:var(--ui-font)}.race-loading[hidden]{display:none}.race-loading-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:race-loading-push 14s ease-out both}@keyframes race-loading-push{0%{transform:scale(1.02)}to{transform:scale(1.1)}}.race-loading-shade{position:absolute;inset:0;background:linear-gradient(180deg,#080e1a00 35%,#080e1a8c 62%,#080e1aeb)}.race-loading-card{position:relative;width:min(760px,calc(100% - 32px));margin:0 auto 6vh;display:grid;gap:10px}.race-loading-kicker{margin:0;font:800 13px/1 var(--ui-font);letter-spacing:.28em;text-transform:uppercase;color:#ffd23f}.race-loading-name{margin:0;font:800 clamp(34px,6vw,60px)/1 var(--ui-font);color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.45)}.race-loading-meta{margin:0;font:700 15px/1.3 var(--ui-font);color:var(--ink-soft, #c8d6e8)}.race-loading-tip{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;min-height:64px;padding:12px 16px;border:3px solid var(--card-edge, #3a5578);border-radius:14px;background:#162438eb;box-shadow:0 3px 0 var(--card-drop, #0d1828)}.race-loading-tip-label{padding:5px 10px;border-radius:999px;background:#ffd23f;color:#2a1d06;font:800 13px/1 var(--ui-font);text-transform:uppercase;letter-spacing:.08em}.race-loading-tip-text{margin:0;font:700 17px/1.35 var(--ui-font);color:#fff}.race-loading-tip-text.is-in{animation:race-loading-tip .35s ease-out both}@keyframes race-loading-tip{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.race-loading-bar{height:14px;overflow:hidden;border:2px solid rgba(255,255,255,.25);border-radius:999px;background:#00000073}.race-loading-bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#ffb52e,#ffd23f);box-shadow:0 0 12px #ffd23f88}.race-loading-status{margin:0;font:700 13px/1 var(--ui-font);color:var(--ink-soft, #c8d6e8)}@media(max-width:520px){.race-loading-tip-text{font-size:15px}.race-loading-card{margin-bottom:4vh}}@media(prefers-reduced-motion:reduce){.race-loading-art,.race-loading-tip-text.is-in{animation:none}}.race-threat{position:fixed;inset:0;z-index:8;pointer-events:none;--threat: 0;background:radial-gradient(ellipse at center,transparent 48%,rgba(255,150,20,calc(.3 + .5 * var(--threat))) 100%);box-shadow:inset 0 0 calc(50px + 90px * var(--threat)) rgba(255,140,10,calc(.4 + .45 * var(--threat)));animation:race-threat-pulse calc(.9s - .45s * var(--threat)) ease-in-out infinite}.race-threat[hidden]{display:none}@keyframes race-threat-pulse{0%,to{opacity:.45}50%{opacity:1}}.race-rocket-warn{position:fixed;left:50%;bottom:calc(118px + env(safe-area-inset-bottom,0px));z-index:9;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 16px;border:3px solid #1d2433;border-radius:999px;background:#ffb21f;color:#1d2433;font:900 18px/1 var(--ui-font);letter-spacing:.04em;text-transform:uppercase;box-shadow:0 4px #00000059;white-space:nowrap;pointer-events:none;animation:race-threat-pulse .5s ease-in-out infinite}@media(max-width:600px){.race-rocket-warn{font-size:15px;padding:6px 12px}}.race-fork{position:fixed;left:50%;top:calc(96px + env(safe-area-inset-top,0px));z-index:9;transform:translate(-50%);display:flex;gap:6px;padding:5px;border:3px solid #1d2433;border-radius:999px;background:#1d2433b8;pointer-events:none}.race-fork[hidden]{display:none}.race-fork-way{padding:6px 14px;border-radius:999px;color:#ffffff73;font:900 17px/1 var(--ui-font);letter-spacing:.04em;text-transform:uppercase;transition:background .12s,color .12s,transform .12s}.race-fork-way.is-on{background:#f6ecd9;color:#1d2433;transform:scale(1.06)}.race-fork-way.is-cut.is-on{background:#36d6ff}@media(max-width:640px){.race-fork{top:calc(74px + env(safe-area-inset-top,0px))}.race-fork-way{font-size:14px;padding:5px 10px}}.race-rocket-warn[hidden]{display:none}.race-rocket-warn b{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.race-threat{animation:none;opacity:.8}.race-rocket-warn{animation:none}}.race-name-row{align-items:center;gap:8px}.race-name-row label{font:800 13px/1.2 var(--ui-font);color:var(--ink);white-space:nowrap}.race-name-row input{flex:1;min-width:0;padding:8px 10px;border:2px solid var(--card-edge);border-radius:12px;background:var(--card);color:var(--ink);font:800 15px/1.2 var(--ui-font)}.race-name-row.is-prompt input{border-color:var(--warn, #ffb547);box-shadow:0 0 0 3px #ffb54759}.race-howto{margin:0 0 10px;padding:10px 14px;border:2px solid var(--card-edge);border-radius:12px;background:var(--card);color:var(--ink);font:700 14px/1.35 var(--ui-font)}.race-howto[hidden]{display:none}.race-howto ul{margin:6px 0 8px;padding-left:18px}@media(hover:none)and (pointer:coarse){.race-howto li.race-keys-touch{display:list-item!important}.race-howto span.race-keys-touch{display:inline!important}}#race-hud.is-through .race-energy,#race-hud.is-through .race-item,#race-hud.is-through .race-item-hint,#race-hud.is-through .race-keys{display:none}.race-finish-card{position:absolute;top:22%;left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:6px;color:#fff;text-shadow:0 5px 0 rgba(0,0,0,.45);pointer-events:none}.race-finish-card[hidden]{display:none}.race-finish-card strong{font:900 clamp(64px,14vw,120px)/1 var(--ui-font);color:#ffd23f}.race-finish-card span{font:800 clamp(20px,4vw,30px)/1 var(--ui-font);font-variant-numeric:tabular-nums}.race-finish-card.is-shown{animation:race-item-pop .5s ease-out both}.race-watching{position:absolute;bottom:64px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;background:#0a1828c7;color:#fff;font:800 14px/1.2 var(--ui-font);white-space:nowrap;pointer-events:none}.race-watching[hidden],.race-finished[hidden]{display:none}.race-finished{position:absolute;top:170px;right:16px;width:min(240px,44vw);padding:8px 10px;border-radius:12px;background:#0a1828c7;color:#fff;pointer-events:none}.race-finished h3{margin:0 0 6px;font:800 12px/1 var(--ui-font);letter-spacing:.2em;text-transform:uppercase;color:#ffd23f}.race-finished ol{display:grid;gap:4px;margin:0;padding-left:20px;font:700 14px/1.2 var(--ui-font)}.race-finished li{min-width:0}.race-finished li>*{display:inline-block;vertical-align:bottom}.race-finished .race-name{max-width:calc(100% - 64px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-finished .race-time{float:right;font-variant-numeric:tabular-nums}.race-finished li.is-me{color:#ffd23f}@media(max-width:600px){.race-finished{top:auto;bottom:64px}.race-watching{bottom:auto;top:46%}}@media(prefers-reduced-motion:reduce){.race-finish-card.is-shown{animation:none}}.race-home-side,.race-home-main,.race-room-main{display:grid;gap:12px;align-content:start;min-width:0}.race-home-side .race-howto{margin:0}.race-showcase{display:none}.race-showcase-map{display:grid;grid-template-columns:132px minmax(0,1fr);gap:10px;align-items:center;margin:0;padding:8px;border:2px solid var(--card-edge);border-radius:12px;background:var(--card)}.race-showcase-map img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;background:var(--card-edge)}.race-showcase-map figcaption{display:grid;gap:2px;color:var(--ink-soft);font:700 12px/1.3 var(--ui-font)}.race-showcase-map strong{color:var(--ink);font:800 15px/1.2 var(--ui-font)}.race-guide{display:none;gap:6px;align-content:start;min-width:0;padding:12px 14px;border:2px solid var(--card-edge);border-radius:12px;background:var(--card);color:var(--ink);font:700 14px/1.35 var(--ui-font)}.race-guide-shot,.race-guide-about{display:none}.race-guide-name{font:800 18px/1.2 var(--ui-font)}.race-guide-meta,.race-guide-about{margin:0;color:var(--ink-soft);font:700 13px/1.35 var(--ui-font)}.race-guide h3{margin:6px 0 0;color:#ffd23f;font:800 12px/1.2 var(--ui-font);letter-spacing:.05em;text-transform:uppercase}.race-guide ul{margin:0;padding-left:18px}.race-guide li+li{margin-top:3px}@media(min-width:980px)and (min-height:600px){.race-card{width:min(1040px,100%);padding:40px 28px 22px}.race-home,.race-room{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.race-home-side{order:2}.race-showcase{display:grid;gap:10px}.race-map-thumb{aspect-ratio:21 / 9}.race-guide{display:grid}.race-guide-shot{display:block;width:100%;aspect-ratio:21 / 9;object-fit:cover;border-radius:8px;background:var(--card-edge)}.race-guide-about{display:block}.race-card>.race-error,.race-card>#race-back{justify-self:center}}.race-block{display:grid;gap:8px;align-content:start;margin:0;padding:12px 14px;border:2px solid var(--card-edge);border-radius:14px;background:var(--card);min-width:0}.race-block-head,.race-rooms-head{margin:0;color:var(--ink-soft);font:900 12px/1.2 var(--ui-font);letter-spacing:.07em;text-transform:uppercase}.race-field{display:flex;gap:8px;align-items:stretch;min-width:0}.race-field>input,.race-name-row input,#race-code{flex:1;width:auto;min-width:0;height:44px;padding:0 12px;border:2px solid var(--card-edge);border-radius:12px;background:#00000038;color:var(--ink);font:800 16px/1 var(--ui-font);text-align:left;letter-spacing:normal}.race-field>input:focus-visible{outline:none;border-color:#6fc3ff;box-shadow:0 0 0 3px #6fc3ff4d}#race-code{font:900 18px/1 var(--ui-font);letter-spacing:.24em;text-transform:uppercase}#race-code::placeholder{letter-spacing:.24em;opacity:.35}.race-field>.tt-btn{min-height:44px;flex:none}.race-name-row{gap:8px}.race-name-row label{white-space:normal}.race-name-row.is-prompt input{border-color:var(--warn, #ffb547);box-shadow:0 0 0 3px #ffb54740}.race-quick-wrap{display:grid;gap:6px;justify-items:stretch;text-align:center}.race-quick-sub{color:var(--ink-soft);font:700 13px/1.2 var(--ui-font)}.race-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.race-split .race-block>.tt-btn{min-height:44px;width:100%}.race-switch{display:inline-flex;gap:8px;align-items:center;color:var(--ink);font:800 13px/1.2 var(--ui-font);cursor:pointer}.race-switch input{position:absolute;opacity:0;pointer-events:none}.race-switch-track{position:relative;flex:none;width:34px;height:20px;border-radius:999px;background:#ffffff2e;transition:background .15s}.race-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.race-switch input:checked+.race-switch-track{background:#3fae5a}.race-switch input:checked+.race-switch-track:after{transform:translate(14px)}.race-switch input:focus-visible+.race-switch-track{box-shadow:0 0 0 3px #6fc3ff66}.race-rooms-head{display:flex;justify-content:space-between}.race-rooms li{background:#0000002e}.race-rooms .race-rooms-empty{display:grid;gap:2px;justify-items:center;padding:14px 10px;border:0;background:transparent;text-align:center}.race-rooms-empty strong{color:var(--ink);font:800 14px/1.2 var(--ui-font)}.race-rooms-empty span{color:var(--ink-soft);font:700 12px/1.3 var(--ui-font)}.race-howto-open{justify-self:start;padding:4px 10px;border:2px solid var(--card-edge);border-radius:999px;background:transparent;color:var(--ink-soft);font:800 12px/1.2 var(--ui-font);letter-spacing:.04em;cursor:pointer}.race-howto-open:before{content:"?";display:inline-grid;place-items:center;width:16px;height:16px;margin-right:6px;border-radius:50%;background:var(--card-edge);color:var(--ink);font-size:11px}.race-howto-open:hover{color:var(--ink)}.race-howto-open[hidden]{display:none}.race-tip{min-height:2.7em;margin:0;color:var(--ink);font:700 13px/1.35 var(--ui-font)}.race-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.race-items li{display:grid;justify-items:center;gap:4px;padding:6px 2px;border-radius:10px;background:#0000002e;color:var(--ink-soft);font:800 11px/1.1 var(--ui-font);text-align:center}.race-know{display:none}#race-back{position:absolute;top:14px;left:14px}.race-card{position:relative}@media(min-width:980px)and (min-height:600px){.race-know{display:grid}}@media(max-width:520px){.race-split{grid-template-columns:minmax(0,1fr)}}.race-home-side .race-howto{padding:12px 14px;border-radius:14px}.race-howto>strong{color:var(--ink-soft);font:900 12px/1.2 var(--ui-font);letter-spacing:.07em;text-transform:uppercase}.race-home-side{order:2}.race-slots{display:flex;gap:6px;pointer-events:auto}.race-slots[hidden]{display:none}.race-slot{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border:2px dashed rgba(255,255,255,.35);border-radius:10px;background:#0a18288c;cursor:pointer;transition:transform .12s,border-color .12s}.race-slot.is-filled{border-style:solid;border-color:#fff9;background:#0a1828cc}.race-slot.is-selected{border-color:#ffd23f;box-shadow:0 0 0 2px #ffd23f59,0 0 12px #ffd23f73;transform:translateY(-3px)}.race-slot.is-rolling .item-icon{animation:race-slot-roll .14s linear infinite}@keyframes race-slot-roll{0%{transform:translateY(-2px);opacity:.6}to{transform:translateY(2px);opacity:1}}.race-slot-num{position:absolute;right:2px;bottom:1px;color:#ffffffb3;font:800 10px/1 var(--ui-font);text-shadow:0 1px 0 rgba(0,0,0,.6)}#race-hud.is-through .race-slots{display:none}@media(hover:none)and (pointer:coarse){.race-slot{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){.race-slot.is-rolling .item-icon{animation:none}}.race-minimap{position:absolute;top:116px;right:16px;width:150px;height:150px;transform:perspective(420px) rotateX(28deg);transform-origin:50% 100%;pointer-events:none}.race-minimap[hidden]{display:none}@media(max-width:720px),(max-height:560px){.race-minimap{top:104px;right:10px;width:104px;height:104px}}.race-feed{position:absolute;top:272px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin:0;padding:0;list-style:none;pointer-events:none}.race-feed-line{display:flex;align-items:center;gap:7px;max-width:340px;padding:4px 10px;border:2px solid rgba(234,244,255,.25);border-radius:10px;background:#081428c7;color:#fff;font:800 13px/1 var(--ui-font);animation:race-feed-in .22s ease-out;transition:opacity .3s ease,transform .3s ease}.race-feed-line b{overflow:hidden;max-width:120px;text-overflow:ellipsis;white-space:nowrap}.race-feed-line.is-mine{border-color:#6fe6ff;box-shadow:0 0 10px #6fe6ff66}.race-feed-line.is-mine .race-feed-by,.race-feed-line.is-me .race-feed-target{color:#9ef0ff}.race-feed-line.is-me{border-color:#ff6b5e;box-shadow:0 0 10px #ff6b5e66}.race-feed-line.is-me .race-feed-target{color:#ffb3aa}.race-feed-item{position:relative;display:inline-flex}.race-feed-item .item-icon{width:26px;height:26px}.race-feed-line.is-blocked .race-feed-item .item-icon{opacity:.55}.race-feed-blocked{display:inline-flex;align-items:center;gap:3px;padding:1px 7px 1px 3px;border-radius:999px;background:#7fe9ff2e;color:#9ef0ff;font:800 12px/1 var(--ui-font);text-transform:uppercase;letter-spacing:.04em}.race-feed-blocked .item-icon{width:18px;height:18px}.race-feed-line.is-gone{opacity:0;transform:translate(12px)}@keyframes race-feed-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.race-feed-line{animation:none;transition:opacity .3s ease}.race-feed-line.is-gone{transform:none}}#race-hud.is-through .race-feed{display:none}@media(hover:none)and (pointer:coarse){.race-feed{top:150px;right:8px;gap:3px}.race-feed-line{padding:3px 7px;font-size:11px}.race-feed-line b{max-width:80px}.race-feed-item .item-icon{width:20px;height:20px}}.race-slot.is-arrived{animation:race-slot-arrive .5s ease-out}@keyframes race-slot-arrive{0%{box-shadow:0 0 #9ef0ffe6;transform:scale(1.15)}to{box-shadow:0 0 0 10px #9ef0ff00;transform:none}}#menu{--plate-ink: #13233b;--plate-sub: #4d5f78;position:fixed;inset:0;z-index:6;font-family:var(--ui-font);pointer-events:none}#menu>*{pointer-events:auto}.menu-keyart{position:absolute;inset:0;overflow:hidden;background:#8fd3ff;transition:opacity .35s ease}.menu-keyart img{width:100%;height:100%;object-fit:cover;object-position:70% 40%;transform:scale(1.04)}.art-stage{position:absolute}.art-stage>*{position:absolute;inset:0;width:100%;height:100%;will-change:transform}.is-layered>img{visibility:hidden}.art-snow{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);pointer-events:none;will-change:transform}.menu-home{position:absolute;inset:0 auto 0 0;width:min(600px,50vw);display:grid;align-content:center;justify-items:start;gap:clamp(10px,2.2vh,22px);padding:64px clamp(48px,7vw,120px) 24px clamp(20px,4vw,64px);isolation:isolate;transition:opacity .3s ease,transform .3s ease}.menu-home:before{content:"";position:absolute;inset:0;z-index:-1;clip-path:polygon(0 0,100% 0,78% 100%,0 100%);background:repeating-conic-gradient(#ffffff12 0 25%,#fff0 0 50%) 0 0 / 56px 56px,linear-gradient(100deg,#ecf6ffd1,#d6eafc99 70%,#d6eafc59);backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);box-shadow:inset -2px 0 #ffffffb3}#menu-title{margin:0 0 4px -6px;line-height:0}.menu-logo{width:min(430px,100%);max-height:27vh;object-fit:contain;object-position:left center;height:auto;filter:drop-shadow(0 8px 14px rgba(10,30,60,.35));transform:rotate(-3deg);animation:menu-logo-float 4s ease-in-out infinite}@keyframes menu-logo-float{50%{transform:rotate(-3deg) translateY(-5px)}}.menu-modes{display:grid;gap:clamp(8px,1.4vh,12px);width:min(400px,100%)}.menu-mode{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:clamp(48px,9.4vh,62px);padding:4px 18px 4px 10px;border:3px solid #fff;border-radius:12px;background:linear-gradient(180deg,#fff,#e4ecf4);box-shadow:0 4px #13233b47,0 10px 18px #13233b2e;color:var(--plate-ink);font-family:var(--ui-font);text-align:left;cursor:pointer;transform:skew(-12deg);transition:transform .12s ease,background .12s,box-shadow .12s;animation:menu-plate-in .42s cubic-bezier(.2,.9,.3,1.2) both}.menu-mode>*{transform:skew(12deg)}.menu-mode:nth-child(2){animation-delay:.05s}.menu-mode:nth-child(3){animation-delay:.1s}.menu-mode:nth-child(4){animation-delay:.15s}.menu-mode:nth-child(5){animation-delay:.2s}@keyframes menu-plate-in{0%{opacity:0;transform:skew(-12deg) translate(-40px)}}.mode-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,#2b4d78,#13233b);color:#fff;box-shadow:inset 0 -3px #00000040}.mode-icon svg{width:24px;height:24px}.mode-text{display:grid;min-width:0}.mode-label{font:800 22px/1.05 var(--ui-font);letter-spacing:.01em}.mode-sub{overflow:hidden;color:var(--plate-sub);font:700 12px/1.2 var(--ui-font);text-overflow:ellipsis;white-space:nowrap}.mode-sub:empty{display:none}.mode-tag{padding:2px 8px;border-radius:6px;background:var(--plate-ink);color:#fff;font:800 italic 15px/1.2 var(--ui-font)}.menu-mode .btn-badge{position:absolute;top:-12px;right:10px}.menu-mode:focus{outline:none}.menu-mode.is-lit{background:linear-gradient(180deg,#fff27a,#ffd23f 45%,#f5a300);box-shadow:0 4px #a06400,0 0 0 3px #ffd23f59,0 12px 22px #a064004d;transform:skew(-12deg) translate(10px)}.menu-mode.is-lit .mode-icon{background:linear-gradient(180deg,#ff7a45,#bf4a2a)}.menu-mode.is-lit .mode-sub{color:#6b4300}.menu-mode:before,.menu-mode:after{content:"";position:absolute;top:50%;width:14px;height:22px;margin-top:-11px;background:#ffd23f;filter:drop-shadow(0 2px 0 #a06400);opacity:0;pointer-events:none}.menu-mode:before{left:-24px;clip-path:polygon(0 50%,100% 0,100% 100%)}.menu-mode:after{right:-24px;clip-path:polygon(0 0,100% 50%,0 100%)}.menu-mode.is-lit:before,.menu-mode.is-lit:after{opacity:1;animation:menu-arrow .7s ease-in-out infinite alternate}.menu-mode:after{animation-direction:alternate-reverse}@keyframes menu-arrow{0%{translate:-3px 0}to{translate:3px 0}}.menu-mode:active{transform:skew(-12deg) translate(10px) translateY(2px);box-shadow:0 2px #a06400}#menu-best{color:var(--plate-ink);font:800 14px/1.2 var(--ui-font);letter-spacing:.02em}#menu-best:empty{display:none}.menu-levelart{position:absolute;inset:0;overflow:hidden;background:#0e2240;transition:opacity .35s ease}.menu-levelart img{width:100%;height:100%;object-fit:cover;object-position:70% 40%;transform:scale(1.04)}.menu-levelart.is-switching img{animation:menu-art-in .45s ease-out}@keyframes menu-art-in{0%{opacity:.2;transform:scale(1.1) translate(2%)}to{opacity:1;transform:scale(1.04)}}.menu-trails-step{position:absolute;inset:0 auto 0 0;width:min(600px,50vw);display:grid;align-content:center;justify-items:start;gap:clamp(8px,1.8vh,16px);padding:64px clamp(48px,7vw,120px) 20px clamp(20px,4vw,64px);isolation:isolate;transition:opacity .3s ease,transform .3s ease}.menu-trails-step:before{content:"";position:absolute;inset:0;z-index:-1;clip-path:polygon(0 0,100% 0,78% 100%,0 100%);background:repeating-conic-gradient(#ffffff12 0 25%,#fff0 0 50%) 0 0 / 56px 56px,linear-gradient(100deg,#ecf6ffd6,#d6eafc9e 70%,#d6eafc59);backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);box-shadow:inset -2px 0 #ffffffb3}.menu-heading{display:grid;gap:2px}.menu-step-title{position:relative;justify-self:start;padding:2px 26px;color:var(--plate-ink);font:800 clamp(24px,3.4vw,34px)/1.15 var(--ui-font);isolation:isolate}.menu-step-title:before{content:"";position:absolute;inset:0;z-index:-1;border:3px solid #fff;border-radius:10px;background:linear-gradient(180deg,#fff27a,#ffd23f 45%,#f5a300);box-shadow:0 0 0 3px #0a1830,0 5px #a06400,0 10px 16px #00000040;transform:skew(-12deg)}.menu-step-sub{margin-top:6px;color:var(--plate-sub);font:800 13px/1.2 var(--ui-font);letter-spacing:.04em}.menu-mode-switch{display:flex;gap:8px}.menu-mode-switch button{min-width:112px;padding:6px 18px;border:3px solid #fff;border-radius:10px;background:linear-gradient(180deg,#fff,#e4ecf4);box-shadow:0 3px #13233b47;color:var(--plate-sub);font:800 16px/1.2 var(--ui-font);transform:skew(-8deg);cursor:pointer}.menu-mode-switch button.is-on{background:linear-gradient(180deg,#2c5a96,#163056);box-shadow:0 0 0 2px #0a1830,0 3px #06101f;color:#fff}.menu-mode-switch button:focus-visible{outline:3px solid var(--gold-mid, #ffd23f);outline-offset:2px}.menu-trails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,1.2vh,10px) 14px;width:min(440px,100%)}.menu-trail.level-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;justify-items:start;gap:8px;min-height:clamp(44px,7.6vh,54px);padding:3px 10px 3px 4px;border:3px solid #fff;border-radius:10px;background:linear-gradient(180deg,#fff,#e4ecf4);box-shadow:0 4px #13233b47,0 8px 14px #13233b29;color:var(--plate-ink);text-align:left;overflow:visible;transform:skew(-12deg);transition:transform .12s ease,background .12s,box-shadow .12s;animation:menu-plate-in .42s cubic-bezier(.2,.9,.3,1.2) both}.menu-trail.level-card:after{content:none}.menu-trail.level-card>*{transform:skew(12deg)}.menu-trail:nth-child(2){animation-delay:.03s}.menu-trail:nth-child(3){animation-delay:.06s}.menu-trail:nth-child(4){animation-delay:.09s}.menu-trail:nth-child(5){animation-delay:.12s}.menu-trail:nth-child(6){animation-delay:.15s}.menu-trail:nth-child(7){animation-delay:.18s}.menu-trail:nth-child(8){animation-delay:.21s}.menu-trail .level-art{position:static;width:52px;height:36px;border-radius:6px;object-fit:cover;object-position:72% 35%;box-shadow:0 0 0 2px #13233b33;transform:none}.menu-trail .level-text{display:grid;min-width:0}.menu-trail .level-name{overflow:hidden;font:800 15px/1.1 var(--ui-font);text-overflow:ellipsis;white-space:nowrap}.menu-trail .level-note{color:var(--plate-sub);font:700 11px/1.2 var(--ui-font)}.menu-trail .level-icon{height:auto;color:var(--plate-ink)}.menu-trail .level-icon svg{width:18px;height:18px}.menu-trail .medal-empty{width:20px;height:20px;border-width:2px;border-color:#13233b4d}.menu-trail .medal--small{width:22px;height:22px}.menu-trail:hover:not(.is-locked){transform:skew(-12deg) translate(4px)}.menu-trail:hover:not(.is-locked) .level-art{transform:none}.menu-trail.level-card.is-selected{border-color:#fff;background:linear-gradient(180deg,#fff27a,#ffd23f 45%,#f5a300);box-shadow:0 4px #a06400,0 0 0 3px #ffd23f59,0 10px 18px #a064004d;transform:skew(-12deg) translate(6px)}.menu-trail.is-selected .level-note{color:#6b4300}.menu-trail.level-card:focus-visible{outline:3px solid #13233b;outline-offset:2px}.menu-trail.level-card.is-locked{background:linear-gradient(180deg,#d5dde7,#b9c4d2);color:#5a6a80}.menu-trail.is-locked .level-art{filter:grayscale(.85) brightness(.85)}.menu-trails-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:4px}#menu-play{min-width:240px}#menu-play .play-label{display:grid;justify-items:start;gap:2px}#menu-play .play-level{display:block;font:700 13px/1 var(--ui-font);letter-spacing:.04em;opacity:.8}.menu-trail-name{position:absolute;right:clamp(20px,4vw,56px);bottom:clamp(18px,4vh,40px);display:grid;justify-items:end;gap:4px;pointer-events:none;transition:opacity .3s ease}#menu-kicker{color:#fff;font:800 italic clamp(34px,5vw,64px)/1 var(--ui-font);letter-spacing:.01em;-webkit-text-stroke:5px var(--plate-ink);paint-order:stroke fill;text-shadow:0 6px 0 rgba(10,24,48,.55),0 12px 24px rgba(0,0,0,.35);transform:skew(-8deg)}#menu-trail-medal{display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 8px;border:3px solid #eaf4ff;border-radius:999px;background:linear-gradient(180deg,#23467a,#142b4f);box-shadow:0 0 0 2px #0a1830;color:#fff;font:800 14px/1.2 var(--ui-font)}#menu.is-home .menu-trails-step,#menu.is-trails .menu-home{visibility:hidden;opacity:0;pointer-events:none}#menu.is-trails .menu-keyart,#menu.is-home .menu-levelart,#menu.is-home .menu-trail-name{visibility:hidden;opacity:0}#menu.is-trails .menu-home,#menu.is-home .menu-trails-step{transform:translate(-40px)}@media(prefers-reduced-motion:reduce){.menu-keyart img,.menu-levelart img,.menu-logo,.menu-mode,.menu-trail,.menu-mode:before,.menu-mode:after{animation:none}}@media(max-height:560px){.menu-home,.menu-trails-step{gap:6px;padding-top:58px;padding-bottom:10px}.menu-logo{width:auto;max-height:96px}.menu-mode{min-height:44px;padding:3px 14px 3px 6px;gap:8px}.mode-icon{width:32px;height:32px}.mode-icon svg{width:18px;height:18px}.mode-label{font-size:17px}.mode-sub{display:none}.menu-modes{gap:6px}.menu-step-sub,.menu-trail .level-note,.menu-trail-name{display:none}.menu-step-title{font-size:20px}.menu-trail.level-card{min-height:36px}.menu-trail .level-art{width:38px;height:26px}.menu-trail .level-name{font-size:13px}.menu-trails-actions{gap:8px}#menu-play{min-width:0}#menu .tt-btn--big{min-height:46px;font-size:20px}}@media(max-width:720px){.menu-keyart,.menu-levelart{bottom:42%}.menu-keyart img,.menu-levelart img{object-position:74% 30%}.menu-home,.menu-trails-step{inset:auto 0 0;width:auto;min-height:58%;align-content:end;justify-items:center;padding:0 18px max(18px,env(safe-area-inset-bottom,0px))}.menu-home:before,.menu-trails-step:before{clip-path:polygon(0 34px,100% 0,100% 100%,0 100%)}#menu-title{margin:0}.menu-logo{width:min(300px,78vw)}.menu-modes{width:min(360px,100%);padding:0 14px}.menu-mode{min-height:54px}.menu-heading{justify-items:center;text-align:center}.menu-step-title{justify-self:center}.menu-trails{grid-template-columns:minmax(0,1fr);gap:5px;width:min(340px,100%);padding:0 10px}.menu-trail.level-card{min-height:38px}.menu-trail .level-art{width:44px;height:28px}.menu-trail .level-note,.menu-step-sub{display:none}.menu-trail-name{right:0;left:0;bottom:calc(58% + 30px);justify-items:center}#menu-kicker{font-size:38px}.menu-trails-actions{justify-content:center;gap:10px;width:min(380px,100%)}#menu-play{flex:1;min-width:0}}.menu-mode[hidden]{display:none}@media(max-width:720px)and (max-height:560px){.menu-trails{grid-template-columns:repeat(2,minmax(0,1fr));width:min(560px,100%)}.menu-trails-step .menu-heading{display:none}}#menu-backdrop,#lobby-backdrop{position:fixed;inset:0;z-index:5;overflow:hidden;background:#8fd3ff;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}#menu-backdrop img,#lobby-backdrop img{width:100%;height:100%;object-fit:cover;object-position:70% 40%;transform:scale(1.04)}body.is-on-menus #menu-backdrop,body.is-on-menus:has(#race-panel:not([hidden])) #lobby-backdrop{opacity:1;visibility:visible;transition:opacity .25s ease}.menu-mode .btn-badge--coin{display:grid;place-items:center;padding:0 4px}.menu-mode .btn-badge--coin[hidden]{display:none}.menu-trail .level-lock-hint{position:absolute;top:50%;right:10px;left:10px;z-index:5;padding:8px 12px;border:2px solid #ffd23f;border-radius:10px;background:#0a1828f0;color:#fff;font:800 13px/1.25 var(--ui-font);text-align:center;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-50%) skew(12deg);transition:opacity .15s ease-out}.menu-trail.is-locked:hover .level-lock-hint,.menu-trail.is-locked:focus-visible .level-lock-hint,.menu-trail.is-locked.is-hinting .level-lock-hint{opacity:1}:root{--panel: #163056;--panel-edge: #0a1830;--panel-drop: #06101f;--card: #1f4273;--card-edge: #4f78ad;--card-drop: #0b1b33;--stitch: rgba(255, 255, 255, .16);--rim: #eaf4ff;--plate-ink: #13233b;--plate-sub: #4d5f78;--gold-top: #fff27a;--gold-mid: #ffd23f}#goals,#howto,#inventory-screen,#pause,#settings,#name-dialog,#race-panel,#race-results,#controls,#message,#reward,#howto-screen{background:repeating-linear-gradient(-62deg,#ffffff09 0 46px,#fff0 46px 140px),radial-gradient(ellipse at center,#0a1a3473,#060e1edb);backdrop-filter:blur(5px) saturate(1.15);-webkit-backdrop-filter:blur(5px) saturate(1.15)}#message{background:repeating-linear-gradient(-62deg,#ffffff09 0 46px,#fff0 46px 140px),radial-gradient(ellipse at center,#0a1a3433,#060e1eb3);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.tt-panel{border:4px solid var(--rim);border-radius:22px;background:repeating-conic-gradient(#ffffff06 0 25%,#fff0 0 50%) 0 0 / 48px 48px,linear-gradient(180deg,#ffffff17,#fff0 90px),linear-gradient(180deg,#1d3d6b,#142b4f 55%,#0f2240);box-shadow:0 0 0 3px var(--panel-edge),inset 0 2px #ffffff2e,0 10px 0 var(--panel-drop),0 22px 40px #00000073;animation:tt-panel-in .28s cubic-bezier(.2,.9,.3,1.15) both}@keyframes tt-panel-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}.tt-ribbon{z-index:2;padding:4px 40px 2px;border-radius:0;background:none;box-shadow:none;color:var(--plate-ink);font-weight:800;text-shadow:0 1px 0 rgba(255,255,255,.45);isolation:isolate}.tt-ribbon:before{content:"";position:absolute;inset:0;z-index:-1;border:3px solid #fff;border-radius:10px;background:linear-gradient(180deg,var(--gold-top) 0%,var(--gold-mid) 45%,var(--amber) 100%);box-shadow:0 0 0 3px var(--panel-edge),0 5px 0 var(--amber-drop),0 10px 16px #0000004d;transform:skew(-12deg)}.tt-btn{--btn-top: #ffffff;--btn: #dce6f1;--btn-drop: rgba(6, 16, 31, .55);--btn-ink: var(--plate-ink);--btn-rim: #fff;background:none;box-shadow:none;text-shadow:none;isolation:isolate}.tt-btn:before{content:"";position:absolute;inset:0;z-index:-1;border:3px solid var(--btn-rim);border-radius:12px;background:linear-gradient(180deg,var(--btn-top),var(--btn));box-shadow:0 5px 0 var(--btn-drop),0 9px 14px #00000040;transform:skew(-10deg);transition:box-shadow .08s}.tt-btn:active:not(:disabled){box-shadow:none}.tt-btn:active:not(:disabled):before{box-shadow:0 2px 0 var(--btn-drop),0 4px 8px #00000040}.tt-btn:focus-visible{outline:none}.tt-btn:focus-visible:before{box-shadow:0 0 0 3px var(--gold),0 5px 0 var(--btn-drop),0 9px 14px #00000040}.tt-btn:disabled{--btn-top: #7a879a;--btn: #5d6a7d;--btn-ink: #c9d2de;--btn-rim: #9aa6b6}.tt-btn--primary{--btn-top: var(--gold-top);--btn: var(--amber);--btn-drop: var(--amber-drop);--btn-ink: var(--amber-ink);text-shadow:0 1px 0 rgba(255,255,255,.4)}.tt-btn--primary:before{background:linear-gradient(180deg,var(--gold-top) 0%,var(--gold-mid) 45%,var(--amber) 100%)}.tt-btn--danger{--btn-top: var(--ember-top);--btn: var(--ember);--btn-drop: var(--ember-drop);--btn-ink: #fff}.tt-btn--big:before{border-radius:14px}.tt-btn--small:before{border-width:2px;border-radius:9px}.tt-btn .btn-badge{z-index:1}.tt-icon-btn,#mute{border:3px solid var(--rim);background:linear-gradient(180deg,#2b5389,#183660);box-shadow:0 0 0 2px var(--panel-edge),0 4px 0 var(--panel-drop),0 8px 12px #0000004d;color:#fff}.tt-tabs{background:#040c1a73;box-shadow:inset 0 2px #00000040}.tt-tabs button{color:#b9c9de}.tt-tabs button.is-active{background:linear-gradient(180deg,var(--gold-top) 0%,var(--gold-mid) 45%,var(--amber) 100%);box-shadow:0 0 0 2px #fff,0 3px 0 var(--amber-drop)}.tt-pill{border:3px solid var(--rim);background:linear-gradient(180deg,#23467a,#142b4f);box-shadow:0 0 0 2px var(--panel-edge),0 4px 0 var(--panel-drop),0 8px 12px #00000040;color:#fff}.tt-bar>span{background:linear-gradient(180deg,var(--gold-top),var(--gold-mid) 50%,var(--amber))}.level-card{border-color:#eaf4ff8c}.level-card.is-selected{border-color:var(--gold-mid);box-shadow:0 0 0 3px #ffd23f73,0 0 18px #ffd23f59,0 4px 0 var(--card-drop)}#stats{border:3px solid var(--rim);border-radius:16px;background:linear-gradient(180deg,#24487aeb,#102442eb);box-shadow:0 0 0 2px var(--panel-edge),0 4px 0 var(--panel-drop),0 8px 14px #0000004d}#stats .label{color:#a9c4e6}#score{color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.3)}#progress-level,#speed{border:2px solid rgba(234,244,255,.85);background:linear-gradient(180deg,#23467a,#142b4f);color:#fff}.progress-track{border:2px solid var(--rim);background:#0a182ed9;box-shadow:0 0 0 2px var(--panel-edge)}#progress-bar{background:linear-gradient(180deg,var(--gold-top),var(--gold-mid) 50%,var(--amber))}.race-place{transform:skew(-8deg);transform-origin:left bottom}.race-place strong{font-size:56px;font-style:italic;color:var(--gold-mid);-webkit-text-stroke:5px var(--plate-ink);paint-order:stroke fill;text-shadow:none;filter:drop-shadow(0 4px 0 rgba(6,16,31,.6))}.race-place span{color:#fff;font-size:22px;font-style:italic;-webkit-text-stroke:4px var(--plate-ink);paint-order:stroke fill;opacity:1}.race-slot,.qb-slot{border:3px solid rgba(234,244,255,.55);background:linear-gradient(180deg,#24487ad9,#102442d9);box-shadow:0 0 0 2px #0a1830b3,0 3px #06101f99}.race-slot{width:46px;height:46px;border-radius:12px}.race-slot.is-filled{border-color:var(--rim);background:linear-gradient(180deg,#2f5d9c,#183660)}.race-slot.is-selected{border-color:var(--gold-mid);background:linear-gradient(180deg,#3a6db0,#1d4277);box-shadow:0 0 0 2px var(--plate-ink),0 0 16px #ffd23f99,0 3px #06101f99}.qb-slot.is-empty{border-style:dashed}.race-item{border-width:3px;background:linear-gradient(180deg,#24487af2,#102442f2);box-shadow:0 0 0 2px var(--panel-edge),0 4px 0 var(--panel-drop)}.race-energy{border:3px solid var(--rim);border-radius:14px;background:linear-gradient(180deg,#24487aeb,#102442eb);box-shadow:0 0 0 2px var(--panel-edge),0 4px 0 var(--panel-drop);transform:skew(-10deg)}.race-energy>*{transform:skew(10deg)}.race-energy-track{border-color:#eaf4ffd9;background:#060e1ebf}#howto-screen{position:fixed;inset:0;z-index:9;display:grid;place-items:center;padding:44px 16px 20px;font-family:var(--ui-font)}#howto-screen[hidden]{display:none}.howto-panel{display:grid;grid-template-rows:auto 1fr auto;gap:12px;width:min(760px,100%);height:min(620px,100%);padding-top:30px}.howto-body{min-height:0;overflow-y:auto;padding-right:6px}.howto-section+.howto-section{margin-top:14px}.howto-section h3{margin:0 0 8px;color:var(--gold-mid);font:800 13px/1 var(--ui-font);letter-spacing:.14em;text-transform:uppercase}.howto-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.howto-list.is-items,.howto-list.is-places{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.howto-line,.howto-item,.howto-place{display:flex;align-items:center;gap:10px;padding:7px 10px;border:2px solid rgba(234,244,255,.18);border-radius:10px;background:#06102259;color:#eaf2fc;font:700 14px/1.3 var(--ui-font)}.howto-keys{display:inline-flex;flex:none;gap:4px;min-width:72px}.howto-keys kbd{min-width:26px;padding:2px 7px;border:2px solid #eaf4ff;border-radius:6px;background:linear-gradient(180deg,#fff,#dce6f1);color:var(--plate-ink);font:800 12px/1.2 var(--ui-font);text-align:center}.howto-dot{flex:none;width:72px;text-align:center;color:var(--gold-mid)}.howto-dot:before{content:"★"}.howto-text{display:grid;gap:2px;min-width:0}.howto-text b{color:#fff;font:800 15px/1.15 var(--ui-font)}.howto-text em{color:var(--gold-mid);font:800 11px/1.2 var(--ui-font);font-style:normal;letter-spacing:.04em}.howto-text span{color:#c4d4e8;font:700 12px/1.35 var(--ui-font)}.howto-note{margin:-2px 0 8px;color:#c4d4e8;font:700 12px/1.35 var(--ui-font)}.howto-text .howto-badge{display:inline-block;margin-left:8px;padding:2px 7px;border:1.5px solid rgba(158,240,255,.7);border-radius:999px;background:#9ef0ff24;color:#bff6ff;font:800 10px/1.2 var(--ui-font);letter-spacing:.04em;text-transform:uppercase;vertical-align:2px}.howto-item .item-icon{flex:none;padding:4px;border-radius:10px;background:#ffffff14}.howto-place img{flex:none;width:92px;height:52px;border:2px solid #eaf4ff;border-radius:8px;object-fit:cover;object-position:72% 35%}.howto-foot{display:flex;justify-content:space-between;gap:12px}@media(max-width:720px){.howto-list.is-items,.howto-list.is-places{grid-template-columns:minmax(0,1fr)}.howto-panel{height:100%}}.race-item-hint{max-width:300px;padding:6px 12px;border:2px solid rgba(234,244,255,.85);border-radius:10px;background:linear-gradient(180deg,#24487aeb,#102442eb);box-shadow:0 0 0 2px #0a1830cc,0 3px #06101f99;color:#fff;text-align:left}.race-keys{border:2px solid rgba(234,244,255,.6);background:linear-gradient(180deg,#24487ab3,#102442b3);box-shadow:0 0 0 2px #0a183080}#result-hero.is-finish{position:relative;min-height:150px;isolation:isolate}.medal-rays{position:absolute;top:50%;left:50%;z-index:-1;width:260px;height:260px;margin:-150px 0 0 -130px;border-radius:50%;background:repeating-conic-gradient(var(--ray, rgba(255, 214, 90, .45)) 0 10deg,rgba(255,214,90,0) 10deg 24deg);-webkit-mask:radial-gradient(circle,#000 18%,transparent 68%);mask:radial-gradient(circle,#000 18%,transparent 68%);animation:medal-rays 14s linear infinite}.medal-rays--silver{--ray: rgba(220, 234, 248, .4)}.medal-rays--bronze{--ray: rgba(255, 176, 110, .4)}@keyframes medal-rays{to{transform:rotate(360deg)}}.medal-ribbon{position:absolute;top:50%;left:50%;z-index:-1;width:70px;height:64px;margin:2px 0 0 -35px;background:linear-gradient(100deg,transparent 0 8%,#bf4a2a 8% 46%,transparent 46%),linear-gradient(80deg,transparent 0 54%,#2b5389 54% 92%,transparent 92%);clip-path:polygon(0 0,100% 0,100% 100%,76% 82%,50% 100%,24% 82%,0 100%)}.medal-name{position:relative;margin-top:-6px;padding:1px 18px;color:#13233b;font:800 15px/1.3 var(--ui-font);letter-spacing:.12em;text-transform:uppercase;isolation:isolate;animation:medal-drop .6s .35s cubic-bezier(.2,1.6,.4,1) both}.medal-name:before{content:"";position:absolute;inset:0;z-index:-1;border:2px solid #fff;border-radius:8px;background:linear-gradient(180deg,#fff27a,#ffd23f 50%,#f5a300);box-shadow:0 0 0 2px #0a1830,0 3px #a06400;transform:skew(-12deg)}.medal-name--silver:before{background:linear-gradient(180deg,#fff,#d5e0ea 50%,#9aabbc);box-shadow:0 0 0 2px #0a1830,0 3px #66788a}.medal-name--bronze:before{background:linear-gradient(180deg,#ffd9b8,#d98a52 50%,#a35a2a);box-shadow:0 0 0 2px #0a1830,0 3px #6e3a18}@media(prefers-reduced-motion:reduce){.medal-rays{animation:none}}#controls{place-items:safe center}.controls-panel{gap:12px;padding-top:34px}.controls-panel dl{gap:7px 12px;padding:10px 12px}body.is-on-menus :is(#goals,#howto,#inventory-screen,#settings,#name-dialog,#controls,#reward,#howto-screen){background:repeating-linear-gradient(-62deg,#ffffff0a 0 46px,#fff0 46px 140px),radial-gradient(ellipse at center,#0a1a341f,#060e1e80);backdrop-filter:blur(3px) saturate(1.1);-webkit-backdrop-filter:blur(3px) saturate(1.1)}:is(#goals,#howto,#howto-screen,#settings,#inventory-screen,#controls,#pause,#reward,#name-dialog,#message)[hidden]{display:grid!important}:is(#menu,#race-panel)[hidden]{display:block!important}:is(#menu,#race-panel,#goals,#howto,#howto-screen,#settings,#inventory-screen,#controls,#pause,#reward,#name-dialog,#message)[hidden]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility 0s linear .16s}:is(#menu,#race-panel,#goals,#howto,#howto-screen,#settings,#inventory-screen,#controls,#pause,#reward,#name-dialog,#message):not([hidden]){opacity:1;visibility:visible;transition:opacity .22s ease}[hidden] .tt-panel{animation:none}@media(prefers-reduced-motion:reduce){:is(#menu,#race-panel,#goals,#howto,#howto-screen,#settings,#inventory-screen,#controls,#pause,#reward,#name-dialog,#message,#menu-backdrop,#lobby-backdrop){transition:none!important}}#race-panel{display:block;padding:0;overflow:hidden;background:#0e2240;backdrop-filter:none;-webkit-backdrop-filter:none}#race-panel[hidden]{display:none}.lobby-art{position:absolute;inset:0;overflow:hidden}body.has-art-motion .lobby-art.is-race-keyart{visibility:hidden}body.has-art-motion #race-panel:has(.lobby-art.is-race-keyart){background:transparent}.lobby-art img{width:100%;height:100%;object-fit:cover;object-position:70% 40%;transform:scale(1.04)}#race-panel .lobby-col{position:absolute;inset:0 auto 0 0;display:flex;flex-direction:column;gap:clamp(8px,1.6vh,14px);width:min(620px,52vw);max-height:none;margin:0;padding:64px clamp(48px,7vw,110px) 18px clamp(20px,4vw,56px);border:0;border-radius:0;background:none;box-shadow:none;color:var(--plate-ink);overflow-y:auto;isolation:isolate;animation:none}#race-panel .lobby-col:before{content:"";position:fixed;inset:0 auto 0 0;width:min(620px,52vw);z-index:-1;clip-path:polygon(0 0,100% 0,80% 100%,0 100%);background:repeating-conic-gradient(#ffffff12 0 25%,#fff0 0 50%) 0 0 / 56px 56px,linear-gradient(100deg,#ecf6ffdb,#d6eafca8 70%,#d6eafc61);backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);pointer-events:none}.lobby-head{display:grid;justify-items:start;gap:4px}#race-panel .lobby-title{position:relative;margin:0;padding:2px 26px;color:var(--plate-ink);font:800 clamp(24px,3.2vw,32px)/1.15 var(--ui-font);text-align:left;isolation:isolate}#race-panel .lobby-title:before{content:"";position:absolute;inset:0;z-index:-1;border:3px solid #fff;border-radius:10px;background:linear-gradient(180deg,#fff27a,#ffd23f 45%,#f5a300);box-shadow:0 0 0 3px #0a1830,0 5px #a06400,0 10px 16px #00000040;transform:skew(-12deg)}#race-panel .race-note{margin:4px 0 0;color:var(--plate-sub);font:800 13px/1.3 var(--ui-font);text-align:left}#race-panel .race-home,#race-panel .race-room{display:flex;flex-direction:column;gap:clamp(8px,1.4vh,12px);width:min(420px,100%)}#race-panel .race-home[hidden],#race-panel .race-room[hidden]{display:none}.lobby-name{display:flex;align-items:center;gap:10px}.lobby-name label{flex:none;color:var(--plate-sub);font:800 12px/1 var(--ui-font);letter-spacing:.12em;text-transform:uppercase}#race-panel .race-field{display:flex;flex:1;gap:8px}#race-panel .race-field input{flex:1;min-width:0;min-height:40px;padding:4px 12px;border:3px solid #fff;border-radius:10px;background:#ffffffbf;box-shadow:inset 0 2px #13233b1f,0 0 0 2px #13233b26;color:var(--plate-ink);font:800 16px/1 var(--ui-font)}#race-panel .race-field input::placeholder{color:#8a9ab0}#race-panel .race-field input:focus{outline:3px solid #ffd23f;outline-offset:1px}.lobby-modes{display:grid;gap:clamp(8px,1.3vh,11px)}.lobby-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}#race-panel .race-switch{color:var(--plate-ink);font:800 13px/1.2 var(--ui-font)}.lobby-join{display:flex;width:190px}.lobby-join input{letter-spacing:.2em;text-transform:uppercase}.lobby-rooms{padding:8px 12px;border:3px solid #eaf4ff;border-radius:12px;background:linear-gradient(180deg,#24487aeb,#102442eb);box-shadow:0 0 0 2px #0a1830,0 4px #06101f;color:#fff}#race-panel .race-rooms-head{color:#a9c4e6}#race-panel .race-rooms{max-height:22vh;overflow-y:auto}.lobby-tip{margin:0;color:var(--plate-sub);font:700 12px/1.35 var(--ui-font)}.lobby-tip:not(:empty):before{content:"Tip  ";color:#bf4a2a;font-weight:800}#race-panel #race-back{align-self:flex-start;margin-top:auto}#race-panel .race-error:empty{display:none}#race-panel .race-code-line{display:flex;align-items:baseline;gap:10px;color:var(--plate-sub);font:800 13px/1 var(--ui-font)}#race-panel #race-room-code{color:var(--plate-ink);font:900 26px/1 var(--ui-font);letter-spacing:.2em}#race-panel .lobby-maps{display:grid;grid-template-columns:1fr 1fr;gap:10px}#race-panel .lobby-map{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:50px;padding:4px 10px 4px 4px;border:3px solid #fff;border-radius:10px;background:linear-gradient(180deg,#fff,#e4ecf4);box-shadow:0 4px #13233b47;color:var(--plate-ink);text-align:left;transform:skew(-10deg)}#race-panel .lobby-map>*{transform:skew(10deg)}#race-panel .lobby-map .race-map-thumb{grid-row:1 / 3;position:static;width:52px;height:36px;border-radius:6px;object-fit:cover;object-position:72% 35%}#race-panel .lobby-map .race-map-name{font:800 14px/1.1 var(--ui-font)}#race-panel .lobby-map .race-map-meta{color:var(--plate-sub);font:700 11px/1.2 var(--ui-font)}#race-panel .lobby-map.is-chosen{background:linear-gradient(180deg,#fff27a,#ffd23f 45%,#f5a300);box-shadow:0 4px #a06400,0 0 0 3px #ffd23f59}#race-panel .lobby-map.is-chosen .race-map-meta{color:#6b4300}#race-panel .lobby-map:disabled:not(.is-chosen){opacity:.6}#race-panel .lobby-time{display:flex;align-items:center;gap:8px}#race-panel .race-time-label{color:var(--plate-sub);font:800 12px/1 var(--ui-font);letter-spacing:.08em;text-transform:uppercase}#race-panel .race-time-btn{flex:1;min-height:34px;border:3px solid #fff;border-radius:9px;transform:skew(-10deg)}#race-panel .race-time-btn.is-chosen{border-color:#ffd23f;box-shadow:0 0 0 2px #13233b,0 0 12px #ffd23f99}#race-panel .race-members{margin:0;padding:8px;border:3px solid #eaf4ff;border-radius:12px;background:linear-gradient(180deg,#24487aeb,#102442eb);box-shadow:0 0 0 2px #0a1830,0 4px #06101f}#race-panel .race-check,#race-panel .race-status{margin:0;color:var(--plate-ink);font:800 13px/1.3 var(--ui-font)}#race-panel .race-row{display:flex;gap:12px}#race-panel .lobby-guide{position:absolute;right:clamp(20px,4vw,56px);bottom:clamp(18px,4vh,40px);display:grid;justify-items:end;gap:6px;width:min(380px,38vw);max-height:none;margin:0;padding:0;border:0;background:none;box-shadow:none;text-align:right}#race-panel:not(.has-room) .lobby-guide{display:none}#race-panel .race-guide-name{color:#fff;font:800 italic clamp(32px,4.4vw,56px)/1 var(--ui-font);-webkit-text-stroke:5px #13233b;paint-order:stroke fill;text-shadow:0 6px 0 rgba(10,24,48,.55),0 12px 24px rgba(0,0,0,.35);transform:skew(-8deg)}#race-panel .race-guide-meta{padding:3px 12px;border:3px solid #eaf4ff;border-radius:999px;background:linear-gradient(180deg,#23467a,#142b4f);box-shadow:0 0 0 2px #0a1830;color:#fff;font:800 13px/1.2 var(--ui-font)}#race-panel .race-guide-about{display:none}#race-panel .lobby-guide-list{display:grid;gap:4px;margin:0;padding:8px 12px;border:3px solid #eaf4ff;border-radius:12px;background:linear-gradient(180deg,#24487ae0,#102442e0);box-shadow:0 0 0 2px #0a1830;color:#fff;font:700 13px/1.35 var(--ui-font);text-align:left;list-style:none}#race-panel .lobby-guide-list li:before{content:"› ";color:#ffd23f;font-weight:900}@media(max-height:560px){#race-panel .lobby-col{gap:6px;padding-top:56px}#race-panel .race-note,.lobby-tip,#race-panel .mode-sub{display:none}#race-panel .menu-mode{min-height:42px}#race-panel .lobby-guide-list{display:none}}@media(max-width:720px){.lobby-art{bottom:55%}#race-panel .lobby-col,#race-panel .lobby-col:before{width:auto;right:0}#race-panel .lobby-col{top:30%;padding:34px 16px max(16px,env(safe-area-inset-bottom,0px));align-items:center}#race-panel .lobby-col:before{top:30%;clip-path:polygon(0 30px,100% 0,100% 100%,0 100%)}.lobby-head{justify-items:center}#race-panel .race-home,#race-panel .race-room{width:min(380px,100%)}#race-panel .lobby-guide{inset:70px 0 auto;width:auto;justify-items:center}#race-panel .lobby-guide-list{display:none}#race-panel #race-back{align-self:center}}#race-panel .lobby-col>#race-back{position:relative;top:auto;left:auto;justify-self:start}#race-panel .lobby-col{scrollbar-width:none}#race-panel .lobby-col::-webkit-scrollbar{display:none}#race-panel .race-help-row{display:flex;flex-wrap:wrap;gap:8px}#race-panel .race-howto-open{border-color:#13233b47;background:#ffffff8c;color:var(--plate-ink, #13233b)}#race-panel .race-switch-track{background:#13233b47}#race-panel .race-switch input:checked+.race-switch-track{background:#3fae5a}@media(max-height:800px){.lobby-tip{display:none}#race-panel .lobby-col{padding-top:58px}}#race-panel .race-room .race-row{position:sticky;bottom:-18px;z-index:2;align-items:center;margin:0 -10px -18px;padding:12px 10px 18px;background:linear-gradient(180deg,#e2eefb00,#e2eefbf5 28%)}#race-panel .race-room .race-row #race-back{position:relative;top:auto;left:auto;margin:0}#race-panel .race-members.is-wide{gap:5px}#race-panel .race-members.is-wide li{min-height:32px;padding:2px 8px}#race-panel .race-members .tt-badge{padding:1px 7px;font-size:11px}#race-panel .race-members.is-wide .race-badge-word{display:none}#race-panel .tt-badge--host{background:#ffd23f2e;color:#ffd23f}#race-panel .lobby-map .race-map-meta{white-space:nowrap}#race-panel .race-time-btn{min-height:38px;font:800 14px/1 var(--ui-font)}#race-panel .race-room .race-row{display:grid;grid-template-columns:auto auto 1fr;gap:8px 10px}#race-panel .race-room .race-row .race-status{grid-column:1 / -1;order:-1}#race-panel .race-room .race-row #race-start{min-height:52px;font-size:21px}#race-panel .race-room .race-row #race-start[hidden]{display:none}#race-panel .race-room .race-row .tt-btn{white-space:nowrap}@media(max-width:720px){#race-panel .race-room .race-row #race-start{padding:8px 12px;font-size:18px}}#race-panel .race-members,#race-panel .lobby-rooms{padding:0;border:0;background:none;box-shadow:none;color:var(--plate-ink)}#race-panel .race-members li,#race-panel .race-rooms li{border:2px solid #fff;border-radius:9px;background:linear-gradient(180deg,#fff,#e4ecf4);box-shadow:0 3px #13233b38;color:var(--plate-ink)}#race-panel .race-members li{border-left:5px solid var(--rider, #8aa)}#race-panel .race-members li.is-empty{border:2px dashed rgba(19,35,59,.3);background:#ffffff59;box-shadow:none;opacity:1;color:var(--plate-sub)}#race-panel .race-dot{box-shadow:0 0 0 2px #13233b40}#race-panel .race-members .tt-badge{background:#13233b1a;color:var(--plate-ink)}#race-panel .race-members .tt-badge--ok{background:#2f9e57;color:#fff}#race-panel .race-members .tt-badge--warn{background:#f0a43a;color:#3a2400}#race-panel .race-members .tt-badge--host{background:#ffd23f;color:#13233b}#race-panel .race-rooms-head{margin-bottom:6px;color:var(--plate-sub)}#race-panel .race-rooms li em{color:var(--plate-sub)}#race-panel .race-rooms .race-rooms-empty{border-style:dashed;border-color:#13233b4d;background:#ffffff59;box-shadow:none}#race-panel #race-room-code{font-size:20px;letter-spacing:.14em}#race-panel .race-code-line{align-items:center}.race-copy{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:2px solid #fff;border-radius:8px;background:linear-gradient(180deg,#2b5389,#183660);box-shadow:0 0 0 2px #0a183099,0 2px #06101f;color:#fff;font:800 12px/1.2 var(--ui-font);cursor:pointer}.race-copy svg{width:14px;height:14px}.race-copy.is-done{background:linear-gradient(180deg,#3fae5a,#2a7d40)}.race-copy[hidden]{display:none}#race-panel .race-rooms-empty,#race-panel .race-rooms-empty strong{color:var(--plate-ink)}#race-panel .race-rooms-empty span{color:var(--plate-sub)}#race-panel .race-code-line[hidden],#race-panel #race-ready[hidden]{display:none}#race-panel .lobby-head:has(>#race-back){grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:16px}#race-panel .lobby-head>#race-back{position:relative;top:auto;left:auto;grid-row:1;margin:0;min-height:0;padding:6px 14px 6px 10px;font-size:15px}#race-panel .lobby-head>.lobby-title{grid-row:1}#race-panel .lobby-head>.race-note{grid-column:1 / -1}#race-panel .lobby-name label{min-width:7.6em}#race-panel .race-private-row{margin:-2px 0 2px 18px;color:var(--plate-ink);font:800 13px/1.2 var(--ui-font)}#race-panel .lobby-join{width:auto}#race-panel .lobby-join .race-field{flex:0 1 230px}#race-panel .race-rooms .race-rooms-empty{display:block;padding:0;border:0;background:none;box-shadow:none;color:var(--plate-sub);font:700 13px/1.35 var(--ui-font);text-align:left}@media(max-width:720px){#race-panel .lobby-head:has(>#race-back){justify-content:center}#race-panel .race-rooms .race-rooms-empty{text-align:center}}@media(min-height:561px)and (max-height:800px){.lobby-tip{display:block}}#race-panel .race-rooms:has(>.race-rooms-empty){overflow:visible}@media(max-width:720px){#race-panel .race-room .race-row{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);margin:0 0 -18px;padding-inline:0}#race-panel .race-room .race-row #race-back{padding-inline:12px}#race-panel .race-room .race-row #race-back span{display:none}#race-panel .race-room .race-row #race-ready,#race-panel .race-room .race-row #race-start{min-width:0;padding-inline:8px;font-size:16px}#race-panel .race-room .race-row #race-ready[hidden]+#race-start,#race-panel .race-room .race-row:has(>#race-start[hidden]) #race-ready{grid-column:2 / -1}}body.is-racing #stats,body.is-racing #speed,body.is-racing #mute,body.is-racing #progress,body.is-racing #back{display:none!important}.race-menu-open{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:3px solid rgba(234,244,255,.85);border-radius:14px;background:#0e1e3ad9;color:#fff;box-shadow:0 3px #06101f73;cursor:pointer;pointer-events:auto}.race-menu-open svg{width:22px;height:22px;fill:currentColor}.race-menu-open:hover{background:#1e3c6cf2}.race-menu{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:16px;background:#060e1e73;pointer-events:auto}.race-menu[hidden]{display:none}.race-menu-card{display:grid;gap:10px;width:min(340px,100%);padding:22px;text-align:center}.race-menu-card h3{margin:0;color:#fff;font:900 26px/1.1 var(--ui-font)}.race-menu-card p{margin:0 0 6px;color:#eaf4ffbf;font:700 14px/1.3 var(--ui-font)}#race-hud .race-minimap{top:74px;right:14px;width:196px;height:196px}#race-hud .race-feed{top:286px}#race-hud .race-ping--hud{top:26px;right:74px;left:auto;translate:none;opacity:1;background:#0e1e3ae0;font-size:13px}#race-hud .race-finish-by{top:20px;left:50%;translate:-50% 0}.race-dots{position:absolute;top:26px;left:50%;width:min(420px,calc(100vw - 152px));height:6px;translate:-50% 0;border-radius:999px;background:#0e1e3ab3;box-shadow:0 0 0 2px #eaf4ff8c}.race-dots:after{content:"";position:absolute;top:-6px;right:-2px;width:4px;height:18px;border-radius:2px;background:#fff}.race-dots[hidden]{display:none}.race-dots .race-dot{position:absolute;top:-4px;width:14px;height:14px;margin-left:-7px;transition:left .2s linear}.race-dots .race-dot.is-me{z-index:1;top:-6px;width:18px;height:18px;margin-left:-9px;box-shadow:0 0 0 3px #fff}#race-hud.has-dots .race-finish-by{top:50px}.race-standing{position:absolute;right:22px;bottom:14px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}#race-hud .race-place{position:static;transform:skew(-8deg);transform-origin:right bottom}#race-hud .race-place strong{font-size:92px;-webkit-text-stroke-width:7px}#race-hud .race-place span{font-size:30px;-webkit-text-stroke-width:5px}.race-gap{padding:4px 14px;border-radius:999px;background:#0e1e3ae0;color:#fff;font:800 16px/1.2 var(--ui-font);white-space:nowrap}.race-gap b{color:#ffd23f}.race-gap[hidden]{display:none}#race-hud .race-kit{top:auto;bottom:calc(16px + var(--boost-h) + 8px);left:16px;gap:8px}#race-hud{--boost-h: 28px}#race-hud .race-item{display:none}#race-hud .race-slots{order:-1;display:grid;grid-template-columns:repeat(2,auto);justify-content:start;align-content:end;gap:8px}#race-hud .race-slot{width:52px;height:52px;border-radius:14px;transform:none}#race-hud .race-slot.is-main{order:-1;grid-column:1;grid-row:1 / span 2;width:112px;height:112px;align-self:end;border-radius:22px}#race-hud .race-slot .item-icon{width:80%;height:80%}#race-hud .race-slot-num{right:5px;bottom:4px;font-size:11px}#race-hud .race-slot.is-main .race-slot-num{font-size:0}#race-hud .race-slot.is-main .race-slot-num:after{content:"E";display:inline-block;min-width:18px;padding:2px 4px;border:1px solid rgba(255,255,255,.55);border-bottom-width:3px;border-radius:6px;background:#ffffff24;color:#fff;font:800 12px/1.2 var(--ui-font);text-align:center}#race-hud .race-slot.is-full{animation:race-item-full .9s ease-out}#race-hud .race-slots.is-denied{animation:race-kit-shake .4s ease}@keyframes race-kit-shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}#race-hud .race-shield{align-self:flex-start}.race-pickup{position:fixed;top:0;left:0;z-index:5;width:64px;height:64px;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(6,16,31,.5))}.race-item-name{position:absolute;bottom:calc(100% + 8px);left:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;width:max-content;max-width:min(260px,calc(100vw - 160px));padding:4px 6px 4px 11px;border:2px solid rgba(255,210,63,.8);border-radius:14px;background:#0e1e3a8c;color:#fff;font:800 14px/1.2 var(--ui-font);text-shadow:0 1px 2px rgba(6,16,31,.8)}.race-item-name[hidden]{display:none}.race-item-name span{color:#eaf4ffcc;font-size:12px}.race-item-name small{flex-basis:100%;padding-right:6px;color:#eaf4ffe6;font:600 12px/1.3 var(--ui-font)}.race-item-name .race-item-swap{color:#ffd23f}#race-hud .race-item-name kbd{min-width:1.3em;padding:0 4px;font-size:11px}.race-item-name.is-shown{animation:race-name-in .25s ease-out}@keyframes race-name-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#race-hud .race-item-hint{position:absolute;bottom:calc(100% + 8px);left:0;white-space:nowrap}#race-hud .race-energy{position:absolute;top:auto;bottom:16px;left:16px;box-sizing:border-box;height:var(--boost-h);width:min(240px,calc(100vw - 32px));padding:4px 10px 4px 6px;border-width:2px;background:linear-gradient(180deg,#24487a8c,#1024428c)}#race-hud .race-energy-label{font-size:12px}#race-hud .race-energy-track{flex:1;width:auto;height:14px}#race-hud .race-energy-track:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent calc(33.33% - 2px),rgba(6,14,30,.9) calc(33.33% - 2px) calc(33.33% + 2px),transparent calc(33.33% + 2px) calc(66.66% - 2px),rgba(6,14,30,.9) calc(66.66% - 2px) calc(66.66% + 2px),transparent calc(66.66% + 2px));pointer-events:none}#race-hud .race-keys{right:0;left:0;bottom:74px;width:max-content;margin:0 auto;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px 14px;max-width:min(980px,calc(100vw - 32px));padding:8px 14px;opacity:1}#race-hud .race-keys li{white-space:nowrap}#race-hud .race-keys[hidden]{display:none}#race-hud .race-keys.is-fresh{animation:race-keys-out .8s ease 16s both}@keyframes race-keys-out{to{opacity:0;visibility:hidden}}#race-hud .race-leave{display:none}#race-hud.is-through .race-leave{display:inline-flex}@media(min-width:1600px)and (min-height:820px){#race-hud{--boost-h: 36px}#race-hud .race-slot{width:62px;height:62px}#race-hud .race-slot.is-main{width:132px;height:132px}#race-hud .race-energy{width:300px;padding:6px 12px 6px 8px}#race-hud .race-energy-label{font-size:15px}#race-hud .race-energy-track{height:18px}.race-item-name{font-size:16px}}@media(hover:none)and (pointer:coarse),(max-width:720px),(max-height:560px){#race-hud .race-slot{width:42px;height:42px}#race-hud .race-slot.is-main{width:84px;height:84px}.race-item-name,#race-hud .race-item-hint{max-width:calc(100vw - 32px)}.race-item-name small{display:none}#race-hud .race-energy{width:min(200px,calc(100vw - 32px))}#race-hud .race-place strong{font-size:64px}#race-hud .race-place span{font-size:22px}#race-hud .race-minimap{top:70px;width:110px;height:110px}#race-hud .race-feed{top:182px}#race-hud.has-dots .race-ping--hud{top:72px;right:14px}}@media(prefers-reduced-motion:reduce){#race-hud .race-slots.is-denied,#race-hud .race-slot.is-full,.race-item-name.is-shown{animation:none}}#race-hud .race-coins{position:absolute;top:74px;right:16px;display:flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;border:2px solid rgba(234,244,255,.55);border-radius:999px;background:#102442d1;color:var(--ink-bright);font:800 18px/1 var(--ui-font);pointer-events:none}
