:root{--cf-cell:#f8f5ed;--cf-line:var(--ink);--cf-frame:var(--ink);--cf-pen:var(--ink);--cf-tent:color-mix(in oklab, var(--acc-campfire) 72%, #f8f5ed);--cf-dot:color-mix(in oklab, var(--ink) 62%, transparent);--cf-hover:#efe9dc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--cf-cell:#201e1a;--cf-line:color-mix(in oklab, var(--ink) 42%, #201e1a);--cf-frame:color-mix(in oklab, var(--ink) 78%, #201e1a);--cf-pen:#ece6d9;--cf-tent:color-mix(in oklab, var(--acc-campfire) 78%, #201e1a);--cf-dot:color-mix(in oklab, var(--ink) 62%, transparent);--cf-hover:#2a2722}}:root[data-theme=dark]{--cf-cell:#201e1a;--cf-line:color-mix(in oklab, var(--ink) 42%, #201e1a);--cf-frame:color-mix(in oklab, var(--ink) 78%, #201e1a);--cf-pen:#ece6d9;--cf-tent:color-mix(in oklab, var(--acc-campfire) 78%, #201e1a);--cf-dot:color-mix(in oklab, var(--ink) 62%, transparent);--cf-hover:#2a2722}.page-game .game{--board-gutter:clamp(6px, 1.6vw, 24px)}@media (max-width:380px){.game .cf-board{--lane:.5fr}}.cf-board{--frame:2px;--line:1px;--lane:.62fr;aspect-ratio:1;grid-template-columns:var(--lane) var(--mid);grid-template-rows:var(--lane) var(--mid);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;gap:2px;width:100%;display:grid;position:relative}.cf-panel{grid-area:2/2;grid-template-rows:repeat(var(--n), 1fr);gap:var(--line);padding:var(--frame);background:linear-gradient(var(--cf-line), var(--cf-line)) content-box, var(--cf-frame);min-width:0;min-height:0;display:grid}.cf-row{grid-template-columns:repeat(var(--n), 1fr);gap:var(--line);min-height:0;display:grid}.cf-clues{gap:var(--line);min-width:0;min-height:0;display:grid}.cf-clues[data-side=top]{grid-area:1/2;grid-template-columns:repeat(var(--n), 1fr);padding-inline:var(--frame)}.cf-clues[data-side=left]{grid-area:2/1;grid-template-rows:repeat(var(--n), 1fr);padding-block:var(--frame)}.cf-clue{color:var(--ink);cursor:pointer;place-items:center;display:grid;position:relative;container-type:size}.cf-clue b{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;transition:opacity .2s var(--ease-out);font-size:max(.75rem,62cqmin);font-weight:420;line-height:1}.cf-clue[data-state=done] b{opacity:.45}.cf-board[data-solved] .cf-clue[data-state=done] b{opacity:1}.cf-clue[data-state=over]{box-shadow:inset 0 0 0 3px var(--alarm);color:var(--alarm)}.cf-clue[data-state=over] b{-webkit-text-decoration:underline wavy var(--alarm) max(1px, 3cqmin);text-decoration:underline wavy var(--alarm) max(1px, 3cqmin);text-underline-offset:8cqmin}.cf-cell{cursor:pointer;background:var(--cf-cell);transition:background-color .2s var(--ease-out);place-items:center;display:grid;position:relative;overflow:hidden;container-type:size}.cf-cell[data-kind=tree]{cursor:default}.cf-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-4px;z-index:2}@media (hover:hover){.cf-board:not(:-webkit-any([data-solved],[data-static])) .cf-cell:not([data-kind=tree]):hover{background-color:var(--cf-hover)}.cf-board:not(:is([data-solved],[data-static])) .cf-cell:not([data-kind=tree]):hover{background-color:var(--cf-hover)}}.cf-cell[data-press]{animation:cf-press .24s var(--ease-out)}@keyframes cf-press{40%{scale:.94}}.cf-tree,.cf-tent{width:78%;height:78%;overflow:visible}.cf-tree__leaf{fill:var(--cf-cell);stroke:var(--cf-pen);stroke-width:1.35px;stroke-linejoin:round}.cf-tree__trunk{fill:none;stroke:var(--cf-pen);stroke-width:1.6px;stroke-linecap:square}.cf-tent{transform-origin:50% 82%}.cf-tent__canvas{fill:var(--cf-tent);stroke:var(--cf-pen);stroke-width:1.35px;stroke-linejoin:round}.cf-tent__door{fill:var(--cf-cell);stroke:var(--cf-pen);stroke-width:1.1px;stroke-linejoin:round}.cf-tent__seam{fill:none;stroke:var(--cf-pen);stroke-width:1.35px;stroke-linecap:round}.cf-cell[data-press] .cf-tent{animation:cf-pitch .32s var(--ease-out)}@keyframes cf-pitch{0%{opacity:.2;scale:.6}}.cf-grass{aspect-ratio:1;background:var(--cf-dot);width:16%;animation:cf-dot-in .16s var(--ease-out);border-radius:50%}.cf-cell[data-kind=auto] .cf-grass{opacity:.6;width:10%}@keyframes cf-dot-in{0%{scale:.3}}.cf-cell[data-clash]{box-shadow:inset 0 0 0 3px var(--alarm);background-image:repeating-linear-gradient(-45deg, color-mix(in oklab, var(--alarm) 40%, transparent) 0 1.5px, transparent 1.5px 6px)}.cf-cell[data-clash] .cf-tent__canvas,.cf-cell[data-clash] .cf-tent__door,.cf-cell[data-clash] .cf-tent__seam{stroke:var(--alarm)}.cf-cell[data-clash] .cf-tent__canvas{fill:color-mix(in oklab, var(--alarm) 16%, var(--cf-cell))}.cf-cell[data-clash] .cf-tent{animation:cf-clash .36s var(--ease-out)}@keyframes cf-clash{25%{translate:-8%}50%{translate:7%}75%{translate:-4%}}.cf-board[data-hinting] .cf-cell:not([data-hint]):before{content:"";background:color-mix(in oklab, var(--paper) 62%, transparent);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.cf-board .cf-cell[data-hint=target]{box-shadow:inset 0 0 0 3px var(--ink);z-index:1;animation:1.3s ease-in-out infinite cf-hint}.cf-cell[data-hint=because],.cf-clue[data-hint=because]{outline:1.5px dashed var(--ink);outline-offset:-5px}.cf-clue[data-hint=because]{outline-offset:-2px}.cf-cell[data-hint=area]{background-image:linear-gradient(color-mix(in oklab, var(--ink) 9%, transparent), color-mix(in oklab, var(--ink) 9%, transparent))}@keyframes cf-hint{50%{box-shadow:inset 0 0 0 5px var(--ink)}}.cf-board[data-celebrate] .cf-cell:after{content:"";background:var(--acc-campfire);opacity:0;animation:cf-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}.cf-board[data-celebrate] .cf-tent{animation:cf-bow .6s var(--ease-out) both;animation-delay:calc(var(--d) * 55ms + 80ms)}@keyframes cf-swell{35%{opacity:.3}}@keyframes cf-bow{50%{scale:1.16}}.cf-board[data-solved] .cf-cell,.cf-board[data-solved] .cf-clue{cursor:default}.cf-board[data-static]{touch-action:auto;pointer-events:none}.plate .cf-board,.thumb .cf-board{--frame:1.5px}.thumb__print>.cf-board.cf-board,.hero__sheet>.cf-board.cf-board,.plate__board>.cf-board.cf-board{filter:none}.dialog__body .help-example{justify-self:center;width:min(240px,64vw)}.cf-figure{grid-template-columns:1fr 1fr;gap:16px;max-width:460px;margin:8px 0;display:grid}.cf-figure figcaption{color:var(--ink-soft);font-family:var(--sans);letter-spacing:.02em;grid-column:1/-1;font-size:.875rem}
