@keyframes glow-green {
    0%, 100% { box-shadow: 0 0 5px rgba(34, 197, 94, 0.4); border-color: rgb(34, 197, 94); }
    50% { box-shadow: 0 0 20px rgba(34, 197, 94, 0.8); border-color: rgb(34, 197, 94); }
}
.animate-glow-correct {
    animation: glow-green 2s infinite ease-in-out;
}

@keyframes marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-marquee {
    display: inline-flex;
    white-space: nowrap;
    animation: marquee 30s linear infinite;
    will-change: transform;
}
.hover\:pause:hover {
    animation-play-state: paused;
}

@keyframes blink-yellow {
    0%, 100% { color: #fbbf24; filter: drop-shadow(0 0 2px #f59e0b); transform: scale(1); }
    50% { color: #facc15; filter: drop-shadow(0 0 15px #eab308); transform: scale(1.2); }
}
.animate-blink-yellow {
    animation: blink-yellow 1s infinite ease-in-out;
}

@keyframes shake-x {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-10deg); }
    75% { transform: rotate(10deg); }
}
.animate-x-reset:hover {
    animation: shake-x 0.3s infinite ease-in-out;
    color: #ef4444;
}

/* Diğer animasyonlar (slide-in, fade-in vb.) Tailwind animate-in plugin'i ile gelir 
   veya manuel eklenmelidir. */

/* Prüfung-Button Pulse Animation */
@keyframes examBtnPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(16,185,129,0.7); transform: scale(1.05); }
    50% { box-shadow: 0 0 25px 8px rgba(16,185,129,0.3); transform: scale(1.1); }
}
.exam-pulse-anim {
    animation: examBtnPulse 0.8s ease-in-out infinite !important;
}

/* Modal Entrance Animations */
@keyframes fadeZoomIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes bounceIn {
    0% { opacity: 0; transform: scale(0.3); }
    50% { transform: scale(1.05); }
    70% { transform: scale(0.95); }
    100% { opacity: 1; transform: scale(1); }
}