/* Global Styles */
body {
    -webkit-font-smoothing: antialiased;
    letter-spacing: -0.02em;
}

/* Mode Cards */
.mode-card.active {
    border-color: #7c3aed;
    box-shadow: inset 0 0 0 1px #7c3aed, 0 0 20px rgba(124, 58, 237, 0.2);
    opacity: 1 !important;
}

/* Engine Buttons */
.engine-btn.active {
    background-color: #7c3aed !important;
    color: white !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(124, 58, 237, 0.3);
}

/* Animations */
@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

.animate-shimmer {
    animation: shimmer 1.5s infinite;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fadeIn 0.4s ease-out forwards;
}

/* Custom Select Styling */
select {
    cursor: pointer;
}

/* Hidden elements helper */
.hidden {
    display: none !important;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: #1a1d26;
}

::-webkit-scrollbar-thumb {
    background: #333745;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #4a4f5d;
}

/* Custom Focus States */
input:focus,
select:focus {
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.2);
}