/* Custom animations and transitions */
.habit-cell {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.habit-cell:hover {
    transform: scale(1.05);
}

.habit-cell.completed {
    animation: completeAnimation 0.3s ease-out;
}

@keyframes completeAnimation {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}

.counter-update {
    animation: counterPulse 0.4s ease-out;
}

@keyframes counterPulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

/* Input field styling */
#habit-name-input {
    width: 100%;
    max-width: 300px;
}

#habit-name-input:focus {
    border-bottom: 2px solid #9333ea;
}

/* Responsive grid adjustments */
@media (max-width: 640px) {
    #habit-grid {
        gap: 2px;
    }
}