:root{--so-tile:#cfe0d3;--so-ink:#1b2030;--so-shade:#2c2724;--so-shade-top:#3b3530;--so-hatch:#ffffff21;--so-shade-ink:#f4ede16b;--so-ring:#1b2030}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--so-tile:#44594e;--so-ink:#f1f4ee;--so-shade:#0f0d0c;--so-shade-top:#1c1916;--so-hatch:#ffffff1a;--so-shade-ink:#ece4d65c;--so-ring:#f1f4ee}}:root[data-theme=dark]{--so-tile:#44594e;--so-ink:#f1f4ee;--so-shade:#0f0d0c;--so-shade-top:#1c1916;--so-hatch:#ffffff1a;--so-shade-ink:#ece4d65c;--so-ring:#f1f4ee}.page-game .game{--board-gutter:clamp(6px, 1.6vw, 24px)}.so-board{--gap:clamp(2px, .5vw, 3px);--pad:clamp(3px, .8vw, 6px);aspect-ratio:1;width:100%;padding:var(--pad);border-radius:var(--radius-m);background:var(--grout);box-shadow:inset 0 0 0 1px var(--grout-line), var(--shadow);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(--gap);width:100%;height:100%;display:grid}.so-board__row{grid-template-columns:repeat(var(--n), 1fr);gap:var(--gap);display:grid}.so-cell{cursor:pointer;background:radial-gradient(130% 110% at 28% 18%, #ffffff4d, #fff0 52%), radial-gradient(farthest-corner at 50% 45%, #0000 60%, #00000024 100%), url(/textures/glaze.webp) var(--tx,0) var(--ty,0) / 230px 230px, var(--so-tile);background-blend-mode:normal, normal, overlay, normal;filter:brightness(var(--v,1));transition:filter .18s var(--ease-out), box-shadow .22s var(--ease-out);border-radius:3px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff59,inset 0 -2px 1px #00000029;container-type:size}.so-num{aspect-ratio:1;width:72%;color:var(--so-ink);font-variant-numeric:tabular-nums;transition:color .16s var(--ease-out), opacity .16s var(--ease-out);border-radius:50%;place-items:center;font-size:max(.8125rem,54cqh);font-weight:760;line-height:1;display:grid;position:relative}.so-cell[data-kind=shaded]{background:repeating-linear-gradient(135deg, var(--so-hatch) 0 1.5px, transparent 1.5px 6px), linear-gradient(160deg, var(--so-shade-top), var(--so-shade) 72%);filter:none;box-shadow:inset 0 2px 3px #0000008c,inset 0 -1px #ffffff14}.so-cell[data-kind=shaded] .so-num{color:var(--so-shade-ink);font-size:max(.6875rem,38cqh);font-weight:640}.so-cell[data-kind=kept] .so-num:before,.so-cell[data-kind=auto] .so-num:before{content:"";border:max(2px, 4.5cqh) solid var(--so-ring);animation:so-ring-in .18s var(--ease-out);border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 1px #ffffff59}.so-cell[data-kind=auto] .so-num:before{opacity:.5;box-shadow:none;border-style:dashed;border-width:max(1.5px,3cqh)}@keyframes so-ring-in{0%{opacity:0;transform:scale(.6)}}.so-cell:focus-visible{outline:3px solid var(--ink);outline-offset:-3px;z-index:2}:root[data-theme=dark] .so-cell:focus-visible{outline-color:var(--focus)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .so-cell:focus-visible{outline-color:var(--focus)}}@media (hover:hover){.so-board:not([data-solved]) .so-cell:not([data-kind=shaded]):hover{filter:brightness(calc(var(--v,1) * 1.07))}}.so-cell[data-press]{animation:so-press .24s var(--ease-out)}@keyframes so-press{40%{transform:scale(.9)}}.so-cell[data-touch]{box-shadow:inset 0 0 0 3px var(--alarm), inset 0 2px 3px #0000008c;animation:so-shake .36s var(--ease-out)}@keyframes so-shake{25%{transform:translate(-6%)}50%{transform:translate(5%)}75%{transform:translate(-3%)}}.so-cell[data-repeat] .so-num{color:var(--alarm);-webkit-text-decoration:underline wavy var(--alarm) 1.5px;text-decoration:underline wavy var(--alarm) 1.5px;text-underline-offset:2px}.so-cell[data-repeat] .so-num:before{border-color:var(--alarm)}.so-cell[data-cut]:after{content:"";border:2px dotted var(--alarm);pointer-events:none;border-radius:2px;position:absolute;top:2px;bottom:2px;left:2px;right:2px}.so-board[data-hinting] .so-cell:not([data-hint]):before{content:"";background:color-mix(in oklab, var(--ground) 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(--gold), inset 0 0 0 5px var(--gold-ink);animation:so-hint 1.2s var(--ease-out) infinite;z-index:1}.so-cell[data-hint=because]{box-shadow:inset 0 0 0 2.5px var(--gold-deep), inset 0 0 0 4px #fff9}@keyframes so-hint{50%{filter:brightness(calc(var(--v,1) * 1.15))}}.so-board[data-celebrate] .so-cell:not([data-kind=shaded]){animation:so-glint .64s var(--ease-out) both;animation-delay:calc(var(--d) * 45ms)}.so-board[data-celebrate] .so-cell[data-kind=shaded]{animation:so-settle .52s var(--ease-out) both;animation-delay:calc(var(--d) * 45ms + 60ms)}@keyframes so-glint{40%{filter:brightness(calc(var(--v,1) * 1.2))}}@keyframes so-settle{45%{transform:scale(.88)}}.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;box-shadow:inset 0 0 0 1px var(--grout-line)}.so-board[data-static] .so-cell{border-radius:2px}.so-board[data-static] .so-num{font-size:54cqh}.so-board[data-static] .so-cell[data-kind=shaded] .so-num{font-size:38cqh}.plate .so-board,.game-card .so-board{--pad:4px}.plate .so-board{--gap:1.5px;border-radius:8px}.week .week__day[data-done=true] .week__tile{background:repeating-linear-gradient(135deg, var(--so-hatch) 0 1.5px, transparent 1.5px 5px), linear-gradient(160deg, var(--so-shade-top), var(--so-shade) 72%);box-shadow:inset 0 0 0 1px #0000004d}.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:4px;display:grid}.so-legend .so-cell{cursor:default;width:40px;height:40px}.so-figure{grid-template-columns:1fr 1fr;gap:12px;max-width:460px;margin:8px 0;display:grid}.so-figure figcaption{color:var(--ink-soft);grid-column:1/-1;font-size:.875rem}
