.cell.svelte-ap82y0{position:relative;aspect-ratio:1;display:grid;place-items:center;background:var(--paper-warm);color:var(--ink);font-family:var(--font-body);font-weight:500;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .36s ease}.cell.solved.svelte-ap82y0{background:var(--tone, var(--paper-warm))}.cell.solved.svelte-ap82y0:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#ffffffd9;opacity:0;mix-blend-mode:soft-light;animation:svelte-ap82y0-ripple-pulse 2.8s ease-in-out infinite;animation-delay:calc(var(--pulse-step, 0) * .09s)}.cell.solved.svelte-ap82y0 .value:where(.svelte-ap82y0){animation:svelte-ap82y0-ripple-bob 2.8s ease-in-out infinite;animation-delay:calc(var(--pulse-step, 0) * .09s)}@keyframes svelte-ap82y0-ripple-pulse{0%,to{opacity:0}3%{opacity:.95}11%{opacity:0}}@keyframes svelte-ap82y0-ripple-bob{0%,to{scale:1}3%{scale:1.08}11%{scale:1}}@media(prefers-reduced-motion:reduce){.cell.solved.svelte-ap82y0:after,.cell.solved.svelte-ap82y0 .value:where(.svelte-ap82y0){animation:none}}.value.svelte-ap82y0{position:relative;z-index:1;line-height:1;font-size:clamp(1.1rem,4.8vw,1.55rem)}.given.svelte-ap82y0 .value:where(.svelte-ap82y0){font-family:var(--font-rounded);font-weight:600;font-size:clamp(1.25rem,5.4vw,1.75rem);color:var(--ink);transform:translateY(-.02em)}.cell.svelte-ap82y0:not(.given) .value:where(.svelte-ap82y0){font-family:var(--font-hand);font-weight:600;font-size:clamp(1.4rem,6vw,2rem);color:var(--ink-soft);transform:translate(-.06em,-.08em)}.cell.error.svelte-ap82y0:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:repeating-linear-gradient(-45deg,transparent 0 4px,var(--wrong) 4px 5px);opacity:.55;mix-blend-mode:multiply}.cell.flash.svelte-ap82y0{animation:svelte-ap82y0-hint-flash .85s ease-out}@keyframes svelte-ap82y0-hint-flash{0%{background-color:var(--butter);box-shadow:0 0 0 2px var(--butter-deep),0 0 14px 2px var(--butter)}60%{background-color:var(--butter)}to{background-color:var(--paper-warm);box-shadow:0 0 0 0 transparent,0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.cell.flash.svelte-ap82y0{animation:none}}.overlay-value.svelte-ap82y0{position:relative;z-index:1;font-family:var(--font-rounded);font-weight:700;font-size:clamp(1.1rem,4.8vw,1.55rem);color:var(--ink);line-height:1;pointer-events:none}.overlay-value[data-state=hypothesis].svelte-ap82y0{color:var(--sky-deep)}.overlay-value[data-state=chain].svelte-ap82y0{color:var(--lavender-deep);opacity:.78}.overlay-value[data-state=contradiction].svelte-ap82y0{color:var(--wrong)}.overlay-value[data-state=eliminated].svelte-ap82y0{color:var(--ink)}.overlay-value[data-state=answer].svelte-ap82y0{color:var(--sage-deep)}.value[data-overlay-state=eliminated].svelte-ap82y0,.overlay-value[data-state=eliminated].svelte-ap82y0{text-decoration:line-through;text-decoration-color:var(--wrong);text-decoration-thickness:.12em}.cell.has-overlay.svelte-ap82y0{background:var(--paper-warm)}.cell[data-state=hypothesis].svelte-ap82y0{background:var(--sky)}.cell[data-state=chain].svelte-ap82y0{background:color-mix(in oklab,var(--lavender) 60%,var(--paper-warm))}.cell[data-state=contradiction].svelte-ap82y0{background:color-mix(in oklab,var(--wrong) 25%,var(--paper-warm))}.cell[data-state=eliminated].svelte-ap82y0{background:color-mix(in oklab,var(--pink) 70%,var(--paper-warm))}.cell[data-state=answer].svelte-ap82y0{background:var(--sage)}.suffix.svelte-ap82y0{margin-left:.05em;font-weight:600;opacity:.78}.scrim.svelte-f060w9{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffff8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:5;touch-action:none}.panel.svelte-f060w9{position:absolute;left:50%;top:50%;background:var(--paper);border:1.5px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 0 var(--ink);padding:.6rem;display:grid;gap:.55rem;transform:translate(-50%,-50%) rotate(-1.2deg);width:min(78vw,18rem);container-type:inline-size}.grid.svelte-f060w9{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.num.svelte-f060w9{aspect-ratio:1;font:inherit;font-family:var(--font-rounded);font-weight:700;font-size:clamp(1.05rem,8cqw,1.4rem);color:var(--ink);background:var(--paper-warm);border:1.5px solid var(--ink);border-radius:8px;box-shadow:2px 2px 0 0 var(--ink);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .2s ease}.num.svelte-f060w9:hover:not(:disabled){background:var(--butter)}.num.svelte-f060w9:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--ink)}.num.svelte-f060w9:disabled{opacity:.35;cursor:not-allowed;box-shadow:1px 1px 0 0 var(--ink)}.num.selected.svelte-f060w9{background:var(--sage)}.num.highlight.svelte-f060w9{outline:2px dashed var(--sky-deep);outline-offset:2px}.clear.svelte-f060w9{font:inherit;font-size:.9rem;color:var(--ink);background:var(--paper-deep);border:1.5px solid var(--ink);border-radius:999px;padding:.35rem .9rem;box-shadow:2px 2px 0 0 var(--ink);cursor:pointer;justify-self:center;transition:transform .1s ease,box-shadow .1s ease,background .2s ease;text-transform:lowercase}.clear.svelte-f060w9:hover{background:var(--peach)}.clear.svelte-f060w9:active{transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--ink)}.toggle.svelte-1qv9nce{--track-w: 36px;--track-h: 20px;--thumb: 14px;display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .95rem .4rem .4rem;background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;box-shadow:2px 2px 0 0 var(--ink);color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .2s ease}.toggle.compact.svelte-1qv9nce{--track-w: 32px;--track-h: 18px;--thumb: 12px;gap:.5rem;padding:.32rem .85rem .32rem .32rem;font-size:.85rem}.toggle.svelte-1qv9nce:active{transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--ink)}.toggle.svelte-1qv9nce .track:where(.svelte-1qv9nce){position:relative;width:var(--track-w);height:var(--track-h);border-radius:999px;background:var(--paper-deep);border:1.5px solid var(--ink);transition:background .2s ease}.toggle.svelte-1qv9nce .thumb:where(.svelte-1qv9nce){position:absolute;top:1px;left:1px;width:var(--thumb);height:var(--thumb);border-radius:50%;background:var(--ink);transition:transform .2s ease}.toggle.on.svelte-1qv9nce .track:where(.svelte-1qv9nce){background:var(--butter)}.toggle.on.svelte-1qv9nce .thumb:where(.svelte-1qv9nce){transform:translate(calc(var(--track-w) - var(--thumb) - 6px))}.toggle.svelte-1qv9nce .label:where(.svelte-1qv9nce){line-height:1;text-transform:lowercase}.puzzle.svelte-lspe1c{--stack-gap: .85rem;display:flex;flex-direction:column;gap:var(--stack-gap)}.board.svelte-lspe1c{position:relative;display:grid;grid-template-columns:repeat(var(--cols),1fr);width:100%;aspect-ratio:var(--cols) / var(--rows);background:var(--paper-warm);box-shadow:var(--shadow-card);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.board-frame.svelte-lspe1c{position:relative;width:100%;max-width:var(--board-max-w, none);margin-inline:auto}.callout-leads.svelte-lspe1c{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.callout-slot.svelte-lspe1c{display:grid;justify-items:center}.callout-slot.svelte-lspe1c>:where(.svelte-lspe1c){grid-area:1 / 1}.callout.svelte-lspe1c{position:relative;margin:0 auto;width:min(26rem,calc(100vw - 4.5rem));padding:.55rem .9rem;background:var(--pink);border:1.5px solid var(--ink);border-radius:12px;box-shadow:2px 2px 0 0 var(--ink);color:var(--ink);font-size:.88rem;line-height:1.45;text-align:center}.callout.ghost.svelte-lspe1c{visibility:hidden}.callout.shown.svelte-lspe1c{animation:svelte-lspe1c-callout-in .26s ease-out}@keyframes svelte-lspe1c-callout-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.callout.shown.svelte-lspe1c{animation:none}}.lead.svelte-lspe1c{position:absolute;left:var(--x);margin-left:-1px;width:0;border-left:2px dashed var(--pink-deep)}.lead.below.svelte-lspe1c{top:var(--y);height:calc(var(--len) + var(--stack-gap))}.lead.above.svelte-lspe1c{bottom:calc(100% - var(--y));height:calc(var(--len) + var(--stack-gap))}.lead.svelte-lspe1c:before{content:"";position:absolute;left:-6px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent}.lead.below.svelte-lspe1c:before{top:-6px;border-bottom:7px solid var(--pink-deep)}.lead.above.svelte-lspe1c:before{bottom:-6px;border-top:7px solid var(--pink-deep)}.lines.svelte-lspe1c{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.lines.svelte-lspe1c line:where(.svelte-lspe1c){stroke-linecap:round}.lines.svelte-lspe1c .rule:where(.svelte-lspe1c){stroke:var(--rule);stroke-width:var(--grid-rule-w);transition:opacity .36s ease}.lines.svelte-lspe1c .wall:where(.svelte-lspe1c){stroke:var(--ink);stroke-width:var(--grid-wall-w)}.lines.svelte-lspe1c .hint-wall:where(.svelte-lspe1c){stroke:var(--sky-deep);stroke-width:var(--grid-wall-w)}.lines.svelte-lspe1c .preview-wall:where(.svelte-lspe1c){stroke:var(--sky-deep);stroke-width:var(--grid-wall-w);animation:svelte-lspe1c-preview-wall-in .26s ease-out both}@keyframes svelte-lspe1c-preview-wall-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.lines.svelte-lspe1c .preview-wall:where(.svelte-lspe1c){animation:none}}.lines.svelte-lspe1c .demo-wall:where(.svelte-lspe1c){stroke:var(--sky-deep);stroke-width:var(--grid-wall-w);stroke-dasharray:1;animation:svelte-lspe1c-demo-wall-draw 2.2s ease-in-out infinite}@keyframes svelte-lspe1c-demo-wall-draw{0%{stroke-dashoffset:1;opacity:1}40%{stroke-dashoffset:0;opacity:1}78%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@media(prefers-reduced-motion:reduce){.lines.svelte-lspe1c .demo-wall:where(.svelte-lspe1c){animation:none;stroke-dashoffset:0}}.board.solved.svelte-lspe1c .lines:where(.svelte-lspe1c) .rule:where(.svelte-lspe1c){opacity:0}.board.solved.svelte-lspe1c{cursor:default}.controls.svelte-lspe1c{display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap}.reset-btn.svelte-lspe1c,.hint-btn.svelte-lspe1c{font:inherit;font-size:.9rem;color:var(--ink);padding:.4rem .95rem;background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;box-shadow:2px 2px 0 0 var(--ink);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .2s ease;text-transform:lowercase}.reset-btn.svelte-lspe1c:hover{background:var(--peach)}.hint-btn.svelte-lspe1c{background:var(--butter)}.hint-btn.svelte-lspe1c:hover:not(:disabled){background:var(--butter-deep)}.hint-btn.svelte-lspe1c:disabled{background:var(--paper-deep);color:var(--ink-faint);cursor:not-allowed;box-shadow:2px 2px 0 0 var(--rule);border-color:var(--ink-faint)}.reset-btn.svelte-lspe1c:active,.hint-btn.svelte-lspe1c:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--ink)}.explain-controls.svelte-lspe1c{display:flex;justify-content:center;margin-top:.4rem}.explain-skip.svelte-lspe1c{font:inherit;font-size:.9rem;color:var(--ink);padding:.4rem .95rem;background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;box-shadow:2px 2px 0 0 var(--ink);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .2s ease}.explain-skip.svelte-lspe1c:hover{background:var(--lavender)}.explain-skip.svelte-lspe1c:active{transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--ink)}.hint-msg.svelte-lspe1c{margin:.5rem 0 0;text-align:center;color:var(--ink-soft);font-size:.82rem;font-style:italic}.complete-scrim.svelte-lspe1c{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffff8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10;touch-action:none;animation:svelte-lspe1c-complete-fade .22s ease-out}@keyframes svelte-lspe1c-complete-fade{0%{opacity:0}to{opacity:1}}.complete-panel.svelte-lspe1c{position:relative;background:var(--paper);border:1.5px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 0 var(--ink);padding:1.5rem 1.6rem 1.3rem;transform:rotate(-1deg);width:min(94%,24rem);text-align:center;animation:svelte-lspe1c-complete-pop .32s cubic-bezier(.2,1.4,.4,1)}@keyframes svelte-lspe1c-complete-pop{0%{transform:rotate(-1deg) scale(.85);opacity:0}to{transform:rotate(-1deg) scale(1);opacity:1}}.complete-kicker.svelte-lspe1c{margin:0;color:var(--ink-soft);font-size:.92rem;letter-spacing:.14em;text-transform:lowercase}.complete-title.svelte-lspe1c{font-family:var(--font-display);font-size:2.6rem;margin:.15rem 0 .95rem;color:var(--ink);line-height:1.05;text-transform:lowercase}.complete-stats.svelte-lspe1c{margin:0 0 1.15rem;padding:.8rem 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule);display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.complete-stats.has-tally.svelte-lspe1c{grid-template-columns:repeat(2,1fr);gap:.55rem 1rem}.complete-stats.svelte-lspe1c .stat:where(.svelte-lspe1c){display:flex;flex-direction:column;align-items:center;gap:.2rem}.complete-stats.svelte-lspe1c dt:where(.svelte-lspe1c){font-size:.82rem;letter-spacing:.1em;color:var(--ink-faint);text-transform:lowercase}.complete-stats.svelte-lspe1c dd:where(.svelte-lspe1c){margin:0;font-family:var(--font-rounded);font-weight:700;font-size:1.6rem;color:var(--ink);font-variant-numeric:tabular-nums}.complete-actions.svelte-lspe1c{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}.complete-share.svelte-lspe1c,.complete-close.svelte-lspe1c{font:inherit;font-size:1.02rem;color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:.55rem 1.3rem;box-shadow:2px 2px 0 0 var(--ink);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .2s ease;text-transform:lowercase}.complete-share.svelte-lspe1c{background:var(--sky)}.complete-share.svelte-lspe1c:hover{background:var(--sky-deep)}.complete-close.svelte-lspe1c{background:var(--butter)}.complete-close.svelte-lspe1c:hover{background:var(--butter-deep)}.complete-share.svelte-lspe1c:active,.complete-close.svelte-lspe1c:active{transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--ink)}.complete-toast.svelte-lspe1c{margin:.65rem 0 0;color:var(--ink-soft);font-size:.85rem;font-style:italic}
