.sudoku-cell {
    caret-color: transparent;
    cursor: pointer;
    border: 1px solid #e2e8f0;
}

.dark .sudoku-cell {
    border: 1px solid #1e293b;
}

/* Hide number input arrows */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    -moz-appearance: textfield;
}

.sudoku-cell:focus {
    z-index: 10;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.2);
}

/* Specific borders for 3x3 zones */
.sudoku-cell[data-col="2"], 
.sudoku-cell[data-col="5"] {
    border-right: 3px solid #1e293b;
}

.dark .sudoku-cell[data-col="2"], 
.dark .sudoku-cell[data-col="5"] {
    border-right: 3px solid #f1f5f9;
}

.sudoku-cell[data-row="2"], 
.sudoku-cell[data-row="5"] {
    border-bottom: 3px solid #1e293b;
}

.dark .sudoku-cell[data-row="2"], 
.dark .sudoku-cell[data-row="5"] {
    border-bottom: 3px solid #f1f5f9;
}

/* Animations */
@keyframes solvedPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

.cell-solved {
    animation: solvedPulse 0.5s ease-out;
    color: var(--accent) !important;
}
