/* ==========================================
   FLOATING GLOWING PARTICLES EFFECT
   ========================================== */

/* Floating particles container */
.floating-particles {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

/* Individual particle */
.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.6), 0 0 15px rgba(255, 255, 255, 0.3);
    opacity: 0;
}

/* Float up animation */
@keyframes floatUp {
    0% {
        opacity: 0;
        transform: translateY(0) translateX(0) scale(0.5);
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translateY(-100vh) translateX(var(--drift)) scale(1);
    }
}

/* Glow pulse animation */
@keyframes glowPulse {
    0%, 100% {
        box-shadow: 0 0 8px rgba(255, 255, 255, 0.6), 0 0 15px rgba(255, 255, 255, 0.3);
    }
    50% {
        box-shadow: 0 0 12px rgba(255, 255, 255, 0.8), 0 0 20px rgba(255, 255, 255, 0.5);
    }
}

/* CSS-only particles (no JavaScript needed) */
.css-particles {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.css-particles::before,
.css-particles::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 200%;
    background-image:
        /* Small white particles */
        radial-gradient(2px 2px at 5% 10%, rgba(255, 255, 255, 0.8) 0%, transparent 100%),
        radial-gradient(3px 3px at 15% 25%, rgba(255, 255, 255, 0.9) 0%, transparent 100%),
        radial-gradient(2px 2px at 25% 5%, rgba(255, 255, 255, 0.7) 0%, transparent 100%),
        radial-gradient(4px 4px at 35% 40%, rgba(255, 255, 255, 0.85) 0%, transparent 100%),
        radial-gradient(2px 2px at 45% 15%, rgba(255, 255, 255, 0.75) 0%, transparent 100%),
        radial-gradient(3px 3px at 55% 50%, rgba(255, 255, 255, 0.9) 0%, transparent 100%),
        radial-gradient(2px 2px at 65% 30%, rgba(255, 255, 255, 0.8) 0%, transparent 100%),
        radial-gradient(4px 4px at 75% 60%, rgba(255, 255, 255, 0.85) 0%, transparent 100%),
        radial-gradient(2px 2px at 85% 20%, rgba(255, 255, 255, 0.7) 0%, transparent 100%),
        radial-gradient(3px 3px at 95% 45%, rgba(255, 255, 255, 0.9) 0%, transparent 100%),
        radial-gradient(2px 2px at 10% 70%, rgba(255, 255, 255, 0.75) 0%, transparent 100%),
        radial-gradient(4px 4px at 20% 85%, rgba(255, 255, 255, 0.85) 0%, transparent 100%),
        radial-gradient(2px 2px at 30% 55%, rgba(255, 255, 255, 0.8) 0%, transparent 100%),
        radial-gradient(3px 3px at 40% 90%, rgba(255, 255, 255, 0.9) 0%, transparent 100%),
        radial-gradient(2px 2px at 50% 65%, rgba(255, 255, 255, 0.7) 0%, transparent 100%),
        radial-gradient(4px 4px at 60% 95%, rgba(255, 255, 255, 0.85) 0%, transparent 100%),
        radial-gradient(2px 2px at 70% 75%, rgba(255, 255, 255, 0.75) 0%, transparent 100%),
        radial-gradient(3px 3px at 80% 80%, rgba(255, 255, 255, 0.9) 0%, transparent 100%),
        radial-gradient(2px 2px at 90% 35%, rgba(255, 255, 255, 0.8) 0%, transparent 100%),
        radial-gradient(4px 4px at 12% 48%, rgba(255, 255, 255, 0.85) 0%, transparent 100%),
        radial-gradient(2px 2px at 22% 62%, rgba(255, 255, 255, 0.7) 0%, transparent 100%),
        radial-gradient(3px 3px at 32% 18%, rgba(255, 255, 255, 0.9) 0%, transparent 100%),
        radial-gradient(2px 2px at 42% 78%, rgba(255, 255, 255, 0.75) 0%, transparent 100%),
        radial-gradient(4px 4px at 52% 32%, rgba(255, 255, 255, 0.85) 0%, transparent 100%),
        radial-gradient(2px 2px at 62% 88%, rgba(255, 255, 255, 0.8) 0%, transparent 100%),
        radial-gradient(3px 3px at 72% 12%, rgba(255, 255, 255, 0.9) 0%, transparent 100%),
        radial-gradient(2px 2px at 82% 52%, rgba(255, 255, 255, 0.7) 0%, transparent 100%),
        radial-gradient(4px 4px at 92% 68%, rgba(255, 255, 255, 0.85) 0%, transparent 100%),
        radial-gradient(2px 2px at 8% 92%, rgba(255, 255, 255, 0.75) 0%, transparent 100%),
        radial-gradient(3px 3px at 18% 38%, rgba(255, 255, 255, 0.9) 0%, transparent 100%);
    background-size: 100% 50%;
    background-repeat: repeat-y;
    opacity: 0.4;
}

.css-particles::after {
    opacity: 0.3;
}

@keyframes particlesRise {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-50%);
    }
}

/* Apply animation to particles */
.css-particles::before {
    animation: particlesRise 20s linear infinite;
}

.css-particles::after {
    animation: particlesRise 25s linear infinite;
    animation-delay: -12s;
}

/* Glow effect on particles */
.css-particles {
    filter: blur(0.3px);
    opacity: 0.5;
}

/* Additional floating magic particles */
@keyframes magicFloat {
    0%, 100% {
        transform: translateY(0) translateX(0);
        opacity: 0.3;
    }
    25% {
        transform: translateY(-20px) translateX(10px);
        opacity: 0.6;
    }
    50% {
        transform: translateY(-40px) translateX(-5px);
        opacity: 0.4;
    }
    75% {
        transform: translateY(-30px) translateX(15px);
        opacity: 0.5;
    }
}
