/* Mini Sudoku: two box geometries, responsive notes and number controls. */
.sudoku-board{--n:4;width:min(100%,470px);display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:0;background:#353753;border:3px solid #353753;border-radius:16px;overflow:hidden;box-shadow:0 6px 0 #b3aed1}
.sudoku-board-wrap{max-width:470px;margin:0 auto}
.sudoku-cell{min-width:0;aspect-ratio:1;border:1px solid #d6d5e6;background:#fff;display:grid;place-items:center;color:#4f42aa;font-weight:850;font-size:clamp(1.12rem,4.2vw,1.7rem);padding:1px;touch-action:manipulation;user-select:none;position:relative}
.sudoku-cell.given{background:#f0edf9;color:#31354c;font-weight:900}
.sudoku-cell.selected{background:#d9f0e5;border-color:#32a67c}.sudoku-cell.given.selected{background:#cfe5d9}
.sudoku-cell.conflict{background:#ffe0db;color:#a32c38}
.sudoku-cell.box-right{border-right:3px solid #535472}.sudoku-cell.box-bottom{border-bottom:3px solid #535472}
.sudoku-cell:hover{z-index:1;border-color:#7770c1}.sudoku-cell:focus-visible{outline:3px solid #ffa752;outline-offset:-3px;z-index:3}
.candidates{width:92%;height:92%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:0;font-size:clamp(.49rem,1.8vw,.75rem);font-weight:650;color:#8175a6}
.candidates span{display:grid;place-items:center;min-width:0}
.sudoku-controls{max-width:470px;margin:13px auto 0;display:grid;gap:11px}
.sudoku-keypad{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.sudoku-keypad .digit{min-height:47px;border:1px solid #d8d4f5;border-radius:12px;background:#eeeaff;font-size:1.2rem;font-weight:870;color:#4539a0}
.sudoku-keypad .digit:hover,.sudoku-keypad .digit:focus-visible{background:#ddd6ff}
.sudoku-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sudoku-tools button{min-height:43px;padding:9px 5px;background:#fff;border:1px solid #dfdbea;border-radius:11px;font-size:.8rem;font-weight:800;color:#41445b}
.sudoku-tools button.on{background:#e6f8eb;border-color:#78c8a0;color:#257552}
.sudoku-guide{margin:0;text-align:center;color:#7a7b91;font-size:.75rem}
.sudoku-game .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.sudoku-board-label{display:flex;justify-content:space-between;gap:15px;margin:9px auto 12px;max-width:470px;font-size:.78rem;color:#676b80;font-weight:760}
@media(max-width:550px){.sudoku-board{width:100%;border-width:2px;border-radius:12px}.sudoku-cell{font-size:clamp(1.02rem,5vw,1.38rem);border-width:.8px}.sudoku-cell.box-bottom{border-bottom-width:2px}.sudoku-cell.box-right{border-right-width:2px}.sudoku-keypad{gap:4px}.sudoku-keypad .digit{min-height:44px;font-size:1.12rem;border-radius:10px}.sudoku-tools{gap:5px}.sudoku-tools button{font-size:.71rem;padding:7px 2px}.sudoku-controls{gap:8px}}
