:root {
    --transition-fast: 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
    --transition-normal: 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    --transition-slow: 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Apple-style enter animation */
@keyframes ls-reveal {
    from {
        opacity: 0;
        filter: blur(18px);
        transform: translateY(40px) scale(0.97);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0) scale(1);
    }
}
.ls-reveal {
    animation: ls-reveal 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

/* Staggered reveal for lists */
.ls-reveal-stagger > * {
    opacity: 0;
    filter: blur(18px);
    transform: translateY(40px) scale(0.97);
    animation: ls-reveal 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}
.ls-reveal-stagger > *:nth-child(1) { animation-delay: 0s; }
.ls-reveal-stagger > *:nth-child(2) { animation-delay: 0.1s; }
.ls-reveal-stagger > *:nth-child(3) { animation-delay: 0.2s; }
.ls-reveal-stagger > *:nth-child(4) { animation-delay: 0.3s; }
.ls-reveal-stagger > *:nth-child(5) { animation-delay: 0.4s; }
.ls-reveal-stagger > *:nth-child(6) { animation-delay: 0.5s; }
