.reveal-grid > * {
    animation: card-in .34s ease both;
}

.reveal-grid > *:nth-child(2) { animation-delay: .04s; }
.reveal-grid > *:nth-child(3) { animation-delay: .08s; }
.reveal-grid > *:nth-child(4) { animation-delay: .12s; }

@keyframes card-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes result-in {
    from {
        opacity: 0;
        transform: translateY(10px) scale(.99);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes correct-pop {
    0% { transform: scale(.985); }
    60% { transform: scale(1.018); }
    100% { transform: scale(1); }
}

@keyframes wrong-nudge {
    0%, 100% { transform: translateX(0); }
    35% { transform: translateX(-3px); }
    70% { transform: translateX(3px); }
}

@keyframes progress-grow {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

@keyframes subscription-terms-attention {
    0%, 100% { transform: translateX(0); }
    18% { transform: translateX(-4px); }
    36% { transform: translateX(4px); }
    54% { transform: translateX(-2px); }
    72% { transform: translateX(2px); }
}

@keyframes helper-fade {
    from {
        opacity: 0;
        transform: translateY(-2px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
