:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f5f1;--surface:#fff;--surface-2:#ecebe6;--fg:#1c1c1e;--muted:#6b6b70;--accent:#2f5fd0;--accent-fg:#fff;--given:#1c1c1e;--player:#2f5fd0;--hint:#7b4cc2;--wrong:#d0302f;--wrong-bg:#fbe3e1;--peer:#e7ebf3;--same:#c9d7f2;--selected:#a8c1f2;--line:#c9c8c2;--line-strong:#2b2b2e;--shadow:0 10px 40px #0000002e;--tap:44px;--radius:12px;--ease:.12s ease-out}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111214;--surface:#1b1c1f;--surface-2:#26272b;--fg:#ececee;--muted:#9a9aa2;--accent:#7ea6ff;--accent-fg:#0b1530;--given:#ececee;--player:#8fb2ff;--hint:#c7a4ff;--wrong:#ff7b72;--wrong-bg:#3a1d1c;--peer:#242b3b;--same:#29385a;--selected:#34528f;--line:#34353a;--line-strong:#a9a9b0;--shadow:0 10px 40px #0009}}@media (prefers-reduced-motion:reduce){:root{--ease:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font:16px/1.25 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:default}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.app{max-width:560px;height:100dvh;padding:max(env(safe-area-inset-top), 8px) max(env(safe-area-inset-right), 10px) max(env(safe-area-inset-bottom), 12px) max(env(safe-area-inset-left), 10px);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"header""board""controls";gap:10px;margin:0 auto;display:grid}.header{min-height:var(--tap);grid-area:header;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.header-info{flex-direction:column;gap:2px;display:flex}.difficulty{font-weight:650}.mistakes{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.mistakes b{color:var(--fg);font-weight:600}.header-centre{justify-items:center;display:grid}.timer{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:20px;font-weight:600;line-height:1.1}.score{color:var(--accent);font-variant-numeric:tabular-nums;font-size:15px;font-weight:650;line-height:1.15}.combo{white-space:nowrap;height:14px;color:var(--accent);visibility:hidden;align-items:center;gap:6px;font-size:11px;font-weight:650;display:flex}.combo.live{visibility:visible}.combo-track{background:var(--surface-2);border-radius:2px;width:40px;height:4px;overflow:hidden}.combo-bar{background:var(--accent);transform-origin:0;height:100%;display:block}.header-actions{justify-content:flex-end;gap:4px;display:flex}.icon-button{min-width:var(--tap);min-height:var(--tap);transition:background var(--ease);border-radius:50%;place-items:center;display:grid}.icon-button:active:not(:disabled){background:var(--surface-2)}.icon-button:disabled{opacity:.35}.board-area{grid-area:board;place-items:center;min-height:0;display:grid;container-type:size}.board-wrap{aspect-ratio:1;width:min(100cqw,100cqh);position:relative}.board{background:var(--surface);border:2px solid var(--line-strong);width:100%;height:100%;transition:opacity var(--ease);border-radius:8px;grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);display:grid;overflow:hidden;container-type:inline-size}.phase-generating .board{opacity:.4}.cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:0;color:var(--player);transition:background-color var(--ease);place-items:center;font-size:6.44444cqw;font-weight:450;line-height:1;display:grid;position:relative}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+73){border-bottom:0}.cell:nth-child(9n+3),.cell:nth-child(9n+6){border-right:2px solid var(--line-strong)}.cell:nth-child(n+19):nth-child(-n+27),.cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--line-strong)}.emphasis-peer{background:var(--peer)}.emphasis-sameDigit{background:var(--same)}.emphasis-selected{background:var(--selected)}.origin-given{color:var(--given);font-weight:650}.origin-hint{color:var(--hint);font-weight:550}.cell.wrong{color:var(--wrong)}.cell.wrong:not(.emphasis-selected){background:var(--wrong-bg)}.notes{color:var(--muted);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;font-size:2.88889cqw;font-weight:500;display:grid;position:absolute;inset:6%}.board-overlay{border-radius:8px;align-content:center;place-items:center;gap:12px;font-weight:550;display:grid;position:absolute;inset:0}.pause-overlay{background:var(--surface);border:2px solid var(--line-strong)}.pause-note{color:var(--muted);margin:0;font-size:14px;font-weight:500}.payouts{pointer-events:none;grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);display:grid;position:absolute;inset:2px;container-type:inline-size}.phase-paused .payouts{display:none}.flash{background:color-mix(in srgb, var(--accent) 30%, transparent);animation:.5s ease-out forwards flash}@keyframes flash{to{opacity:0}}.payout-stack{z-index:1;display:grid}.payout{white-space:nowrap;color:var(--accent);text-shadow:0 0 3px var(--surface), 0 0 3px var(--surface);animation:rise 1s ease-out calc(var(--i) * 90ms) both;font-size:3.77778cqw;font-weight:750;line-height:1.1}.payout-mistake{color:var(--wrong)}@keyframes rise{0%{opacity:0;transform:translateY(30%)}15%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(-110%)}}@keyframes fade{0%,70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.flash{animation:.6s step-end forwards fade}.payout{animation:1.2s linear both fade}}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.controls{grid-area:controls;gap:10px;display:grid}.toolbar{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.toolbar button{border-radius:var(--radius);min-height:56px;color:var(--muted);transition:background var(--ease), color var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:550;display:flex}.toolbar button:active:not(:disabled){background:var(--surface-2)}.toolbar button:disabled{opacity:.35}.toolbar button.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.mode-state{text-transform:uppercase;letter-spacing:.06em;font-size:10px}.pad{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;display:grid}.pad button{background:var(--surface);min-height:60px;box-shadow:0 1px 0 var(--line);color:var(--accent);transition:background var(--ease), transform var(--ease);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;display:flex}.pad button:active:not(:disabled){background:var(--surface-2);transform:scale(.96)}.pad button:disabled{opacity:.3}.pad-digit{font-size:26px;font-weight:500;line-height:1}.pad-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.pad.mode-notes button{color:var(--muted)}.pad.mode-notes .pad-digit{font-size:20px}@media (orientation:landscape) and (width>=640px){.app{grid-template:"header header""board controls"minmax(0,1fr)/minmax(0,560px) minmax(260px,360px);justify-content:center;column-gap:24px;max-width:980px}.controls{align-content:center}.pad{grid-template-columns:repeat(3,1fr);gap:8px}.pad button{min-height:64px}.pad-digit{font-size:30px}}.sheet-backdrop,.dialog-backdrop{z-index:10;animation:fade-in var(--ease);background:#00000059;display:grid;position:fixed;inset:0}.sheet-backdrop{place-items:end center}.dialog-backdrop{place-items:center;padding:24px}.sheet{width:min(100%,560px);padding:12px 16px max(env(safe-area-inset-bottom), 16px);background:var(--surface);box-shadow:var(--shadow);border-radius:20px 20px 0 0;gap:8px;animation:.16s ease-out slide-up;display:grid}.sheet-header{min-height:var(--tap);justify-content:space-between;align-items:center;display:flex}.sheet-header h2,.dialog h2{margin:0;font-size:20px}.sheet-option{text-align:left;border-radius:var(--radius);background:var(--surface-2);min-height:64px;transition:background var(--ease);gap:2px;padding:10px 14px;display:grid}.sheet-option.current{box-shadow:inset 0 0 0 2px var(--accent)}.sheet-option:active{background:var(--same)}.option-title{font-weight:650}.option-desc{color:var(--muted);font-size:13px}.sheet-daily{gap:4px;display:grid}.sheet-daily-label{color:var(--muted);font-size:13px}.sheet-daily-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-account{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.sheet-daily-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sheet-daily-row button{min-height:var(--tap);border-radius:var(--radius);background:var(--surface-2);transition:background var(--ease);place-content:center;font-weight:650;line-height:1.15;display:grid}.sheet-daily-row button:active:not(:disabled){background:var(--same)}.sheet-daily-row button:disabled{color:var(--muted)}.daily-note{color:var(--muted);font-size:12px;font-weight:550}.sheet-actions{justify-content:space-around;display:flex}.sheet-restart,.link{min-height:var(--tap);color:var(--accent);font-weight:550}.dialog{text-align:center;background:var(--surface);width:min(100%,340px);box-shadow:var(--shadow);border-radius:20px;gap:14px;padding:24px;animation:.16s ease-out pop-in;display:grid}.dialog-body{color:var(--muted);margin:0}.dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.dialog-actions>*{flex:auto}.win-total{justify-items:center;gap:2px;display:grid}.win-total-label{color:var(--muted);font-size:13px}.win-total b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:36px;font-weight:750;line-height:1.1}.win-standing{font-size:15px;font-weight:650}.new-best{background:var(--accent);color:var(--accent-fg);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-top:4px;padding:2px 10px;font-size:12px;font-weight:700}.win-breakdown{gap:4px;margin:0;font-size:14px;display:grid}.win-breakdown div{justify-content:space-between;display:flex}.win-breakdown dt{color:var(--muted)}.win-breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-weight:650}.win-stats{grid-template-columns:repeat(4,1fr);gap:6px;margin:0;display:grid}.win-stats div{border-radius:var(--radius);background:var(--surface-2);padding:8px 4px}.win-stats dt{color:var(--muted);white-space:nowrap;font-size:11px}.win-stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:17px;font-weight:650}.primary{background:var(--accent);min-height:48px;color:var(--accent-fg);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-weight:650;display:inline-flex}.primary .icon{fill:currentColor}.secondary{background:var(--surface-2);min-height:48px;color:var(--accent);border-radius:999px;padding:0 22px;font-weight:650}.leaderboard{grid-template-rows:auto auto minmax(0,1fr) auto auto;height:min(600px,100dvh - 24px)}.leaderboard-tabs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.leaderboard-tabs button{min-height:var(--tap);border-radius:var(--radius);background:var(--surface-2);transition:background var(--ease);font-weight:650}.leaderboard-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-fg)}.leaderboard-list{overscroll-behavior:contain;min-height:0;overflow-y:auto}.leaderboard-list ol{margin:0;padding:0;list-style:none}.leaderboard-row{font-variant-numeric:tabular-nums;border-radius:8px;grid-template-columns:3.2em minmax(0,1fr) auto 3.6em;align-items:center;gap:8px;min-height:36px;padding:0 10px;font-size:15px;display:grid}.leaderboard-row.me{background:var(--same)}.leaderboard-rank,.leaderboard-time{color:var(--muted)}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-score{font-weight:650}.leaderboard-time{text-align:right}.leaderboard-status{color:var(--muted);text-align:center;margin:0;padding:16px 10px}.leaderboard-you{min-height:var(--tap);border-top:1px solid var(--line);align-items:center;padding-top:4px;display:grid}.leaderboard-standing{color:var(--muted);padding:0 10px;font-size:15px}.leaderboard-best{color:var(--muted);justify-content:space-between;margin:0;padding:0 10px;font-size:13px;display:flex}.leaderboard-best b{color:var(--fg)}.name-input{min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--fg);font:inherit;-webkit-user-select:text;user-select:text;padding:0 12px}.form-error{color:var(--wrong);margin:0;font-size:14px}.toast{z-index:20;left:50%;top:max(env(safe-area-inset-top), 8px);border-radius:var(--radius);background:var(--fg);width:min(100% - 24px,480px);color:var(--bg);box-shadow:var(--shadow);align-items:center;gap:8px;padding:4px 4px 4px 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%)}.toast span{flex:1}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.sheet,.dialog,.sheet-backdrop,.dialog-backdrop{animation:none}}
