/* Keyframes and motion */
@keyframes monitor-flicker {
    0% { opacity: 0.15; }
    50% { opacity: 0.22; }
    100% { opacity: 0.15; }
}

@keyframes profilePulse {
    0% {
        box-shadow: 0 0 12px 2px rgba(0,255,70,0.25), 0 0 0 0 rgba(0,255,70,0.15);
        border-color: rgba(0,255,70,0.4);
    }
    50% {
        box-shadow: 0 0 32px 8px rgba(0,255,70,0.45), 0 0 0 8px rgba(0,255,70,0.10);
        border-color: rgba(0,255,70,0.7);
    }
    100% {
        box-shadow: 0 0 12px 2px rgba(0,255,70,0.25), 0 0 0 0 rgba(0,255,70,0.15);
        border-color: rgba(0,255,70,0.4);
    }
}

@keyframes downloadBtnPulse {
    0% {
        box-shadow: 0 0 16px 2px rgba(0,255,70,0.25), 0 4px 6px rgba(0, 0, 0, 0.1);
        border-color: rgba(0,255,70,0.2);
    }
    50% {
        box-shadow: 0 0 32px 8px rgba(0,255,70,0.45), 0 4px 16px rgba(0,255,70,0.10);
        border-color: rgba(0,255,70,0.7);
    }
    100% {
        box-shadow: 0 0 16px 2px rgba(0,255,70,0.25), 0 4px 6px rgba(0, 0, 0, 0.1);
        border-color: rgba(0,255,70,0.2);
    }
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes floating {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

.profile-img {
    animation: floating 3s ease-in-out infinite;
}
