/* ===== ANIMATIONS ===== */

/* Core Pulse Animation */
@keyframes core-pulse {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 40px rgba(34, 211, 238, 0.2);
    }

    50% {
        transform: scale(1.05);
        box-shadow: 0 0 60px rgba(217, 70, 239, 0.3);
    }
}

/* Eye Glow Animation */
@keyframes eye-glow {

    0%,
    100% {
        border-color: rgba(34, 211, 238, 0.3);
        box-shadow: 0 0 20px rgba(34, 211, 238, 0.1);
    }

    25% {
        border-color: rgba(34, 211, 238, 0.6);
        box-shadow: 0 0 30px rgba(34, 211, 238, 0.3);
    }

    50% {
        border-color: rgba(217, 70, 239, 0.5);
        box-shadow: 0 0 25px rgba(217, 70, 239, 0.2);
    }

    75% {
        border-color: rgba(34, 211, 238, 0.4);
        box-shadow: 0 0 35px rgba(34, 211, 238, 0.2);
    }
}

/* Pupil Focus Animation */
@keyframes pupil-focus {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.8;
    }

    20% {
        transform: scale(1.2);
        opacity: 1;
    }

    40% {
        transform: scale(0.8);
        opacity: 0.6;
    }

    60% {
        transform: scale(1.1);
        opacity: 0.9;
    }

    80% {
        transform: scale(0.9);
        opacity: 0.7;
    }
}

/* Eye Shine Animation */
@keyframes eye-shine {

    0%,
    100% {
        opacity: 0.8;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.3);
    }
}

/* Wave Ripple Animations */
@keyframes wave-ripple-1 {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.8;
        border-radius: 50%;
    }

    25% {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 0.6;
        border-radius: 45% 55% 50% 50%;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0.4;
        border-radius: 50% 45% 55% 50%;
    }

    75% {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 0.6;
        border-radius: 55% 50% 45% 55%;
    }

    100% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.8;
        border-radius: 50%;
    }
}

@keyframes wave-ripple-2 {
    0% {
        transform: translate(-50%, -50%) scale(0.9);
        opacity: 0.7;
        border-radius: 50%;
    }

    30% {
        transform: translate(-50%, -50%) scale(1.15);
        opacity: 0.5;
        border-radius: 48% 52% 50% 50%;
    }

    60% {
        transform: translate(-50%, -50%) scale(1.25);
        opacity: 0.3;
        border-radius: 52% 48% 52% 48%;
    }

    90% {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 0.5;
        border-radius: 50% 50% 48% 52%;
    }

    100% {
        transform: translate(-50%, -50%) scale(0.9);
        opacity: 0.7;
        border-radius: 50%;
    }
}

@keyframes wave-ripple-3 {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.6;
        border-radius: 50%;
    }

    35% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0.4;
        border-radius: 47% 53% 49% 51%;
    }

    70% {
        transform: translate(-50%, -50%) scale(1.3);
        opacity: 0.2;
        border-radius: 53% 47% 51% 49%;
    }

    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.6;
        border-radius: 50%;
    }
}

@keyframes wave-ripple-4 {
    0% {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 0.5;
        border-radius: 50%;
    }

    40% {
        transform: translate(-50%, -50%) scale(1.25);
        opacity: 0.3;
        border-radius: 46% 54% 48% 52%;
    }

    80% {
        transform: translate(-50%, -50%) scale(1.35);
        opacity: 0.1;
        border-radius: 54% 46% 52% 48%;
    }

    100% {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 0.5;
        border-radius: 50%;
    }
}

/* Sound Float Animation */
@keyframes sound-float {

    0%,
    100% {
        transform: translateY(0px) scale(1);
        opacity: 0.6;
    }

    25% {
        transform: translateY(-15px) scale(1.3);
        opacity: 1;
    }

    50% {
        transform: translateY(-25px) scale(1.1);
        opacity: 0.8;
    }

    75% {
        transform: translateY(-10px) scale(1.2);
        opacity: 0.9;
    }
}

/* Rotation Animations for AGI Core */
@keyframes rotate-slow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes rotate-medium {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes rotate-fast {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Pulse Glow Animation */
@keyframes pulse-glow {

    0%,
    100% {
        box-shadow: 0 0 30px rgba(34, 211, 238, 0.5);
        transform: scale(1);
    }

    50% {
        box-shadow: 0 0 50px rgba(217, 70, 239, 0.7);
        transform: scale(1.05);
    }
}

/* Orbit Animations */
@keyframes orbit-1 {
    from {
        transform: translateX(-50%) rotate(0deg) translateX(120px) rotate(0deg);
    }

    to {
        transform: translateX(-50%) rotate(360deg) translateX(120px) rotate(-360deg);
    }
}

@keyframes orbit-2 {
    from {
        transform: rotate(60deg) translateX(120px) rotate(-60deg);
    }

    to {
        transform: rotate(420deg) translateX(120px) rotate(-420deg);
    }
}

@keyframes orbit-3 {
    from {
        transform: translateY(-50%) rotate(120deg) translateX(120px) rotate(-120deg);
    }

    to {
        transform: translateY(-50%) rotate(480deg) translateX(120px) rotate(-480deg);
    }
}

@keyframes orbit-4 {
    from {
        transform: rotate(180deg) translateX(120px) rotate(-180deg);
    }

    to {
        transform: rotate(540deg) translateX(120px) rotate(-540deg);
    }
}

@keyframes orbit-5 {
    from {
        transform: translateX(-50%) rotate(240deg) translateX(120px) rotate(-240deg);
    }

    to {
        transform: translateX(-50%) rotate(600deg) translateX(120px) rotate(-600deg);
    }
}

@keyframes orbit-6 {
    from {
        transform: translateY(-50%) rotate(300deg) translateX(120px) rotate(-300deg);
    }

    to {
        transform: translateY(-50%) rotate(660deg) translateX(120px) rotate(-660deg);
    }
}

/* Status Pulse Animation */
@keyframes status-pulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.6;
        transform: scale(1.2);
    }
}

/* Whitepaper Circle Pulse Animations */
@keyframes magenta-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.4;
        border-color: rgba(217, 70, 239, 0.4);
    }

    50% {
        transform: scale(1.05);
        opacity: 0.8;
        border-color: rgba(217, 70, 239, 0.8);
    }
}

@keyframes pink-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.6;
        border-color: rgba(217, 70, 239, 0.6);
    }

    50% {
        transform: scale(1.08);
        opacity: 0.9;
        border-color: rgba(217, 70, 239, 0.9);
    }
}

/* ===== APPLY ANIMATIONS TO ELEMENTS ===== */

/* QAI Soundwave Animations */
.soundwave-core {
    animation: core-pulse 3s ease-in-out infinite;
}

.eye-outline {
    animation: eye-glow 4s ease-in-out infinite;
}

.eye-outline::before {
    animation: pupil-focus 5s ease-in-out infinite;
}

.eye-outline::after {
    animation: eye-shine 3s ease-in-out infinite;
}

.wave-1 {
    animation: wave-ripple-1 3s ease-in-out infinite;
}

.wave-2 {
    animation: wave-ripple-2 3.5s ease-in-out infinite;
}

.wave-3 {
    animation: wave-ripple-3 4s ease-in-out infinite;
}

.wave-4 {
    animation: wave-ripple-4 4.5s ease-in-out infinite;
}

.sound-particle {
    animation: sound-float 2s ease-in-out infinite;
}

/* AGI Core Animations */
.outer-ring {
    animation: rotate-slow 20s linear infinite;
}

.middle-ring {
    animation: rotate-medium 15s linear infinite reverse;
}

.inner-ring {
    animation: rotate-fast 10s linear infinite;
}

.agi-center {
    animation: pulse-glow 3s ease-in-out infinite;
}

.orbit-1 {
    animation: orbit-1 12s linear infinite;
}

.orbit-2 {
    animation: orbit-2 14s linear infinite;
}

.orbit-3 {
    animation: orbit-3 16s linear infinite;
}

.orbit-4 {
    animation: orbit-4 18s linear infinite;
}

.orbit-5 {
    animation: orbit-5 20s linear infinite;
}

.orbit-6 {
    animation: orbit-6 22s linear infinite;
}

/* Status Light Animation */
.status-light.pulsing {
    animation: status-pulse 2s ease-in-out infinite;
}

/* Whitepaper Circle Animations */
.whitepaper-circle::before {
    animation: magenta-pulse 3s ease-in-out infinite;
}

.whitepaper-circle::after {
    animation: pink-pulse 4s ease-in-out infinite;
}