/* Sudoku-only geometry and states; common panels, typography and buttons are inherited. */
.pz-sudoku-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.43fr);gap:18px;align-items:start}
.pz-sudoku-board-panel{min-width:0}.pz-sudoku-controls{display:grid;gap:14px}.pz-sudoku-controls .btn{width:100%}.pz-sudoku-controls details .btn{margin-top:12px}
.pz-sudoku-v2 [data-v2-grid]{max-width:630px;margin:auto;border:2px solid var(--text);user-select:none;background:#fff;color:var(--text)}
.pz-sudoku-v2 [role=row]{display:grid;grid-template-columns:repeat(9,minmax(0,1fr))}
.pz-sudoku-v2 [role=gridcell]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);font-size:clamp(1.1rem,3vw,2rem);position:relative;cursor:pointer;min-width:0;color:var(--primary);background:#fff}
.pz-sudoku-v2 [role=gridcell].is-given{font-weight:800;color:var(--text)}
.pz-sudoku-v2 [role=row]:nth-child(3n):not(:last-child){border-bottom:2px solid var(--text)}
.pz-sudoku-v2 [role=gridcell]:nth-child(3n):not(:last-child){border-right:2px solid var(--text)}
.pz-sudoku-v2 [role=gridcell].is-related{background:var(--surface-2)}.pz-sudoku-v2 [role=gridcell].is-match{background:var(--accent-soft)}
.pz-sudoku-v2 [role=gridcell].is-active{outline:3px solid var(--primary);outline-offset:-3px;z-index:1;background:#dceaff}
.pz-sudoku-v2 [role=gridcell].is-hint{box-shadow:inset 0 0 0 3px var(--accent-2)}
.pz-sudoku-v2 [role=gridcell].is-error::after{content:'!';position:absolute;right:2px;top:0;color:var(--warn);font-size:1rem;font-weight:900}
.pz-sudoku-notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;font-size:clamp(.65rem,1.2vw,.9rem);line-height:1;text-align:center;color:var(--muted)}
.pz-sudoku-notes>span{display:flex;align-items:center;justify-content:center}.pz-sudoku-notes .pz-note-match{background:var(--accent-soft);color:var(--text);font-weight:800;border-radius:3px}
.pz-sudoku-keypad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;max-width:630px;margin:14px auto}.pz-sudoku-keypad .btn{padding:6px 2px;min-height:60px;min-width:0;font-size:1.3rem}.pz-sudoku-keypad small{display:block;font-size:.6rem;white-space:nowrap}
.pz-sudoku-main-actions{display:flex;flex-wrap:wrap;gap:8px}.pz-sudoku-v2 button,.pz-sudoku-v2 select{min-height:48px}.pz-sudoku-settings{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:18px}.pz-sudoku-settings label{display:flex;gap:8px;align-items:center;max-width:100%}.pz-sudoku-settings select{max-width:100%}.pz-sudoku-settings[hidden]{display:none}
.pz-sudoku-resume{display:flex;gap:10px;flex-wrap:wrap}.pz-sudoku-expanded .pz-sudoku-layout{grid-template-columns:1fr}.pz-sudoku-expanded .pz-sudoku-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.pz-sudoku-night [data-v2-grid]{border-color:#e5ecf5}.pz-sudoku-night [role=gridcell]{background:#17253b;color:#99c5ff;border-color:#52647d}.pz-sudoku-night [role=gridcell].is-given{color:#f0f5fc}.pz-sudoku-night [role=gridcell].is-related{background:#263950}.pz-sudoku-night [role=gridcell].is-match{background:#4d4125}.pz-sudoku-night [role=gridcell].is-active{background:#25466c;outline-color:#a4cdff}.pz-sudoku-night .pz-sudoku-notes{color:#d0dcec}
.pz-sudoku-paused [data-v2-grid]{visibility:hidden}.pz-sudoku-paused .pz-sudoku-keypad{visibility:hidden}.pz-sudoku-conflict [data-v2-grid]{opacity:.65}
.pz-sudoku-v2 [data-v2-hint]{border-left:4px solid var(--accent-2);padding-left:12px}.pz-sudoku-v2 [data-v2-hint] .btn{margin-top:10px}
@media(max-width:980px){.pz-sudoku-layout{grid-template-columns:1fr}.pz-sudoku-keypad{grid-template-columns:repeat(3,minmax(0,1fr));max-width:420px}.pz-sudoku-keypad .btn{min-height:50px}.pz-sudoku-keypad small{display:inline;margin-left:8px;font-size:.7rem}}
@media(max-width:700px){.pz-sudoku-board-panel{padding:12px 4px}.pz-sudoku-v2 [role=gridcell]{font-size:clamp(1rem,5vw,1.5rem)}.pz-sudoku-notes{font-size:clamp(.58rem,2.4vw,.8rem)}.pz-sudoku-main-actions .btn{flex:1 1 42%}.pz-sudoku-expanded .pz-sudoku-controls{grid-template-columns:1fr}}
@media(forced-colors:active){.pz-sudoku-v2 [role=gridcell].is-active{outline:3px solid Highlight}.pz-sudoku-v2 [role=gridcell].is-match{text-decoration:underline}.pz-sudoku-v2 [role=gridcell].is-hint{outline:2px dashed Highlight}}
@media print{body:has(.pz-sudoku-print)>:not(.pz-sudoku-print){display:none}.pz-sudoku-print{display:block!important;color:#000}.pz-sudoku-print> :not([data-v2-play]),.pz-sudoku-print .pz-games-toolbar,.pz-sudoku-print .pz-sudoku-controls,.pz-sudoku-print .pz-sudoku-keypad,.pz-sudoku-print .pz-sudoku-main-actions,.pz-sudoku-print [data-v2-selected],.pz-sudoku-print [data-v2-time],.pz-sudoku-print [data-v2-play]>section,.pz-sudoku-print #sudoku-help,.pz-sudoku-print #sudoku-settings{display:none!important}.pz-sudoku-print .pz-sudoku-layout{display:block}.pz-sudoku-print [role=gridcell]{background:#fff!important;color:#000!important;outline:0!important;box-shadow:none!important}.pz-sudoku-print [data-v2-grid]{border-color:#000;break-inside:avoid}}
.pz-sudoku-v2 [hidden]{display:none!important}
.pz-sudoku-v2 .pz-sudoku-proof-notes{color:var(--primary);background:#e2efff;border:1px dotted currentColor}
.pz-sudoku-proof-notes .is-proof-elimination{text-decoration:line-through;text-decoration-thickness:2px;font-weight:800}
.pz-sudoku-night .pz-sudoku-proof-notes{color:#d7e9ff;background:#1c3554}
@media(forced-colors:active){.pz-sudoku-v2 .pz-sudoku-proof-notes{color:CanvasText;background:Canvas;border:1px dotted CanvasText}}
.pz-sudoku-keypad .btn{display:flex;flex-direction:column;justify-content:center;gap:1px}
.pz-sudoku-keypad small{font-size:.72rem}
@media(max-width:980px){.pz-sudoku-keypad .btn{flex-direction:row;gap:6px}}
@media(max-width:700px){.pz-sudoku-v2 .pz-sudoku-board-panel{padding:12px 4px}.pz-sudoku-v2 .pz-games-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pz-sudoku-v2 .pz-games-toolbar label{grid-column:1/-1}.pz-sudoku-v2 .pz-games-toolbar .btn{padding:8px 6px;font-size:.9rem;min-width:0;white-space:normal}}

@media print{.pz-sudoku-v2>[data-v2-play]{display:none!important}.pz-sudoku-v2>[data-v2-print-area][hidden]{display:block!important}.pz-sudoku-v2>[data-v2-print-area] table{color:#000;background:#fff}.pz-sudoku-v2>[data-v2-print-area] td{color:#000;background:#fff}}
@media print{body:has(.pz-sudoku-v2)>:not(.pz-sudoku-v2){display:none!important}.pz-sudoku-v2>:not([data-v2-print-area]){display:none!important}}
.pz-sudoku-v2 [role=gridcell].is-hint-area{background:#edf4fd}.pz-sudoku-v2 [role=gridcell].is-hint-effect{outline:2px dashed var(--primary);outline-offset:-4px}.pz-sudoku-night [role=gridcell].is-hint-area{background:#2c4059}
@media(forced-colors:active){.pz-sudoku-v2 [role=gridcell].is-hint{outline:2px solid Highlight}.pz-sudoku-v2 [role=gridcell].is-hint-effect{outline:2px dashed Highlight}}

.pz-sudoku-v2 [data-v2-hint]:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
@media(forced-colors:active){.pz-sudoku-v2 [data-v2-hint]:focus-visible{outline-color:Highlight}}
