/* La dualité du site, en un seul endroit : le clair est la palette de
   Recherche politique (du marron dilué dans du crème), le sombre celle
   des apps Twitter (noir, blanc, gris). Chaque app garde ses noms de
   jetons ; son :root les fait pointer vers les jetons --g-* d'ici, et
   la bascule ne touche donc jamais les règles des apps.

   Le clair est le défaut (:root nu). Le sombre s'active par
   data-theme="dark" sur <html>, posé par theme.js avant le premier
   rendu — jamais par media query : le choix appartient au visiteur,
   pas au système. */

:root {
  color-scheme: light;
  --g-fond: #FBF7EF;        /* le papier : fond de page */
  --g-surface: #FFFDF9;     /* cartes, panneaux, champs */
  --g-surface-2: #F2E8D8;   /* survol, bandeaux, en-têtes de tableau */
  --g-encre: #2A1E16;       /* tout le texte courant */
  --g-encre-douce: #7C6C5C; /* libellés, méta, texte secondaire */
  --g-filet: #E5D8C2;       /* tous les filets 1px */
  --g-filet-fort: #D5C0A0;  /* le même, réveillé au survol ou au focus */
  --g-accent: #B9793F;      /* le seul accent chaud */
  --g-lien: #8B5E3C;        /* liens et boutons pleins */
  --g-alerte: #A63A22;      /* panne, erreur, manque */
  --g-attention: #9C6414;   /* avertissement */
  --g-ok: #3F7A34;          /* bonne santé */
  --g-hl-fond: #F3DCC4;     /* surlignage des mots cherchés */
  --g-hl-encre: #7A3E17;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --g-fond: #000;
  --g-surface: #090909;
  --g-surface-2: #0f0f0f;
  --g-encre: #fff;
  --g-encre-douce: #737373;
  --g-filet: #252525;
  --g-filet-fort: #3a3a3a;
  --g-accent: #fff;         /* le sombre est monochrome : l'accent, c'est le blanc */
  --g-lien: #fff;
  --g-alerte: #f87171;
  --g-attention: #f59e0b;
  --g-ok: #22c55e;
  --g-hl-fond: #3A2F1A;
  --g-hl-encre: #E8C88A;
}

/* Filet de sécurité pour une page qui oublierait de peindre son fond :
   les <style> des apps arrivent après ce fichier et gagnent toujours. */
body { background: var(--g-fond); color: var(--g-encre); }

/* La pastille de bascule, posée par theme.js en toute fin de <body> :
   elle vit dans le flux, centrée au pied de la page — on la trouve en
   bas du scroll, elle ne flotte pas par-dessus le contenu. Deux
   boutons ronds (clair, sombre) ; l'actif s'inverse en plein, comme un
   interrupteur. */
.theme-pill {
  width: max-content;
  margin: 48px auto 28px;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px;
  border: 1px solid var(--g-filet);
  border-radius: 999px;
  background: var(--g-surface-2);
}
.theme-pill button {
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--g-encre-douce);
  cursor: pointer;
}
.theme-pill button:hover { color: var(--g-encre); }
.theme-pill button[aria-pressed="true"] {
  background: var(--g-encre);
  color: var(--g-fond);
}
/* Une page peut ajouter un second groupe de boutons dans la même
   pastille — l'accueil et son mode simplifié : un filet l'en sépare. */
.theme-pill .separateur {
  flex: none;
  width: 1px;
  height: 20px;
  margin: 0 4px;
  background: var(--g-filet-fort);
}
.theme-pill svg { display: block; }
@media print { .theme-pill { display: none; } }
