/* BrainyTech - Animation Styles */
/* Scroll animations and transitions */

/* Scroll Animations */
.animateFadeUp {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animateFadeUp.animateIn {
    opacity: 1;
    transform: translateY(0);
}

.animateScale {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.animateScale.animateIn {
    opacity: 1;
    transform: scale(1);
}

.animateSlideLeft {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.animateSlideLeft.animateIn {
    opacity: 1;
    transform: translateX(0);
}

.animateSlideRight {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.animateSlideRight.animateIn {
    opacity: 1;
    transform: translateX(0);
}

/* Keyframe Animations */
@keyframes cursorBlink {
    0%, 45% {
        opacity: 1;
        box-shadow: 0 0 10px rgba(92, 23, 243, 0.6);
    }
    50%, 100% {
        opacity: 0;
        box-shadow: 0 0 0 rgba(92, 23, 243, 0);
    }
}

@keyframes morphing {
    0%, 100% {
        border-radius: 40% 60% 60% 40% / 40% 40% 60% 60%;
    }
    50% {
        border-radius: 60% 40% 40% 60% / 60% 60% 40% 40%;
    }
}

@keyframes corePulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        box-shadow: 0 0 30px rgba(92, 23, 243, 0.8);
    }
    50% {
        transform: translate(-50%, -50%) scale(1.2);
        box-shadow: 0 0 50px rgba(92, 23, 243, 1);
    }
}

@keyframes glowPulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.5;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0.8;
    }
}

@keyframes nodePulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.8;
    }
    50% {
        transform: scale(1.3);
        opacity: 1;
    }
}

@keyframes signalFlow {
    0% {
        stroke-dashoffset: 0;
        opacity: 0.3;
    }
    50% {
        opacity: 0.8;
    }
    100% {
        stroke-dashoffset: 20;
        opacity: 0.3;
    }
}

@keyframes pulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.5;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0.8;
    }
}

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