/* === Анимации счётчика и монет === */

/* Пульс карточки «Накоплено» */
@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(102, 126, 234, 0.4); }
    50% { box-shadow: 0 0 20px 4px rgba(102, 126, 234, 0.6); }
}

.stat-card.accent.pulse {
    animation: pulse-glow 2s ease-in-out infinite;
}

/* Зелёная вспышка при начислении */
@keyframes flash-green {
    0% { color: inherit; }
    20% { color: #48bb78; text-shadow: 0 0 8px rgba(72, 187, 120, 0.6); }
    100% { color: inherit; text-shadow: none; }
}

.stat-value.flash {
    animation: flash-green 0.6s ease-out;
}

/* Частицы-монетки */
@keyframes coin-rise {
    0% { opacity: 1; transform: translateY(0) scale(1); }
    60% { opacity: 0.8; }
    100% { opacity: 0; transform: translateY(-60px) scale(0.3); }
}

.coin-particle {
    position: absolute;
    font-size: 16px;
    pointer-events: none;
    animation: coin-rise 1.2s ease-out forwards;
    z-index: 100;
}

/* Число прибавляется — плавающий "+0.01" */
@keyframes float-up {
    0% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(-30px); }
}

.float-number {
    position: absolute;
    color: #48bb78;
    font-size: 12px;
    font-weight: 700;
    pointer-events: none;
    animation: float-up 1s ease-out forwards;
    z-index: 100;
}

/* Прогресс-бар — свечение при достижении вех */
@keyframes milestone-glow {
    0% { box-shadow: 0 0 0 rgba(102, 126, 234, 0); }
    50% { box-shadow: 0 0 16px rgba(102, 126, 234, 0.8); }
    100% { box-shadow: 0 0 0 rgba(102, 126, 234, 0); }
}

.progress-bar.milestone {
    animation: milestone-glow 1s ease-out;
}

/* Плавное появление секций */
@keyframes fade-in-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fade-in-up 0.4s ease-out;
}

/* Счётчик — плавная смена числа */
.counter-animate {
    transition: transform 0.15s ease-out;
    display: inline-block;
}

.counter-animate.tick {
    transform: scale(1.05);
}
