.grid.svelte-1iwqbx1{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:auto;display:block}.colour-slice.svelte-1iwqbx1{pointer-events:none}.selected-cell.svelte-1iwqbx1{fill:var(--selection-color,#1a5fb42e);pointer-events:none}.grid-lines.svelte-1iwqbx1{stroke:var(--grid-line-color,#ccc);stroke-width:1px;fill:none}.grid-border.svelte-1iwqbx1,.region-border.svelte-1iwqbx1{stroke:var(--region-border-color,#222);stroke-width:3px;fill:none}.cage.svelte-1iwqbx1{stroke:var(--cage-border-color,#888);stroke-width:1.5px;stroke-dasharray:4 4;fill:none}.cage-sum.svelte-1iwqbx1{fill:var(--cage-sum-color,#444);font-size:11px}.line.svelte-1iwqbx1,.arrow.svelte-1iwqbx1{stroke-linecap:round;stroke-linejoin:round}.digit.svelte-1iwqbx1,.corner-mark.svelte-1iwqbx1,.centre-mark.svelte-1iwqbx1,.centre-mark.svelte-1iwqbx1 tspan:where(.svelte-1iwqbx1){touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.digit.svelte-1iwqbx1{text-anchor:middle;dominant-baseline:central;fill:var(--digit-given-color,#111);font-size:48px}.digit.svelte-1iwqbx1:not(.given){fill:var(--digit-placed-color,#1a5fb4)}.corner-mark.svelte-1iwqbx1{text-anchor:middle;dominant-baseline:central;fill:var(--mark-color,#444);font-size:20px}.centre-mark.svelte-1iwqbx1{text-anchor:middle;fill:var(--mark-color,#444);font-size:29px}.digit.digit-highlighted.svelte-1iwqbx1{fill:var(--digit-highlight-color,#7c3aed)}.corner-mark.mark-highlighted.svelte-1iwqbx1,.centre-mark.svelte-1iwqbx1 tspan.mark-highlighted:where(.svelte-1iwqbx1){fill:var(--mark-highlight-color,#7c3aed);font-weight:700}.digit.digit-conflict.svelte-1iwqbx1{fill:var(--digit-conflict-color,#b3261e);font-weight:700}.conflict-tint.svelte-1iwqbx1{fill:var(--digit-conflict-bg,#b3261e24);pointer-events:none}.corner-mark.mark-conflict.svelte-1iwqbx1,.centre-mark.svelte-1iwqbx1 tspan.mark-conflict:where(.svelte-1iwqbx1){fill:var(--mark-conflict-color,#b3261e);font-weight:700}.digit.digit-highlighted.digit-conflict.svelte-1iwqbx1,.corner-mark.mark-highlighted.mark-conflict.svelte-1iwqbx1,.centre-mark.svelte-1iwqbx1 tspan.mark-highlighted.mark-conflict:where(.svelte-1iwqbx1){fill:var(--digit-conflict-color,#b3261e);text-decoration:underline}.pad.svelte-1hms0nj{grid-template-columns:.85fr 0 1fr 1fr 1fr 0 .85fr;grid-auto-rows:var(--pad-row-height,50px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:none;gap:6px;display:grid}.digit-key.svelte-1hms0nj,.fn-btn.svelte-1hms0nj,.control-btn.svelte-1hms0nj,.mode-btn.svelte-1hms0nj{box-sizing:border-box;border:1px solid var(--pad-key-border,#bbb);background:var(--pad-key-bg,#fff);color:var(--pad-key-color,#333);touch-action:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.digit-key.svelte-1hms0nj{transform:translateY(var(--flick-dy,0px));transition:transform var(--pad-flick-spring-ms,.14s) ease-out;font-size:22px}@media (prefers-reduced-motion:reduce){.digit-key.svelte-1hms0nj{transition:none!important;transform:none!important}}.fn-btn.svelte-1hms0nj,.control-btn.svelte-1hms0nj,.mode-btn.svelte-1hms0nj{border-color:var(--pad-fn-border,#ccc);background:var(--pad-fn-bg,#f7f7f7)}.digit-key.colour-swatch.svelte-1hms0nj{border-color:var(--pad-key-border,#bbb)}.colour-transparent-key.svelte-1hms0nj{background-color:var(--pad-key-bg,#fff);background-image:linear-gradient(45deg, var(--pad-key-border,#bbb) 25%, transparent 25%), linear-gradient(-45deg, var(--pad-key-border,#bbb) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--pad-key-border,#bbb) 75%), linear-gradient(-45deg, transparent 75%, var(--pad-key-border,#bbb) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.control-btn.svelte-1hms0nj:disabled{opacity:.4}.fn-btn.active.svelte-1hms0nj,.mode-btn.active.svelte-1hms0nj{background:var(--pad-active-bg,#1a5fb4);color:var(--pad-active-color,#fff);border-color:var(--pad-active-border,#1a5fb4)}.digit-key.preview-corner.svelte-1hms0nj{background:var(--pad-preview-corner-bg,#d6e6ff);box-shadow:inset 0 6px 0 -2px var(--pad-preview-corner-line,#1a5fb4)}.digit-key.preview-centre.svelte-1hms0nj{background:var(--pad-preview-centre-bg,#ffe3d6);box-shadow:inset 0 -6px 0 -2px var(--pad-preview-centre-line,#c64600)}.mode-btn.echo-corner.svelte-1hms0nj{background:var(--pad-preview-corner-bg,#d6e6ff);border-color:var(--pad-preview-corner-line,#1a5fb4);box-shadow:inset 0 0 0 2px var(--pad-preview-corner-line,#1a5fb4)}.mode-btn.echo-centre.svelte-1hms0nj{background:var(--pad-preview-centre-bg,#ffe3d6);border-color:var(--pad-preview-centre-line,#c64600);box-shadow:inset 0 0 0 2px var(--pad-preview-centre-line,#c64600)}.puzzle-menu.svelte-1yj3d5w{position:relative}.menu-toggle.svelte-1yj3d5w{box-sizing:border-box;border:1px solid var(--pad-fn-border,#ccc);background:var(--pad-fn-bg,#f7f7f7);width:32px;height:32px;color:var(--pad-key-color,#333);border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.backdrop.svelte-1yj3d5w{z-index:10;background:0 0;border:none;padding:0;position:fixed;inset:0}.menu-panel.svelte-1yj3d5w{z-index:11;border:1px solid var(--pad-key-border,#bbb);background:var(--pad-key-bg,#fff);border-radius:10px;flex-direction:column;gap:6px;min-width:160px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0003}.menu-confirm-text.svelte-1yj3d5w{color:var(--text-secondary,#333);margin:2px 4px 0;font-size:13px}.menu-confirm-row.svelte-1yj3d5w{gap:6px;display:flex}.menu-item.svelte-1yj3d5w{border:1px solid var(--pad-fn-border,#ccc);background:var(--pad-fn-bg,#f7f7f7);color:var(--pad-key-color,#333);text-align:center;border-radius:8px;flex:auto;padding:8px 10px;font-size:14px}.menu-item-danger.svelte-1yj3d5w{border-color:var(--digit-conflict-color,#b3261e);color:var(--digit-conflict-color,#b3261e)}.debug-sw.svelte-mteicw{border:1px solid var(--debug-border,#999);color:var(--text-secondary,#333);background:var(--debug-bg,#f7f7f7);border-radius:4px;margin-top:16px;padding:8px 12px;font-family:monospace;font-size:12px}.debug-sw.svelte-mteicw h2:where(.svelte-mteicw){margin:0 0 8px;font-size:13px}.debug-sw.svelte-mteicw dl:where(.svelte-mteicw){margin:0}.debug-sw.svelte-mteicw dt:where(.svelte-mteicw){margin-top:6px;font-weight:600}.debug-sw.svelte-mteicw dd:where(.svelte-mteicw){word-break:break-all;margin:0}.debug-sw.svelte-mteicw ul:where(.svelte-mteicw){margin:4px 0;padding-left:16px}.debug-gesture.svelte-1up5rjh{border:1px solid var(--debug-border,#999);color:var(--text-secondary,#333);background:var(--debug-bg,#f7f7f7);border-radius:4px;margin-top:16px;padding:8px 12px;font-family:monospace;font-size:11px;overflow-x:auto}.debug-gesture.svelte-1up5rjh h2:where(.svelte-1up5rjh){margin:0 0 8px;font-family:system-ui,sans-serif;font-size:13px}.empty.svelte-1up5rjh{margin:0}table.svelte-1up5rjh{border-collapse:collapse;white-space:nowrap;width:100%}th.svelte-1up5rjh,td.svelte-1up5rjh{text-align:left;padding:2px 6px 2px 0}th.svelte-1up5rjh{border-bottom:1px solid var(--debug-border,#999)}:root{--app-bg:#fff;--text-primary:#111;--text-secondary:#333;--completion-fail-color:#b00020;--completion-solved-color:#1b5e20;--grid-line-color:#ccc;--region-border-color:#222;--cage-border-color:#888;--cage-sum-color:#444;--digit-given-color:#111;--digit-placed-color:#1a5fb4;--mark-color:#444;--selection-color:#1a5fb42e;--digit-highlight-color:#7c3aed;--mark-highlight-color:#7c3aed;--digit-conflict-color:#b3261e;--digit-conflict-bg:#b3261e24;--mark-conflict-color:#b3261e;--pad-key-bg:#fff;--pad-key-border:#bbb;--pad-key-color:#333;--pad-fn-bg:#f7f7f7;--pad-fn-border:#ccc;--pad-active-bg:#1a5fb4;--pad-active-color:#fff;--pad-active-border:#1a5fb4;--pad-preview-corner-bg:#d6e6ff;--pad-preview-corner-line:#1a5fb4;--pad-preview-centre-bg:#ffe3d6;--pad-preview-centre-line:#c64600;--colour-1:#ffd6d6;--colour-2:#ffe3c2;--colour-3:#fff3b0;--colour-4:#d7f5d0;--colour-5:#cdf3ea;--colour-6:#d3e6ff;--colour-7:#e3d9ff;--colour-8:#ffd9ec;--colour-9:#f2ddc4;--debug-border:#999;--debug-bg:#f7f7f7}@media (prefers-color-scheme:dark){:root{--app-bg:#1c1c1e;--text-primary:#e8e8e8;--text-secondary:#b3b3b3;--completion-fail-color:#ff6b6b;--completion-solved-color:#66bb6a;--grid-line-color:#3a3a3c;--region-border-color:#8e8e93;--cage-border-color:#9a9a9e;--cage-sum-color:#cfcfcf;--digit-given-color:#e8e8e8;--digit-placed-color:#6ea8fe;--mark-color:#a8a8ad;--selection-color:#6ea8fe47;--digit-highlight-color:#b794f6;--mark-highlight-color:#b794f6;--digit-conflict-color:#ff6b6b;--digit-conflict-bg:#ff6b6b38;--mark-conflict-color:#ff6b6b;--pad-key-bg:#2c2c2e;--pad-key-border:#48484a;--pad-key-color:#e5e5e5;--pad-fn-bg:#2c2c2e;--pad-fn-border:#48484a;--pad-active-bg:#1a5fb4;--pad-active-color:#fff;--pad-active-border:#1a5fb4;--pad-preview-corner-bg:#6ea8fe47;--pad-preview-corner-line:#6ea8fe;--pad-preview-centre-bg:#ff9a5c3d;--pad-preview-centre-line:#ff9a5c;--colour-1:#4a2323;--colour-2:#4a3319;--colour-3:#3a3313;--colour-4:#233c20;--colour-5:#193c37;--colour-6:#1c304a;--colour-7:#2c2349;--colour-8:#4a2239;--colour-9:#3c301f;--debug-border:#5a5a5c;--debug-bg:#2c2c2e}}html,body{margin:0;padding:0}body{background:var(--app-bg,#fff);color:var(--text-primary,#111)}main.svelte-9qg7ye{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:6px;height:100dvh;min-height:100dvh;padding:10px;font-family:system-ui,sans-serif;display:flex;overflow:hidden}.status-bar.svelte-9qg7ye{flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.timer.svelte-9qg7ye{font-variant-numeric:tabular-nums;color:var(--text-secondary,#333);font-size:16px}.status-right.svelte-9qg7ye{align-items:center;gap:8px;display:flex}.completion.svelte-9qg7ye{color:var(--completion-fail-color,#b00020);font-size:14px;font-weight:600}.completion.solved.svelte-9qg7ye{color:var(--completion-solved-color,#1b5e20)}.visually-hidden.svelte-9qg7ye{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grid-wrap.svelte-9qg7ye{flex:auto;width:100%;min-height:0}.refusal.svelte-9qg7ye,.placeholder.svelte-9qg7ye{margin-top:16px}
