body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: #020617;
    overflow-x: hidden;
    color: white;
}

.bg-gradient-animate {
    background: linear-gradient(-45deg, #0f172a, #1e1b4b, #312e81, #1e3a8a);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
}

@keyframes gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.glass-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.option-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.2s ease;
}

.option-btn:hover {
    background: rgba(255, 255, 255, 0.1);
}

.option-btn.active {
    background: white;
    color: black;
    border-color: white;
    font-weight: 800;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
}

.loading-bar {
    background: linear-gradient(90deg, transparent, #3b82f6, #ec4899, transparent);
    background-size: 200% 100%;
    animation: loadingMove 1.5s infinite linear;
}

@keyframes loadingMove {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

#toast {
    transform: translate(-50%, 100px);
}

#toast.show { 
    transform: translate(-50%, 0); 
    opacity: 1; 
}

.shimmer {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.05), transparent);
    background-size: 200% 100%;
    animation: shimmer 2s infinite;
}

@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }

.custom-scroll::-webkit-scrollbar { width: 6px; }
.custom-scroll::-webkit-scrollbar-track { background: transparent; }
.custom-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }
.custom-scroll::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); }
