/* ================================================================
   app-dark.css — ★ Mode sombre du Portal Orion
   Activé par <html data-theme="dark"> (Paramètres → Apparence → Sombre,
   enregistré dans les réglages utilisateur + localStorage).

   Méthode : inversion globale ADOUCIE des couleurs, qui couvre toutes
   les pages d'un coup (y compris les couleurs codées en dur dans les
   .razor.css). invert(0.9) au lieu de invert(1) : le blanc devient un
   gris anthracite (#1a1a1a) et non du noir pur, le texte noir devient
   un gris clair (#e6e6e6) au lieu d'un blanc éblouissant.
   Les teintes sont conservées (hue-rotate) : le bleu reste bleu.

   Médias et zones à garder telles quelles : ré-inversion EXACTE avec
   invert(1) + contrast(1.25) (calcul : 0.9 − 0.8 × (1.125 − 1.25 c) = c).
   Pour exclure un élément : attribut data-no-invert.
   ================================================================ */

html[data-theme="dark"] {
    background-color: #ffffff;
    filter: invert(0.9) hue-rotate(180deg);
}

    html[data-theme="dark"] body {
        background-color: #ffffff;
    }

    /* ── Ré-inversion exacte : photos, vidéos, graphiques, cartes, 3D, navbar ── */
    html[data-theme="dark"] :is(img, video, picture, canvas, iframe, embed, object, model-viewer, .gm-style, [data-no-invert], .navbar):not(:is(.navbar, [data-no-invert], picture) *) {
        filter: invert(1) hue-rotate(180deg) contrast(1.25);
    }

    /* Logo blanc de la navbar : garder son propre filtre */
    html[data-theme="dark"] .navbar .nb-logo-img {
        filter: brightness(0) invert(1);
    }

    /* Ombres : une ombre noire inversée deviendrait un halo clair → on les atténue */
    html[data-theme="dark"] .hub-dashboard-panel,
    html[data-theme="dark"] .hub-side-card,
    html[data-theme="dark"] .hub-category-group,
    html[data-theme="dark"] .hub-floatmenu,
    html[data-theme="dark"] .hub-newtab-panel,
    html[data-theme="dark"] .nb-overflow-menu,
    html[data-theme="dark"] .nb-dropdown-menu {
        box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06) !important;
    }

    /* Champs natifs (date, select…) : rester cohérents avec l'inversion */
    html[data-theme="dark"] input,
    html[data-theme="dark"] select,
    html[data-theme="dark"] textarea {
        color-scheme: light;
    }

/* Menus blancs ouverts DEPUIS la navbar (ordinateur) : la navbar étant
   ré-inversée, on leur applique la même inversion que le reste de la page. */
@media (min-width: 1025px) {
    html[data-theme="dark"] .navbar :is(.nb-overflow-menu, .nb-dropdown-menu) {
        filter: invert(0.9) hue-rotate(180deg);
    }
}
