:root{--so-cell:#f8f5ed;--so-line:var(--ink);--so-frame:var(--ink);--so-num:var(--ink);--so-shade:var(--ink);--so-shade-num:color-mix(in oklab, #f8f5ed 52%, var(--ink));--so-shade-hatch:#f8f5ed1a;--so-ring:color-mix(in oklab, var(--acc-shadeout) 82%, var(--ink));--so-ring-wash:color-mix(in oklab, var(--acc-shadeout) 20%, #f8f5ed);--so-hover:#efe9dc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--so-cell:#201e1a;--so-line:color-mix(in oklab, var(--ink) 42%, #201e1a);--so-frame:color-mix(in oklab, var(--ink) 78%, #201e1a);--so-num:var(--ink);--so-shade:#cbc3b2;--so-shade-num:#6c675e;--so-shade-hatch:#1b19161a;--so-ring:var(--acc-shadeout);--so-ring-wash:color-mix(in oklab, var(--acc-shadeout) 22%, #201e1a);--so-hover:#2a2722}@supports (color:color(display-p3 0 0 0)){:root:not([data-theme=light]){--so-shade-num:color(display-p3 .421209 .406257 .372443)}}@supports (color:lab(0% 0 0)){:root:not([data-theme=light]){--so-shade-num:lab(44.0032% .615925 6.05753)}}}:root[data-theme=dark]{--so-cell:#201e1a;--so-line:color-mix(in oklab, var(--ink) 42%, #201e1a);--so-frame:color-mix(in oklab, var(--ink) 78%, #201e1a);--so-num:var(--ink);--so-shade:#cbc3b2;--so-shade-num:#6c675e;--so-shade-hatch:#1b19161a;--so-ring:var(--acc-shadeout);--so-ring-wash:color-mix(in oklab, var(--acc-shadeout) 22%, #201e1a);--so-hover:#2a2722}@supports (color:color(display-p3 0 0 0)){:root[data-theme=dark]{--so-shade-num:color(display-p3 .421209 .406257 .372443)}}@supports (color:lab(0% 0 0)){:root[data-theme=dark]{--so-shade-num:lab(44.0032% .615925 6.05753)}}.page-game .game{--board-gutter:clamp(6px, 1.6vw, 24px)}.so-board{--frame:2px;--line:1px;aspect-ratio:1;width:100%;padding:var(--frame);background:var(--so-frame);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}.so-board__grid{grid-template-rows:repeat(var(--n), 1fr);gap:var(--line);background:var(--so-line);width:100%;height:100%;display:grid}.so-board__row{grid-template-columns:repeat(var(--n), 1fr);gap:var(--line);display:grid}.so-cell{cursor:pointer;background:var(--so-cell);transition:background-color .2s var(--ease-out);place-items:center;display:grid;position:relative;overflow:hidden;container-type:size}.so-num{aspect-ratio:1;width:76%;font-family:var(--serif);color:var(--so-num);font-variant-numeric:lining-nums tabular-nums;transition:color .16s var(--ease-out), opacity .16s var(--ease-out);border-radius:50%;place-items:center;font-size:max(.8125rem,60cqh);font-weight:420;line-height:1;display:grid;position:relative}.so-cell[data-kind=shaded]{background:repeating-linear-gradient(-45deg, var(--so-shade-hatch) 0 1px, transparent 1px 6px), var(--so-shade)}.so-cell[data-kind=shaded] .so-num{color:var(--so-shade-num)}.so-cell[data-kind=kept] .so-num{background:var(--so-ring-wash)}.so-cell[data-kind=kept] .so-num:before,.so-cell[data-kind=auto] .so-num:before{content:"";border:max(1.5px, 5cqh) solid var(--so-ring);animation:so-ring-in .2s var(--ease-out);border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0}.so-cell[data-kind=auto] .so-num:before{opacity:.55;border-style:dashed;border-width:max(1px,3cqh)}@keyframes so-ring-in{0%{opacity:0;scale:.6}}.so-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-4px;z-index:2}.so-cell[data-kind=shaded]:focus-visible{outline-color:var(--so-cell)}@media (hover:hover){.so-board:not(:-webkit-any([data-solved],[data-static])) .so-cell:not([data-kind=shaded]):hover{background-color:var(--so-hover)}.so-board:not(:is([data-solved],[data-static])) .so-cell:not([data-kind=shaded]):hover{background-color:var(--so-hover)}}.so-cell[data-press]{animation:so-press .24s var(--ease-out)}@keyframes so-press{40%{scale:.94}}.so-cell[data-touch]{box-shadow:inset 0 0 0 2px var(--so-cell), inset 0 0 0 5px var(--alarm)}.so-cell[data-touch] .so-num{animation:so-shake .36s var(--ease-out)}@keyframes so-shake{25%{translate:-8%}50%{translate:7%}75%{translate:-4%}}.so-cell[data-repeat]{box-shadow:inset 0 0 0 3px var(--alarm)}.so-cell[data-repeat] .so-num{color:var(--alarm);-webkit-text-decoration:underline wavy var(--alarm) max(1px, 3cqh);text-decoration:underline wavy var(--alarm) max(1px, 3cqh);text-underline-offset:6cqh}.so-cell[data-repeat] .so-num:before{border-color:var(--alarm)}.so-cell[data-cut]{background-image:repeating-linear-gradient(-45deg, color-mix(in oklab, var(--alarm) 40%, transparent) 0 1.5px, transparent 1.5px 6px);outline:2px dotted var(--alarm);outline-offset:-4px}.so-board[data-hinting] .so-cell:not([data-hint]):after{content:"";background:color-mix(in oklab, var(--paper) 62%, transparent);pointer-events:none;z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}.so-board .so-cell[data-hint=target]{box-shadow:inset 0 0 0 3px var(--ink);z-index:1;animation:1.3s ease-in-out infinite so-hint}.so-board .so-cell[data-kind=shaded][data-hint=target]{box-shadow:inset 0 0 0 3px var(--so-cell);animation-name:so-hint-ink}.so-cell[data-hint=because]{outline:1.5px dashed var(--ink);outline-offset:-5px}.so-cell[data-kind=shaded][data-hint=because]{outline-color:var(--so-cell)}@keyframes so-hint{50%{box-shadow:inset 0 0 0 5px var(--ink)}}@keyframes so-hint-ink{50%{box-shadow:inset 0 0 0 5px var(--so-cell)}}.so-board[data-celebrate] .so-cell:not([data-kind=shaded]):after{content:"";background:var(--acc-shadeout);opacity:0;animation:so-swell .72s var(--ease-out) both;animation-delay:calc(var(--d) * 55ms);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.so-board[data-celebrate] .so-cell[data-kind=kept] .so-num{animation:so-bow .6s var(--ease-out) both;animation-delay:calc(var(--d) * 55ms + 80ms)}@keyframes so-swell{35%{opacity:.4}}@keyframes so-bow{50%{scale:1.16}}.so-board[data-solved] .so-cell{cursor:default}.so-board[data-solved] .so-cell[data-kind=auto] .so-num:before{display:none}.so-board[data-static]{touch-action:auto;pointer-events:none}.so-board[data-static] .so-num{font-size:60cqh}.plate .so-board,.thumb .so-board{--frame:1.5px}.thumb__print>.so-board[role],.hero__sheet>.so-board[role],.plate__board>.so-board[role]{filter:none}.dialog__body .help-example{justify-self:center;width:min(220px,60vw)}.so-legend{color:var(--ink-soft);text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;font-size:.875rem;list-style:none;display:grid}.so-legend li{justify-items:center;gap:6px;display:grid}.so-legend .so-cell{cursor:default;width:40px;height:40px;box-shadow:0 0 0 1px var(--so-line)}.so-figure{grid-template-columns:1fr 1fr;gap:16px;max-width:460px;margin:8px 0;display:grid}.so-figure figcaption{color:var(--ink-soft);font-family:var(--sans);letter-spacing:.02em;grid-column:1/-1;font-size:.875rem}
