.sudoku-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; max-width: 280px; border: 3px solid #1E293B; border-radius: 8px; overflow: hidden; }
.sudoku-cell { aspect-ratio: 1; border: 1px solid #CBD5E1; display: flex; align-items: center; justify-content: center; font-family: var(--font-display, Fredoka, sans-serif); font-size: 1.5rem; font-weight: 700; background: #fff; cursor: pointer; min-height: 44px; }
.sudoku-cell.fixed { background: #F1F5F9; color: #1E293B; cursor: default; }
.sudoku-cell.selected { background: #EDE9FE; outline: 2px solid #7C3AED; z-index: 1; }
.sudoku-cell.error { background: #FEE2E2; color: #DC2626; }
.sudoku-cell:nth-child(4n+1) { border-left: 3px solid #1E293B; }
.sudoku-cell:nth-child(-n+4) { border-top: 3px solid #1E293B; }
.sudoku-cell:nth-child(4n) { border-right: 3px solid #1E293B; }
.sudoku-cell:nth-child(n+13) { border-bottom: 3px solid #1E293B; }
.numpad { display: flex; gap: 0.5rem; margin-top: 1rem; flex-wrap: wrap; justify-content: center; }
.numpad button { width: 52px; height: 52px; border: none; border-radius: 12px; background: #7C3AED; color: #fff; font-size: 1.25rem; font-weight: 800; cursor: pointer; }
