/* Doorway 公共页：页面切换淡入 + 上移（与 doorway-portal 令牌一致） */
@media (prefers-reduced-motion: no-preference) {
    body.doorway-page {
        animation: doorwayFadeInUp 0.5s cubic-bezier(0.2, 0.9, 0.4, 1.1) both;
    }

    body.doorway-page.doorway-page-exit {
        animation: doorwayFadeOut 0.2s ease-in forwards !important;
    }

    @keyframes doorwayFadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: none;
        }
    }

    @keyframes doorwayFadeOut {
        to {
            opacity: 0;
            transform: translateY(-10px);
        }
    }

    /* 门户「核心模块」三张卡片：页面进场后再按序淡入上移 */
    .cards-grid .card {
        opacity: 0;
        animation: doorwayFadeInUp 0.48s cubic-bezier(0.2, 0.9, 0.4, 1.1) forwards;
    }

    .cards-grid .card:nth-child(1) {
        animation-delay: 0.45s;
    }

    .cards-grid .card:nth-child(2) {
        animation-delay: 0.6s;
    }

    .cards-grid .card:nth-child(3) {
        animation-delay: 0.75s;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.doorway-page,
    body.doorway-page.doorway-page-exit {
        animation: none !important;
    }

    .cards-grid .card {
        opacity: 1;
        animation: none !important;
    }
}
