.difficulty-tabs{min-inline-size:0;border:0;border-block-end:var(--rule-hair) solid var(--color-rule);width:100%;color:var(--color-ink);background-color:#0000;border-radius:0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;margin:0;padding:0;display:grid}.game-toolbar{gap:var(--space-sm);min-width:0;margin-block-end:var(--space-sm);display:grid}.difficulty-tabs button{padding-inline:var(--space-2xs);border:0;border-block-end:var(--rule-medium) solid transparent;color:var(--color-neutral);font-size:var(--text-xs);background-color:#0000;border-radius:0;font-weight:620}.difficulty-tabs button[data-active=true]{border-block-end-color:var(--color-accent);color:var(--color-accent);background-color:#0000}.legendary-puzzle{gap:var(--space-xs);min-width:0;display:grid}.legendary-puzzle select{min-width:0;max-width:100%;min-height:var(--control-height);padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background-color:var(--color-surface-raised);color:var(--color-ink);font:inherit}.legendary-puzzle__sources{align-items:baseline;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-neutral);flex-wrap:wrap;display:flex}@media (min-width:62rem){.game-toolbar{grid-template-columns:var(--game-columns);column-gap:var(--space-lg);align-items:start}.game-workbench:not(:has(.play-sidebar)){grid-template-columns:minmax(0, var(--board-size));justify-content:center}}.board-column,.coach-column,.play-sidebar{min-width:0}.board-column{gap:var(--space-sm);align-content:start;display:grid}@media (min-width:62rem),(min-height:50rem){.game-workbench:has(.sudoku-board[data-replay=true]):not(:has(.proof-derivation[open]))>.board-column{z-index:var(--z-raised);background-color:var(--color-paper);align-self:start;position:sticky;top:0}}.board-meta{min-height:1.5lh;margin-block-end:calc(-1 * var(--space-2xs))}.board-meta[hidden]{display:none}.sudoku-board{width:100%;aspect-ratio:1;border:var(--rule-strong) solid var(--color-rule-strong);border-radius:var(--radius-xs);background-color:var(--color-surface-raised);color:var(--color-ink);box-shadow:none;grid-template-rows:repeat(9,minmax(0,1fr));margin-block-end:var(--reference-label-overflow,0px);display:grid;position:relative;container-type:inline-size}.sudoku-board-frame{width:min(100%, var(--board-size,var(--board-max)));min-width:0;display:grid}.sudoku-row{grid-template-columns:repeat(9,minmax(0,1fr));min-height:0;display:grid}.sudoku-cell{aspect-ratio:1;border:0;border-inline-end:var(--rule-hair) solid var(--color-rule);border-block-end:var(--rule-hair) solid var(--color-rule);background-color:var(--color-surface-raised);min-width:0;min-height:0;color:var(--color-accent);font-variant-numeric:tabular-nums;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.sudoku-cell[data-column="2"],.sudoku-cell[data-column="5"]{border-inline-end:var(--rule-strong) solid var(--color-rule-strong)}.sudoku-cell[data-column="8"]{border-inline-end:0}.sudoku-cell[data-row="2"],.sudoku-cell[data-row="5"]{border-block-end:var(--rule-strong) solid var(--color-rule-strong)}.sudoku-cell[data-row="8"]{border-block-end:0}.sudoku-cell[data-peer=true]{background-color:var(--color-peer);color:var(--color-accent)}.sudoku-cell[data-same-digit=true]{background-color:var(--color-same-digit);color:var(--color-ink)}.sudoku-cell[data-focus=true]{background-color:var(--color-accent-soft);color:var(--color-ink);box-shadow:inset 0 0 0 var(--rule-medium) var(--color-accent)}.sudoku-cell[data-conclusion=true]:before{inset:var(--space-2xs);border:var(--rule-medium) dashed var(--color-accent);border-radius:var(--radius-xs);content:"";pointer-events:none;position:absolute}.sudoku-cell[data-placed=true]{background-color:var(--color-same-digit)}.sudoku-cell[data-selected=true]{z-index:var(--z-raised);background-color:var(--color-selection);color:var(--color-ink);box-shadow:inset 0 0 0 var(--rule-strong) var(--color-focus)}.sudoku-cell[data-given=true]{color:var(--color-ink)}.sudoku-cell[data-error=true]{background-color:var(--color-danger-surface);color:var(--color-danger)}.sudoku-cell:focus-visible{z-index:var(--z-raised);outline-offset:calc(-1 * var(--rule-focus));box-shadow:inset 0 0 0 var(--rule-medium) var(--color-paper)}.sudoku-cell__value{z-index:3;font-family:var(--font-board);font-size:clamp(var(--text-md), 5.7vw, var(--text-xl));font-weight:var(--cell-weight);line-height:1;position:relative}.sudoku-cell[data-given=true] .sudoku-cell__value{font-weight:var(--given-weight)}.sudoku-cell__error-mark{font-family:var(--font-body);font-size:var(--text-sm);font-weight:800;line-height:1;position:absolute;inset-block-start:var(--space-3xs);inset-inline-end:var(--space-2xs)}.candidate-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:100%;display:grid}.candidate-grid__digit{z-index:3;color:#0000;font-family:var(--font-mono);font-size:clamp(.625rem, 2.2vw, var(--text-sm));place-items:center;font-weight:600;line-height:1;display:grid;position:relative}.candidate-grid__digit[data-visible=true]{color:var(--color-ink-soft)}.candidate-grid__digit[data-focus=true]{font-weight:780}.board-status{min-width:0;color:var(--color-muted);font-size:var(--text-sm)}.number-deck{gap:var(--space-sm);display:grid}.number-deck__utilities,.number-deck__digits{gap:var(--space-2xs);display:grid}.number-deck__utilities{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.number-deck__utilities[data-assistance=true]{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row}@media (min-width:22rem){.number-deck__utilities[data-assistance=true]{grid-template-columns:repeat(6,minmax(0,1fr))}}.number-deck__digits{grid-template-columns:repeat(var(--keypad-columns,9), minmax(0, 1fr))}.number-deck[data-digits="5"]{--keypad-columns:5}.tool-button{place-items:center;gap:var(--space-2xs);min-width:0;padding:var(--space-xs) var(--space-2xs);color:var(--color-ink-soft);font-size:var(--text-xs);background-color:#0000;border-color:#0000;grid-template-rows:auto auto;font-weight:650;line-height:1;display:grid}.tool-button[data-active=true]{border-color:var(--color-accent);background-color:var(--color-accent-soft);color:var(--color-ink)}.digit-button{min-width:0;min-height:clamp(var(--control-height), 11vw, 4rem);padding:var(--space-2xs);border-color:var(--color-control-rule);background-color:var(--color-paper-2);color:var(--color-accent);font-family:var(--font-board);font-size:clamp(var(--text-md), 5vw, var(--text-xl));place-items:center;font-weight:700;line-height:1;display:grid}.digit-button small{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500}.play-sidebar,.coach-column{align-content:start;gap:var(--space-md);display:grid}.play-stats{width:100%;min-height:calc(var(--control-height) + var(--rule-hair));border-block-end:var(--rule-hair) solid var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;display:grid}.play-stats>div{justify-content:center;align-items:center;gap:var(--space-xs);text-align:center;min-width:0;display:flex}.play-stats dt{color:var(--color-muted);font-size:var(--text-xs)}.play-stats dd{min-width:0;color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin:0;font-weight:650;line-height:1.2}@media (min-width:62rem){.play-sidebar{gap:var(--space-lg)}.number-deck__digits{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr))}.digit-button{min-height:4.25rem;font-size:var(--text-xl)}}.coach-panel{min-width:0}.solution-player{gap:var(--space-sm);min-width:0;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);background-color:var(--color-paper-2);color:var(--color-ink);border-radius:0;grid-template-columns:minmax(0,1fr);display:grid}.hint-note{gap:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);grid-template-columns:auto minmax(0,1fr);padding-block-end:var(--space-md);display:grid}.hint-note>svg{color:var(--color-accent)}.hint-note p{color:var(--color-ink-soft);margin:0}.hint-note [data-kind=result]{color:var(--color-ink);font-weight:650}.hint-note a,.technique-link{overflow-wrap:anywhere;align-items:center;gap:var(--space-2xs);min-width:0;font-weight:650;display:inline-flex}.primary-button,.quiet-button{justify-content:center;align-items:center;gap:var(--space-xs);padding-inline:var(--space-md);font-weight:650;display:inline-flex}.primary-button{border-color:var(--color-accent-fill);background-color:var(--color-accent-fill);color:var(--color-accent-ink)}.quiet-button{color:var(--color-ink-soft);background-color:#0000;border-color:#0000}.solution-player__explanation{gap:var(--space-sm);min-width:0;color:var(--color-ink);font-size:var(--text-sm);background-color:#0000;border-radius:0;grid-template-columns:minmax(0,1fr);padding-block-end:var(--space-sm);display:grid}.solution-player__reason{display:block}.solution-player__reason>p{color:var(--color-ink-soft);margin:0}.explanation-paragraph{text-wrap:pretty;white-space:pre-line;margin:0;line-height:1.6}.explanation-paragraph+:is(.explanation-paragraph,.explanation-counts){margin-block-start:var(--space-sm)}:lang(ja) .explanation-paragraph{word-break:auto-phrase}input[type=range]{width:100%;height:var(--control-height);accent-color:var(--color-accent);cursor:pointer}.playback-timeline{--playback-endpoint-inset:calc(1.45rem / 2);gap:var(--space-sm);padding-block:0 var(--space-md);border:0;border-block-end:var(--rule-hair) solid var(--color-rule);background:0 0;border-radius:0;padding-inline:0;display:grid}.playback-timeline__readout{align-items:baseline;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.playback-timeline__current{color:var(--color-ink);font-size:var(--text-sm);line-height:1.4}.playback-timeline__counter{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;grid-column:2;justify-self:end}.playback-timeline__counter strong{color:var(--color-ink)}.playback-timeline__viewport{overscroll-behavior-inline:contain;scrollbar-color:var(--color-rule-strong) transparent;scrollbar-width:thin;max-width:100%;overflow:auto hidden}.playback-timeline__scrubber{height:var(--control-height);border-radius:var(--radius-sm);position:relative}.playback-timeline[data-density=dense] .playback-timeline__scrubber{width:max(100%, calc(var(--playback-point-count) * 1.5rem))}.playback-timeline__track,.playback-timeline__points{inset-inline:var(--playback-endpoint-inset);margin:0;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.playback-timeline__track{height:var(--rule-medium);border-radius:var(--radius-pill);background:var(--color-rule);overflow:hidden}.playback-timeline__progress{border-radius:inherit;background:var(--color-accent);transform-origin:0;height:100%;transition:transform var(--dur-short) var(--ease-out);display:block}.playback-timeline__points{height:1.5rem;list-style:none}.playback-timeline__points li{place-items:center;height:1.5rem;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.playback-timeline__marker{border-radius:var(--radius-pill);background:var(--color-rule-strong);transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);display:block}.playback-timeline__marker[data-icon]{border:var(--rule-hair) solid currentcolor;background:var(--color-surface-raised);width:1.15rem;height:1.15rem;color:var(--color-rule-strong);place-items:center;display:grid}.playback-timeline__marker[data-icon] svg{stroke-width:2.4px;width:.7rem;height:.7rem}.playback-timeline__marker[data-glyph]{color:var(--color-rule-strong);font-family:var(--font-board);font-size:var(--text-xs);background:0 0;justify-content:center;align-items:center;font-weight:760;line-height:1;display:inline-flex;position:relative}.playback-timeline__glyphs{align-items:center;gap:var(--space-3xs);display:inline-flex}.playback-timeline__glyph-token{justify-content:center;align-items:center;gap:var(--space-3xs);background:var(--color-surface-raised);min-width:1.45rem;height:1.45rem;display:inline-flex}[data-glyph=mark] .playback-timeline__glyph-token{border:var(--rule-medium) solid currentcolor;border-radius:var(--radius-pill)}[data-glyph=elimination] .playback-timeline__glyph-token{font-family:var(--font-mono);font-size:var(--text-sm);background:0 0;font-weight:800}[data-glyph=placement] .playback-timeline__glyph-token{border:var(--rule-medium) solid currentcolor;border-radius:var(--radius-xs)}.playback-timeline__glyph-digit{font-variant-numeric:tabular-nums}.playback-timeline__points li[data-reached=false]>.playback-timeline__marker{border-color:var(--color-rule);background:var(--color-rule)}.playback-timeline__points li[data-reached=false]>.playback-timeline__marker[data-icon],.playback-timeline__points li[data-reached=false]>.playback-timeline__marker[data-glyph]{color:var(--color-muted)}.playback-timeline__points li[data-reached=false] .playback-timeline__glyph-token{background:var(--color-surface-raised)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=candidates],.playback-timeline__points li[data-reached=true]>.playback-timeline__marker:is([data-icon=single],[data-icon=wing]){border-color:var(--color-accent);background:var(--color-surface-raised);color:var(--color-accent)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker:is([data-icon=intersection],[data-icon=chain],[data-icon=forcing]){border-color:var(--color-proof-chain);background:var(--color-surface-raised);color:var(--color-proof-chain)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker:is([data-icon=subset],[data-icon=als]){border-color:var(--color-success);background:var(--color-surface-raised);color:var(--color-success)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker:is([data-icon=fish],[data-icon=uniqueness],[data-icon=loop]){border-color:var(--color-ink-soft);background:var(--color-surface-raised);color:var(--color-ink-soft)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=pattern]{border-color:var(--color-proof-pattern);background:var(--color-surface-raised);color:var(--color-proof-pattern)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=contradiction]{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=placement]{border-color:var(--color-accent-2);background:var(--color-accent-2);color:var(--color-surface-raised)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=elimination]{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-outcome=placement]{border-color:var(--color-accent-2);background:var(--color-accent-2);color:var(--color-surface-raised)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-outcome=elimination]{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-glyph=mark]{color:var(--color-accent)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-glyph=elimination]{color:var(--color-danger)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-glyph=placement]{color:var(--color-surface-raised)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-glyph=placement] .playback-timeline__glyph-token{border-color:var(--color-accent-2);background:var(--color-accent-2)}.playback-timeline__points li[data-current=true]>.playback-timeline__marker:not([data-glyph]){box-shadow:0 0 0 .3rem var(--color-selection)}.playback-timeline__points li[data-current=true]>.playback-timeline__marker[data-glyph]:after{bottom:calc(-1 * var(--space-xs));width:var(--space-md);height:var(--rule-medium);border-radius:var(--radius-pill);background:var(--color-accent);content:"";position:absolute;left:50%;transform:translate(-50%)}.playback-timeline[data-density=dense] .playback-timeline__marker[data-icon]{width:1rem;height:1rem}.playback-timeline[data-density=dense] .playback-timeline__marker[data-icon] svg{width:.66rem;height:.66rem}.playback-timeline__scrubber input[type=range]{z-index:1;inset-block:0;inset-inline:var(--playback-endpoint-inset);opacity:0;width:auto;height:100%;margin:0;position:absolute}.playback-timeline__scrubber:has(input:focus-visible){outline:var(--rule-medium) solid var(--color-accent);outline-offset:var(--space-3xs)}.playback-timeline__controls{justify-content:center;align-items:center;gap:var(--space-xs);display:flex}.play-button{border-color:var(--color-accent-fill);border-radius:var(--radius-pill);background-color:var(--color-accent-fill);width:3.5rem;min-width:3.5rem;min-height:3.5rem;color:var(--color-accent-ink);place-items:center;padding:0;display:grid}.solution-player>.playback-timeline{background:0 0;border:0;border-radius:0;padding:0}.completion-sheet{background-color:var(--color-paper-2);color:var(--color-ink);justify-items:start;position:relative}.completion-sheet__close{position:absolute;inset-block-start:var(--space-md);inset-inline-end:var(--space-md)}.completion-sheet__mark{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700}.completion-sheet h2{max-width:16ch;font-size:var(--text-2xl)}.completion-stats{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;display:grid}.completion-stats>div{gap:var(--space-xs);padding-block:var(--space-md);border-block:var(--rule-hair) solid var(--color-rule);display:grid}.completion-stats dt{color:var(--color-muted);font-size:var(--text-sm)}.completion-stats dd{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-md);font-variant-numeric:tabular-nums;margin:0;font-weight:650}.completion-sheet .primary-button,.completion-sheet .quiet-button{width:100%}.form-error{min-height:1lh;color:var(--color-danger);font-size:var(--text-sm)}:root[data-mode=dark][data-style=quiet] .sudoku-board,:root[data-mode=dark][data-style=quiet] .digit-button,:root[data-mode=dark][data-style=quiet] .tool-button,:root[data-mode=dark][data-style=quiet] .primary-button,:root[data-mode=dark][data-style=quiet] .quiet-button{border-radius:0}:root[data-mode=dark][data-style=quiet] .number-deck__digits{border-block-start:var(--rule-hair) solid var(--color-control-rule);border-inline-start:var(--rule-hair) solid var(--color-control-rule);gap:0}:root[data-mode=dark][data-style=quiet] .digit-button{border-width:0 var(--rule-hair) var(--rule-hair) 0;border-color:var(--color-control-rule);background-color:#0000}:root[data-mode=dark][data-style=quiet] .difficulty-tabs button,:root[data-mode=dark][data-style=quiet] .play-stats,:root[data-mode=dark][data-style=quiet] .tool-button{font-family:var(--font-mono)}:root[data-mode=dark][data-style=quiet] .tool-button[data-active=true]{border-color:var(--color-rule);background-color:var(--color-paper-2)}.fatal-error{gap:var(--space-lg);width:min(100%,42rem);padding:var(--space-4xl) var(--page-gutter);margin-inline:auto;display:grid}.fatal-error p{color:var(--color-danger)}:root[data-style] .sudoku-cell[data-error=true]{background-color:var(--color-danger-surface);color:var(--color-danger)}@media (hover:hover) and (pointer:fine){.quiet-button:hover{background-color:var(--color-paper-3);color:var(--color-ink)}.sudoku-cell[role=gridcell]:hover{background-color:var(--color-selection);color:var(--color-ink)}}@media (min-width:40rem){.difficulty-tabs button,.play-stats dt,.play-stats dd{font-size:var(--text-sm)}.number-deck__utilities,.number-deck__digits{gap:var(--space-xs)}}@media (pointer:coarse){.tool-button,.digit-button,.difficulty-tabs button{min-height:var(--control-height)}}.board-import{gap:var(--space-lg);grid-column:1/-1;width:100%;min-width:0;display:grid}.board-import__board-column,.board-import__sidebar{min-width:0}.board-import__board-column{gap:var(--space-sm);align-content:start;display:grid}@media (min-width:62rem){.board-import{grid-template-columns:var(--game-columns);align-items:start}}.board-import__actions{gap:var(--space-xs);display:grid}.board-import__actions .primary-button{width:100%;min-height:var(--control-height)}.imported-banner{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background-color:var(--color-paper-2);margin:0;font-weight:620;display:flex}.board-import__file-tool{cursor:pointer;position:relative}.board-import__file-tool[data-disabled=true]{cursor:not-allowed;opacity:.44}.board-import__file-tool:focus-within{outline:var(--rule-focus) solid var(--color-focus);outline-offset:var(--space-2xs)}.ad-slot{min-height:6rem;margin-block-start:var(--space-lg);display:block}.home-intro h1{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:1.2}.home-intro p{max-width:34em;margin:0 0 var(--space-sm)}.technique-index__count,.technique-category__count{font-size:var(--text-sm);color:var(--color-neutral)}.technique-index .technique-category{margin-block-start:var(--space-xl)}.technique-category-icon{width:var(--control-height);aspect-ratio:1;border:var(--rule-hair) solid color-mix(in oklch, var(--color-accent) 28%, var(--color-rule));border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent);flex:none;place-items:center;display:grid}.technique-category-icon svg{width:var(--text-md);height:var(--text-md);stroke-width:1.75px}.technique-category-icon--hero{border-radius:var(--radius-lg);width:clamp(4rem,16vw,6.5rem)}.technique-category-icon--hero svg{width:48%;height:48%}.technique-category__header{align-items:center;gap:var(--space-lg);min-width:0;padding:clamp(var(--space-md), 5vw, var(--space-xl));border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);grid-template-columns:auto minmax(0,1fr);display:grid}.technique-category__summary{min-width:0}.technique-category__header h2{min-width:0;font-size:clamp(var(--text-lg), 7vw, var(--text-2xl));font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);text-wrap:balance;overflow-wrap:anywhere;margin:0}.technique-category__lead{max-width:var(--prose-max);font-size:var(--text-base);text-wrap:pretty;white-space:pre-line;margin-block-start:var(--space-xs);line-height:1.5}.technique-category__header .technique-category__count{margin-block-start:var(--space-sm)}.technique-page__header{gap:var(--space-xs);min-width:0;border-block-end:var(--rule-hair) solid var(--color-rule);padding-block-end:var(--space-lg);display:grid}.technique-page__header h1{min-width:0;font-size:clamp(var(--text-lg), 7vw, var(--text-xl));text-wrap:balance;overflow-wrap:anywhere}.technique-page__lead{max-width:var(--prose-max);font-size:var(--text-base);text-wrap:pretty;white-space:pre-line;line-height:1.5}.technique-static-explanation{margin-block-start:var(--space-lg)}.technique-static-explanation__figure,.proof-derivation__figure{gap:var(--space-md);min-width:0;display:grid}.technique-static-explanation__board,.technique-static-explanation__reasons{min-width:0}.technique-static-explanation__reasons [data-kind=result]{color:var(--color-danger);font-weight:var(--heading-weight)}@media (min-width:62rem){.technique-static-explanation__figure{grid-template-columns:var(--game-columns);align-items:start;column-gap:var(--space-lg)}}.technique-list{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-surface-raised);grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:clip}.technique-category>.technique-list{margin-block-start:var(--space-lg)}.technique-list li{background:var(--color-surface-raised);min-width:0}.technique-list a{min-height:var(--control-height);align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:0;border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-surface-raised);color:var(--color-ink);font-weight:var(--heading-weight);overflow-wrap:anywhere;white-space:normal;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;line-height:1.3;text-decoration:none;display:grid}.technique-list a:hover{background:color-mix(in oklch, var(--color-accent-soft) 58%, var(--color-surface-raised));color:var(--color-accent)}.technique-list a:focus-visible{outline:var(--rule-medium) solid var(--color-focus);outline-offset:calc(-1 * var(--rule-focus))}.technique-list__name{min-width:0}.technique-list__difficulty{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap;font-weight:400}.technique-list__icon{border-radius:var(--radius-sm);background:var(--color-accent-soft);width:2rem;height:2rem;color:var(--color-accent);place-items:center;display:grid}.technique-list__icon svg{width:var(--text-base);height:var(--text-base);stroke-width:1.75px}:is(.technique-category-icon,.technique-list__icon)[data-kind=intersection],:is(.technique-category-icon,.technique-list__icon)[data-kind=chain]{background:color-mix(in oklch, var(--color-accent-2) 16%, var(--color-paper));color:var(--color-accent-2)}:is(.technique-category-icon,.technique-list__icon)[data-kind=subset],:is(.technique-category-icon,.technique-list__icon)[data-kind=als]{background:var(--color-success-surface);color:var(--color-success)}:is(.technique-category-icon,.technique-list__icon)[data-kind=fish],:is(.technique-category-icon,.technique-list__icon)[data-kind=uniqueness],:is(.technique-category-icon,.technique-list__icon)[data-kind=loop]{background:var(--color-paper-3);color:var(--color-ink-soft)}:is(.technique-category-icon,.technique-list__icon)[data-kind=contradiction]{background:var(--color-danger-surface);color:var(--color-danger)}:is(.technique-category-icon,.technique-list__icon)[data-kind=pattern]{background:var(--color-paper-3);color:var(--color-neutral)}@media (min-width:40rem){.technique-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0}.technique-list li:nth-child(2n){border-inline-start:var(--rule-hair) solid var(--color-rule)}}.solver-page{min-width:0}.example-evidence-overlay{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.example-evidence,.evidence-cell[data-roles],.evidence-candidate[data-roles]{--example-evidence-color:var(--color-accent)}.example-evidence[data-role=link],.example-evidence[data-role=overlapped-assignment],.evidence-cell:is([data-roles~=link],[data-roles~=overlapped-assignment]),.evidence-candidate:is([data-roles~=link],[data-roles~=overlapped-assignment]){--example-evidence-color:var(--color-proof-chain)}.example-evidence[data-role=auxiliary-1],.example-evidence[data-role=exofin],.example-evidence[data-role=almost-locked-set-3],.example-evidence[data-role=palette-2],.evidence-cell:is([data-roles~=auxiliary-1],[data-roles~=exofin],[data-roles~=almost-locked-set-3],[data-roles~=palette-2]),.evidence-candidate:is([data-roles~=auxiliary-1],[data-roles~=exofin],[data-roles~=almost-locked-set-3],[data-roles~=palette-2]){--example-evidence-color:var(--color-proof-pattern)}.example-evidence[data-role=auxiliary-2],.example-evidence[data-role=almost-locked-set-4],.example-evidence[data-role=rectangle-2],.example-evidence[data-role=palette-3],.example-evidence[data-role^=argb-],.evidence-cell:is([data-roles~=auxiliary-2],[data-roles~=almost-locked-set-4],[data-roles~=rectangle-2],[data-roles~=palette-3]),.evidence-cell[data-roles*=argb-],.evidence-candidate:is([data-roles~=auxiliary-2],[data-roles~=almost-locked-set-4],[data-roles~=rectangle-2],[data-roles~=palette-3]),.evidence-candidate[data-roles*=argb-]{--example-evidence-color:var(--color-proof-chain)}.example-evidence[data-role=auxiliary-3],.example-evidence[data-role=almost-locked-set-2],.example-evidence[data-role=endofin],.example-evidence[data-role=rectangle-3],.example-evidence[data-role=palette-1],.evidence-cell:is([data-roles~=auxiliary-3],[data-roles~=almost-locked-set-2],[data-roles~=endofin],[data-roles~=rectangle-3],[data-roles~=palette-1]),.evidence-candidate:is([data-roles~=auxiliary-3],[data-roles~=almost-locked-set-2],[data-roles~=endofin],[data-roles~=rectangle-3],[data-roles~=palette-1]){--example-evidence-color:var(--color-success)}.example-evidence[data-role=elimination],.example-evidence[data-role=cannibalism],.evidence-cell:is([data-roles~=elimination],[data-roles~=cannibalism]),.evidence-candidate:is([data-roles~=elimination],[data-roles~=cannibalism]){--example-evidence-color:var(--color-danger)}.example-evidence{color:var(--example-evidence-color)}.evidence-cell[data-evidence-kinds]:before{z-index:1;border:var(--rule-hair) solid var(--example-evidence-color);border-radius:var(--radius-xs);background:color-mix(in oklch, var(--example-evidence-color) 8%, transparent);content:"";pointer-events:none;position:absolute;inset:5%}.evidence-cell[data-evidence-kinds~=cell]:is([data-evidence-kinds~=house],[data-evidence-kinds~=chute-row],[data-evidence-kinds~=chute-column],[data-evidence-kinds~=rank-truth],[data-evidence-kinds~=rank-link]){box-shadow:inset 0 0 0 var(--rule-medium) var(--example-evidence-color)}.evidence-cell[data-evidence-kinds~=house]:before{background:repeating-linear-gradient(135deg, color-mix(in oklch, var(--example-evidence-color) 22%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-sm));border:0;border-radius:0;inset:0}.evidence-cell[data-evidence-kinds~=chute-row]:before{background:repeating-linear-gradient(0deg, color-mix(in oklch, var(--example-evidence-color) 25%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-xs));border:0;border-radius:0;inset:0}.evidence-cell[data-evidence-kinds~=chute-column]:before{background:repeating-linear-gradient(90deg, color-mix(in oklch, var(--example-evidence-color) 25%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-xs));border:0;border-radius:0;inset:0}.evidence-cell[data-evidence-kinds~=rank-truth]:before{border:var(--rule-medium) double var(--example-evidence-color);background:radial-gradient(circle at center, var(--example-evidence-color) 0 var(--rule-hair), transparent calc(var(--rule-hair) + var(--space-3xs)));inset:7%}.evidence-cell[data-evidence-kinds~=rank-link]:before{border:var(--rule-hair) dashed var(--example-evidence-color);background:0 0;inset:7%}.evidence-cell[data-evidence-kinds~=cell]:is([data-roles~=almost-locked-set-1],[data-roles~=almost-locked-set-2],[data-roles~=almost-locked-set-3],[data-roles~=almost-locked-set-4],[data-roles~=almost-locked-set-5]):before{border-radius:var(--radius-pill)}.evidence-cell[data-evidence-kinds~=cell]:is([data-roles~=auxiliary-1],[data-roles~=almost-locked-set-2],[data-roles~=rectangle-2],[data-roles~=palette-1]):before{border-style:dashed}.evidence-cell[data-evidence-kinds~=cell]:is([data-roles~=auxiliary-2],[data-roles~=almost-locked-set-3],[data-roles~=palette-2]):before{border-width:var(--rule-medium);border-style:double}.evidence-cell[data-evidence-kinds~=cell]:is([data-roles~=auxiliary-3],[data-roles~=almost-locked-set-4],[data-roles~=palette-3]):before,.evidence-cell[data-evidence-kinds~=cell][data-roles*=argb-]:before{background:repeating-linear-gradient(45deg, color-mix(in oklch, var(--example-evidence-color) 24%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-2xs))}.evidence-cell[data-evidence-kinds~=cell][data-roles~=palette-0]:before{background:radial-gradient(circle, color-mix(in oklch, var(--example-evidence-color) 42%, transparent) 0 var(--rule-hair), transparent calc(var(--rule-hair) + var(--space-3xs)));background-size:var(--space-xs) var(--space-xs)}.evidence-cell[data-evidence-kinds~=house][data-roles~=auxiliary-1]:before{background-image:repeating-linear-gradient(45deg, color-mix(in oklch, var(--example-evidence-color) 24%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-xs))}.evidence-cell[data-evidence-kinds~=house][data-roles~=auxiliary-2]:before{background-image:repeating-linear-gradient(90deg, color-mix(in oklch, var(--example-evidence-color) 25%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-sm))}.evidence-cell[data-evidence-kinds~=house][data-roles~=auxiliary-3]:before{background-image:radial-gradient(circle, color-mix(in oklch, var(--example-evidence-color) 35%, transparent) 0 var(--rule-hair), transparent calc(var(--rule-hair) + var(--space-3xs)));background-size:var(--space-xs) var(--space-xs)}.evidence-candidate[data-roles]{color:var(--example-evidence-color)}.evidence-candidate[data-roles]:before{width:var(--candidate-outline-size);height:var(--candidate-outline-size);box-sizing:border-box;border:var(--rule-hair) solid currentcolor;border-radius:var(--radius-pill);content:"";pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.evidence-candidate:is([data-roles~=auxiliary-1],[data-roles~=exofin],[data-roles~=almost-locked-set-2],[data-roles~=rectangle-2],[data-roles~=palette-1]):before{border-style:dashed}.evidence-candidate:is([data-roles~=auxiliary-2],[data-roles~=endofin],[data-roles~=almost-locked-set-3],[data-roles~=rectangle-3],[data-roles~=palette-2]):before{border-width:var(--rule-medium);outline:var(--rule-hair) solid currentcolor;outline-offset:var(--space-3xs)}.evidence-candidate:is([data-roles~=auxiliary-3],[data-roles~=almost-locked-set-4]):before,.evidence-candidate[data-roles*=argb-]:before{border-radius:var(--radius-xs)}.evidence-candidate[data-roles~=assignment]:before,.evidence-candidate[data-roles~=overlapped-assignment]:before,.evidence-candidate:is([data-roles~=rectangle-1],[data-roles~=rectangle-2],[data-roles~=rectangle-3]):before{border-radius:0}.evidence-candidate:is([data-roles~=almost-locked-set-1],[data-roles~=almost-locked-set-2],[data-roles~=almost-locked-set-3]):before{border-radius:var(--radius-xs)}.evidence-candidate:is([data-roles~=almost-locked-set-4],[data-roles~=almost-locked-set-5],[data-roles~=palette-0],[data-roles~=palette-1],[data-roles~=palette-2],[data-roles~=palette-3],[data-roles~=palette-4]):before{border-radius:var(--radius-xs);transform:translate(-50%,-50%)rotate(45deg)}.evidence-candidate[data-evidence-kinds~=rank-truth]:before{border-width:var(--rule-medium);border-radius:var(--radius-xs);border-style:double;outline:none}.evidence-candidate[data-evidence-kinds~=rank-link]:before{border-radius:var(--radius-pill);border-style:dashed;outline:none}.evidence-candidate[data-eliminated=true]:before,.evidence-candidate[data-location-target=true]:before,.evidence-candidate[data-location-groups]:before,.evidence-candidate[data-eliminated=true]:after,.evidence-candidate[data-location-groups]:after{content:none}.example-evidence-link__halo,.example-evidence-link__line{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.example-evidence-link__halo{stroke:var(--color-surface-raised);stroke-width:calc(var(--rule-strong) + var(--rule-medium))}.example-evidence-link__line{stroke:currentColor}.example-evidence-link[data-strength=strong] .example-evidence-link__line{stroke-width:calc(var(--rule-strong) + var(--rule-hair))}.example-evidence-link[data-strength=weak] .example-evidence-link__halo,.example-evidence-link[data-strength=weak] .example-evidence-link__line{stroke-dasharray:var(--space-2xs) var(--space-2xs)}.example-evidence-link[data-strength=weak] .example-evidence-link__line{stroke-width:var(--rule-hair)}.example-evidence-link[data-strength=cell] .example-evidence-link__line{stroke-width:var(--rule-medium)}.example-evidence-link[data-grouped=true] :is(.example-evidence-link__halo,.example-evidence-link__line)[data-segment]:not([data-segment="0"]){stroke-dasharray:none}.example-evidence-link[data-grouped=true] .example-evidence-link__line[data-segment]:not([data-segment="0"]){stroke-width:var(--rule-hair);opacity:.48}.example-evidence-link__hub{fill:var(--color-surface-raised);stroke:currentColor;stroke-width:calc(var(--rule-medium) + var(--rule-hair));vector-effect:non-scaling-stroke}.example-evidence-link__endpoint{fill:var(--color-surface-raised);stroke:currentColor;stroke-width:var(--rule-medium);vector-effect:non-scaling-stroke}.example-evidence-icon{fill:color-mix(in oklch, var(--color-surface-raised) 82%, transparent);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--rule-medium)}.example-evidence-icon>*{vector-effect:non-scaling-stroke}.example-evidence-icon[data-icon=circle] circle{r:var(--value-outline-radius);stroke-width:var(--rule-hair)}.example-evidence-icon[data-icon=cross]{fill:none;stroke-width:calc(var(--rule-strong) + var(--rule-hair))}.example-evidence-baba__badge{fill:var(--color-surface-raised);stroke:currentColor;stroke-width:var(--rule-medium);vector-effect:non-scaling-stroke}.example-evidence-baba__label{fill:currentColor;font-family:var(--font-mono);font-size:2.2px;font-weight:800}.playback-timeline__marker[data-glyph=elimination] .playback-timeline__glyph-digit,.candidate-grid__digit[data-eliminated=true]{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-line:line-through;text-decoration-color:currentColor;text-decoration-thickness:var(--rule-medium)}.candidate-grid__digit[data-eliminated=true]{color:var(--color-danger);animation:example-mark-reveal var(--dur-long) var(--ease-out) both;font-weight:700}.board-reference-labels{z-index:var(--z-raised);pointer-events:none;visibility:hidden;position:absolute;inset:0}.board-reference-labels[data-layout=ready]{visibility:visible}.board-reference-label{--reference-color:var(--color-neutral);color:var(--reference-color);font-family:var(--font-mono);font-size:var(--text-reference-label);font-weight:800;line-height:1;position:absolute;top:0;left:0}.board-reference-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.board-reference-mark-overlay{z-index:var(--z-base);overflow:visible}.board-reference-fill,.board-reference-block-line{--reference-color:var(--color-neutral);--reference-fill-color:var(--color-paper-2)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="0"]{--reference-color:var(--color-reference-a);--reference-fill-color:var(--color-reference-a-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="1"]{--reference-color:var(--color-reference-b);--reference-fill-color:var(--color-reference-b-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="2"]{--reference-color:var(--color-reference-c);--reference-fill-color:var(--color-reference-c-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="3"]{--reference-color:var(--color-reference-d);--reference-fill-color:var(--color-reference-d-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="4"]{--reference-color:var(--color-reference-e);--reference-fill-color:var(--color-reference-e-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="5"]{--reference-color:var(--color-reference-f);--reference-fill-color:var(--color-reference-f-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="6"]{--reference-color:var(--color-reference-g);--reference-fill-color:var(--color-reference-g-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="7"]{--reference-color:var(--color-reference-h);--reference-fill-color:var(--color-reference-h-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="8"]{--reference-color:var(--color-reference-i);--reference-fill-color:var(--color-reference-i-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="9"]{--reference-color:var(--color-reference-j);--reference-fill-color:var(--color-reference-j-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="10"]{--reference-color:var(--color-reference-k);--reference-fill-color:var(--color-reference-k-fill)}:is(.board-reference-fill,.board-reference-block-line,.board-reference-label)[data-tone="11"]{--reference-color:var(--color-reference-l);--reference-fill-color:var(--color-reference-l-fill)}.board-reference-fill{fill:var(--reference-fill-color)}.board-reference-block-line{stroke:var(--reference-color);stroke-linecap:butt;stroke-width:var(--rule-strong)}.board-reference-block-line[data-outer=true]{stroke-width:calc(var(--rule-strong) + var(--rule-medium))}.candidate-grid__digit[data-location-groups]{color:var(--color-neutral);font-weight:800}.candidate-grid__digit[data-location-groups~=A]{color:var(--color-reference-a)}.candidate-grid__digit[data-location-groups~=B]{color:var(--color-reference-b)}.candidate-grid__digit[data-location-groups~=C]{color:var(--color-reference-c)}.candidate-grid__digit[data-location-groups~=D]{color:var(--color-reference-d)}.candidate-grid__digit[data-location-groups~=E]{color:var(--color-reference-e)}.candidate-grid__digit[data-location-groups~=F]{color:var(--color-reference-f)}.candidate-grid__digit[data-location-groups~=G]{color:var(--color-reference-g)}.candidate-grid__digit[data-location-groups~=H]{color:var(--color-reference-h)}.candidate-grid__digit[data-location-groups~=I]{color:var(--color-reference-i)}.candidate-grid__digit[data-location-groups~=J]{color:var(--color-reference-j)}.candidate-grid__digit[data-location-groups~=K]{color:var(--color-reference-k)}.candidate-grid__digit[data-location-groups~=L]{color:var(--color-reference-l)}.candidate-grid__digit[data-location-groups~=A][data-location-groups~=B],.candidate-grid__digit[data-location-groups~=A][data-location-groups~=C],.candidate-grid__digit[data-location-groups~=B][data-location-groups~=C],.candidate-grid__digit[data-location-groups~=A][data-location-groups~=B][data-location-groups~=C]{color:var(--color-ink)}.hint-note p{text-wrap:pretty;white-space:pre-line}:lang(ja) .hint-note p{word-break:auto-phrase}@keyframes example-mark-reveal{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.technique-static-explanation .sudoku-cell__value,.technique-static-explanation .candidate-grid__digit,.technique-static-explanation .candidate-grid__digit:after{animation:none}.home-intro{max-width:var(--prose-max)}.proof-derivation{margin-block-start:var(--space-sm)}.proof-derivation__steps{gap:var(--space-sm);min-width:0;grid-template-columns:minmax(0,1fr);margin-block-start:var(--space-sm);display:grid}.explanation-counts{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;margin-block-end:var(--space-md)}.explanation-counts :is(th,td){padding-block:var(--space-xs);text-align:start;vertical-align:top;padding-inline-end:var(--space-sm)}.explanation-counts thead{font-size:var(--text-sm);color:var(--color-muted)}.explanation-counts :is(th,td):last-child{text-align:end;white-space:nowrap;padding-inline-end:0}.explanation-eliminations :is(th,td):last-child,.proof-cases__table :is(th,td):last-child{text-align:start;white-space:normal;overflow-wrap:anywhere}.proof-cases__table{font-size:var(--text-sm);margin-block-start:var(--space-sm)}.game-workbench:has(.sudoku-board[data-replay=true]) .number-deck__digits{display:none}.game-workbench:has(.sudoku-board[data-replay=true]) .number-deck__utilities button:disabled{display:none}.game-workbench:has(.sudoku-board[data-replay=true]) .number-deck__utilities{justify-content:end;display:flex}.candidate-grid__digit[data-assigned=true]{border-radius:var(--radius-pill);background-color:var(--color-accent);color:var(--color-paper);font-weight:700}.candidate-grid__digit[data-eliminated=true][data-location-groups]{color:var(--color-danger)}
