:root {
    --motion-fast: 140ms;
}

/*
 * Le portail reste volontairement statique. Les changements de page sont
 * gérés par le routeur SPA, sans réapparition, translation ni agrandissement.
 */
:where(.portal-shell, .battlepass-shell, .wiki-shell),
:where(.portal-shell, .battlepass-shell, .wiki-shell) *,
:where(.portal-shell, .battlepass-shell, .wiki-shell) *::before,
:where(.portal-shell, .battlepass-shell, .wiki-shell) *::after {
    animation: none !important;
}

.motion-enabled .motion-reveal,
.motion-enabled .motion-reveal.is-motion-visible,
.motion-reveal,
.motion-reveal.is-motion-visible {
    opacity: 1 !important;
    translate: none !important;
    filter: none !important;
    transition: none !important;
    will-change: auto !important;
}

/* La navbar ne change que de couleur : sa géométrie reste immobile. */
:where(.main-nav, .bp-sitebar-nav, .wiki-sitebar-nav) a {
    transform: none !important;
    filter: none !important;
    transition:
        color var(--motion-fast) ease,
        background-color var(--motion-fast) ease,
        border-color var(--motion-fast) ease,
        box-shadow var(--motion-fast) ease !important;
}

/* Aucun reflet traversant sur les boutons. */
:where(
    .button,
    .bp-discord-login,
    .bp-account,
    .wiki-discord-login,
    .wiki-sitebar-account
)::after {
    display: none !important;
}

/* Les cartes indiquent le survol sans bondir ni changer de taille. */
:where(
    .feature-card,
    .news-card,
    .creator-card,
    .info-card,
    .pack-card,
    .panel,
    .profile-card,
    .status-panel,
    .article-card,
    .category-card,
    .item-catalog-card,
    .item-mini-card,
    .featured-card,
    .result-card,
    .loot-source-card,
    .attachment-card,
    .product-card,
    .catalog-pass-card,
    .mini-pass-card,
    .archive-card,
    .hero-pass-card,
    .wallet-card,
    .data-panel,
    .pass-quest-card,
    .game-link-card,
    .pass-overview,
    .progress-dashboard,
    .purchase-heading,
    .pass-purchase-panel,
    .reward-card,
    .game-reward-card,
    .bp-pass-chip,
    .bp-reward-cell,
    .bp-quest-card
) {
    transition:
        background-color var(--motion-fast) ease,
        border-color var(--motion-fast) ease,
        box-shadow var(--motion-fast) ease !important;
}

:where(
    .feature-card,
    .news-card,
    .creator-card,
    .info-card,
    .pack-card,
    .panel,
    .profile-card,
    .status-panel,
    .article-card,
    .category-card,
    .item-catalog-card,
    .item-mini-card,
    .featured-card,
    .result-card,
    .loot-source-card,
    .attachment-card,
    .product-card,
    .catalog-pass-card,
    .mini-pass-card,
    .archive-card,
    .hero-pass-card,
    .wallet-card,
    .data-panel,
    .pass-quest-card,
    .game-link-card,
    .pass-overview,
    .progress-dashboard,
    .purchase-heading,
    .pass-purchase-panel,
    .reward-card,
    .game-reward-card,
    .bp-pass-chip,
    .bp-reward-cell,
    .bp-quest-card
):hover {
    transform: none !important;
    translate: none !important;
    filter: none !important;
}

:where(.portal-shell, .battlepass-shell, .wiki-shell) :where(
    a,
    button,
    summary,
    [role="button"]
):is(:hover, :active) {
    transform: none !important;
    translate: none !important;
}

html { scroll-behavior: auto; }
