/* Location privée — jetons de la direction (02-direction.md, sections 4, 5, 6, 8). Seul fichier qui porte des valeurs de couleur et des familles. */

/* Polices auto-hébergées (latin + latin étendu), OFL. Newsreader : axe opsz 6–72, graisses 500–600 ; italique 400. IBM Plex Sans : 400–600. */
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 500 600; font-display: swap; src: url("../fonts/newsreader-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 500 600; font-display: swap; src: url("../fonts/newsreader-normal-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Newsreader"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/newsreader-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Newsreader"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/newsreader-italic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("../fonts/ibm-plex-sans-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("../fonts/ibm-plex-sans-normal-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  /* Palette, mode clair (section 4) */
  --color-papier: #F6F4EF;
  --color-feuille: #FCFBF8;
  --color-calque: #EBEAE5;
  --color-filet: #CDCBC5;
  --color-encre: #1D2230;
  --color-ardoise: #3D424A;
  --color-ardoise-2: #5C6169;
  --color-brique: #70605C;
  --color-canard: #4E6062;
  /* Palette, mode sombre */
  --color-nuit: #15171C;
  --color-nuit-surface: #1F2229;
  --color-filet-nuit: #363A42;
  --color-clair: #ECEEF1;
  --color-gris-clair: #C9CCD2;
  --color-gris-moyen: #9A9EA6;
  --color-brique-claire: #A39590;
  --color-canard-clair: #8FA0A1;
  /* Accent unique : vert sapin. En sombre : color-mix, pas de second hex. */
  --color-accent: #1F5A43;
  --color-blanc: #fff;
  --color-accent-sombre: color-mix(in srgb, var(--color-accent) 45%, var(--color-blanc));
  --color-transparent: transparent;

  /* Rôles (mode clair) */
  --bg: var(--color-papier);
  --surface: var(--color-feuille);
  --calque: var(--color-calque);
  --filet: var(--color-filet);
  --trait: var(--color-encre);
  --titre: var(--color-encre);
  --texte: var(--color-ardoise);
  --texte-2: var(--color-ardoise-2);
  --champ-bord: var(--color-ardoise-2);
  --immo: var(--color-brique);
  --fin: var(--color-canard);
  --accent: var(--color-accent);
  --sur-accent: var(--color-papier);
  --partenaire-fond: var(--color-encre);
  --partenaire-texte: var(--color-papier);
  color-scheme: light;

  /* Typographie (section 5) */
  --font-titre: "Newsreader", Georgia, "Times New Roman", serif;
  --font-texte: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --size-display: clamp(2.25rem, 1.5rem + 3vw, 3.75rem);
  --size-h1: clamp(2rem, 1.45rem + 2.2vw, 3rem);
  --size-h2: clamp(1.5rem, 1.25rem + 1vw, 1.875rem);
  --size-h3: 1.25rem;
  --size-corps: 1.125rem;
  --size-interface: 1rem;
  --size-petit: 0.875rem;
  --size-resultat: clamp(2rem, 1.6rem + 1.6vw, 2.75rem);
  --lh-display: 1.08;
  --lh-h1: 1.12;
  --lh-h2: 1.2;
  --lh-h3: 1.3;
  --lh-corps: 1.65;
  --lh-interface: 1.5;
  --lh-petit: 1.4;
  --lh-resultat: 1.1;
  --ls-capitales: 0.08em;
  --ls-display: -0.01em;
  --colonne: 42rem;
  --page: 72rem;

  /* Espacements */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  /* Matière (section 6) */
  --radius: 0;
  --radius-champ: 2px;
  --ligne: 1px;
  --tick-rappel: 8px;
  --axe-repere: 12px;
  --repere-carre: 10px;
  --repere-triangle: 12px;

  /* Mouvement (section 8) */
  --tm-duration: .3s;
  --tm-ease: cubic-bezier(.2, .7, .2, 1);
}

:root[data-theme="dark"] {
  --bg: var(--color-nuit);
  --surface: var(--color-nuit-surface);
  --calque: var(--color-nuit-surface);
  --filet: var(--color-filet-nuit);
  --trait: var(--color-gris-clair);
  --titre: var(--color-clair);
  --texte: var(--color-gris-clair);
  --texte-2: var(--color-gris-moyen);
  --champ-bord: var(--color-gris-moyen);
  --immo: var(--color-brique-claire);
  --fin: var(--color-canard-clair);
  --accent: var(--color-accent-sombre);
  --sur-accent: var(--color-nuit);
  --partenaire-fond: var(--color-clair);
  --partenaire-texte: var(--color-nuit);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: var(--color-nuit);
    --surface: var(--color-nuit-surface);
    --calque: var(--color-nuit-surface);
    --filet: var(--color-filet-nuit);
    --trait: var(--color-gris-clair);
    --titre: var(--color-clair);
    --texte: var(--color-gris-clair);
    --texte-2: var(--color-gris-moyen);
    --champ-bord: var(--color-gris-moyen);
    --immo: var(--color-brique-claire);
    --fin: var(--color-canard-clair);
    --accent: var(--color-accent-sombre);
    --sur-accent: var(--color-nuit);
    --partenaire-fond: var(--color-clair);
    --partenaire-texte: var(--color-nuit);
    color-scheme: dark;
  }
}
