/* Entrance motion for static page sections and dialogs, separate from game effects. */
@keyframes interfaceEntrance {
    from { opacity: 0; translate: 0 14px; }
    to { opacity: 1; translate: 0 0; }
}
@keyframes interfaceBackdropEntrance {
    from { opacity: 0; }
    to { opacity: 1; }
}

:is(
    .profile-v2-page > .profile-v2-title,
    .profile-v2-grid > .profile-v2-left,
    .profile-v2-grid > .profile-v2-center,
    .profile-v2-grid > .profile-v2-right,
    .profile-v2-page > .pv2-best-drop,
    .profile-v2-page > .profile-v2-section-title,
    .profile-v2-page > .pv2-inventory-head,
    .profile-v2-page > .pv2-items-grid,
    .history-page > .history-title,
    .history-page > .history-tabs,
    .history-page > .history-content,
    .case-v2-page > .case-v2-header,
    .case-v2-page > .case-v2-section-title,
    .case-v2-page > .case-v2-items,
    .auth-page > .auth-card,
    .payment-status-card,
    .partner-page > .partner-page-title,
    .partner-page > .partner-hero,
    .partner-page > .partner-stats,
    .partner-page > .partner-grid
) {
    animation: interfaceEntrance .55s cubic-bezier(.2,.7,.2,1) backwards;
    animation-delay: var(--interface-enter-delay, 0s);
}

.profile-v2-grid > .profile-v2-left,
.history-page > .history-tabs,
.partner-page > .partner-hero { --interface-enter-delay: .08s; }
.profile-v2-grid > .profile-v2-center,
.history-page > .history-content,
.partner-page > .partner-stats { --interface-enter-delay: .16s; }
.profile-v2-grid > .profile-v2-right,
.case-v2-page > .case-v2-section-title,
.partner-page > .partner-grid { --interface-enter-delay: .24s; }
.profile-v2-page > .pv2-best-drop,
.profile-v2-page > .profile-v2-section-title,
.case-v2-page > .case-v2-items { --interface-enter-delay: .30s; }
.profile-v2-page > .pv2-inventory-head,
.profile-v2-page > .pv2-items-grid { --interface-enter-delay: .38s; }

/* Display:none naturally restarts the entrance on each opening. Closing stays immediate. */
.modal-overlay {
    animation: interfaceBackdropEntrance .18s ease-out backwards;
}
.modal-overlay > .modal-content {
    animation: interfaceEntrance .45s cubic-bezier(.2,.7,.2,1) backwards;
}
#deposit-modal .deposit-v3-hero,
#deposit-modal .deposit-v3-body > .deposit-v3-panel {
    animation: interfaceEntrance .5s cubic-bezier(.2,.7,.2,1) backwards;
}
#deposit-modal .deposit-v3-body > .deposit-v3-main { animation-delay: .08s; }
#deposit-modal .deposit-v3-body > .deposit-v3-checkout { animation-delay: .16s; }

@media (prefers-reduced-motion: reduce) {
    :is(
        .profile-v2-page > .profile-v2-title,
        .profile-v2-grid > .profile-v2-left,
        .profile-v2-grid > .profile-v2-center,
        .profile-v2-grid > .profile-v2-right,
        .profile-v2-page > .pv2-best-drop,
        .profile-v2-page > .profile-v2-section-title,
        .profile-v2-page > .pv2-inventory-head,
        .profile-v2-page > .pv2-items-grid,
        .history-page > .history-title,
        .history-page > .history-tabs,
        .history-page > .history-content,
        .case-v2-page > .case-v2-header,
        .case-v2-page > .case-v2-section-title,
        .case-v2-page > .case-v2-items,
        .auth-page > .auth-card,
        .payment-status-card,
        .partner-page > .partner-page-title,
        .partner-page > .partner-hero,
        .partner-page > .partner-stats,
        .partner-page > .partner-grid,
        .modal-overlay,
        .modal-overlay > .modal-content,
        #deposit-modal .deposit-v3-hero,
        #deposit-modal .deposit-v3-body > .deposit-v3-panel
    ) { animation: none; }
}
