@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2) format("woff2-variations"),url(/fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg: #0B120C;--bg-2: #14211A;--bg-3: #1D2D21;--line: #283A2B;--line-soft: #1A2A1D;--cream: #F1F5EB;--cream-mute: #CDD5C2;--muted: #8A9582;--olive: #739A1D;--olive-2: #617E20;--lime: #8CBF4E;--lime-bright: #A7D861;--rust: #D0433A;--rust-light: #FFB5AE;--purple: #8C52FF;--black-tier: #0A0A0A;--gold: #F2C44A;--brown: #936A30;--board-dark: #739A54;--board-light: #ECEDD0;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", Consolas, monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--r-pill: 999px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--cream);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;height:100dvh;overflow:hidden;overscroll-behavior:none}body{margin:0}button{touch-action:manipulation;font:inherit;color:inherit}:root{--header-h: 80px;--footer-h: 28px;--status-h: 0px}.app{width:100vw;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:manipulation;background:var(--bg)}.app-shell{width:var(--design-w, 820px);height:var(--design-h, 700px);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;position:relative;display:flex;flex-direction:column;overflow:hidden;flex:none;transform:scale(var(--app-scale, 1));transform-origin:center center}.app-bar{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.brand{display:flex;align-items:center;gap:12px}.brand .mascot{width:48px;height:48px;border-radius:var(--r-pill);background:var(--bg-3);border:1px solid var(--line);overflow:hidden;flex-shrink:0}.brand .mascot img{width:100%;height:100%;object-fit:cover;display:block}.brand .wordmark{line-height:1.08}.brand .wordmark .l1{font-size:12px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.brand .wordmark .l2{font-size:20px;color:var(--cream);font-weight:800;letter-spacing:-.01em}.app-bar .rhs{display:flex;align-items:center;gap:14px;justify-content:flex-end}.title-pill{display:inline-flex;align-items:stretch;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--lime) 32%,transparent);background:color-mix(in srgb,var(--lime) 8%,transparent);font-size:12px;font-weight:700;color:var(--lime-bright);overflow:hidden}.title-pill .abbr{background:var(--lime);color:var(--bg);padding:4px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;display:inline-flex;align-items:center}.title-pill .name{padding:4px 10px 4px 8px;display:inline-flex;align-items:center}.date-stack{text-align:right;line-height:1.1}.date-stack .d1{font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-weight:600}.date-stack .d2{font-size:15px;color:var(--cream);font-weight:700;font-family:var(--font-mono);margin-top:2px}.date-stack .d3{display:none;font-size:11px;font-weight:700;color:var(--lime-bright);letter-spacing:.02em}.layout{display:grid;grid-template-columns:1fr 240px;gap:22px;flex:1;min-height:0}.board-card{aspect-ratio:1 / 1;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;position:relative;max-width:514px;max-height:514px;margin:0 auto;width:100%}.board-card .board-wrap,.board-wrap{width:100%;height:100%;aspect-ratio:1 / 1;position:relative}.board-wrap.dragging{touch-action:none}.status-panel{display:flex;flex-direction:column;gap:8px}.banner{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;display:flex;align-items:center;justify-content:space-between}.banner .who{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}.banner .dot{width:10px;height:10px;border-radius:var(--r-pill);background:var(--cream);border:1px solid var(--line)}.banner .dot.b{background:#101410;border-color:#2b3a2e}.banner .meta{display:none}.tries-hero{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;position:relative}.tries-hero .lbl{font-size:11px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-weight:700}.tries-hero .big{font-size:36px;font-weight:800;letter-spacing:-.02em;margin:6px 0 10px;font-variant-numeric:tabular-nums}.tries-hero .big .slash{color:var(--muted);font-weight:600}.tries-hero .big.flip{animation:numberFlip .4s ease-out}@keyframes numberFlip{0%{transform:translateY(0)}45%{transform:translateY(-10px);opacity:0}55%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.pips{display:flex;gap:6px}.pip{width:22px;height:22px;border-radius:4px;border:2px solid var(--line);transition:background .3s,border-color .3s}.pip.fresh{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 12%,transparent)}.pip.spent{background:var(--rust);border-color:var(--rust);box-shadow:none}.pip.just-spent{animation:pipPop .5s cubic-bezier(.2,1.5,.3,1) 1 both}@keyframes pipPop{0%{transform:scale(1);background:var(--lime);border-color:var(--lime)}40%{transform:scale(1.6);background:var(--rust);border-color:var(--rust)}to{transform:scale(1);background:var(--rust);border-color:var(--rust)}}.callout{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;font-size:13px;color:var(--cream-mute)}.callout b{color:var(--cream)}.result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 82%,transparent);display:grid;place-items:center;padding:20px;z-index:50;animation:overlayFadeIn .2s ease-out both}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.result-card{position:relative;overflow-y:auto;width:min(440px,100%);max-height:calc(100dvh - 40px);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-xl);padding:24px 22px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:cardPop .28s cubic-bezier(.2,1.2,.3,1) both}@keyframes cardPop{0%{transform:translateY(10px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.result-kicker{font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--lime) 40%,transparent);color:var(--lime-bright);background:color-mix(in srgb,var(--lime) 10%,transparent)}.result-overlay.loss .result-kicker{color:var(--rust-light);border-color:color-mix(in srgb,var(--rust) 40%,transparent);background:color-mix(in srgb,var(--rust) 10%,transparent)}.result-headline{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:18px 0 4px}.result-sub{font-size:13px;color:var(--cream-mute);margin-bottom:18px}.hero-tries{width:100%;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 12px;font-family:var(--font-sans);font-variant-numeric:tabular-nums;line-height:1}.hero-tries .lbl{font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}.hero-tries .numline{display:flex;align-items:baseline;justify-content:center;gap:2px}.hero-tries .num{font-size:72px;font-weight:900;color:var(--lime-bright);letter-spacing:-.04em}.hero-tries .slash{font-size:40px;font-weight:600;color:var(--muted)}.result-overlay.loss .hero-tries .num{color:var(--rust-light)}.hero-pips{display:flex;gap:6px;margin-top:4px}.hero-pips .hpip{width:22px;height:22px;border-radius:4px;border:1px solid var(--line)}.hero-pips .hpip.fresh{background:var(--lime);border-color:var(--lime)}.hero-pips .hpip.spent{background:var(--rust);border-color:var(--rust)}.result-chips{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;margin-bottom:14px}.result-chips .chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-pill);font-size:13px}.result-chips .chip .lbl{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700}.result-chips .rating-chip .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:800;color:var(--cream)}.result-chips .rating-chip .delta{margin-left:0}.result-chips .title-chip .abbr{background:var(--lime);color:var(--cream);padding:2px 7px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.06em}.result-chips .title-chip .name{font-weight:700;color:var(--cream);font-size:12px;padding-right:4px}.result-chips .title-chip{padding:4px 6px;gap:6px;white-space:nowrap}.server-lb{width:100%;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.server-lb .lb-title{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:2px;background:transparent;border:0;padding:4px 2px;font-family:inherit;cursor:pointer;text-align:left}.server-lb .lb-title:disabled{cursor:default}.server-lb .lb-title .chevron{font-size:12px;color:var(--muted);transition:color .15s ease}.server-lb .lb-title:not(:disabled):hover{color:var(--cream-mute)}.server-lb .lb-title:not(:disabled):hover .chevron{color:var(--lime-bright)}.server-lb .lb-list{display:flex;flex-direction:column;gap:6px}.server-lb.expanded .lb-list{max-height:max(160px,min(50vh,calc(100dvh - 420px)));overflow-y:auto;scrollbar-gutter:stable;padding-right:2px}.server-lb .lb-row{display:grid;grid-template-columns:28px 24px 1fr auto auto;gap:10px;align-items:center;font-size:12px;padding:4px 6px;border-radius:6px}.server-lb .lb-row.first .rank{color:var(--gold)}.server-lb .lb-row.you{background:color-mix(in srgb,var(--lime) 10%,transparent)}.server-lb .lb-row .rank{color:var(--muted);font-weight:800;font-family:var(--font-mono);font-size:11px}.server-lb .lb-row .av{width:24px;height:24px;border-radius:50%;display:block;background:var(--bg)}.server-lb .lb-row .name{color:var(--cream);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.server-lb .lb-row.you .name{color:var(--lime-bright)}.server-lb .lb-row .score{font-family:var(--font-mono);font-size:11px;color:var(--cream-mute)}.server-lb .lb-divider{height:1px;background:var(--line-soft);margin:4px 0}.server-lb .lb-more{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;text-align:center;padding-top:4px}.mini-pips{display:inline-flex;gap:3px}.mini-pips .p{width:9px;height:9px;border-radius:2px;border:1px solid color-mix(in srgb,var(--line) 80%,#000 20%)}.mini-pips .p.fresh{background:var(--lime);border-color:var(--lime)}.mini-pips .p.spent{background:var(--rust);border-color:var(--rust)}.result-footer{margin-top:6px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);width:100%;text-align:center}.credit-kicker{padding:4px 0 0;text-align:center;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);opacity:.65;font-weight:700;display:flex;gap:10px;align-items:center;justify-content:center}.credit-kicker .sep{opacity:.5}.credit-kicker .dev-ref{color:var(--muted);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--muted) 40%,transparent)}.credit-kicker .dev-ref:hover{color:var(--lime)}.dev-app{min-height:100dvh;padding:28px;display:flex;flex-direction:column;gap:22px;max-width:1100px;margin:0 auto;width:100%;position:relative;z-index:1}.dev-header{display:flex;justify-content:space-between;align-items:flex-end}.dev-header h1{margin:4px 0 0;font-family:var(--font-sans);font-size:26px;font-weight:600}.dev-tag{display:inline-block;background:var(--olive);color:#fff;font-size:10px;letter-spacing:.22em;font-weight:800;padding:3px 8px;border-radius:4px;font-family:var(--font-mono)}.dev-link{color:var(--muted);text-decoration:none;font-size:13px;border-bottom:1px dashed rgba(138,149,130,.4)}.dev-link:hover{color:var(--lime)}.dev-layout{display:grid;grid-template-columns:minmax(320px,560px) minmax(280px,1fr);gap:28px;align-items:start}@media (max-width: 880px){.dev-layout{grid-template-columns:1fr}}.dev-panel{display:flex;flex-direction:column;gap:18px}.dev-section{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:14px}.dev-section h2{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}.dev-row{display:flex;gap:8px;flex-wrap:wrap}.dev-row input[type=text]{flex:1;min-width:0;background:var(--bg-3);border:1px solid var(--line);color:var(--cream);border-radius:6px;padding:9px 11px;font:inherit;font-family:var(--font-mono);font-size:13px}.dev-row button{background:var(--olive);color:#fff;border:none;border-radius:6px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer;transition:filter .15s ease;font-family:var(--font-sans)}.dev-row button:hover:not(:disabled){filter:brightness(1.1)}.dev-row button:disabled{opacity:.4;cursor:not-allowed}.dev-check{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--cream-mute)}.dev-meta{margin:0;display:grid;gap:6px}.dev-meta>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.dev-meta dt{color:var(--muted)}.dev-meta dd{margin:0;font-family:var(--font-mono);text-align:right;word-break:break-all;color:var(--cream-mute)}.dev-meta-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-weight:700}.dev-solution ol{margin:0;padding-left:22px;font-family:var(--font-mono);font-size:13px;color:var(--cream-mute);display:grid;gap:2px}.dev-solution li.done{color:var(--muted);text-decoration:line-through}.dev-solution li.next{color:var(--lime);font-weight:700}.dev-fen code{display:block;background:var(--bg-3);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-family:var(--font-mono);font-size:12px;word-break:break-all;color:var(--cream-mute)}.delta{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--r-pill);font-size:11px;font-weight:800;margin-left:4px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;opacity:0;transform:translateY(3px) scale(.9);transition:opacity .35s ease-out,transform .35s ease-out}.delta.up{background:color-mix(in srgb,var(--lime) 18%,transparent);color:var(--lime-bright)}.delta.down{background:color-mix(in srgb,var(--rust) 18%,transparent);color:var(--rust-light)}.delta.show{opacity:1;transform:translateY(0) scale(1)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti .c{position:absolute;top:-20px;width:10px;height:14px;border-radius:1px;animation:confettiFall linear infinite}.confetti .c.g{background:var(--lime)}.confetti .c.o{background:var(--olive)}.confetti .c.w{background:var(--cream)}.confetti .c.gold{background:var(--gold)}.confetti .c.purple{background:var(--purple)}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(520px) rotate(540deg);opacity:1}}.countdown-panel{width:100%;background:var(--bg-3);border:1px solid color-mix(in srgb,var(--lime) 30%,transparent);border-radius:var(--r-md);padding:14px 16px;display:flex;align-items:center;gap:14px}.countdown-panel.loss{border-color:color-mix(in srgb,var(--rust) 30%,transparent)}.countdown-panel .cp-lbl{flex:1;text-align:left;font-size:10px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-weight:800}.countdown-panel .cp-lbl b{display:block;color:var(--cream);font-size:13px;letter-spacing:-.005em;font-weight:800;text-transform:none;margin-bottom:3px}.countdown-panel .cp-time{font-family:var(--font-mono);font-size:26px;font-weight:800;color:var(--lime-bright);letter-spacing:.02em;font-variant-numeric:tabular-nums}.countdown-panel.loss .cp-time{color:var(--rust-light)}.countdown-panel .cp-dot{width:8px;height:8px;border-radius:var(--r-pill);background:var(--lime-bright);animation:cpDotPulse 1s ease-in-out infinite}.countdown-panel.loss .cp-dot{background:var(--rust-light)}@keyframes cpDotPulse{0%,to{opacity:1}50%{opacity:.35}}.state-stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.state-stack{display:flex;flex-direction:column;align-items:center;gap:18px;padding:12px}.knight-tour{--sq: 44px;position:relative;width:calc(var(--sq) * 3);height:calc(var(--sq) * 3);display:grid;grid-template-columns:repeat(3,var(--sq));grid-template-rows:repeat(3,var(--sq));border-radius:8px;overflow:hidden;box-shadow:0 10px 24px #00000059}.knight-tour .kt-sq{width:100%;height:100%}.knight-tour .kt-sq.light{background:var(--board-light)}.knight-tour .kt-sq.dark{background:var(--board-dark)}.knight-tour .kt-knight{position:absolute;left:0;top:0;width:var(--sq);height:var(--sq);display:flex;align-items:center;justify-content:center;font-size:30px;color:#1a1a1a;transition:transform .38s cubic-bezier(.45,1.2,.55,1);will-change:transform;pointer-events:none}.state-text{font-size:14px;font-weight:600;color:var(--cream-mute);letter-spacing:.02em;min-height:1.5em;text-align:center;animation:stateTextFade .4s ease-out}@keyframes stateTextFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.err-icon{width:56px;height:56px;border-radius:var(--r-pill);background:var(--bg-2);border:1px solid var(--line);display:grid;place-items:center;font-size:26px;color:var(--rust-light)}.err-icon.service{color:var(--lime-bright)}.err-icon.offline{color:var(--muted)}.state-title{font-size:15px;font-weight:800;color:var(--cream)}.state-actions{display:flex;gap:10px;margin-top:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:var(--olive);color:#fff;border:1px solid var(--olive-2);border-radius:var(--r-md);font-family:var(--font-sans);font-weight:700;font-size:12px;cursor:pointer}.btn:hover{background:var(--olive-2)}.btn.ghost{background:transparent;color:var(--cream-mute);border-color:var(--line)}.btn.ghost:hover{background:var(--bg-3)}.ray-field{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.ray-field svg{width:100%;height:100%;animation:rayFieldSpin var(--ray-speed, 14s) linear infinite;transform-origin:center}@keyframes rayFieldSpin{to{transform:rotate(360deg)}}.rankup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 90%,transparent);display:grid;place-items:center;padding:20px;z-index:60;animation:overlayFadeIn .3s ease-out both}.rankup-card{position:relative;overflow:hidden;width:min(480px,100%);aspect-ratio:4 / 3;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.band-red .rankup-card{background:#1a1414}.band-purple .rankup-card{background:#15101f}.band-black .rankup-card{background:#060606}.rankup-kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:800;color:var(--lime-bright)}.band-red .rankup-kicker{color:var(--rust-light)}.band-purple .rankup-kicker{color:#cdb2ff}.band-black .rankup-kicker{color:var(--gold);letter-spacing:.32em}.rankup-title{font-size:30px;font-weight:900;letter-spacing:-.02em;margin:4px 0 18px}.band-black .rankup-title{color:var(--cream);font-size:34px}.rankup-title em{font-style:normal;color:var(--lime-bright)}.band-red .rankup-title em{color:var(--rust-light)}.band-purple .rankup-title em{color:#cdb2ff}.band-black .rankup-title em{color:var(--gold)}.rankup-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;padding:20px 28px;border-radius:var(--r-lg);background:var(--lime);color:var(--bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 20%,transparent),0 12px 30px #00000073;animation:pillSpringIn .9s cubic-bezier(.2,1.3,.3,1) both}@keyframes pillSpringIn{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.rankup-pill.band-red{background:var(--rust);color:#fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--rust) 18%,transparent),0 0 50px color-mix(in srgb,var(--rust) 40%,transparent),0 12px 30px #00000080}.rankup-pill.band-purple{background:var(--purple);color:#fff;padding:24px 32px;box-shadow:0 0 0 6px color-mix(in srgb,var(--purple) 20%,transparent),0 0 60px color-mix(in srgb,var(--purple) 50%,transparent),0 12px 30px #00000080}.rankup-pill.band-black{background:var(--black-tier);color:var(--gold);border:1px solid #2a2a2a;padding:28px 36px;box-shadow:0 0 0 8px color-mix(in srgb,var(--gold) 12%,transparent),0 0 80px color-mix(in srgb,var(--gold) 25%,transparent),0 14px 40px #0009;animation:pillSpringIn .9s cubic-bezier(.2,1.3,.3,1) both,pillShake .45s ease .9s 1 both}@keyframes pillShake{0%,to{transform:translate(0)}25%{transform:translate(-6px,3px)}50%{transform:translate(4px,-3px)}75%{transform:translate(-3px,2px)}}.rankup-abbr{font-size:22px;font-weight:900;letter-spacing:.02em}.rankup-pill.band-purple .rankup-abbr{font-size:26px}.rankup-pill.band-black .rankup-abbr{font-size:30px}.rankup-name{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin-top:2px}.crown{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:24px;color:var(--gold)}.rankup-sublabel{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:10px;font-weight:800}.rankup-fromto{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-size:12px;color:var(--cream-mute)}.rankup-fromto .chip{display:inline-flex;gap:6px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:#0003}.rankup-fromto .sm{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:800;background:var(--muted);color:var(--bg)}.rankup-fromto .sm.band-green{background:var(--lime);color:var(--bg)}.rankup-fromto .sm.band-red{background:var(--rust);color:#fff}.rankup-fromto .sm.band-purple{background:var(--purple);color:#fff}.rankup-fromto .sm.band-black{background:var(--black-tier);color:var(--gold)}.band-red .edge-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 80px color-mix(in srgb,var(--rust) 35%,transparent);border-radius:inherit}.band-red .flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#ffffff40;opacity:0;animation:whiteFlash 2s ease-out 1 both;border-radius:inherit}@keyframes whiteFlash{0%{opacity:0}2%{opacity:1}20%{opacity:0}to{opacity:0}}.rings{position:absolute;left:50%;top:50%;pointer-events:none}.rings .ring{position:absolute;left:50%;top:50%;width:180px;height:180px;border-radius:var(--r-pill);border:2px solid color-mix(in srgb,var(--purple) 38%,transparent);transform:translate(-50%,-50%) scale(0);animation:ringExpand 2.6s ease-out infinite}.rings .ring:nth-child(2){animation-delay:.9s}.rings .ring:nth-child(3){animation-delay:1.8s}.rings-black .ring{border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.rings-black .ring:nth-child(2){border-color:color-mix(in srgb,var(--gold) 28%,transparent)}@keyframes ringExpand{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}20%{opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.fallpieces{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.fallpieces span{position:absolute;top:-30px;font-size:22px;color:color-mix(in srgb,var(--gold) 42%,transparent);animation:pieceFall linear infinite}@keyframes pieceFall{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(430px) rotate(360deg);opacity:0}}.board-wrap.shake-1{animation:boardShake1 .4s ease both}.board-wrap.shake-2{animation:boardShake2 .45s cubic-bezier(.36,.07,.19,.97) both}.board-wrap.shake-3{animation:boardShake3 .5s cubic-bezier(.36,.07,.19,.97) both}.board-wrap.shake-4{animation:boardShake4 .55s cubic-bezier(.36,.07,.19,.97) both}.board-wrap.shake-5{animation:boardShake5 .7s cubic-bezier(.36,.07,.19,.97) both}@keyframes boardShake1{0%,to{transform:translateZ(0)}35%,75%{transform:translate3d(-2px,0,0)}55%{transform:translate3d(2px,0,0)}}@keyframes boardShake2{0%,to{transform:translateZ(0)}25%,65%{transform:translate3d(-3px,0,0)}45%,85%{transform:translate3d(3px,0,0)}}@keyframes boardShake3{0%,to{transform:translateZ(0)}15%,45%,75%{transform:translate3d(-4px,0,0)}30%,60%,90%{transform:translate3d(4px,0,0)}}@keyframes boardShake4{0%,to{transform:translateZ(0) rotate(0)}12%,36%,60%,84%{transform:translate3d(-5px,0,0) rotate(-.1deg)}24%,48%,72%{transform:translate3d(5px,0,0) rotate(.1deg)}}@keyframes boardShake5{0%,to{transform:translateZ(0) rotate(0)}10%,30%,50%,70%,90%{transform:translate3d(-6px,0,0) rotate(-.2deg)}20%,40%,60%,80%{transform:translate3d(6px,0,0) rotate(.2deg)}}.board-wrap .flash-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--rust);opacity:0;border-radius:var(--r-sm)}.board-wrap .flash-overlay.active{animation:flashRed .42s ease-out 1 both}@keyframes flashRed{0%{opacity:0}18%{opacity:.35}to{opacity:0}}.board-wrap .wrong-square{position:absolute;pointer-events:none;animation:wrongSquarePulse .6s ease-out both;box-shadow:inset 0 0 0 4px var(--rust),inset 0 0 0 7px color-mix(in srgb,var(--rust) 40%,transparent);border-radius:2px}@keyframes wrongSquarePulse{0%{background-color:color-mix(in srgb,var(--rust) 70%,transparent)}50%{background-color:color-mix(in srgb,var(--rust) 40%,transparent)}to{background-color:transparent}}.board-wrap .wrong-callout{position:absolute;left:50%;top:-20px;transform:translate(-50%);background:var(--rust);color:#fff;padding:6px 14px;border-radius:var(--r-md);font-weight:800;font-size:12px;letter-spacing:.04em;box-shadow:0 8px 20px #0006;white-space:nowrap;opacity:0;border:1px solid color-mix(in srgb,#fff 15%,transparent);pointer-events:none;z-index:5}.board-wrap .wrong-callout.active{animation:calloutPop .9s cubic-bezier(.2,1.4,.3,1) 1 both}@keyframes calloutPop{0%{transform:translate(-50%) translateY(6px) scale(.7);opacity:0}25%{transform:translate(-50%) translateY(-4px) scale(1.08);opacity:1}40%{transform:translate(-50%) translateY(0) scale(1);opacity:1}85%{opacity:1}to{transform:translate(-50%) translateY(-2px) scale(1);opacity:0}}.rankup-replay{position:absolute;top:12px;right:12px;font-size:11px;color:var(--muted);padding:5px 10px;border-radius:var(--r-sm);border:1px solid var(--line);background:#0006;cursor:pointer;font-family:var(--font-sans);font-weight:700;letter-spacing:.04em;z-index:5;transition:color .15s,border-color .15s}.rankup-replay:hover{color:var(--cream);border-color:var(--cream-mute)}@media (min-width: 821px){.layout{margin-top:14px}}@media (max-width: 820px){:root{--design-w: 400px;--design-h: 680px}.app-shell{background:transparent;border:none;border-radius:0;padding:0}.layout{grid-template-columns:1fr;gap:6px}.board-card{max-width:400px;max-height:400px;padding:0;background:transparent;border:none;border-radius:0}.app-bar{grid-template-columns:auto 1fr auto;gap:10px;padding-bottom:6px}.app-bar .app-bar-spacer{display:none}.brand{gap:10px}.brand .mascot{width:36px;height:36px}.brand .wordmark .l1{display:none}.brand .wordmark .l2{font-size:15px}.app-bar .rhs{gap:6px}.app-bar .rhs .title-pill,.date-stack .d1,.date-stack .d2,.date-stack .d3{display:none}.status-panel{display:flex;flex-direction:column;gap:8px;align-items:stretch}.status-panel .callout,.status-panel .banner .meta{display:none}.tries-hero{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;order:1}.tries-hero .big{font-size:36px;margin:2px 0 8px}.tries-hero .pips{justify-content:center}.status-panel .banner{display:flex;justify-content:center;order:2;padding:8px 14px}.status-panel .banner .who{font-size:13px}.knight-tour{--sq: 36px}}.result-card,.server-lb.expanded .lb-list{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--lime) 40%,transparent) transparent}.result-card::-webkit-scrollbar,.server-lb.expanded .lb-list::-webkit-scrollbar{width:8px;height:8px}.result-card::-webkit-scrollbar-track,.server-lb.expanded .lb-list::-webkit-scrollbar-track{background:transparent}.result-card::-webkit-scrollbar-thumb,.server-lb.expanded .lb-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--lime) 32%,var(--bg-3));border-radius:4px}.result-card::-webkit-scrollbar-thumb:hover,.server-lb.expanded .lb-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--lime) 55%,var(--bg-3))}.result-card::-webkit-scrollbar-corner,.server-lb.expanded .lb-list::-webkit-scrollbar-corner{background:transparent}
