.cell.svelte-147jgqb{position:relative;width:100%;aspect-ratio:1;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s,box-shadow .15s;overflow:hidden;-webkit-tap-highlight-color:transparent;will-change:transform}.cell.svelte-147jgqb:before{content:"";position:absolute;inset:0;border-radius:4px;background:rgba(var(--c-cyan-rgb),.04);opacity:0;transition:opacity .15s;pointer-events:none}.cell.svelte-147jgqb:hover:before{opacity:1}.cell.highlighted.svelte-147jgqb{background:rgba(var(--c-cyan-rgb),.06)}.cell.same-value.svelte-147jgqb{background:rgba(var(--c-purple-rgb),.12);box-shadow:inset 0 0 8px rgba(var(--c-purple-rgb),.25)}.cell.conflict.svelte-147jgqb{background:rgba(var(--c-red-rgb),.08);box-shadow:inset 0 0 8px rgba(var(--c-red-rgb),.2)}.cell.conflict.svelte-147jgqb .value:where(.svelte-147jgqb){color:var(--c-red);text-shadow:0 0 8px rgba(var(--c-red-rgb),.5)}.cell.selected.svelte-147jgqb{background:rgba(var(--c-cyan-rgb),.15);box-shadow:inset 0 0 12px rgba(var(--c-cyan-rgb),.3),0 0 16px rgba(var(--c-cyan-rgb),.2)}.cell.error.svelte-147jgqb{background:rgba(var(--c-red-rgb),.15);box-shadow:inset 0 0 12px rgba(var(--c-red-rgb),.4),0 0 20px rgba(var(--c-red-rgb),.3)}.cell.correct.svelte-147jgqb{background:rgba(var(--c-green-rgb),.12);box-shadow:inset 0 0 16px rgba(var(--c-green-rgb),.3),0 0 20px rgba(var(--c-green-rgb),.25)}.value.svelte-147jgqb{font-family:var(--font-family),monospace;font-size:clamp(18px,4vw,34px);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--c-cyan);text-shadow:0 0 10px currentColor;pointer-events:none;position:relative;z-index:1}.cell.given.svelte-147jgqb .value:where(.svelte-147jgqb){color:var(--c-text-given);text-shadow:none;font-weight:900}.cell.error.svelte-147jgqb .value:where(.svelte-147jgqb){color:var(--c-red);text-shadow:0 0 12px var(--c-red)}.cell.correct.svelte-147jgqb .value:where(.svelte-147jgqb){color:var(--c-green);text-shadow:0 0 14px var(--c-green)}.notes.svelte-147jgqb{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:90%;height:90%;pointer-events:none;position:relative;z-index:1}.note.svelte-147jgqb{font-family:var(--font-family),monospace;font-size:clamp(10px,1.8vw,14px);color:rgba(var(--c-cyan-rgb),.5);display:flex;align-items:center;justify-content:center;line-height:1;font-weight:600}.note.active.svelte-147jgqb{color:rgba(var(--c-purple-rgb),.8);text-shadow:0 0 4px rgba(var(--c-purple-rgb),.5)}.ripple-bg.svelte-147jgqb{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(var(--c-cyan-rgb),.3) 0%,transparent 70%);transform:scale(0);opacity:0;pointer-events:none}.cell.svelte-147jgqb:active .ripple-bg:where(.svelte-147jgqb){animation:svelte-147jgqb-ripple .4s ease-out forwards}@keyframes svelte-147jgqb-ripple{0%{transform:scale(0);opacity:.8}to{transform:scale(2.5);opacity:0}}.board.svelte-lwwfpb{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);width:100%;aspect-ratio:1;border:2px solid var(--c-cyan);box-shadow:0 0 20px rgba(var(--c-cyan-rgb),.3),0 0 60px rgba(var(--c-cyan-rgb),.1),inset 0 0 30px rgba(var(--c-bg-rgb),.8);border-radius:8px;overflow:hidden;background:rgba(var(--c-bg-panel-rgb),.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;user-select:none;-webkit-user-select:none;touch-action:manipulation}.board.svelte-lwwfpb:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(var(--c-cyan-rgb),.03) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--c-cyan-rgb),.03) 1px,transparent 1px);background-size:calc(100% / 9) calc(100% / 9);pointer-events:none;z-index:0}.cell-wrapper.svelte-lwwfpb{position:relative;border-right:1px solid rgba(var(--c-cyan-rgb),.12);border-bottom:1px solid rgba(var(--c-cyan-rgb),.12);z-index:1;aspect-ratio:1;width:100%;height:100%}.cell-wrapper.svelte-lwwfpb:nth-child(9n){border-right:none}.cell-wrapper.box-right.svelte-lwwfpb{border-right:2px solid rgba(var(--c-cyan-rgb),.5)}.cell-wrapper.box-bottom.svelte-lwwfpb{border-bottom:2px solid rgba(var(--c-cyan-rgb),.5)}
