.grid-puzzles .ng-practice{--ng-grid-line:#8fa394;min-width:0}.grid-puzzles .ng-progress{font-variant-numeric:tabular-nums;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:0 0 16px;font-size:.875rem;display:flex}.grid-puzzles .ng-scroll{overscroll-behavior-x:contain;width:100%;min-width:0;max-width:100%;margin-inline:auto;padding:3px;overflow:auto hidden}.grid-puzzles .ng-board{--ng-clue:62px;--ng-min-cell:44px;grid-template-columns:var(--ng-clue) repeat(var(--ng-size),minmax(0,1fr));width:100%;min-width:calc(var(--ng-clue) + var(--ng-size) * var(--ng-min-cell));align-items:stretch;max-width:560px;margin:0 auto 12px;display:grid}.grid-puzzles .ng-scroll.large .ng-board{--ng-min-cell:56px}.grid-puzzles .ng-corner{min-height:66px}.grid-puzzles .ng-practice .ng-clue{min-width:0;min-height:0;box-shadow:none;color:var(--ink);background:0 0;border:0;border-radius:0;gap:5px;padding:5px;font-size:.925rem;font-weight:700;line-height:1.2;display:flex}.grid-puzzles .ng-practice .ng-clue.active{background:var(--accent-soft);color:var(--accent)}.grid-puzzles .ng-practice .ng-clue.complete{color:var(--muted);font-weight:500}.grid-puzzles .ng-column-clue{flex-direction:column;justify-content:flex-end;align-items:center}.grid-puzzles .ng-row-clue{justify-content:flex-end;align-items:center}.grid-puzzles .ng-practice .ng-cell{aspect-ratio:1;border:0;border-right:1px solid var(--ng-grid-line);border-bottom:1px solid var(--ng-grid-line);background:var(--card);min-width:0;min-height:0;color:var(--muted);box-shadow:none;touch-action:manipulation;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.grid-puzzles .ng-practice .ng-cell.edge-top{border-top:1px solid var(--ng-grid-line)}.grid-puzzles .ng-practice .ng-cell.edge-left{border-left:1px solid var(--ng-grid-line)}.grid-puzzles .ng-practice .ng-cell.in-line{background:color-mix(in srgb,var(--accent-soft) 65%,var(--card))}.grid-puzzles .ng-practice .ng-cell.filled{background:var(--accent);color:var(--accent-ink)}.grid-puzzles .ng-practice .ng-cell.filled:hover{background:var(--accent-hover)}.grid-puzzles .ng-practice .ng-cell.selected{outline:3px solid var(--ink);outline-offset:-3px;z-index:1}.grid-puzzles .ng-practice .ng-cell.filled.selected{box-shadow:inset 0 0 0 1px var(--ink);outline-color:#eaca6c}.grid-puzzles .ng-practice .ng-cell:focus-visible{outline:3px solid var(--ink);outline-offset:-3px;z-index:2}.grid-puzzles .ng-practice .ng-cell.conflict{box-shadow:inset 0 -4px var(--bad);border:2px dashed var(--bad)}.grid-puzzles .ng-practice .ng-cell.group-right{border-right:2px solid var(--ink)}.grid-puzzles .ng-practice .ng-cell.group-bottom{border-bottom:2px solid var(--ink)}.grid-puzzles .ng-cell svg{width:62%;height:62%}.grid-puzzles .ng-selection{text-align:center;min-height:24px;color:var(--muted);margin:4px 0 16px;font-size:.875rem}.grid-puzzles .ng-palette{margin:0 auto 12px}.grid-puzzles .ng-palette button{min-width:96px}.grid-puzzles .ng-tools{margin-bottom:8px}.grid-puzzles .ng-feedback{min-height:24px;color:var(--ink);text-align:center;margin:16px 0}.grid-puzzles .ng-feedback:empty{min-height:0;margin:0}.grid-puzzles .ng-feedback.success{color:var(--good);font-weight:650}.grid-puzzles .ng-explanation{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.grid-puzzles .ng-explanation h3{margin-bottom:8px}.grid-puzzles .ng-explanation>.actions{justify-content:flex-start}.grid-puzzles .ng-inspector,.grid-puzzles .ng-help{margin-top:8px}.grid-puzzles .ng-patterns{gap:7px;width:100%;max-width:460px;margin:16px auto;display:grid}.grid-puzzles .ng-pattern{grid-template-columns:repeat(var(--ng-size),1fr);border-top:1px solid var(--ng-grid-line);border-left:1px solid var(--ng-grid-line);display:grid}.grid-puzzles .ng-pattern>span{background:var(--card);border-bottom:1px solid var(--ng-grid-line);border-right:1px solid var(--ng-grid-line);height:28px;color:var(--muted);place-items:center;display:grid}.grid-puzzles .ng-pattern>span.filled{background:var(--accent)}.grid-puzzles .ng-pattern>span.focus{outline:2px solid var(--ink);outline-offset:-2px}.grid-puzzles .ng-pattern svg{width:18px;height:18px}@media (width<=650px){.grid-puzzles .ng-board{--ng-clue:48px}.grid-puzzles .ng-practice .ng-clue{gap:3px;padding:3px;font-size:.8rem}.grid-puzzles .ng-progress{gap:4px 12px}.grid-puzzles .ng-tools button{flex:72px}.grid-puzzles .ng-scroll.large .ng-board{--ng-min-cell:56px}.grid-puzzles .ng-explanation>.actions>button{flex:140px}}@media (forced-colors:active){.grid-puzzles .ng-practice .ng-cell.filled,.grid-puzzles .ng-pattern>span.filled{forced-color-adjust:none;background:canvastext}.grid-puzzles .ng-practice .ng-cell.selected{outline-color:highlight}.grid-puzzles .ng-clue.active{outline-offset:-2px;outline:2px solid highlight}}.grid-puzzles .ng-mode-status{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 14px;margin:0 0 16px;font-size:.875rem;display:flex}.grid-puzzles .ng-mode-status strong{color:var(--ink);font-weight:650}.grid-puzzles .ng-practice .ng-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,400px);display:grid}.grid-puzzles .ng-practice .ng-palette button{white-space:nowrap;min-width:0;padding-inline:8px}.grid-puzzles .ng-tools button{white-space:nowrap;min-width:max-content}.grid-puzzles .ng-line-status{text-align:center;color:var(--muted);margin:12px 0;font-size:.875rem}.grid-puzzles .ng-board{-webkit-user-select:none;user-select:none;touch-action:auto}.grid-puzzles .ng-practice .ng-clue.complete>span{text-underline-offset:3px;text-decoration:line-through 1px}.grid-puzzles .ng-practice .ng-clue.clue-conflict{color:var(--bad);text-underline-offset:3px;text-decoration:underline}.grid-puzzles .ng-scroll.expert .ng-board{--ng-clue:88px;max-width:748px}.grid-puzzles .ng-scroll.expert.large .ng-board{--ng-min-cell:56px}.grid-puzzles .ng-scroll.expert .ng-row-clue{gap:5px;font-size:.875rem}@media (width<=650px){.grid-puzzles .ng-mode-status{gap:4px}.grid-puzzles .ng-mode-status>span{text-align:center;width:100%;display:block}.grid-puzzles .ng-practice .ng-palette button{font-size:.875rem}.grid-puzzles .ng-scroll.expert .ng-board{--ng-clue:80px}.grid-puzzles .ng-scroll.expert.large .ng-board{--ng-min-cell:56px}.grid-puzzles .ng-scroll.expert .ng-row-clue{gap:4px;font-size:.8rem}}.grid-puzzles .bin-practice{--bin-grid-line:#8fa394;min-width:0}.grid-puzzles .bin-progress{font-variant-numeric:tabular-nums;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:0 0 16px;font-size:.875rem;display:flex}.grid-puzzles .bin-board{grid-template-columns:repeat(var(--bin-size),minmax(0,1fr));border:2px solid var(--ink);background:var(--card);border-radius:8px;width:100%;max-width:456px;margin:0 auto 16px;display:grid;overflow:hidden}.grid-puzzles .bin-practice .bin-cell{aspect-ratio:1;border:0;border-right:1px solid var(--bin-grid-line);border-bottom:1px solid var(--bin-grid-line);background:var(--card);min-width:0;min-height:0;box-shadow:none;color:var(--accent);font-variant-numeric:tabular-nums;touch-action:manipulation;border-radius:0;place-items:center;padding:0;font-size:clamp(1.35rem,4vw,1.9rem);font-weight:650;display:grid;position:relative}.grid-puzzles .bin-practice .bin-cell.given{background:var(--accent-soft);color:var(--ink);font-weight:750}.grid-puzzles .bin-practice .bin-cell.evidence{background:var(--apricot)}.grid-puzzles .bin-practice .bin-cell.selected{background:var(--mint);box-shadow:inset 0 0 0 3px var(--accent)}.grid-puzzles .bin-practice .bin-cell.hint-target{box-shadow:inset 0 0 0 3px var(--accent)}.grid-puzzles .bin-practice .bin-cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:1}.grid-puzzles .bin-practice .bin-cell.conflict{box-shadow:inset 0 -5px var(--bad);border:2px dashed var(--bad)}.grid-puzzles .bin-practice .bin-cell.conflict.selected{box-shadow:inset 0 -5px var(--bad),inset 0 0 0 3px var(--accent)}.grid-puzzles .bin-notes{color:var(--muted);justify-content:center;gap:8px;font-size:.8rem;font-weight:500;display:flex}.grid-puzzles .bin-selection{text-align:center;min-height:24px;color:var(--muted);margin:4px 0 16px;font-size:.875rem}.grid-puzzles .bin-palette{margin:0 auto 12px}.grid-puzzles .bin-palette button{min-width:72px}.grid-puzzles .bin-palette [data-value="0"],.grid-puzzles .bin-palette [data-value="1"]{font-size:1.25rem}.grid-puzzles .bin-tools{margin-bottom:8px}.grid-puzzles .bin-tools button{white-space:nowrap;min-width:max-content}.grid-puzzles .bin-feedback{text-align:center;min-height:24px;color:var(--ink);margin:16px 0}.grid-puzzles .bin-feedback:empty{min-height:0;margin:0}.grid-puzzles .bin-feedback.success{color:var(--good);font-weight:650}.grid-puzzles .bin-explanation{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.grid-puzzles .bin-explanation h3{margin-bottom:8px}.grid-puzzles .bin-explanation>.actions{justify-content:flex-start}.grid-puzzles .bin-inspector,.grid-puzzles .bin-help{margin-top:8px}.grid-puzzles .bin-help ol{padding-left:24px}.grid-puzzles .bin-help li+li{margin-top:8px}.grid-puzzles .bin-patterns{gap:7px;width:100%;max-width:420px;margin:16px auto;display:grid}.grid-puzzles .bin-pattern{grid-template-columns:repeat(var(--bin-size),1fr);border-top:1px solid var(--bin-grid-line);border-left:1px solid var(--bin-grid-line);display:grid}.grid-puzzles .bin-pattern>span{background:var(--card);border-bottom:1px solid var(--bin-grid-line);border-right:1px solid var(--bin-grid-line);font-variant-numeric:tabular-nums;place-items:center;height:32px;font-weight:650;display:grid}@media (width<=650px){.grid-puzzles .bin-progress{gap:4px 12px}.grid-puzzles .bin-tools button{flex:84px}.grid-puzzles .bin-explanation>.actions>button{flex:140px}}@media (forced-colors:active){.grid-puzzles .bin-practice .bin-cell.given{box-shadow:inset 0 0 0 1px canvastext}.grid-puzzles .bin-practice .bin-cell.selected{outline-offset:-3px;outline:3px solid highlight}.grid-puzzles .bin-practice .bin-cell.evidence{outline-offset:-2px;outline:2px dotted canvastext}}.grid-puzzles .bin-board-scroll{overscroll-behavior-inline:contain;scrollbar-color:var(--control-border) var(--accent-soft);width:100%;max-width:480px;margin:0 auto 16px;overflow-x:auto}.grid-puzzles .bin-board-scroll .bin-board{min-width:calc(var(--bin-size) * 44px + 4px);max-width:480px;margin:0 auto}.grid-puzzles .bin-board.is-large{width:100%;min-width:calc(var(--bin-size) * 56px + 4px);max-width:none}.grid-puzzles .bin-board-options{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:0 0 16px;display:flex}.grid-puzzles .bin-board-options button{min-height:44px;font-size:.875rem}.grid-puzzles .bin-board-options span{color:var(--muted);font-size:.875rem}.grid-puzzles .bin-practice .bin-cell.in-line{background:color-mix(in srgb,var(--accent-soft) 75%,var(--card))}.grid-puzzles .bin-practice .bin-cell.in-line.given{background:color-mix(in srgb,var(--mint) 70%,var(--accent-soft))}.grid-puzzles .bin-practice .bin-cell.in-line.evidence{background:var(--apricot)}.grid-puzzles .bin-practice .bin-cell.selected{background:var(--mint)}.grid-puzzles .bin-selection>strong{color:var(--ink);font-weight:650;display:block}.grid-puzzles .bin-selection>span{margin-top:4px;display:block}.grid-puzzles .bin-inspect-tabs{justify-content:flex-start;margin:8px 0 16px}.grid-puzzles .bin-line-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.grid-puzzles .bin-line-counts p{margin:0;font-size:.9375rem}.grid-puzzles .bin-line-counts strong,.grid-puzzles .bin-line-counts span{display:block}.grid-puzzles .bin-line-counts strong{font-weight:650}.grid-puzzles .bin-line-counts span{color:var(--muted);margin-top:4px;font-size:.875rem}.grid-puzzles .bin-pattern>span.is-position{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.grid-puzzles .bin-pattern-pages{justify-content:center;gap:10px 16px;margin:12px 0 20px}.grid-puzzles .bin-pattern-pages button{min-height:44px;padding:8px 12px;font-size:.875rem}.grid-puzzles .bin-pattern-pages>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.grid-puzzles .bin-distinct-note{font-size:.9375rem}.grid-puzzles .bin-excluded{margin:20px 0}.grid-puzzles .bin-excluded>p{margin:0 0 8px;font-size:.9375rem}.grid-puzzles .bin-excluded .bin-patterns{margin-top:8px}.grid-puzzles .bin-excluded .bin-pattern{border:1px dashed var(--bad)}.grid-puzzles .bin-excluded .bin-pattern>span{color:var(--bad);border-bottom:0}@media (width<=650px){.grid-puzzles .bin-line-counts{gap:8px}.grid-puzzles .bin-line-counts p{font-size:.875rem}.grid-puzzles .bin-line-counts span{font-size:.8125rem}.grid-puzzles .bin-board-options{gap:8px}.grid-puzzles .bin-board-options>span{text-align:center;width:100%}.grid-puzzles .bin-pattern-pages{justify-content:space-between;gap:8px}.grid-puzzles .bin-pattern-pages>button{flex:110px}.grid-puzzles .bin-pattern-pages>span{text-align:center;order:1;width:100%}}.grid-puzzles .futo-stage .futo-rule{text-align:center;color:var(--muted);margin:0 0 20px}.grid-puzzles .futo-progress,.grid-puzzles .kakuro-progress{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin:0 0 20px;font-size:.9rem;display:flex}.grid-puzzles .futo-board{width:min(100%,440px);min-width:calc(var(--futo-size) * 44px + (var(--futo-size) - 1) * var(--futo-gap,16px));place-items:center stretch;margin:0 auto;display:grid}.grid-puzzles .futo-cell{aspect-ratio:1;border:1px solid var(--control-border);font-variant-numeric:tabular-nums;min-height:0;color:var(--accent);border-radius:8px;padding:0;font-size:clamp(1.3rem,4.5vw,1.9rem);font-weight:550;position:relative}.grid-puzzles .futo-cell.given{background:var(--accent-soft);color:var(--ink);font-weight:750}.grid-puzzles .futo-cell.peer{background:color-mix(in srgb,var(--accent-soft) 60%,var(--card))}.grid-puzzles .futo-cell.selected{background:var(--mint);border:2px solid var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.grid-puzzles .futo-cell.conflict{color:var(--bad);border:2px dashed var(--bad)}.grid-puzzles .futo-cell.hint-cell{background:var(--apricot)}.grid-puzzles .futo-sign{color:var(--ink);justify-content:center;align-items:center;display:flex}.grid-puzzles .futo-sign svg{width:16px;height:16px;display:block;overflow:visible}.grid-puzzles .futo-selection,.grid-puzzles .kakuro-selection{text-align:center;min-height:24px;color:var(--muted);margin:16px 0;font-size:.9rem}.grid-puzzles .futo-keypad,.grid-puzzles .kakuro-keypad{flex-wrap:wrap;justify-content:center;gap:8px;width:min(100%,520px);margin:16px auto;display:flex}.grid-puzzles .futo-keypad button,.grid-puzzles .kakuro-keypad button{font-variant-numeric:tabular-nums;min-width:52px;padding:10px 12px;font-size:1.15rem}.grid-puzzles .futo-tools,.grid-puzzles .kakuro-tools{flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0;display:flex}.grid-puzzles .futo-feedback,.grid-puzzles .kakuro-feedback{color:var(--ink);text-align:center;min-height:24px;margin:12px 0 0}.grid-puzzles .futo-feedback:empty,.grid-puzzles .kakuro-feedback:empty{display:none}.grid-puzzles .futo-feedback.success,.grid-puzzles .kakuro-feedback.success{color:var(--good);font-weight:650}.grid-puzzles .futo-hint,.grid-puzzles .kakuro-hint{border-top:1px solid var(--line);margin-top:24px;padding:20px 0}.grid-puzzles .futo-hint h3,.grid-puzzles .kakuro-hint h3{margin-bottom:10px}.grid-puzzles .futo-hint .actions,.grid-puzzles .kakuro-hint .actions{justify-content:flex-start}.grid-puzzles .futo-inspector,.grid-puzzles .kakuro-inspector{border-top:1px solid var(--line);margin-top:28px;padding-top:8px}.grid-puzzles .futo-inspector p,.grid-puzzles .kakuro-inspector p{margin-bottom:12px}.grid-puzzles .number-notes{grid-template-columns:repeat(var(--notes-cols,3),1fr);color:var(--muted);grid-auto-rows:1fr;place-items:center;gap:0;font-size:clamp(.75rem,2.5vw,.85rem);font-weight:600;line-height:1;display:grid;position:absolute;inset:3px}.grid-puzzles .futo-help,.grid-puzzles .kakuro-help{margin-top:16px}@media (width<=650px){.grid-puzzles .futo-cell{border-radius:6px}.grid-puzzles .futo-keypad,.grid-puzzles .kakuro-keypad{gap:7px}.grid-puzzles .futo-tools,.grid-puzzles .kakuro-tools{gap:8px}.grid-puzzles .futo-tools button,.grid-puzzles .kakuro-tools button{padding-inline:12px}.grid-puzzles .futo-progress,.grid-puzzles .kakuro-progress{margin-bottom:16px}.grid-puzzles .futo-hint,.grid-puzzles .kakuro-hint{padding-top:16px}}.grid-puzzles .futo-board[data-size="6"]{width:min(100%,480px)}.grid-puzzles .futo-keypad[data-size="6"]{grid-template-columns:repeat(6,minmax(0,1fr));width:min(100%,360px);display:grid}.grid-puzzles .futo-keypad[data-size="6"] button{min-width:0;padding-inline:4px}.grid-puzzles .futo-chain{margin-top:24px}.grid-puzzles .futo-chain h3{margin-bottom:10px}.grid-puzzles .futo-chain-cells{flex-wrap:wrap;align-items:center;gap:10px 0;margin:16px 0;padding:0;list-style:none;display:flex}.grid-puzzles .futo-chain-cells li{align-items:center;gap:8px;margin-right:8px;display:flex}.grid-puzzles .futo-chain-cells button{font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;min-width:72px;min-height:68px;padding:8px 10px;display:flex}.grid-puzzles .futo-chain-cells button span{color:var(--muted);font-size:.75rem;font-weight:500}.grid-puzzles .futo-chain-cells button strong{font-size:1rem}.grid-puzzles .futo-chain-sign{color:var(--muted);font-size:1.2rem}@media (width<=650px){.grid-puzzles .futo-board[data-size="6"]{--futo-gap:12px}.grid-puzzles .futo-chain-cells button{min-width:68px}.grid-puzzles .futo-chain-cells li{gap:6px;margin-right:6px}}.grid-puzzles .kakuro-rule{text-align:center;color:var(--muted);margin:0 0 20px}.grid-puzzles .kakuro-board{grid-template-columns:repeat(var(--cols),minmax(0,1fr));width:min(100%,480px);min-width:calc(var(--cols) * 45px + 3px);border:2px solid var(--ink);background:var(--control-border);gap:1px;margin:0 auto;display:grid}.grid-puzzles .kakuro-cell{aspect-ratio:1;font-variant-numeric:tabular-nums;min-height:0;color:var(--accent);background:var(--card);border:0;border-radius:0;padding:0;font-size:clamp(1.25rem,4.5vw,1.8rem);font-weight:550;position:relative}.grid-puzzles .kakuro-cell.given{background:var(--accent-soft);color:var(--ink);font-weight:750}.grid-puzzles .kakuro-cell.peer{background:color-mix(in srgb,var(--accent-soft) 65%,var(--card))}.grid-puzzles .kakuro-cell.selected{background:var(--mint);outline:3px solid var(--accent);outline-offset:-3px;box-shadow:none}.grid-puzzles .kakuro-cell.hint-cell{background:var(--apricot)}.grid-puzzles .kakuro-cell.conflict{color:var(--bad);outline:2px dashed var(--bad);outline-offset:-3px}.grid-puzzles .kakuro-block{aspect-ratio:1;background:#263b32;justify-content:stretch;align-items:stretch;display:flex;position:relative}.grid-puzzles .kakuro-block svg{width:100%;height:100%;display:block;position:absolute;inset:0}.grid-puzzles .kakuro-block text{fill:#fff;font-variant-numeric:tabular-nums;font-family:inherit;font-size:27px;font-weight:650}.grid-puzzles .kakuro-keypad{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,240px);max-width:240px;display:grid}.grid-puzzles .kakuro-legend{text-align:center;color:var(--muted);margin:16px 0;font-size:.9rem}.grid-puzzles .kakuro-run-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.grid-puzzles .kakuro-run-list h3{margin-bottom:8px}.grid-puzzles .kakuro-combos{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 18px;margin:8px 0 12px;padding:0;list-style:none;display:flex}.grid-puzzles .kakuro-combos li{white-space:nowrap}.grid-puzzles .kakuro-run-stats{color:var(--muted);font-size:.9rem}@media (width<=650px){.grid-puzzles .kakuro-run-list{grid-template-columns:1fr;gap:16px}.grid-puzzles .kakuro-keypad{max-width:240px}.grid-puzzles .kakuro-board{max-width:420px}.grid-puzzles .kakuro-legend{font-size:.85rem}.grid-puzzles .kakuro-block text{font-size:27px}.grid-puzzles .kakuro-cell .number-notes{font-size:clamp(.75rem,2.4vw,.85rem);inset:3px}}.grid-puzzles .kakuro-block svg{pointer-events:none}.grid-puzzles .kakuro-clue{z-index:1;background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0;box-shadow:none!important}.grid-puzzles .kakuro-clue.across{clip-path:polygon(0 0,100% 0,100% 100%)}.grid-puzzles .kakuro-clue.down{clip-path:polygon(0 0,0 100%,100% 100%)}.grid-puzzles .kakuro-clue:hover:not(:disabled),.grid-puzzles .kakuro-clue[aria-pressed=true]{background:#ffffff29}.grid-puzzles .kakuro-clue:focus-visible{outline-offset:-4px;background:#ffffff1f;outline:3px solid #fff}.grid-puzzles .kakuro-run-focus{color:var(--ink);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:12px 0;font-size:.95rem;display:flex}.grid-puzzles .kakuro-run-focus span{color:var(--muted)}.grid-puzzles .kakuro-run-list.one-run{grid-template-columns:1fr}.grid-puzzles{min-width:0}.grid-puzzles button{border:1px solid var(--control-border);background:var(--card);min-height:52px;color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:12px;padding:12px 16px;font-weight:650;line-height:1.4}.grid-puzzles button:hover:not(:disabled){background:var(--accent-soft)}.grid-puzzles button.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.grid-puzzles button.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.grid-puzzles button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.grid-puzzles button:disabled{cursor:default;opacity:.45}.grid-puzzles summary{cursor:pointer;min-height:48px;padding-block:14px;font-weight:600}.grid-puzzles details p:last-child{margin-bottom:0}.grid-puzzles :is(button,input,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.grid-puzzles [hidden]{display:none!important}.grid-puzzles .actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.grid-puzzles .hint{color:var(--muted);font-size:.875rem}.grid-puzzles .feedback{min-height:56px;padding:16px 0}.grid-puzzles .feedback:empty{min-height:0;padding:0}.grid-puzzles .muted{color:var(--muted)}.grid-puzzles .grid-round-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.grid-puzzles .grid-round-top p{color:var(--muted);margin:0;font-size:.875rem}.grid-puzzles .practice-end{min-height:48px;color:var(--muted);text-underline-offset:4px;background:0 0;border-color:#0000;padding:10px 12px;font-size:.875rem;font-weight:500;text-decoration:underline}.grid-puzzles .grid-play-stage,.grid-puzzles .grid-result-stage{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:16px;padding:24px}.grid-puzzles .grid-play-stage h2{font-weight:600}.grid-puzzles .grid-confirm{border:1px solid var(--line);background:var(--card);border-radius:16px;margin-block:16px;padding:20px}.grid-puzzles .grid-result-metrics{gap:32px;margin:24px 0;display:flex}.grid-puzzles .grid-result-metrics dt{color:var(--muted);font-size:.875rem}.grid-puzzles .grid-result-metrics dd{margin:4px 0;font-size:1.5rem;font-weight:650}.grid-puzzles .grid-review{margin-top:24px}.grid-puzzles .grid-review .grid-play-stage{border:0;padding:16px 0}.grid-puzzles .grid-review button:disabled{opacity:1}.grid-puzzles .grid-review :is(.actions,.magic-main-actions,.magic-edit-tools,.magic-type,.sdk-edit-tools,.sdk-hint-area,.sdk-check-action,.sky-edit,.sky-keypad),.grid-puzzles .grid-review .sky-feedback,.grid-puzzles .grid-review .magic-feedback{display:none}.grid-puzzles .grid-example .example-instruction{margin:0 0 16px;font-size:1rem;line-height:1.5}.grid-puzzles .example-scene{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:160px;margin:12px 0 16px;display:flex}.grid-puzzles .example-grid{grid-template-columns:repeat(var(--example-size),1fr);font-variant-numeric:tabular-nums;gap:3px;width:min(100%,220px);display:grid}.grid-puzzles .example-grid>span,.grid-puzzles .example-chain>span,.grid-puzzles .example-kakuro>span{background:var(--card);aspect-ratio:1;border:1px solid #a9b6a8;border-radius:5px;justify-content:center;align-items:center;min-width:0;font-size:1.4rem;font-weight:650;display:flex}.grid-puzzles .example-target{outline:2px solid var(--accent);outline-offset:-2px;color:var(--accent);background:var(--accent-soft)!important}.grid-puzzles .example-equation{text-align:center;margin:0;font-size:1rem;font-weight:600}.grid-puzzles .example-sudoku{border:2px solid var(--ink);border-radius:4px;gap:0}.grid-puzzles .example-sudoku>span{border-radius:0;font-size:1.125rem}.grid-puzzles .example-sudoku>span:nth-child(4n+2){border-right:2px solid var(--ink)}.grid-puzzles .example-sudoku>span:nth-child(n+5):nth-child(-n+8){border-bottom:2px solid var(--ink)}.grid-puzzles .example-chain{text-align:center;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:center;gap:6px;width:min(100%,360px);display:grid}.grid-puzzles .example-chain>b{font-size:1.5rem;font-weight:500}.grid-puzzles .example-binary{gap:5px;width:100%;max-width:360px}.grid-puzzles .example-binary>span{font-size:1.2rem}.grid-puzzles .example-kakuro{grid-template-columns:repeat(3,60px);gap:2px;display:grid}.grid-puzzles .example-kakuro>.example-block{background:#344b40;border-color:#344b40}.grid-puzzles .example-kakuro>.example-clue{background:var(--accent-soft);color:var(--ink);flex-direction:column;font-size:1.25rem;display:flex}.grid-puzzles .example-clue>small{font-size:.65rem;font-weight:500}.grid-puzzles .example-actions{margin:12px 0}.grid-puzzles .example-actions button{min-width:52px;min-height:44px;padding:10px 16px;font-size:.875rem}.grid-puzzles .example-actions .example-reset{text-underline-offset:4px;background:0 0;border-color:#0000;font-weight:500;text-decoration:underline}.grid-puzzles .example-feedback{color:var(--subject-ink);min-height:44px;margin:12px 0 0;font-size:.875rem;line-height:1.6}.grid-puzzles .example-skyline{width:100%;max-width:365px;height:210px}.grid-puzzles .example-nonogram{align-items:center;gap:14px;width:min(100%,350px);display:flex}.grid-puzzles .example-run-clue{font-size:1.5rem;font-weight:650}.grid-puzzles .example-run{grid-template-columns:repeat(5,1fr);gap:3px;width:100%;display:grid}.grid-puzzles .example-run>span{aspect-ratio:1;background:var(--card);border:1px solid var(--control-border);color:#fff;border-radius:4px;place-items:center;font-weight:700;display:grid}.grid-puzzles .example-run>.is-filled{background:var(--accent)}.grid-puzzles .example-run>.is-overlap{outline-offset:2px;outline:3px solid #9b5b2c}.grid-puzzles .example-range{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:100%;font-size:.875rem;display:flex}.grid-puzzles .example-range input{accent-color:var(--accent);max-width:160px;min-height:44px}.grid-puzzles .example-range span{font-variant-numeric:tabular-nums;min-width:50px}@media (width<=650px){.grid-puzzles .grid-play-stage,.grid-puzzles .grid-result-stage{padding:16px}.grid-puzzles .actions{gap:8px}.grid-puzzles .grid-round-top{margin-top:0}.grid-puzzles .example-scene{min-height:150px}.grid-puzzles .example-actions{gap:8px}.grid-puzzles .example-feedback{min-height:0}.grid-puzzles .example-kakuro{grid-template-columns:repeat(3,52px)}.grid-puzzles .example-chain{grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr;gap:3px}.grid-puzzles .example-chain>span{font-size:1.125rem}.grid-puzzles .example-grid{max-width:200px}.grid-puzzles .example-binary{max-width:100%}.grid-puzzles .grid-result-stage .practice-result-actions{gap:12px}.grid-puzzles .grid-review .grid-play-stage{padding-inline:0}}.grid-puzzles .grid-assistance{color:var(--muted);margin-block:8px 20px;font-size:.875rem}.grid-puzzles .grid-next-note{color:var(--muted);margin-bottom:24px}.grid-puzzles .grid-review :is(.bin-tools,.bin-palette,.ng-tools,.ng-palette,.futo-tools,.futo-keypad,.kakuro-tools,.kakuro-keypad,.sdk-keypad,.magic-numberbank){display:none}.grid-puzzles .example-clue>small{overflow-wrap:anywhere;text-align:center;max-width:100%;padding-inline:2px;line-height:1.2}.grid-puzzles .example-kakuro{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,270px)}.grid-puzzles .example-clue>small{overflow-wrap:normal;white-space:nowrap;font-size:.875rem}.grid-puzzles .ng-explanation .actions,.grid-puzzles .bin-explanation .actions,.grid-puzzles .futo-hint .actions,.grid-puzzles .kakuro-hint .actions{align-items:stretch}.grid-puzzles .puzzle-method-link{justify-items:start;gap:0;margin:16px 0 0;display:grid}.grid-puzzles .puzzle-method-link span{color:var(--muted);font-size:.8125rem}.grid-puzzles .puzzle-method-link a{min-height:44px;color:var(--accent);text-underline-offset:var(--underline-offset,4px);align-items:center;font-weight:600;display:inline-flex}.grid-puzzles .puzzle-method-link a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.grid-puzzles .grid-hint-proof{margin:12px 0 16px}.grid-puzzles .grid-hint-proof ol{margin:8px 0 16px;padding-left:24px}.grid-puzzles .grid-hint-proof li+li{margin-top:20px}.grid-puzzles .grid-hint-proof li p{margin:6px 0 0}.grid-puzzles [data-grid-hint-heading]:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}.grid-puzzles .grid-board-scroll{overscroll-behavior-x:contain;scrollbar-color:var(--control-border) var(--accent-soft);width:100%;min-width:0;max-width:100%;overflow-x:auto}.grid-puzzles .grid-scroll-hint{text-align:center;color:var(--muted);margin:12px 0;font-size:.875rem}
