/* Частицы и фоновые эффекты */
#particles-js {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

/* Неоновая сетка */
.neon-grid {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        linear-gradient(rgba(109, 114, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(109, 114, 255, 0.05) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: grid-move 20s linear infinite;
    pointer-events: none;
    z-index: 1;
}

@keyframes grid-move {
    0% { background-position: 0 0; }
    100% { background-position: 50px 50px; }
}

/* Анимация появления элементов */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.8s ease forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Эффект свечения для акцентов */
.glow {
    animation: glow-pulse 2s ease-in-out infinite;
}

@keyframes glow-pulse {
    0%, 100% { 
        opacity: 0.8; 
        filter: drop-shadow(0 0 10px var(--glow-color));
    }
    50% { 
        opacity: 1; 
        filter: drop-shadow(0 0 20px var(--glow-color));
    }
}