@keyframes app-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes app-fade-in-up {
    from {
        opacity: 0;
        transform: translateY(3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes app-fade-in-down {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes app-shimmer {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(100%);
    }
}

@keyframes edit-mode-fade-in {
    from {
        opacity: 0;
        transform: translateY(-7px) scale(0.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes tab-panel-in {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes app-pop-in {
    from {
        opacity: 0;
        translate: 0 8px;
        scale: 0.98;
    }
    to {
        opacity: 1;
        translate: 0 0;
        scale: 1;
    }
}

.edit-mode-fade-in {
    animation: edit-mode-fade-in var(--tp-dur) var(--tp-ease) backwards;
}

.tab-panel-enter {
    animation: tab-panel-in var(--tp-dur-fast) var(--tp-ease) backwards;
}

.stagger-children > * {
    animation: app-fade-in-up var(--tp-dur-fast) var(--tp-ease) backwards;
}

.stagger-children > *:nth-child(1)   { animation-delay: 0ms;  }
.stagger-children > *:nth-child(2)   { animation-delay: 12ms; }
.stagger-children > *:nth-child(3)   { animation-delay: 24ms; }
.stagger-children > *:nth-child(4)   { animation-delay: 36ms; }
.stagger-children > *:nth-child(5)   { animation-delay: 48ms; }
.stagger-children > *:nth-child(n+6) { animation-delay: 60ms; }

@media (prefers-reduced-motion: reduce) {
    *:not(.mud-popover),
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-delay: 0ms !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}
