@keyframes pulseScale {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); box-shadow: 0 0 0 10px rgba(59, 130, 246, 0.22); }
    100% { transform: scale(1); }
}

@keyframes confettiFall {
    0% { transform: translateY(-100vh) rotate(0deg); opacity: 1; }
    100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }
}

@keyframes badgeFloat {
    0% { transform: translate(-50%, 0) scale(0.85); opacity: 0; }
    15% { opacity: 1; }
    100% { transform: translate(-50%, -110px) scale(1.35); opacity: 0; }
}

@keyframes goldenFlash {
    0% { opacity: 0; }
    25% { opacity: 0.9; }
    100% { opacity: 0; }
}

@keyframes warningShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-6px); }
    75% { transform: translateX(6px); }
}

@keyframes flameGrow {
    0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(245, 158, 11, 0)); }
    50% { transform: scale(1.28); filter: drop-shadow(0 0 10px rgba(245, 158, 11, 0.85)); }
}

@keyframes magnifierGlow {
    0%, 100% { box-shadow: 0 0 0 rgba(16, 185, 129, 0); }
    50% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.18); }
}

.animate-pulse-scale { animation: pulseScale 650ms ease; }
.animate-warning-shake { animation: warningShake 420ms ease; }
.animate-flame-grow { animation: flameGrow 850ms ease-in-out; }
.animate-magnifier-glow { animation: magnifierGlow 700ms ease; }

.confetti-piece {
    position: fixed;
    top: -12px;
    width: 10px;
    height: 14px;
    border-radius: 2px;
    pointer-events: none;
    z-index: 9999;
    animation: confettiFall 2s linear forwards;
}

.level-flash {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(245, 158, 11, 0.34);
    color: #78350f;
    font-size: clamp(2rem, 8vw, 5rem);
    font-weight: 900;
    letter-spacing: 0;
    pointer-events: none;
    z-index: 9998;
    animation: goldenFlash 1.4s ease forwards;
}

.badge-float {
    position: fixed;
    left: 50%;
    bottom: 6rem;
    max-width: min(90vw, 28rem);
    pointer-events: none;
    z-index: 9999;
    animation: badgeFloat 2.1s ease forwards;
}

.suspicious-highlight {
    border-radius: 0.375rem;
    background: rgba(251, 191, 36, 0.35);
    outline: 2px solid rgba(245, 158, 11, 0.75);
    padding: 0.125rem 0.25rem;
}
