/* TeamSpeak 6 Animations */

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes glow {
    0%, 100% {
        box-shadow: 0 0 20px rgba(88, 166, 255, 0.3);
    }
    50% {
        box-shadow: 0 0 30px rgba(88, 166, 255, 0.6);
    }
}

@keyframes gradient-shift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.fade-in {
    opacity: 1;
}

.slide-in {
    opacity: 1;
}

.glow-animation {
    /* Animation entfernt für bessere Performance */
}

.gradient-animated {
    background-size: 200% 200%;
    /* Animation entfernt für bessere Performance */
}

/* Hover Effects */
.hover-lift {
    transition: box-shadow 0.2s ease;
}

.hover-lift:hover {
    box-shadow: var(--shadow-lg);
}

.hover-glow:hover {
    box-shadow: 0 0 25px rgba(88, 166, 255, 0.5);
}

/* Loading States */
.skeleton {
    background: linear-gradient(
        90deg,
        var(--ts6-bg-secondary) 0%,
        var(--ts6-bg-tertiary) 50%,
        var(--ts6-bg-secondary) 100%
    );
    background-size: 200% 100%;
    animation: loading 1.5s ease-in-out infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Pulse Effect */
.pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

