/* Lavender Theme Custom Styles */

body {
    font-family: 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Smooth input transitions */
input {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

input:focus {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(147, 51, 234, 0.15);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f3e8ff;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: #c084fc;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #a855f7;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

#resultsSection:not(.hidden) {
    animation: fadeInUp 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Result cards interaction */
.grid > div {
    transition: all 0.3s ease;
}

.grid > div:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -8px rgba(147, 51, 234, 0.2);
    border-color: #d8b4fe;
}

/* Button interactions */
button:active {
    transform: scale(0.96);
}

/* Input number spinner styling */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    opacity: 1;
    color: #9333ea;
}

/* Error shake animation */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

.error-shake {
    animation: shake 0.4s ease-in-out;
}

/* Selection color */
::selection {
    background-color: #e9d5ff;
    color: #581c87;
}