:root{--bg:#05030f;--ink:#f4ecff;--muted:#b9a6e0;--orange:#ff8a2a;--pink:#ff3fc8;--violet:#9a6bff;--gold:#ffc23a;--panel:#120a2cd1;--panel-solid:#140b33;--edge:#9a6bff99;--glow:0 0 18px #9a6bff59;--font:"Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-top:max(14px, env(safe-area-inset-top))}*{box-sizing:border-box}html,body{height:var(--app-h,100%);background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0;overflow:hidden}#stage{height:var(--app-h,100%);touch-action:none;position:fixed;top:0;left:0;right:0}#game{width:100%;height:100%;display:block}#ui{pointer-events:none;position:absolute;inset:0}#ui button{pointer-events:auto}#loading{letter-spacing:.08em;color:var(--muted);place-items:center;font-weight:700;display:grid;position:absolute;inset:0}[hidden]{display:none!important}.hud{top:var(--safe-top);height:56px;position:absolute;left:14px;right:14px}.pill{background:var(--panel);border:1.5px solid var(--edge);height:52px;box-shadow:var(--glow);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:14px;align-items:center;gap:8px;padding:0 20px;font-size:clamp(20px,5.4vw,28px);font-weight:800;display:flex;position:absolute;top:0}.pill.distance{justify-content:center;min-width:132px;left:50%;transform:translate(-50%)}.pill.coins{padding:0 16px 0 10px;right:0}.pill.coins.pop{animation:.22s ease-out pop}.life-meter{background:#ffffff1f;border-radius:2px;height:3px;position:absolute;bottom:5px;left:10px;right:10px;overflow:hidden}.life-meter:after{content:"";transform-origin:0;transform:scaleX(calc(var(--life-p,0) / 100));background:var(--pink);box-shadow:0 0 6px var(--pink);transition:transform .2s ease-out;position:absolute;inset:0}.pill.coins.milestone{animation:.6s ease-out milestone}.pill.coins.milestone .life-meter:after{transition:none}@keyframes milestone{30%{border-color:var(--pink);box-shadow:0 0 22px var(--pink);transform:scale(1.18)}}@keyframes pop{40%{border-color:var(--gold);transform:scale(1.12)}}.coin-icon{vertical-align:-.15em;background:repeating-linear-gradient(-55deg,#0000 0 22%,#783c0073 22% 30%),radial-gradient(circle at 35% 35%,#ffe7a0,#ffb42a 58%,#c06a00);border-radius:50%;width:1.15em;height:1.15em;display:inline-block;box-shadow:0 0 10px #ffb020b3}:root[style*=--ui-coin] .coin-icon{background:var(--ui-coin) center / contain no-repeat}.hud-btn{background:var(--panel);border:1.5px solid var(--edge);width:52px;height:52px;box-shadow:var(--glow);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;top:0;left:0}.hud-btn.pause span{background:var(--ink);border-radius:2px;width:6px;height:20px}.hearts{gap:6px;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%)}.heart{width:24px;height:22px;color:var(--pink);filter:drop-shadow(0 0 6px #ff3fc8bf)}.heart svg{fill:currentColor;stroke:currentColor;stroke-width:1.5px;width:100%;height:100%;display:block}.heart.lost{color:#c7a6ff59;filter:none}.heart.lost svg{fill:#0000}.heart.break{animation:.5s ease-out heart-break}.heart.gain{animation:.6s cubic-bezier(.3,1.6,.5,1) heart-gain}@keyframes heart-gain{0%{filter:brightness(2.2);transform:scale(.2)}50%{transform:scale(1.45)}}@keyframes heart-break{0%{color:#fff;transform:scale(1.5)}30%{transform:scale(.8)rotate(-12deg)}60%{transform:scale(1.05)rotate(8deg)}}.hud .powerups{flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:absolute;top:92px;left:0;right:0}.chip{--p:100;letter-spacing:.05em;background:var(--panel);border:1.5px solid;border-radius:999px;align-items:center;gap:7px;padding:4px 12px 4px 5px;font-size:12px;font-weight:800;display:flex}.chip i{background:conic-gradient(currentColor calc(var(--p) * 1%), #ffffff1f 0);border-radius:50%;width:18px;height:18px}.chip.magnet{color:#ff5a6a}.chip.boost{color:var(--gold)}.chip.shield{color:#5fb4ff}.district{letter-spacing:.08em;text-transform:uppercase;max-width:calc(50% - 52px);color:var(--ink);opacity:.72;transform-origin:0 0;flex-direction:column;gap:1px;font-size:11px;font-weight:800;line-height:1.2;transition:opacity .4s;display:flex;position:absolute;top:62px;left:0}.district span{padding-left:14px;position:relative}.district span:before{content:"";background:var(--accent,var(--violet));width:8px;height:8px;box-shadow:0 0 8px var(--accent,var(--violet));border-radius:2px;position:absolute;top:.25em;left:0}.district[data-district=foundry]{--accent:#f59a45}.district[data-district=gardens]{--accent:#67dad2}.district[data-district=gardens] span:before{border-radius:50%}.district small{letter-spacing:.16em;color:var(--accent,var(--violet));opacity:0;height:0;font-size:9px;transition:opacity .3s}.district.entering{opacity:1;animation:.5s cubic-bezier(.3,1.5,.5,1) district-in}.district.entering small{opacity:1;height:auto}.district.entering span{text-shadow:0 0 12px var(--accent,var(--violet))}@keyframes district-in{0%{opacity:0;transform:translate(-8px)scale(.92)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.district.entering{animation:none}}.event-banner{background:var(--panel);border:1.5px solid var(--accent,var(--gold));letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:var(--accent,var(--gold));opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:5px 14px 5px 10px;font-size:13px;font-weight:900;display:flex;position:absolute;top:178px;left:50%;transform:translate(-50%)}.event-banner[data-event=fee-shower]{--accent:var(--gold)}.event-banner[data-event=mev-ambush]{--accent:#ff5a8a}.event-banner i{background:radial-gradient(circle at 35% 35%,#ffe7a0,#ffb42a 58%,#c06a00);border-radius:50%;width:14px;height:14px}.event-banner[data-event=mev-ambush] i{background:linear-gradient(90deg, var(--accent) 0 30%, transparent 30% 70%, var(--accent) 70%);border-radius:0}.event-banner.show{animation:event-banner var(--banner-s,1.8s) ease-out forwards}.hud.frozen .event-banner,.hud.frozen .district{animation-play-state:paused}@keyframes event-banner{0%{opacity:0;transform:translate(-50%)translateY(-6px)}12%,78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.event-banner.show{animation:event-banner-fade var(--banner-s,1.8s) linear forwards}@keyframes event-banner-fade{0%,85%{opacity:1}to{opacity:0}}}.toast{letter-spacing:.08em;color:var(--gold);text-shadow:0 0 16px #ffc23acc;opacity:0;font-size:22px;font-weight:900;position:absolute;top:140px;left:50%;transform:translate(-50%)}.toast.show{animation:1.8s ease-out forwards toast}@keyframes toast{10%{opacity:1;transform:translate(-50%)scale(1.15)}25%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0}}.gain{color:#ffb3f0;text-shadow:0 0 12px #ff48d2e6;opacity:0;pointer-events:none;font-size:20px;font-weight:900;position:absolute;top:58px;right:18px}.gain.show{animation:.75s ease-out forwards gain}@keyframes gain{0%{opacity:0;transform:translateY(6px)scale(.7)}15%{opacity:1;transform:translateY(0)scale(1.2)}70%{opacity:1}to{opacity:0;transform:translateY(-14px)scale(1)}}.chip.pop{animation:.4s cubic-bezier(.3,1.6,.5,1) chip-pop}@keyframes chip-pop{0%{transform:scale(.4);box-shadow:0 0}50%{transform:scale(1.18);box-shadow:0 0 18px}}.hurt-vignette{pointer-events:none;opacity:0;background:radial-gradient(#0000 45%,#ff1e46bf 100%);position:absolute;inset:0}.hurt-vignette.heavy{animation:.55s ease-out forwards hurt}.hurt-vignette.light{animation:.35s ease-out forwards hurt-light}@keyframes hurt{0%{opacity:1}to{opacity:0}}@keyframes hurt-light{0%{opacity:.45}to{opacity:0}}.countdown{color:var(--ink);text-shadow:0 0 30px #ff3fc8cc,0 0 60px #9a6bff99;place-items:center;font-size:clamp(80px,26vw,160px);font-weight:900;display:grid;position:absolute;inset:0}.countdown.tick{animation:.55s ease-out tick}@keyframes tick{0%{opacity:0;transform:scale(1.6)}30%{opacity:1}to{transform:scale(1)}}.menu-layer{pointer-events:auto;background:radial-gradient(#05030f40,#05030fb3);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}.menu-layer[data-screen=gameover]{background:radial-gradient(#28001440,#05030fbf)}.card{background:var(--panel);border:1.5px solid var(--edge);width:min(100%,440px);box-shadow:0 0 40px #ff3fc838, var(--glow);text-align:center;-webkit-backdrop-filter:blur(6px);border-radius:22px;padding:26px 22px 22px;animation:.25s ease-out card-in}@keyframes card-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}.card h2{margin:0 0 14px;font-size:30px;font-weight:900}.tagline{color:var(--muted);margin:0 0 16px;font-size:15px}.best{color:var(--muted);margin:0 0 14px}.best b{color:var(--gold)}@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}.title-card{background:#0e0822db;border-color:#0000;padding-top:22px;position:relative;box-shadow:0 0 46px #ff3fc842,0 0 90px #9a6bff2e}.title-card:before{content:"";border-radius:inherit;background:conic-gradient(from var(--spin) at 50% 50%, var(--orange), var(--pink), var(--violet), #6c4dff, var(--pink), var(--orange));-webkit-mask-composite:xor;pointer-events:none;animation:9s linear infinite spin;animation-delay:var(--since,0s);padding:2px;position:absolute;inset:-1.5px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}@keyframes spin{to{--spin:360deg}}.title-card .logo{background:var(--ui-logo) center / contain no-repeat;filter:drop-shadow(0 0 16px #ff5a3c8c);width:76px;height:76px;animation:.7s cubic-bezier(.2,1.5,.4,1) backwards logo-in,4.5s ease-in-out infinite float;animation-delay:var(--since,0s), calc(var(--since,0s) + .7s);margin:0 auto 2px;display:block}:root:not([style*=--ui-logo]) .title-card .logo{display:none}@keyframes logo-in{0%{opacity:0;transform:scale(.3)rotate(-50deg)}}@keyframes float{50%{transform:translateY(-5px)rotate(-3deg)}}.wordmark{letter-spacing:.02em;margin:4px -14px 2px;font-size:clamp(38px,11vw,56px);font-weight:900;line-height:1}.wm-meteora,.wm-run{display:block;position:relative}.wm-meteora{background:linear-gradient(90deg, var(--orange), var(--pink) 55%, var(--violet));color:#0000;animation:.55s ease-out backwards meteora-in;animation-delay:calc(var(--since,0s) + .1s);-webkit-background-clip:text;background-clip:text}.wm-run{color:var(--ink);animation:.65s cubic-bezier(.2,1.35,.45,1) backwards run-in;animation-delay:calc(var(--since,0s) + .3s);font-style:italic}@keyframes meteora-in{0%{opacity:0;transform:translateY(-16px)scale(1.08)}}@keyframes run-in{0%{opacity:0;filter:blur(6px);transform:translate(-38%)skew(-16deg)}55%{opacity:1;filter:blur()}}:root[style*=--ui-title-meteora] .wm-meteora{aspect-ratio:1060/124;background:var(--ui-title-meteora) center / contain no-repeat;width:94.6%;margin:0 auto;font-size:0}:root[style*=--ui-title-meteora] .wm-meteora:after{content:"";-webkit-mask:var(--ui-title-meteora) center / contain no-repeat;-webkit-mask:var(--ui-title-meteora) center / contain no-repeat;mask:var(--ui-title-meteora) center / contain no-repeat;animation:5s ease-in-out infinite shine;animation-delay:calc(var(--since,0s) + .9s);background:linear-gradient(100deg,#0000 30%,#ffffffbf 50%,#0000 70%) -60% 0/35% 100% no-repeat;position:absolute;inset:0}@keyframes shine{0%{background-position:-60% 0}28%,to{background-position:160% 0}}:root[style*=--ui-title-run] .wm-run{aspect-ratio:1120/236;background:var(--ui-title-run) center / contain no-repeat;font-size:0}:root[style*=--ui-title-run] .wm-run:after{content:"";background:inherit;mix-blend-mode:screen;opacity:0;pointer-events:none;animation:2.8s ease-in-out infinite heat;animation-delay:calc(var(--since,0s) + .9s);position:absolute;inset:0}@keyframes heat{0%,to{opacity:0}18%{opacity:.32}30%{opacity:.12}46%{opacity:.4}70%{opacity:.08}}.streak,.spark{opacity:0;pointer-events:none;display:none;position:absolute}:root[style*=--ui-title-run] .streak,:root[style*=--ui-title-run] .spark{display:block}.streak{width:var(--w,28%);height:3px;animation:streak var(--dur,1.1s) linear infinite;animation-delay:calc(var(--since,0s) + var(--sd,0s));background:linear-gradient(90deg,#0000,#ff963cf2 50%,#fffbe8);border-radius:3px;left:2%;box-shadow:0 0 8px #ff7828e6}.streak:first-child{--w:24%;--sd:.75s;--dur:1s;top:31%}.streak:nth-child(2){--w:32%;--sd:1.1s;--dur:.9s;top:45%}.streak:nth-child(3){--w:26%;--sd:.9s;--dur:1.2s;top:57%}.streak:nth-child(4){--w:34%;--sd:1.35s;--dur:.95s;top:69%}.streak:nth-child(5){--w:22%;--sd:1.55s;--dur:1.15s;top:80%}@keyframes streak{0%{opacity:0;transform:translate(70%)scaleX(.4)}25%{opacity:1}to{opacity:0;transform:translate(-45%)scaleX(1)}}.spark{width:5px;height:5px;animation:spark var(--dur,1.4s) ease-out infinite;animation-delay:calc(var(--since,0s) + var(--sd,0s));background:#fff6d8;border-radius:50%;box-shadow:0 0 8px 3px #ff8228f2}.spark:nth-child(6){--sx:34px;--sy:-26px;--sd:.8s;--dur:1.3s;top:34%;left:83%}.spark:nth-child(7){--sx:42px;--sy:-14px;--sd:1.2s;--dur:1.5s;top:58%;left:87%}.spark:nth-child(8){--sx:30px;--sy:-34px;--sd:1.6s;--dur:1.2s;top:76%;left:80%}.spark:nth-child(9){--sx:22px;--sy:-30px;--sd:2s;--dur:1.6s;top:42%;left:90%}.spark:nth-child(10){--sx:46px;--sy:4px;--sd:2.4s;--dur:1.4s;top:66%;left:85%}.spark:nth-child(11){--sx:-40px;--sy:-8px;--sd:1s;--dur:1.1s;top:40%;left:26%}.spark:nth-child(12){--sx:-46px;--sy:6px;--sd:1.9s;--dur:1.3s;top:70%;left:22%}@keyframes spark{0%{opacity:0;transform:translate(0)scale(1)}12%{opacity:1}to{opacity:0;transform:translate(var(--sx), var(--sy)) scale(.2)}}.slogan{letter-spacing:.32em;text-transform:uppercase;color:#cbb9ff;white-space:nowrap;align-items:center;gap:12px;margin:8px 0 14px;font-size:13px;font-style:italic;font-weight:900;display:flex}.slogan span{animation:.5s ease-out backwards rise;animation-delay:calc(var(--since,0s) + .5s);padding-left:.32em}.slogan:before,.slogan:after{content:"";transform-origin:100%;height:2px;animation:.6s ease-out backwards line-in;animation-delay:calc(var(--since,0s) + .45s);background:linear-gradient(90deg,#0000,#8f6bff);border-radius:2px;flex:1}.slogan:after{transform-origin:0;background:linear-gradient(270deg,#0000,#8f6bff)}@keyframes line-in{0%{transform:scaleX(0)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.title-card>:is(.tagline,.best,.btn,.row,.account,.toggles,.credit,.version){animation-name:rise;animation-duration:.45s;animation-timing-function:ease-out;animation-fill-mode:backwards;animation-delay:calc(var(--since,0s) + var(--in,.6s))}.title-card>.tagline{--in:.55s}.title-card>.best{--in:.62s}.title-card>.btn.primary{--in:.7s;animation:.45s ease-out backwards rise,2.4s ease-in-out infinite breathe;animation-delay:calc(var(--since,0s) + .7s), calc(var(--since,0s) + 1.2s)}.title-card>.row{--in:.78s}.title-card>:is(.account,.x-btn){--in:.86s}.title-card>.toggles{--in:.92s}.title-card>.credit{--in:1s}.title-card>.version{--in:1.05s}@media (prefers-reduced-motion:reduce){.title-card:before,.title-card *,.title-card :before,.title-card :after,.btn.primary,.btn.primary:after{animation:none!important}}.btn{font:inherit;letter-spacing:.04em;color:var(--ink);border:1.5px solid var(--edge);cursor:pointer;background:#ffffff0a;border-radius:14px;padding:12px 18px;font-size:15px;font-weight:800;transition:transform 80ms,background .15s}.btn:hover:not([disabled]){background:#9a6bff2e}.btn:active:not([disabled]){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn[disabled]{opacity:.4;cursor:not-allowed}.btn:not(.primary):not(.x-btn){background:linear-gradient(#160c34eb,#160c34eb) padding-box padding-box,linear-gradient(#c3a2ff,#7a4dff 55%,#b04dff) border-box;border-color:#0000;box-shadow:0 0 14px #9a6bff38}.btn:not(.primary):not(.x-btn):hover:not([disabled]){background:linear-gradient(#341e68eb,#341e68eb) padding-box padding-box,linear-gradient(#d8c2ff,#8f66ff 55%,#c66bff) border-box}.btn.primary{--ring:inset 0 0 0 1.5px #ffffff59, 0 0 0 3px #1a0b2ee6, 0 0 0 5px #ffbe4d;box-shadow:var(--ring), 0 0 20px #ff963c73, 0 6px 28px #ff3fc859;color:#fff;text-shadow:0 2px 8px #78003c73;animation:2.4s ease-in-out infinite breathe;animation-delay:calc(var(--since,0s) + 1s);background:linear-gradient(90deg,#ff8a1f,#ff4f9a 55%,#ff3fd2);border:none;position:relative;overflow:hidden}.btn.primary:hover{background:linear-gradient(90deg,#ff9a3a,#ff62a8 55%,#ff5ad8)}.btn.primary:before{content:"";pointer-events:none;background:linear-gradient(#ffffff6b,#ffffff0a);border-radius:12px 12px 50% 50%/12px 12px 30% 30%;position:absolute;inset:3px 8px 52%}.btn.primary:after{content:"";pointer-events:none;width:22%;animation:3.6s ease-in-out infinite sheen;animation-delay:calc(var(--since,0s) + 1.2s);background:linear-gradient(90deg,#0000,#ffffff8c,#0000);position:absolute;top:0;bottom:0;left:-30%;transform:translate(0)skew(-20deg)}@keyframes breathe{50%{box-shadow:var(--ring), 0 0 34px #ffaa46b3, 0 6px 36px #ff3fc880}}@keyframes sheen{0%{transform:translate(0)skew(-20deg)}35%,to{transform:translate(780%)skew(-20deg)}}.btn.big{letter-spacing:.1em;width:100%;padding:16px;font-size:22px;font-weight:900;display:block}.row{gap:10px;margin-top:12px;display:flex}.row .btn{flex:1}.toggles{justify-content:center;gap:12px;margin-top:16px;display:flex}.icon-btn{border:1.5px solid var(--edge);width:46px;height:46px;color:var(--ink);cursor:pointer;background:#ffffff0a;border-radius:50%;place-items:center;display:grid}.icon-btn svg{width:22px;height:22px}.icon-btn.off{color:var(--muted);opacity:.55}.sound-btn{border-radius:999px;align-items:center;gap:8px;padding:9px 18px 9px 14px;display:inline-flex}.sound-btn svg{width:20px;height:20px}.sound-btn.off{color:var(--muted)}.sound-card .volume-row{text-align:left;grid-template-rows:auto auto;grid-template-columns:46px 1fr 3ch;align-items:center;gap:4px 14px;margin:0 0 18px;display:grid}.volume-row .icon-btn{grid-row:1/3}.volume-row label{letter-spacing:.04em;grid-column:2/4;font-size:14px;font-weight:800}.volume-row output{font-variant-numeric:tabular-nums;text-align:right;color:var(--gold);font-weight:800}.volume-row:has(.icon-btn.off) :is(input,output){opacity:.45}.volume-row input[type=range]{--v:100%;appearance:none;cursor:pointer;touch-action:pan-y;background:0 0;width:100%;height:28px;margin:0}.volume-row input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--orange), var(--pink)) 0 / var(--v) 100% no-repeat, #ffffff1f;border-radius:999px;height:8px}.volume-row input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--orange), var(--pink)) 0 / var(--v) 100% no-repeat, #ffffff1f;border-radius:999px;height:8px}.volume-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gold);border:2px solid #fff6d6;border-radius:50%;width:22px;height:22px;margin-top:-7px;box-shadow:0 0 12px #ffc23a99}.volume-row input[type=range]::-moz-range-thumb{background:var(--gold);border:2px solid #fff6d6;border-radius:50%;width:18px;height:18px;box-shadow:0 0 12px #ffc23a99}.volume-row input[type=range]:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:8px}.sound-card .btn.primary{margin-top:6px}.install-lead{color:var(--muted);margin:0 0 16px;line-height:1.4}.install-steps{counter-reset:step;text-align:left;margin:0 0 20px;padding:0;list-style:none}.install-steps li{counter-increment:step;margin:0 0 12px;padding-left:38px;line-height:1.45;position:relative}.install-steps li:before{content:counter(step);border:1.5px solid var(--edge);width:26px;height:26px;color:var(--gold);border-radius:50%;place-items:center;font-size:.85em;font-weight:800;display:grid;position:absolute;top:-1px;left:0}.install-steps .glyph{vertical-align:-.25em;color:#4ea1ff;width:1.25em;height:1.25em}.credit{color:var(--muted);letter-spacing:.02em;align-items:center;gap:5px;margin-top:14px;padding:4px 8px;font-size:12px;text-decoration:none;display:inline-flex}.credit svg{width:11px;height:11px;margin-left:1px}.credit b{color:var(--ink)}.credit:hover b,.credit:focus-visible b{color:var(--pink)}.legal-links{color:var(--muted);opacity:.7;justify-content:center;gap:6px;font-size:11px;display:flex}.legal-links a{color:inherit;padding:2px 4px;text-decoration:none}.legal-links a:hover,.legal-links a:focus-visible{color:var(--pink)}.version{font:inherit;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--muted);opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:8px;margin:0 auto;padding:4px 10px;font-size:11px;display:block}.version:hover,.version:focus-visible{opacity:1;color:var(--pink)}.changelog-card .board-scroll{padding-right:8px}.releases{text-align:left;margin:0;padding:0;list-style:none}.release+.release{border-top:1px solid #9a6bff26;margin-top:14px;padding-top:12px}.release-head{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.release-head b{color:var(--gold);font-variant-numeric:tabular-nums}.release-title{flex:1;font-weight:800}.release-head time{color:var(--muted);white-space:nowrap;font-size:12px}.release ul{margin:0;padding:0;list-style:none}.release ul li{color:var(--ink);margin-top:5px;font-size:14px;line-height:1.4}.kind{letter-spacing:.05em;text-transform:uppercase;vertical-align:1px;border-radius:6px;margin-right:6px;padding:1px 6px;font-size:10px;font-weight:800;display:inline-block}.k-new{color:#1a0b00;background:var(--gold)}.k-improved{color:#fff;background:#9a6bffb3}.k-fixed{color:#fff;background:#ff3fc8b3}.k-changed{color:var(--ink);background:#ffffff29}.howto-card{text-align:left}.howto-card h2{text-align:center}.controls-list{color:var(--muted);gap:4px;margin:0 0 14px;padding:0;font-size:14px;list-style:none;display:grid}.controls-list b{min-width:118px;color:var(--ink);display:inline-block}.legend{color:var(--muted);border-top:1px solid #9a6bff40;gap:6px;padding:12px 0;font-size:13px;display:grid}.legend b{color:var(--ink);margin-right:4px}.sw{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:8px;display:inline-block}.sw.barlow{background:repeating-linear-gradient(90deg,#a8bccc 0 4px,#0d0c10 4px 7px);box-shadow:inset 0 0 0 2px #2b2344}.sw.barhigh{background:repeating-linear-gradient(90deg,#c0b8ac 0 4px,#0d0c10 4px 7px);box-shadow:inset 0 0 0 2px #2b2344}.sw.red{background:#ff3b4e}.sw.void{background:#05030f;border:1.5px solid #ff9a3a}.sw.purple{background:#4b1d7a}.sw.rug{background:#8a1f2e}.sw.gold{background:#c9952e}.sw.blue{background:#2f7dff}.sw.magnet{background:#e8323c;border-radius:50%}.sw.shield{background:#2f8cff;border-radius:50%}.sw.boost{background:#a24dff;border-radius:50%}.sw.coin{background:radial-gradient(circle at 35% 35%,#ffe7a0,#ffb42a 58%,#c06a00);border-radius:50%}.sw.life{background:radial-gradient(circle at 40% 35%,#ffb3e6,#ff3fa8 60%,#b0207a);border-radius:50%}.sw.heart{background:var(--pink);clip-path:path("M6 11.2 1.4 6.6A2.9 2.9 0 0 1 6 2.7 2.9 2.9 0 0 1 10.6 6.6z")}.hint{text-align:center;color:var(--gold);margin:6px 0 14px;font-weight:700}.rekt{color:var(--pink);text-shadow:0 0 22px #ff3fc899;margin-bottom:4px!important;font-size:40px!important}.why{color:var(--muted);margin:0 0 10px}.badge{background:var(--gold);color:#2a1400;letter-spacing:.1em;border-radius:999px;margin:0 0 6px;padding:4px 12px;font-size:13px;font-weight:900;display:inline-block}.score{font-variant-numeric:tabular-nums;margin:0;font-size:54px;font-weight:900;line-height:1.1}.score small{color:var(--muted);font-size:.45em}.sub{color:var(--gold);margin:4px 0 12px;font-size:18px;font-weight:800}.gameover-card .btn.big{margin-top:6px}.debug{bottom:max(8px, env(safe-area-inset-bottom));color:#9dffb0;white-space:pre;background:#0000008c;border-radius:8px;max-width:calc(100vw - 16px);margin:0;padding:6px 8px;font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;left:8px;overflow:hidden}.menu-layer.no-anim .card{animation:none}.notice{color:var(--gold);background:#ffc23a1f;border:1px solid #ffc23a73;border-radius:12px;margin:-6px 0 12px;padding:8px 12px;font-size:14px;font-weight:700}.x-btn{background:#000;border-color:#ffffff47;justify-content:center;align-items:center;gap:8px;display:inline-flex}.x-btn svg{width:16px;height:16px}.x-btn.wide{width:100%;margin-top:12px}.x-btn.save{border-color:var(--gold);margin:4px 0 12px}.account{justify-content:center;align-items:center;gap:10px;margin-top:14px;font-weight:700;display:flex}.link{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:13px;text-decoration:underline}.avatar{object-fit:cover;background:linear-gradient(135deg, var(--orange), var(--violet));color:#fff;border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:900;display:inline-grid}.status{color:var(--muted);margin:4px 0 12px;font-weight:700}.status.ok{color:#6dffa8}.status.ok span{white-space:nowrap}.status.err{color:#ff7a8a}.status.muted{font-size:14px;font-weight:500}.gameover-card .row .btn{padding:12px 8px}.promo{border:1.5px solid var(--edge);border-radius:14px;margin-top:16px;transition:transform .12s ease-out,border-color .12s;display:block;overflow:hidden;box-shadow:0 6px 22px #00000059}.promo img{aspect-ratio:2;width:100%;height:auto;display:block}.promo:hover,.promo:focus-visible{border-color:var(--gold)}.promo:active{transform:scale(.98)}.board-card{max-height:calc(var(--app-h,100dvh) - 32px);flex-direction:column;display:flex}.board-card>*{flex-shrink:0}.tabs{background:#0000004d;border-radius:14px;gap:6px;margin-bottom:10px;padding:4px;display:flex}.tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:9px 4px;font-size:14px;font-weight:800}.tab.active{color:#fff;background:linear-gradient(90deg,#ff8a2ad9,#ff3fc8d9)}.board-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:120px;margin-bottom:12px;overflow-y:auto}.board{text-align:left;margin:0;padding:0;list-style:none}.board li{font-variant-numeric:tabular-nums;border-bottom:1px solid #9a6bff26;grid-template-columns:34px 32px 1fr auto auto;align-items:center;gap:10px;padding:8px 6px;display:grid}.board li.me{background:#ffc23a1f;border-radius:10px}.board .rank{color:var(--muted);text-align:center;font-weight:900}.board li:first-child .rank{color:#ffd34d}.board li:nth-child(2) .rank{color:#d9d9e8}.board li:nth-child(3) .rank{color:#ff9d5c}.board .who{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.board .dist{font-weight:800}.board .coins{color:var(--gold);align-items:center;gap:4px;font-size:13px;font-weight:700;display:flex}.board .coin-icon{width:.95em;height:.95em}.badge-icon{--rim:#3a2d5c;--face:#1a1238;--sym:#6f5f99;flex:none}.badge-icon .bi-rim{fill:var(--rim)}.badge-icon .bi-shine{fill:#ffffff47}.badge-icon .bi-face{fill:var(--face);stroke:#00000059;stroke-width:1.5px}.badge-icon .bi-sym,.badge-icon .bi-pip{fill:var(--sym)}.badge-icon .bi-sym .bi-cut{fill:var(--face)}.badge-icon .bi-sym .bi-stroke{stroke:var(--sym);fill:none}.badge-icon .bi-lock circle{fill:#120a2e;stroke:#6f5f99;stroke-width:1.5px}.badge-icon .bi-lock path{fill:none;stroke:#b9a6e0;stroke-width:1.6px;stroke-linejoin:round}.badge-icon.t-locked .bi-sym{opacity:.7}.badge-icon.t-earned{--rim:#ff4fb0;--face:#2a1240;--sym:#ffd3ee}.badge-icon.t-bronze{--rim:#d9783a;--face:#2b1530;--sym:#ffb47e}.badge-icon.t-silver{--rim:#c9cbe6;--face:#1f1a3e;--sym:#f1f2ff}.badge-icon.t-gold{--rim:#ffc23a;--face:#2d1a24;--sym:#ffe08a}.badge-icon.t-diamond{--rim:#6fe3ff;--face:#14204a;--sym:#d4f8ff}.badge-icon:not(.t-locked){filter:drop-shadow(0 0 6px color-mix(in srgb, var(--rim) 55%, transparent))}.btn.badges-btn{justify-content:center;align-items:center;gap:10px;padding-block:6px;line-height:1.15;display:flex}.badges-btn .badge-icon{flex:none}.badges-text{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.badges-btn.has-count .badges-text>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.badges-btn .count{color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}.ach-notice{font-weight:500}.ach-notice b{font-weight:800}.ach-intro{color:var(--muted);margin:-4px 0 10px;font-size:14px}.ach-total{color:var(--gold);font-variant-numeric:tabular-nums;font-size:18px}.ach-list{text-align:left;margin:0;padding:0;list-style:none}.ach-item+.ach-item{margin-top:8px}.ach-head{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #9a6bff47;border-radius:14px;align-items:center;gap:12px;padding:8px 10px 8px 8px;display:flex}.ach-head:hover{background:#9a6bff1f}.ach-head:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.ach-item.s-complete .ach-head{background:#ffc23a12;border-color:#ffc23a8c}.ach-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ach-name{font-size:16px;font-weight:800}.ach-tier{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:12px;font-weight:800}.ach-item.s-locked .ach-tier{color:var(--muted)}.ach-meta{color:var(--muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:13px}.ach-bar{background:#ffffff1a;border-radius:3px;height:6px;display:block;overflow:hidden}.ach-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--orange), var(--pink));height:100%;display:block}.ach-chev{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:9px;height:9px;margin:0 4px;transition:transform .15s;transform:rotate(45deg)translateY(-2px)}.ach-head[aria-expanded=true] .ach-chev{transform:rotate(225deg)translateY(-2px)}.ach-detail{background:#00000047;border-radius:12px;margin:4px 4px 0;padding:10px 12px;font-size:14px}.ach-detail p{color:var(--muted);margin:0 0 8px}.ach-detail p b{color:var(--ink);font-variant-numeric:tabular-nums}.ach-ladder{margin:0;padding:0;list-style:none}.ach-ladder li{color:var(--muted);border-top:1px solid #9a6bff26;grid-template-columns:78px 1fr;gap:8px;padding:5px 0;display:grid}.ach-ladder li.got{color:var(--ink)}.ach-ladder li.got b{color:#6dffa8}.ach-strip{width:100%;font:inherit;color:var(--ink);text-align:left;background:#ffffff0a;border:1px solid #9a6bff59;border-radius:14px;margin:0 0 12px;padding:8px 12px;display:block}button.ach-strip{cursor:pointer}button.ach-strip:hover{background:#9a6bff1f}button.ach-strip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.ach-strip.pending{text-align:center;color:var(--muted);border-style:dashed;font-size:14px}.ach-strip.pending .link{margin-left:4px}.ach-strip-head{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:800;display:block}.ach-strip-line{align-items:center;gap:10px;display:flex}.ach-strip-text{flex-direction:column;flex:1;gap:3px;min-width:0;font-size:14px;display:flex}.ach-strip-text small{color:var(--muted);font-variant-numeric:tabular-nums}.ach-strip.gained{background:#ffc23a17;border-color:#ffc23a99}.ach-strip.gained .ach-strip-head{color:var(--gold)}.ach-new{align-items:center;gap:10px;font-size:14px;display:flex}.ach-new+.ach-new{margin-top:4px}.ach-strip.gained .badge-icon{animation:.5s ease-out both badge-pop}@keyframes badge-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}70%{transform:scale(1.12)}}.menu-layer.no-anim .ach-strip.gained .badge-icon{animation:none}@media (prefers-reduced-motion:reduce){.ach-strip.gained .badge-icon{animation:none}.ach-chev{transition:none}}#loading{letter-spacing:.3em;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:13px;display:flex}.loader{align-items:flex-end;gap:6px;height:34px;display:flex}.loader span{background:linear-gradient(var(--orange), var(--pink));border-radius:3px;width:9px;animation:.9s ease-in-out infinite bins}.loader span:nth-child(2){animation-delay:.15s}.loader span:nth-child(3){animation-delay:.3s}@keyframes bins{0%,to{height:10px}50%{height:34px}}.title-card>.title-extras{--in:.82s}.title-extras .btn{min-width:0;margin-top:0}.title-card .row .btn{padding-inline:12px}@media (max-width:340px){.title-card .row .btn{font-size:14px}}.btn.runners-btn{flex-direction:column;justify-content:center;align-items:center;padding-block:6px;line-height:1.15;display:flex}.runners-btn span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.runners-btn b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ran-as{color:var(--muted);margin:0 0 10px;font-size:14px}.ran-as b{color:var(--ink)}.runners-intro{color:var(--muted);margin:-6px 0 12px;font-size:14px}.runners-card .board-scroll{flex:0 auto}.runner-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding:2px;display:grid}.runner-card{min-width:0;font:inherit;color:var(--ink);cursor:pointer;background:#160c34b3;border:1.5px solid #9a6bff59;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 10px;display:flex;position:relative}.runner-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.runner-card.focus{background:#341e68d9;border-color:#c3a2ff}.runner-card.sel{border-color:var(--gold);box-shadow:0 0 12px #ffc23a4d}.runner-card.soon .runner-art{opacity:.55}.runner-art{justify-content:center;align-items:flex-end;width:100%;height:96px;display:flex}.runner-art img{object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.runner-sil{fill:#b9a6e047;height:80%}.runner-name.long{white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.1}.runner-card .runner-tag{font-size:10px}.runner-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:800;overflow:hidden}.runner-tag{white-space:nowrap;letter-spacing:.03em;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:800}.runner-tag.sel{color:var(--gold);background:#ffc23a2e}.runner-tag.soon{color:var(--muted);background:#b9a6e024}.runner-preview{text-align:left;background:#00000047;border-radius:16px;align-items:center;gap:14px;margin-top:12px;padding:10px 12px;display:flex}.runner-art.big{flex:none;width:84px;height:120px}.runner-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.runner-title{font-size:20px;font-weight:900}.runner-info .status{margin:0}.runner-info .btn{width:100%;animation:none}.runners-back{margin-top:12px}.rule{text-align:center;color:var(--muted);margin:-6px 0 14px;font-size:13px;line-height:1.4}.rule b{color:var(--ink)}.pause-budget{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;margin:-4px 0 14px;font-size:13px}.pause-budget.over{color:var(--orange);font-weight:700}.replay-bar{left:50%;bottom:max(12px, env(safe-area-inset-bottom));background:var(--panel);border:1.5px solid var(--edge);width:min(560px,100% - 24px);box-shadow:var(--glow);pointer-events:auto;-webkit-user-select:text;user-select:text;border-radius:14px;padding:10px 12px;font-size:13px;position:absolute;transform:translate(-50%)}.replay-bar[hidden]{display:none}.replay-title{align-items:baseline;gap:8px;display:flex}.replay-title b{color:var(--pink);letter-spacing:.08em}.replay-back{color:var(--muted);margin-left:auto}.replay-live{color:var(--muted);font-variant-numeric:tabular-nums;margin:6px 0 8px}.replay-live.beyond{color:#ff5a6e;font-weight:700}.replay-buttons{flex-wrap:wrap;gap:6px;display:flex}.replay-buttons button{font:inherit;color:var(--ink);border:1px solid var(--edge);cursor:pointer;background:#9a6bff29;border-radius:8px;padding:6px 10px;font-weight:700}.replay-buttons button.on{background:var(--violet)}.replay-buttons .replay-play{min-width:44px}
