:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);touch-action:none;-webkit-user-select:none;user-select:none;height:100%;overflow:hidden}body{color:var(--text);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}#game{display:block;position:fixed;inset:0}.menu{background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:max(16px, env(safe-area-inset-top), var(--safe-area-inset-top,0px)) 16px max(16px, env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px));place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.menu[hidden]{display:none}.panel{flex-direction:column;gap:18px;width:min(420px,100%);padding:4px 0 24px;display:flex}.top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.wordmark{letter-spacing:.14em;color:var(--text);font-size:30px;font-weight:800}.who{white-space:pre-line;color:var(--dim);text-align:right;font-size:12px;line-height:1.5}.play{flex-direction:column;gap:10px;display:flex}button{font:inherit;cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;transition:transform 60ms,background-color .12s,border-color .12s}button:active:not(:disabled){transform:scale(.985)}button:disabled{cursor:default;opacity:.45}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.big{text-align:left;border-color:color-mix(in srgb, var(--text) 14%, transparent);background:color-mix(in srgb, var(--text) 4%, transparent);justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:16px 18px;display:flex}.big:hover:not(:disabled){border-color:var(--accent)}.big .label{font-size:17px;font-weight:700}.big .sub{color:var(--dim);margin-top:3px;font-size:11px}.big.primary{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.chev{color:var(--accent);font-size:18px}.link{color:var(--dim);text-underline-offset:3px;padding:6px 8px;font-size:12px;text-decoration:underline}.link:hover{color:var(--text)}.result{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent);text-align:center;border-radius:12px;padding:18px}.result .score{font-size:44px;font-weight:800;line-height:1.1}.result .detail{color:var(--dim);margin-top:6px;font-size:12px}.result .outcome{color:var(--accent);margin-top:12px;font-size:13px;font-weight:700}.result .outcome.warn{color:var(--callout)}.section-title{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:11px}.tabs{gap:6px;margin:8px 0 10px;display:flex}.tab{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);border-color:color-mix(in srgb, var(--text) 12%, transparent);padding:5px 10px;font-size:11px}.tab[aria-selected=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.rows{flex-direction:column;display:flex}button.row{text-align:left;border-radius:0;width:100%}button.row:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.race{color:var(--accent);align-self:flex-start;margin-top:8px}.race[hidden]{display:none}.row{border-bottom:1px solid color-mix(in srgb, var(--text) 7%, transparent);grid-template-columns:28px 1fr auto auto;align-items:baseline;gap:10px;padding:7px 4px;font-size:13px;display:grid}.row.you{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:6px}.row .pos{color:var(--faint);font-size:11px}.row .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row .pts{font-weight:700}.row .time{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.empty{color:var(--faint);padding:14px 4px;font-size:12px}.skins{align-items:center;gap:8px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:30px;height:30px}.swatch[aria-pressed=true]{border-color:var(--text)}.notice{color:var(--callout);background:color-mix(in srgb, var(--callout) 12%, transparent);border-radius:8px;padding:10px 12px;font-size:12px}.hint{color:var(--faint);text-align:center;font-size:11px;line-height:1.7}.profile[hidden]{display:none}.country-row{align-items:center;gap:10px;margin-top:4px;display:flex}.country-label{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:11px}select.country{font:inherit;color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent);border:1px solid color-mix(in srgb, var(--text) 14%, transparent);border-radius:8px;flex:1;padding:6px 8px;font-size:12px}.row{grid-template-columns:28px 1fr auto auto auto}.row .flag{width:18px;height:13px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 18%, transparent);object-fit:cover;border-radius:2px;display:block}.row .country{letter-spacing:.08em;width:18px;color:var(--faint);font-size:10px}select.country option{color:var(--text);background:var(--bg)}select.country:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.picker{flex:1;position:relative}.picker-button{text-align:left;border-color:color-mix(in srgb, var(--text) 14%, transparent);background:color-mix(in srgb, var(--text) 5%, transparent);align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:12px;display:flex}.picker-button:hover{border-color:var(--accent)}.picker-flag{width:18px;display:flex}.picker-flag .flag{width:18px;height:13px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 18%, transparent);border-radius:2px}.picker-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.picker-chev{color:var(--accent)}.picker-pop{z-index:10;border:1px solid color-mix(in srgb, var(--text) 16%, transparent);background:var(--bg);border-radius:10px;flex-direction:column;max-height:260px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 32px #0000008c}.picker-pop[hidden]{display:none}.picker-search{font:inherit;color:var(--text);border:none;border-bottom:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:0 0;padding:9px 11px;font-size:12px}.picker-search:focus{outline:none}.picker-search::placeholder{color:var(--faint)}.picker-list{padding:4px;overflow-y:auto}.picker-item{text-align:left;border-radius:6px;align-items:center;gap:9px;width:100%;padding:7px 8px;font-size:12px;display:flex}.picker-item .flag{width:18px;height:13px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 18%, transparent);border-radius:2px}.picker-item:hover,.picker-item.active{background:color-mix(in srgb, var(--accent) 18%, transparent)}.picker-item[aria-selected=true]{color:var(--accent)}.live[hidden]{display:none}.live-row .pos{color:var(--accent)}.live-row{opacity:.85;border-bottom-color:color-mix(in srgb, var(--text) 4%, transparent)}.result{position:relative}.confetti{pointer-events:none;width:7px;height:11px;animation:confetti var(--d) cubic-bezier(.15, .6, .4, 1) forwards;border-radius:2px;position:absolute;top:40px;left:50%}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}45%{transform:translate(calc(var(--x) * .8), var(--y)) rotate(calc(var(--r) * .5));opacity:1}to{transform:translate(var(--x), calc(var(--y) + 260px)) rotate(var(--r));opacity:0}}.result .badge{letter-spacing:.16em;color:var(--bg);background:var(--callout);border-radius:999px;margin-bottom:8px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-block}.result .badge[hidden]{display:none}.result.best{border-color:color-mix(in srgb, var(--callout) 70%, transparent);background:color-mix(in srgb, var(--callout) 10%, transparent);animation:1.6s ease-in-out 2 best-glow}@keyframes best-glow{50%{box-shadow:0 0 28px color-mix(in srgb, var(--callout) 45%, transparent)}}@media (prefers-reduced-motion:reduce){.result.best{animation:none}}.result .gap{color:var(--text);margin-top:6px;font-size:12px}.result .gap[hidden],.again[hidden]{display:none}.again{letter-spacing:.04em;width:100%;color:var(--bg);background:var(--accent);margin-top:14px;padding:13px 16px;font-size:15px;font-weight:800}.again:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, var(--text))}.big .meta{color:var(--callout);margin-top:4px;font-size:11px}.big .meta[hidden]{display:none}.row.medal-1 .pos,.row.medal-2 .pos,.row.medal-3 .pos{font-weight:800}.row.medal-1 .pos{color:var(--callout)}.row.medal-2 .pos{color:var(--text)}.row.medal-3 .pos{color:var(--accent)}.settings{border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);padding-top:12px}.settings>summary{cursor:pointer;justify-content:space-between;list-style:none;display:flex}.settings>summary::-webkit-details-marker{display:none}.settings>summary:after{content:"+";color:var(--accent)}.settings[open]>summary:after{content:"−"}.settings>section{margin-top:14px}.toasts{top:max(12px, env(safe-area-inset-top), var(--safe-area-inset-top,0px));z-index:10;pointer-events:none;flex-direction:column;gap:8px;width:min(420px,100% - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{color:var(--text);background:color-mix(in srgb, var(--bg) 66%, var(--accent) 34%);border:1px solid color-mix(in srgb, var(--accent) 80%, transparent);border-left:4px solid var(--callout);box-shadow:0 6px 24px color-mix(in srgb, var(--bg) 80%, transparent);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;transition:opacity .4s,transform .4s;animation:.35s cubic-bezier(.2,1.4,.4,1) toast-in}.toast:has(.toast-watch){align-items:center;gap:10px;display:flex}.toast-text{flex:1}.toast-watch{pointer-events:auto;color:var(--bg);background:var(--callout);border-color:var(--callout);padding:5px 12px;font-size:12px;font-weight:800}.toast.leaving{opacity:0;transform:translateY(-8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)scale(.96)}}@media (prefers-reduced-motion:reduce){.toast{transition:opacity .4s;animation:none}.toast.leaving{transform:none}}.store[hidden]{display:none}.store-rows{flex-direction:column;gap:8px;margin-top:10px;display:flex}.store-row{border:1px solid color-mix(in srgb, var(--text) 10%, transparent);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.store-what{grid-template-columns:auto 1fr;align-items:center;column-gap:10px;display:grid}.store-name{grid-column:2;font-size:13px;font-weight:700}.store-note{color:var(--dim);grid-column:2;font-size:11px}.store-swatch{border-radius:50%;grid-row:span 2;width:26px;height:26px}.store-swatch.plays{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);place-items:center;font-size:10px;font-weight:800;display:grid}.store-buy{min-width:76px;color:var(--bg);background:var(--accent);flex:none;padding:8px 12px;font-weight:800}.store-buy:disabled{color:var(--dim);border-color:color-mix(in srgb, var(--text) 14%, transparent);opacity:1;background:0 0}.swatch.locked{opacity:.55;position:relative}.swatch.locked:after{content:"🔒";font-size:11px;position:absolute;bottom:-4px;right:-4px}.swatch[hidden]{display:none}.menu.previewing{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.menu.previewing .panel{visibility:hidden}.preview-bar{left:50%;bottom:max(16px, env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 82%, var(--accent) 18%);border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);width:min(420px,100% - 32px);box-shadow:0 8px 30px color-mix(in srgb, var(--bg) 85%, transparent);z-index:11;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;transform:translate(-50%)}.preview-bar[hidden],.store-buy[hidden]{display:none}.preview-name{flex:1;font-size:13px;font-weight:800}.preview-done{border-color:color-mix(in srgb, var(--text) 25%, transparent);padding:8px 12px;font-weight:700}.store-thumb{border:1px solid color-mix(in srgb, var(--text) 14%, transparent);border-radius:8px;grid-row:span 2;padding:0;line-height:0;overflow:hidden}.store-thumb:hover{border-color:var(--accent)}.store-try{color:var(--accent);padding:0;font-size:11px}.link.danger{color:color-mix(in srgb, var(--callout) 70%, var(--dim));align-self:flex-start;margin-top:10px;padding-left:0}.link.privacy{color:var(--faint);align-self:center}.loading{pointer-events:none;position:relative}.loading:after{content:"";border:2px solid var(--spin,currentColor);border-right-color:#0000;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;animation:.7s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading:after{animation-duration:1.8s}}.store-buy.loading,.again.loading,.retry.loading,.tab.loading{color:#0000}.store-buy.loading,.again.loading{--spin:var(--bg)}.retry.loading,.tab.loading{--spin:var(--accent)}.big.loading .chev{visibility:hidden}.big.loading:after{--spin:var(--accent);left:auto;right:20px}.link.loading{padding-left:30px}.link.loading:after{left:16px}.retry{text-align:center;color:var(--callout);border:1px dashed color-mix(in srgb, var(--callout) 60%, transparent);background:color-mix(in srgb, var(--callout) 8%, transparent);padding:12px 16px;font-size:13px;font-weight:800}.retry:hover:not(:disabled){background:color-mix(in srgb, var(--callout) 14%, transparent)}.retry[hidden]{display:none}.tabs.stats{flex-wrap:wrap;margin:-4px 0 10px}.tabs[hidden],.league-note[hidden],.achievements[hidden],.result .promo[hidden],.result .earned[hidden]{display:none}.tab.small{padding:3px 8px;font-size:10px}.league-note{padding:0 4px 8px}.progress{border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);flex-direction:column;gap:10px;padding-top:12px;display:flex}.progress[hidden],.league-card[hidden],.section-title[hidden]{display:none}.league-card{border:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:12px;padding:12px}.league-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.league-name{font-size:15px;font-weight:800}.league-best,.league-caption,.league-help{color:var(--dim);font-size:11px}.league-help{color:var(--faint);margin-top:6px}.l0{--metal:#c98a52}.l1{--metal:#c7d0db}.l2{--metal:#f2c14e}.l3{--metal:#8fe3d6}.l4{--metal:#9ad0ff}.league-name{color:var(--metal)}.ladder{grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:10px;display:grid}.rung{text-align:center;border:1px solid color-mix(in srgb, var(--text) 8%, transparent);opacity:.45;border-radius:8px;padding:6px 2px}.rung.passed{opacity:.8}.rung.here{opacity:1;border-color:var(--metal);background:color-mix(in srgb, var(--metal) 16%, transparent)}.rung-name{color:var(--metal);font-size:11px;font-weight:800}.rung-min{color:var(--faint);font-variant-numeric:tabular-nums;font-size:10px}.bar{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:999px;height:6px;overflow:hidden}.bar-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .6s}.league-card .bar{margin-bottom:6px}.targets,.ach-group{flex-direction:column;gap:6px;display:flex}.ach-groups{flex-direction:column;gap:14px;margin-top:12px;display:flex}.ach-group-title{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:10px}.ach{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex}.ach.done{background:color-mix(in srgb, var(--accent) 12%, transparent)}.ach-text{flex:1;min-width:0}.ach-name{font-size:13px;font-weight:700}.ach:not(.done) .ach-name{color:var(--dim)}.ach-desc{color:var(--faint);font-size:11px}.ach-meter{flex-direction:column;gap:4px;width:96px;display:flex}.ach-state{color:var(--dim);text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.achievements{padding-top:2px}.achievements>summary{cursor:pointer;justify-content:space-between;list-style:none;display:flex}.achievements>summary::-webkit-details-marker{display:none}.achievements>summary:after{content:"+";color:var(--accent)}.achievements[open]>summary:after{content:"−"}.badge-grid{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.badge-chip{color:var(--text);border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:999px;padding:4px 9px;font-size:11px}.badge-chip.locked{color:var(--faint);border-color:color-mix(in srgb, var(--text) 10%, transparent);background:0 0}.result .promo{color:var(--callout);margin-top:8px;font-size:13px;font-weight:800}.result .earned{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.badge-chip.earned-new{animation:.42s cubic-bezier(.2,1.6,.4,1) both chip-pop}.badge-chip.earned-new:nth-child(2){animation-delay:90ms}.badge-chip.earned-new:nth-child(3){animation-delay:.18s}.badge-chip.earned-new:nth-child(n+4){animation-delay:.27s}@keyframes chip-pop{0%{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion:reduce){.badge-chip.earned-new{animation:none}}
