/* Glassmorphism Engine Rules */
.glass-card {
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.85);
    box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.08);
}

.dark .glass-card {
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}

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

.glass-card-hover:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(14, 165, 233, 0.4);
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.18);
}

.dark .glass-card-hover:hover {
    background: rgba(30, 41, 59, 0.75);
    border-color: rgba(56, 189, 248, 0.35);
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.25);
}

.glass-pill-active {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.15) 0%, rgba(6, 182, 212, 0.15) 100%);
    border: 1.5px solid rgba(14, 165, 233, 0.6);
    backdrop-filter: blur(12px);
}

.dark .glass-pill-active {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.25) 0%, rgba(99, 102, 241, 0.25) 100%);
    border: 1.5px solid rgba(56, 189, 248, 0.5);
}

/* Typography Gradients */
.gradient-text {
    background: linear-gradient(135deg, #0284c7 0%, #06b6d4 50%, #6366f1 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.dark .gradient-text {
    background: linear-gradient(135deg, #38bdf8 0%, #22d3ee 50%, #818cf8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Animated Ambient Glowing Orbs */
@keyframes floatOrb {
    0%, 100% { transform: translate(0px, 0px) scale(1); }
    50% { transform: translate(25px, -35px) scale(1.08); }
}

.orb-slow { animation: floatOrb 14s infinite ease-in-out; }
.orb-fast { animation: floatOrb 10s infinite ease-in-out reverse; }