@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(./cinzel-latin-400-normal-DnUIPmzd.woff2) format("woff2"),url(./cinzel-latin-400-normal-C8jUSQqm.woff) format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(./cinzel-latin-700-normal-C-gK7hA8.woff) format("woff")}@font-face{font-family:Cinzel Decorative;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-decorative-latin-700-normal-CnX1aK6s.woff2) format("woff2"),url(./cinzel-decorative-latin-700-normal-ov6XPGpn.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2) format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(./nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}:root{--bg-1: #1a1330;--bg-2: #000;--panel: #0c0a16;--panel-border: rgba(255, 255, 255, .14);--text-hi: #f4f1ff;--text: #ddd6ff;--muted: #a99fd8;--accent: #a5b4fc;--accent-2: #f0abfc;--btn: #14111f;--glow: rgba(140, 60, 255, .35);--overlay: rgba(0, 0, 0, .82);--toast-bg: #14111f;color-scheme:dark}:root[data-theme=indigo]{--bg-1: #1a1f5c;--bg-2: #05060f;--panel: #0c0f2e;--panel-border: rgba(150, 165, 255, .2);--text-hi: #f4f1ff;--text: #ddd6ff;--muted: #a9b1e6;--accent: #a5b4fc;--accent-2: #f0abfc;--btn: #14173a;--glow: rgba(90, 110, 255, .35);--overlay: rgba(4, 5, 14, .85);--toast-bg: #14173a;color-scheme:dark}:root[data-theme=light]{--bg-1: #fbf3ee;--bg-2: #efe4f5;--panel: #ffffff;--panel-border: rgba(120, 80, 170, .2);--text-hi: #2b1c40;--text: #3a2a52;--muted: #6a5a86;--accent: #8f62d0;--accent-2: #d6577f;--btn: #ffffff;--glow: rgba(143, 98, 208, .25);--overlay: rgba(251, 243, 238, .86);--toast-bg: #ffffff;color-scheme:light}:root[data-contrast=high]{--bg-1: #000;--bg-2: #000;--panel: #000;--panel-border: #fff;--text-hi: #fff;--text: #fff;--muted: #fff;--accent: #ffee00;--accent-2: #00e5ff;--btn: #000;--glow: transparent;--overlay: rgba(0, 0, 0, .95);--toast-bg: #000}:root[data-contrast=high][data-theme=light]{--bg-1: #fff;--bg-2: #fff;--panel: #fff;--panel-border: #000;--text-hi: #000;--text: #000;--muted: #000;--accent: #6a00c8;--accent-2: #0050c8;--btn: #fff;--overlay: rgba(255, 255, 255, .96);--toast-bg: #fff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-2);color:var(--text);font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.app{height:100%;height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.corner-space{height:62px;flex:none}.board-wrap{touch-action:none}.stage{flex:1;min-height:0;display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto 1fr;grid-template-areas:"hold board next" "stats board next";justify-content:center;align-content:start;gap:14px 18px;padding:8px 12px}.hold-panel{grid-area:hold}.stats-panel{grid-area:stats;align-self:start}.board-wrap{grid-area:board;position:relative;display:grid;grid-template-columns:minmax(0,120px) minmax(0,auto) minmax(0,120px);grid-template-rows:1fr;min-width:0;align-self:stretch}.board-wrap>.strip{touch-action:none}.next-panel{grid-area:next;align-self:start}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:10px 12px}.panel h2{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center}.panel canvas{display:block;margin:0 auto}.stats-panel dl{margin:0;display:grid;gap:10px}.stats-panel dl>div{text-align:center}.stats-panel dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.stats-panel dd{margin:2px 0 0;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.board{display:block;border-radius:14px;box-shadow:0 18px 50px #0000008c,0 0 0 1px var(--panel-border)}.toast{position:absolute;left:50%;top:14px;transform:translate(-50%);max-width:92%;padding:9px 16px;border-radius:999px;background:var(--toast-bg);border:2px solid var(--accent);color:var(--text-hi);font-family:Fredoka,Nunito,system-ui,sans-serif;font-size:15px;font-weight:700;text-align:center;white-space:nowrap;box-shadow:0 6px 24px #0009;pointer-events:none;animation:toast 2.6s ease both}@keyframes toast{0%{opacity:0;transform:translate(-50%,-8px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}.stage[data-hold=off]{grid-template-areas:"stats board next" "stats board next"}.stage[data-next=off]{grid-template-columns:auto auto;grid-template-areas:"hold board" "stats board"}.stage[data-hold=off][data-next=off]{grid-template-columns:auto auto;grid-template-areas:"stats board" "stats board"}.touch{display:none;flex:none;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;padding:4px 8px 16px;max-width:520px;width:100%;margin:0 auto}@media(pointer:coarse),(max-width:720px){.touch{display:grid}}.tbtn{height:52px;border-radius:14px;border:1px solid var(--panel-border);background:var(--btn);color:var(--text-hi);font-size:20px;font-weight:700;touch-action:none;user-select:none;-webkit-user-select:none}.tbtn:active{background:var(--accent-2);color:#fff;transform:scale(.97)}.tbtn.accent{border-color:var(--accent);color:var(--accent)}.tbtn.hold{font-size:12px;letter-spacing:.06em}.watermark{position:fixed;right:14px;bottom:8px;font-size:12px;letter-spacing:.12em;color:var(--muted);opacity:.55;pointer-events:none}@media(max-width:720px){.stage{grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"hold stats next" "board board board";justify-items:stretch;justify-content:stretch;gap:8px;padding:4px 0}.hold-panel,.next-panel{justify-self:center}.hold-panel,.stats-panel,.next-panel{margin-inline:12px}.hold-panel,.next-panel{max-width:100%;min-width:0;overflow:hidden}.next-panel canvas,.hold-panel canvas{max-width:100%}.board-wrap{grid-template-columns:1fr minmax(0,auto) 1fr}.board-wrap{justify-self:stretch;min-width:0}.panel{padding:6px 8px}.panel h2{font-size:9px;margin-bottom:2px}.stats-panel{width:100%;align-self:stretch}.stats-panel dl{grid-template-columns:repeat(3,1fr);gap:4px;height:100%;align-items:center}.stats-panel dd{font-size:16px}.stats-panel dt{font-size:9px;letter-spacing:.1em}.next-panel{display:grid;grid-auto-flow:column;gap:0 4px;align-items:center}.next-panel h2{grid-column:1 / -1}.touch{padding-bottom:22px}.watermark{bottom:4px;font-size:10px}.stage[data-hold=off]{grid-template-columns:1fr auto;grid-template-areas:"stats next" "board board"}.stage[data-next=off]{grid-template-columns:auto 1fr;grid-template-areas:"hold stats" "board board"}.stage[data-hold=off][data-next=off]{grid-template-columns:1fr;grid-template-areas:"stats" "board"}}@media(max-width:400px){.stage{gap:6px;padding-block:4px}.panel{padding:5px 6px}.stats-panel dd{font-size:14px}.stats-panel dt{font-size:8px;letter-spacing:.04em}.next-panel{gap:0 2px}}.overlay{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--overlay);overflow-y:auto;animation:fade .3s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.card{width:min(440px,100%);max-height:100%;overflow-y:auto;background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;padding:26px 24px;text-align:center;box-shadow:0 10px 60px #0009;margin:auto}.card.small{width:min(360px,100%)}.title{margin:0;font-size:34px;font-weight:800;letter-spacing:.02em;color:var(--text-hi)}.small-title{font-size:26px}.subtitle{margin:6px 0 14px;color:var(--muted)}.final{margin:4px 0 0;font-size:48px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.rest{margin:0 0 18px;font-size:22px;line-height:1.35;font-weight:600;color:var(--text-hi)}.note{margin:0 0 18px;padding:12px 14px;border-left:3px solid var(--accent);background:#ffffff0a;border-radius:6px 14px 14px 6px;text-align:left;line-height:1.5}.note p{margin:0 0 6px}.note footer{color:var(--accent);font-size:14px;text-align:right}.primary{width:100%;padding:14px 18px;border:0;border-radius:16px;background:linear-gradient(135deg,#82f,#42e,#15e);color:#fff;font-size:18px;font-weight:800;letter-spacing:.05em;cursor:pointer;box-shadow:0 6px 24px var(--glow)}.primary:hover{filter:brightness(1.06)}.primary:active{transform:scale(.99)}:root[data-contrast=high] .primary{color:#000;background:var(--accent)}.controls{margin:16px 0 6px;text-align:left;color:var(--muted);font-size:14px}.controls summary{cursor:pointer;text-align:center}.controls ul{margin:10px 0 0;padding-left:18px;line-height:1.8}kbd{display:inline-block;padding:0 6px;border:1px solid var(--panel-border);border-bottom-width:2px;border-radius:6px;background:var(--btn);color:var(--text-hi);font-size:12px}.settings{display:grid;gap:10px;margin:14px 0;text-align:left}.settings .row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-hi);font-size:15px}.settings select{background:var(--btn);color:var(--text-hi);border:1px solid var(--panel-border);border-radius:10px;padding:6px 10px;font:inherit;font-size:14px}.version{margin:4px 0 0;text-align:center;font-size:12px;color:var(--muted);opacity:.7}.settings input[type=range]{width:45%;accent-color:var(--accent)}.settings input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;vertical-align:-3px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.toast,.overlay{animation:none}}
