/* Grésivaudan Xpress — styles communs à toutes les pages.
   Contenu volontairement restreint à ce qui est rigoureusement identique
   partout (vérifié page par page avant extraction) : variables de thème
   clair/sombre, remise à zéro de base, logo, bouton de bascule de thème.
   Tout le reste (nav, typographie de page, composants spécifiques) reste
   dans le <style> propre à chaque page — certaines variantes (comme la nav
   collante de la page d'accueil, ou les couleurs de médailles du
   classement) sont volontairement différentes d'une page à l'autre. */

:root {
  --granite: #181D1A;
  --granite-2: #222925;
  --granite-3: #2B332D;
  --chalk: #EDE8DC;
  --chalk-dim: #A9A499;
  --blaze: #E8542A;
  --moss: #7FA282;
  --glacier: #6FA8B8;
  --line: rgba(237,232,220,0.14);
  --radius: 14px;
}

:root[data-theme="light"] {
  --granite: #F4F1E9;
  --granite-2: #FFFFFF;
  --granite-3: #EAE6DA;
  --chalk: #201C16;
  --chalk-dim: #6E6A5E;
  --blaze: #D6461D;
  --moss: #4C6B4F;
  --glacier: #2E6577;
  --line: rgba(32,28,22,0.14);
}

* { box-sizing: border-box; }

.dsa-logo { height: 26px; width: auto; flex: none; }

#theme-toggle-btn {
  position: fixed; bottom: 1.2rem; right: 1.2rem; z-index: 1000;
  width: 2.6rem; height: 2.6rem; border-radius: 50%;
  border: 1px solid var(--line); background: var(--granite-2); color: var(--chalk);
  cursor: pointer; font-size: 1.15rem; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
#theme-toggle-btn:hover { border-color: var(--blaze); }
