@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

body {
    font-family: 'Outfit', sans-serif;
    background: radial-gradient(circle at 50% 50%, #11101d 0%, #080711 100%);
    color: #f3f4f6;
    min-height: 100vh;
}

/* Glassmorphism Classes */
.glass-panel {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

.glass-card-hover {
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-card-hover:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 12px 40px 0 rgba(147, 51, 234, 0.15); /* Sombra violeta leve */
}

/* Glowing text and borders */
.glow-purple {
    text-shadow: 0 0 10px rgba(168, 85, 247, 0.5);
}

.glow-cyan {
    text-shadow: 0 0 10px rgba(6, 182, 212, 0.5);
}

.border-glow-purple:focus {
    border-color: rgb(168, 85, 247);
    box-shadow: 0 0 15px rgba(168, 85, 247, 0.35);
}

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

::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
}

::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(168, 85, 247, 0.5);
}

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

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

/* Gradient text */
.text-gradient-purple-cyan {
    background: linear-gradient(135deg, #a855f7 0%, #06b6d4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.text-gradient-emerald-cyan {
    background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Custom switch / checkbox */
.checkbox-custom:checked + label {
    background-color: #a855f7;
}

.checkbox-custom:checked + label .dot {
    transform: translateX(100%);
}
