.lmw-counter {
    display: flex;
    width: 100%;
    align-items: baseline;
    justify-content: center;
    line-height: 1;
    user-select: none;
}

.lmw-counter__number {
    display: inline-block;
    transition: color 0.15s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes lmwCounterTick {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.08); }
    100% { transform: scale(1); }
}

.lmw-counter__number.lmw-counter-tick {
    animation: lmwCounterTick 0.12s ease-out;
}

@keyframes lmwCounterCelebrate {
    0%   { transform: scale(1); }
    30%  { transform: scale(1.1); }
    50%  { transform: scale(0.97); }
    70%  { transform: scale(1.03); }
    100% { transform: scale(1); }
}

@keyframes lmwCounterCelebrateGlow {
    0%   { transform: scale(1); text-shadow: none; }
    30%  { transform: scale(1.1); text-shadow: 0 0 15px rgba(59, 130, 246, 0.45); }
    50%  { transform: scale(0.97); text-shadow: 0 0 15px rgba(59, 130, 246, 0.45); }
    70%  { transform: scale(1.03); text-shadow: 0 0 8px rgba(59, 130, 246, 0.2); }
    100% { transform: scale(1); text-shadow: none; }
}

.lmw-counter--celebrate.lmw-counter-celebrating .lmw-counter__number {
    animation: lmwCounterCelebrate 0.7s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.lmw-counter--celebrate.lmw-counter--glow.lmw-counter-celebrating .lmw-counter__number {
    animation: lmwCounterCelebrateGlow 0.7s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.lmw-counter--glow:not(.lmw-counter--celebrate).lmw-counter-celebrating .lmw-counter__number {
    text-shadow: 0 0 15px rgba(59, 130, 246, 0.45);
    transition: text-shadow 0.6s ease 0.2s;
}
