:root{--wf-cell:#f8f5ed;--wf-line:var(--ink);--wf-frame:var(--ink);--wf-wall:var(--ink);--wf-hover:#efe9dc;--wf-path:var(--acc-wayfold);--wf-disc-ink:var(--ink);--wf-disc-on:color-mix(in oklab, var(--acc-wayfold) 88%, var(--ink));--wf-disc-on-ink:#f8f5ed;--wf-guide:color-mix(in oklab, var(--ink) 55%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--wf-cell:#201e1a;--wf-line:color-mix(in oklab, var(--ink) 42%, #201e1a);--wf-frame:color-mix(in oklab, var(--ink) 78%, #201e1a);--wf-wall:#cbc3b2;--wf-hover:#2a2722;--wf-path:var(--acc-wayfold);--wf-disc-ink:#ece6d9;--wf-disc-on:var(--acc-wayfold);--wf-disc-on-ink:#1b1916;--wf-guide:color-mix(in oklab, var(--ink) 58%, transparent)}}:root[data-theme=dark]{--wf-cell:#201e1a;--wf-line:color-mix(in oklab, var(--ink) 42%, #201e1a);--wf-frame:color-mix(in oklab, var(--ink) 78%, #201e1a);--wf-wall:#cbc3b2;--wf-hover:#2a2722;--wf-path:var(--acc-wayfold);--wf-disc-ink:#ece6d9;--wf-disc-on:var(--acc-wayfold);--wf-disc-on-ink:#1b1916;--wf-guide:color-mix(in oklab, var(--ink) 58%, transparent)}.page-game .game{--board-gutter:clamp(4px, 1.2vw, 24px)}.wf-board{--frame:2px;--gap:1px;--pad:var(--frame);aspect-ratio:1;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;position:relative}.wf-panel{box-sizing:border-box;grid-template-columns:repeat(var(--n), 1fr);grid-template-rows:repeat(var(--n), 1fr);gap:var(--gap);padding:var(--frame);background:var(--wf-line);box-shadow:inset 0 0 0 var(--frame) var(--wf-frame);touch-action:none;cursor:pointer;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.wf-panel:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.wf-ink,.wf-marks{inset:var(--pad);width:calc(100% - 2 * var(--pad));height:calc(100% - 2 * var(--pad));pointer-events:none;position:absolute;overflow:visible}.wf-tile{background:var(--wf-cell);transition:background-color .22s var(--ease-out);position:relative;overflow:hidden}.wf-tile[data-on]{background-color:color-mix(in oklab, var(--wf-path) calc(10% + var(--p,0) * 18%), var(--wf-cell))}@media (hover:hover){.wf-board:not(:-webkit-any([data-solved],[data-static])) .wf-tile:not([data-on]):hover{background-color:var(--wf-hover)}.wf-board:not(:is([data-solved],[data-static])) .wf-tile:not([data-on]):hover{background-color:var(--wf-hover)}}.wf-board[data-early] .wf-tile:not([data-on]):after{content:"";background:repeating-linear-gradient(-45deg, color-mix(in oklab, var(--alarm) 40%, transparent) 0 1.5px, transparent 1.5px 6px);position:absolute;top:0;bottom:0;left:0;right:0}.wf-walls line{stroke:var(--wf-wall);stroke-width:3px;stroke-linecap:square;vector-effect:non-scaling-stroke}.wf-line,.wf-line-edge{fill:none;stroke-linecap:round;stroke-linejoin:round}.wf-line-edge{display:none}.wf-line{stroke:var(--wf-path);stroke-width:.2px}.wf-knob{fill:var(--wf-path);stroke:var(--wf-cell);stroke-width:.05px}.wf-board[data-solved] .wf-knob,.wf-board[data-static] .wf-knob{display:none}.wf-guide{stroke:var(--wf-guide);stroke-width:.08px;stroke-dasharray:.12 .1;stroke-linecap:round}.wf-block{fill:none;stroke:var(--wf-guide);stroke-width:.07px;stroke-linecap:round}.wf-marks{grid-template-columns:repeat(var(--n), 1fr);grid-template-rows:repeat(var(--n), 1fr);gap:var(--gap);display:grid}.wf-disc{grid-row:calc(var(--r) + 1);grid-column:calc(var(--c) + 1);box-sizing:border-box;aspect-ratio:1;background:var(--wf-cell);border:1.5px solid var(--wf-disc-ink);width:66%;color:var(--wf-disc-ink);transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out), color .2s var(--ease-out);border-radius:50%;place-self:center;place-items:center;display:grid;container-type:inline-size}.wf-disc b{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;font-size:max(.5625rem,62cqw);font-weight:450;line-height:1}.wf-disc[data-wide] b{letter-spacing:-.03em;font-size:max(.5rem,48cqw)}.wf-disc[data-on]{background:var(--wf-disc-on);border-color:var(--wf-disc-on);color:var(--wf-disc-on-ink)}.wf-disc[data-next]{outline:1.5px dashed var(--wf-disc-ink);outline-offset:2px}.wf-board[data-early] .wf-disc[data-on]:last-child{box-shadow:0 0 0 3px var(--alarm);animation:wf-clash .36s var(--ease-out)}@keyframes wf-clash{25%{translate:-8%}50%{translate:7%}75%{translate:-4%}}.wf-board[data-hinting] .wf-tile:not([data-hint]):before{content:"";z-index:1;background:color-mix(in oklab, var(--paper) 62%, transparent);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.wf-tile[data-hint=target]{box-shadow:inset 0 0 0 3px var(--ink);animation:1.3s ease-in-out infinite wf-hint}.wf-tile[data-hint=area]{outline:1.5px dashed var(--ink);outline-offset:-5px}.wf-hint-link{stroke:var(--ink);stroke-width:.12px;stroke-dasharray:.16 .1;stroke-linecap:round;animation:.9s linear infinite wf-march}.wf-hint-block{fill:none;stroke:var(--alarm);stroke-width:.1px;stroke-linecap:round}@keyframes wf-hint{50%{box-shadow:inset 0 0 0 5px var(--ink)}}@keyframes wf-march{to{stroke-dashoffset:-.52px}}.wf-board[data-celebrate] .wf-tile:after{content:"";background:var(--wf-path);opacity:0;animation:wf-swell .62s var(--ease-out) both;animation-delay:calc(var(--i,0) * 18ms);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes wf-swell{35%{opacity:.32}}.wf-board[data-solved] .wf-panel{cursor:default}.wf-board[data-static]{pointer-events:none}.wf-board[data-static] .wf-panel{cursor:default}.plate .wf-board,.thumb .wf-board{--frame:1.5px}.thumb__print>.wf-board.wf-board,.hero__sheet>.wf-board.wf-board,.plate__board>.wf-board.wf-board{filter:none}.week .week__day[data-done=true] .week__tile{background:linear-gradient(var(--acc-wayfold), var(--acc-wayfold)) 50% 30% / 64% 14% no-repeat, linear-gradient(var(--acc-wayfold), var(--acc-wayfold)) 82% 62% / 14% 50% no-repeat, linear-gradient(var(--acc-wayfold), var(--acc-wayfold)) 50% 78% / 64% 14% no-repeat, var(--wf-cell);box-shadow:inset 0 0 0 1px var(--wf-line)}.dialog__body .help-example{justify-self:center;width:min(250px,66vw)}.wf-figure{grid-template-columns:1fr 1fr;gap:12px;max-width:460px;margin:8px 0;display:grid}.wf-figure figcaption{color:var(--ink-soft);grid-column:1/-1;font-size:.875rem}
