:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fs-xs:12px;--fs-s:13px;--fs-m:15px;--fs-l:18px;--fs-xl:32px;--tap:44px;--hairline:color-mix(in srgb, var(--text) 10%, transparent);--panel-fill:color-mix(in srgb, var(--text) 4%, transparent)}*{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{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-s);color:var(--text)}#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;align-self:start;gap:24px;width:min(420px,100%);padding:0 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:28px;font-weight:800}.who{width:0;font-size:var(--fs-s);color:var(--dim);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;overflow:hidden}.status{font-size:var(--fs-xs);color:var(--dim);margin-top:-16px}.play{flex-direction:column;gap:12px;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,select:focus-visible,summary: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:var(--panel-fill);justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:64px;padding:16px 18px;display:flex}.big:hover:not(:disabled){border-color:var(--accent)}.big .label{font-size:var(--fs-l);font-weight:700}.big .sub{font-size:var(--fs-xs);color:var(--dim);margin-top:4px}.play-card{border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:12px}.play-card .big.primary{background:0 0;border:none;border-radius:12px}.card-actions{border-top:1px solid color-mix(in srgb, var(--accent) 25%, transparent);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 6px;padding:0 12px 10px;display:flex}.card-actions[hidden]{display:none}.big.secondary{min-height:var(--tap);background:0 0;padding:12px 18px}.big.secondary .label{font-size:var(--fs-m)}.chev{color:var(--accent);font-size:var(--fs-l)}.howto{font-size:var(--fs-s);color:var(--dim);flex-direction:column;gap:4px;padding:0 4px;line-height:1.5;display:flex}.howto[hidden]{display:none}.link{min-height:var(--tap);font-size:var(--fs-s);color:var(--accent);text-underline-offset:3px;align-items:center;padding:8px;text-decoration:underline;display:inline-flex}.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:24px 18px 18px;position:relative}.result:focus{outline:none}.result .score{font-size:44px;font-weight:800;line-height:1.1}.result .detail{font-size:var(--fs-xs);color:var(--dim);margin-top:8px}.result .outcome{font-size:var(--fs-s);color:var(--accent);margin-top:12px;font-weight:700}.result .outcome.warn{color:var(--callout)}.section-title{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.summary-line{min-height:var(--tap);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.summary-line::-webkit-details-marker{display:none}.summary-line:after{content:"+";font-size:var(--fs-m);color:var(--accent);flex:none}details[open]>.summary-line:after{content:"−"}.summary-value{text-align:right;text-transform:none;letter-spacing:0;width:0;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;overflow:hidden}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.tabs{gap:6px;display:flex}.tab{min-height:36px;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);border-color:color-mix(in srgb, var(--text) 12%, transparent);padding:6px 12px}.tab[aria-selected=true],.tab[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.league-chip[hidden]{display:none}.stat-select{font:inherit;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;min-height:36px;color:var(--dim);background:color-mix(in srgb, var(--text) 5%, transparent);border:1px solid color-mix(in srgb, var(--text) 12%, transparent);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23999' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:10px;padding:6px 28px 6px 12px}.rows{flex-direction:column;transition:opacity .15s;display:flex}.rows.stale{opacity:.5}button.row{text-align:left;border-radius:0;width:100%}button.row:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.row{min-height:var(--tap);font-size:var(--fs-m);border-bottom:1px solid color-mix(in srgb, var(--text) 7%, transparent);grid-template-columns:28px 1fr auto auto auto 16px;align-items:center;gap:10px;padding:8px 4px;display:grid}.row.you{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:6px}.row .pos{color:var(--faint);font-size:var(--fs-xs)}.row .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row .pts{font-weight:700}.row .time{color:var(--faint);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.row .chev-cell{text-align:right;color:color-mix(in srgb, var(--accent) 60%, transparent);font-size:10px}.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}.rows-hint{font-size:var(--fs-xs);color:var(--dim);margin-top:8px;padding:0 4px}.rows-hint[hidden],.board-links[hidden],.watch-top[hidden],.race[hidden]{display:none}.board-links{flex-wrap:wrap;gap:0 8px;display:flex}.empty{font-size:var(--fs-s);color:var(--dim);padding:16px 4px}.board-error{font-size:var(--fs-s);color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 8px;padding:12px 4px;display:flex}.skins{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.skins .section-title{margin-right:4px}.swatch{border:2px solid #0000;border-radius:50%;width:40px;height:40px;position:relative}.swatch[aria-pressed=true]{border-color:var(--text)}.notice{font-size:var(--fs-s);color:var(--callout);background:color-mix(in srgb, var(--callout) 12%, transparent);border-radius:8px;padding:12px}.notice[hidden]{display:none}.hint{font-size:var(--fs-xs);color:var(--dim);text-align:center;line-height:1.7}.hint[hidden],.profile[hidden]{display:none}.country-row{align-items:center;gap:12px;margin-top:12px;display:flex}.country-label{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.rule{border:none;border-top:1px solid var(--hairline);margin:16px 0 4px}.picker{flex:1;position:relative}.picker-button{width:100%;min-height:var(--tap);font-size:var(--fs-s);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;padding:8px 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;font-size:var(--fs-s);color:var(--text);border:none;border-bottom:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:0 0;padding:12px}.picker-search:focus{outline:none}.picker-search::placeholder{color:var(--faint)}.picker-list{padding:4px;overflow-y:auto}.picker-item{width:100%;min-height:40px;font-size:var(--fs-s);text-align:left;border-radius:6px;align-items:center;gap:9px;padding:8px;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 .rows{margin-top:8px}.live-row .pos{color:var(--accent)}.live-row{opacity:.85;border-bottom-color:color-mix(in srgb, var(--text) 4%, transparent)}.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{font-size:var(--fs-xs);letter-spacing:.16em;color:var(--bg);background:var(--callout);border-radius:999px;margin-bottom:8px;padding:4px 12px;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{font-size:var(--fs-s);color:var(--text);margin-top:8px}.result .gap[hidden],.again[hidden],.again-secondary[hidden],.keep-note[hidden]{display:none}.again{width:100%;min-height:52px;font-size:var(--fs-m);letter-spacing:.04em;color:var(--bg);background:var(--accent);margin-top:16px;padding:14px 16px;font-weight:800}.again:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, var(--text))}.result .again-secondary{color:var(--dim);margin-top:4px}.result .keep-note{font-size:var(--fs-xs);color:var(--dim);margin-top:4px}.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,.progress,.store{border-top:1px solid var(--hairline);padding-top:4px}.settings>section{margin-top:12px}.about-body>section{margin-top:16px}.about-body p{font-size:var(--fs-s);color:var(--dim);margin:6px 0 0;line-height:1.55}.settings>section+section{margin-top:24px}.settings .tabs{margin-top:12px}.toasts{left:50%;bottom:max(12px, env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px));z-index:10;pointer-events:none;flex-direction:column;width:min(420px,100% - 32px);display:flex;position:fixed;transform:translate(-50%)}.menu[hidden]+.toasts,.menu.previewing+.toasts{display:none}.toasts.above-bar{bottom:calc(max(12px, env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px)) + 64px)}.row-title{color:var(--dim);letter-spacing:.02em;font-size:12px;font-weight:500;display:block}.sticky-play{left:50%;bottom:max(12px, env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px));z-index:9;width:min(420px,100% - 32px);min-height:52px;font-size:var(--fs-m);color:var(--bg);background:var(--accent);border-color:var(--accent);box-shadow:0 8px 28px color-mix(in srgb, var(--bg) 85%, transparent);border-radius:12px;font-weight:800;position:fixed;transform:translate(-50%)}.sticky-play[hidden],.menu[hidden]~.sticky-play,.menu.previewing~.sticky-play{display:none}@media (width>=601px){.sticky-play{display:none}.toasts.above-bar{bottom:max(12px, env(safe-area-inset-bottom), var(--safe-area-inset-bottom,0px))}}.toasts:empty{display:none}.toast-wrap{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.toast-wrap.open{grid-template-rows:1fr}.toast-wrap.leaving{grid-template-rows:0fr}.toast-wrap>.toast{min-height:0;overflow:hidden}.toast{font-size:var(--fs-s);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);opacity:1;border-radius:10px;margin-top:8px;padding:12px 14px;font-weight:700;transition:opacity .25s}.toast-wrap.leaving>.toast{opacity:0}.toast:has(.toast-watch){align-items:center;gap:10px;display:flex}.toast-text{flex:1}.toast-watch{pointer-events:auto;min-height:40px;font-size:var(--fs-s);color:var(--bg);background:var(--callout);border-color:var(--callout);padding:8px 14px;font-weight:800}@media (prefers-reduced-motion:reduce){.toast-wrap,.toast{transition:none}}.store[hidden]{display:none}.store-rows{flex-direction:column;gap:8px;margin-top:8px;display:flex}.store-guest{font-size:var(--fs-s);color:var(--dim);padding:4px 4px 8px}.store-row{border:1px solid var(--hairline);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.store-what{grid-template-columns:auto 1fr;align-items:center;column-gap:12px;display:grid}.store-name{font-size:var(--fs-m);grid-column:2;font-weight:700}.store-note{font-size:var(--fs-xs);color:var(--dim);grid-column:2}.store-swatch{border-radius:50%;grid-row:span 2;width:28px;height:28px}.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:80px;min-height:var(--tap);color:var(--bg);background:var(--accent);flex:none;padding:10px 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}.store-price{color:var(--dim);flex:none;font-weight:700}.swatch.locked{opacity:.55}.swatch.locked:after{content:"";background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='2.5' y='5' width='7' height='5.5' rx='1' fill='%23bbb'/%3E%3Cpath d='M4 5V3.5a2 2 0 0 1 4 0V5' fill='none' stroke='%23bbb' stroke-width='1.2'/%3E%3C/svg%3E") center / 10px no-repeat;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-3px;right:-3px}.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{font-size:var(--fs-s);flex:1;font-weight:800}.preview-done{min-height:var(--tap);border-color:color-mix(in srgb, var(--text) 25%, transparent);padding:10px 14px;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{min-height:32px;font-size:var(--fs-xs);padding:4px 4px 4px 0}.link.danger{color:color-mix(in srgb, var(--callout) 70%, var(--dim));align-self:flex-start;padding-left:0}.link.privacy,.footer .link{color:var(--dim)}.footer{flex-direction:column;align-items:center;gap:4px;display:flex}.footer-links{align-items:center;gap:16px;display:flex}.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}.picker-button.loading .picker-chev{visibility:hidden}.picker-button.loading:after{--spin:var(--accent);left:auto;right:12px}.retry{min-height:var(--tap);font-size:var(--fs-s);text-align:left;color:var(--accent);padding:10px 4px;font-weight:700}.retry:hover:not(:disabled){text-underline-offset:3px;text-decoration:underline}.retry[hidden],.store-link[hidden]{display:none}.store-link{color:var(--dim);padding-left:0}.league-note[hidden],.achievements[hidden],.result .promo[hidden],.result .earned[hidden]{display:none}.league-note{padding:0 4px 8px}.progress[hidden],.league-card[hidden],.section-title[hidden]{display:none}.fold{flex-direction:column;gap:12px;padding-top:4px;display:flex}.league-card{border:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:var(--panel-fill);border-radius:12px;padding:12px}.league-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.league-name{font-size:var(--fs-m);font-weight:800}.league-best,.league-caption,.league-help{font-size:var(--fs-xs);color:var(--dim)}.help{margin-top:8px}.help>summary{cursor:pointer;font-size:var(--fs-xs);color:var(--faint);align-items:center;min-height:32px;display:flex}.help>.league-help{padding:4px 0}.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:12px;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{font-size:var(--fs-xs);color:var(--metal);font-weight:800}.rung-min{font-size:var(--fs-xs);color:var(--faint);font-variant-numeric:tabular-nums}.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:8px}.targets,.ach-group{flex-direction:column;gap:8px;display:flex}.ach-groups{flex-direction:column;gap:16px;margin-top:12px;display:flex}.ach-group-title{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.ach{background:var(--panel-fill);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.ach.done{background:color-mix(in srgb, var(--accent) 12%, transparent)}.ach-text{flex:1;min-width:0}.ach-name{font-size:var(--fs-s);align-items:center;gap:8px;font-weight:700;display:flex}.ach-name:before{content:"";border:1.5px solid var(--faint);border-radius:50%;flex:none;width:10px;height:10px}.ach.done .ach-name:before{border-color:var(--accent);background:var(--accent)}.ach:not(.done) .ach-name{color:var(--dim)}.ach-desc{font-size:var(--fs-xs);color:var(--faint)}.ach-meter{flex-direction:column;gap:4px;width:96px;display:flex}.ach-state{font-size:var(--fs-xs);color:var(--dim);text-align:right;font-variant-numeric:tabular-nums}.badge-chip{font-size:var(--fs-xs);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:6px 12px}.result .promo{font-size:var(--fs-s);color:var(--callout);margin-top:8px;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}}
