html.defiant-spa-loading {
    cursor: progress;
}

html.defiant-spa-loading::after {
    content: "";
    position: fixed;
    z-index: 2147483647;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    pointer-events: none;
    opacity: 0;
    transform-origin: left;
    background: linear-gradient(90deg, #f05a34, #ffd16a, #8c63ff, #66c9ff);
    box-shadow: 0 0 18px rgba(240, 90, 52, .7);
    display: none;
}

html.defiant-spa-loading body {
    pointer-events: none;
}

::view-transition-old(root) {
    animation: none;
    mix-blend-mode: normal;
}

::view-transition-new(root) {
    animation: none;
    mix-blend-mode: normal;
}

[data-global-sitebar] {
    --sitebar-hue: 262;
    --sitebar-secondary-hue: 198;
    view-transition-name: none;
}

/* La sélection change de couleur, jamais de géométrie. */
[data-global-sitebar] a {
    transform:none !important;
}
[data-global-sitebar] :is(.bp-sitebar-nav,.wiki-sitebar-nav,.main-nav) a::before {
    display:none !important;
    margin-right:0 !important;
}
[data-global-sitebar] :is(.bp-sitebar-nav,.wiki-sitebar-nav,.main-nav) a:hover::before,
[data-global-sitebar] :is(.bp-sitebar-nav,.wiki-sitebar-nav,.main-nav) a.is-active::before,
[data-global-sitebar] .main-nav a[aria-current="page"]::before {
    margin-right:0 !important;
}

/* Keep one stable geometry while the SPA moves between site sections. */
@media (min-width:1200px) {
    [data-global-sitebar]:is(.bp-sitebar,.wiki-sitebar) {
        gap:clamp(24px,3vw,48px) !important;
        padding-inline:22px !important;
    }
    [data-global-sitebar].site-header .header-inner {
        height:100% !important;
        min-height:0 !important;
        gap:clamp(24px,3vw,48px) !important;
        padding-inline:22px !important;
    }
    [data-global-sitebar] :is(.bp-sitebar-brand,.wiki-sitebar-brand,.brand) {
        min-width:112px !important;
    }
    [data-global-sitebar] :is(.bp-sitebar-nav,.wiki-sitebar-nav,.main-nav) {
        gap:5px !important;
    }
    [data-global-sitebar] :is(.bp-sitebar-nav,.wiki-sitebar-nav,.main-nav) a {
        min-height:44px !important;
        padding-inline:12px !important;
        font-size:.875rem !important;
        line-height:1.35 !important;
    }
}

@media (min-width:1200px) and (max-width:1450px) {
    [data-global-sitebar]:is(.bp-sitebar,.wiki-sitebar) {
        gap:22px !important;
        padding-inline:17px !important;
    }
    [data-global-sitebar].site-header .header-inner {
        gap:22px !important;
        padding-inline:17px !important;
    }
    [data-global-sitebar] :is(.bp-sitebar-brand,.wiki-sitebar-brand,.brand) {
        min-width:99px !important;
    }
    [data-global-sitebar] :is(.bp-sitebar-nav,.wiki-sitebar-nav,.main-nav) {
        gap:3px !important;
    }
    [data-global-sitebar] :is(.bp-sitebar-nav,.wiki-sitebar-nav,.main-nav) a {
        padding-inline:8px !important;
        font-size:.875rem !important;
    }
}

::view-transition-group(defiant-sitebar),
::view-transition-old(defiant-sitebar),
::view-transition-new(defiant-sitebar) {
    animation: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal;
}

::view-transition-old(defiant-content),
::view-transition-new(defiant-content),
::view-transition-old(defiant-pass-rewards),
::view-transition-new(defiant-pass-rewards),
::view-transition-old(defiant-pass-missions),
::view-transition-new(defiant-pass-missions) {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    mix-blend-mode: normal;
}

@keyframes defiant-spa-progress {
    0% { transform: scaleX(.05); opacity: .65; }
    55% { transform: scaleX(.72); opacity: 1; }
    100% { transform: scaleX(1); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html.defiant-spa-loading::after { animation-duration: 1.4s; }
    ::view-transition-old(root),
    ::view-transition-new(root),
    ::view-transition-old(defiant-content),
    ::view-transition-new(defiant-content) { animation: none; }
}
