/* Extrait de site/styles.css (vitrine) par le central — ne pas modifier ici. */
:root {
  color-scheme: light;
  --bg: #fdfcfc;
  --panneau: #f5f3f1;
  --panneau-2: #efebe7;
  --blanc: #ffffff;
  --anneau: rgba(0, 0, 0, 0.075);
  --guide: rgba(0, 0, 0, 0.05);
  /* Le trait de la trame qui se croise à l'intérieur de la page : un rien plus marqué que les deux
     lignes de bord, pour que le point du croisement se lise. */
  --guide-croise: rgba(0, 0, 0, 0.085);
  --line: rgba(0, 0, 0, 0.08);
  --line-soft: rgba(0, 0, 0, 0.055);
  --text: #000000;
  --muted: #5d5b58;
  --faint: #8c8985;
  --encre: #000000;
  --encre-survol: #2b2b2b;
  --encre-fg: #ffffff;
  /* Le violet de l'outil : l'anneau de focus, et une des nappes pastel. */
  --accent: hsl(262 70% 56%);
  /* Les nappes pastel des grands panneaux. */
  --rose: #f7d7e7;
  --peche: #fbe2cc;
  --lilas: #e1d9fb;
  --ciel: #d3e6f8;
  --menthe: #d5efe1;
  --citron: #f4efc6;
  --ombre-douce: 0 1px 2px rgba(0, 0, 0, 0.06), 0 4px 14px -6px rgba(0, 0, 0, 0.12);
  --ombre: rgba(30, 20, 10, 0.18);
  /* LE GRAIN DES DÉGRADÉS (demande du 14/10/2026, à l'image d'une carte d'ElevenLabs) : un bruit fin,
     en SVG décrit ici (rien à télécharger), posé en PREMIÈRE couche sur chaque nappe et fondu avec
     elle (« --grain-fusion ») — les couleurs se lisent en pointillé, comme une impression. */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 2.4 -.7 0 0 0 2.4 -.7 0 0 0 2.4 -.7 0 0 0 0 .8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --grain-fusion: overlay;
  --radius: 1.5rem;
  --radius-petit: 1rem;
  --col: 1240px;
  --marge: 2.5rem;
  --titre: 'Geist Variable', 'Inter Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --sans: 'Inter Variable', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --mono: 'Geist Mono Variable', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
}
html[data-clarte='sombre'] {
  color-scheme: dark;
  --bg: #0e0e0f;
  --panneau: #19191b;
  --panneau-2: #222225;
  --blanc: #262629;
  --anneau: rgba(255, 255, 255, 0.08);
  --guide: rgba(255, 255, 255, 0.06);
  --guide-croise: rgba(255, 255, 255, 0.1);
  --line: rgba(255, 255, 255, 0.09);
  --line-soft: rgba(255, 255, 255, 0.06);
  --text: #f3f1ee;
  --muted: #a9a6a1;
  --faint: #7a7772;
  --encre: #f3f1ee;
  --encre-survol: #d6d3ce;
  --encre-fg: #0e0e0f;
  --accent: hsl(262 80% 72%);
  --rose: #3b2433;
  --peche: #3a2a1d;
  --lilas: #2a2443;
  --ciel: #1b2c40;
  --menthe: #183528;
  --citron: #33301a;
  --ombre-douce: 0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 14px -6px rgba(0, 0, 0, 0.6);
  --ombre: rgba(0, 0, 0, 0.5);
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 2.4 -.7 0 0 0 2.4 -.7 0 0 0 2.4 -.7 0 0 0 0 .45'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --grain-fusion: overlay;
}
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/assets/polices/inter-latin-ext-wght-normal.woff2') format('woff2-variations');
  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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/assets/polices/inter-latin-wght-normal.woff2') format('woff2-variations');
  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: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/assets/polices/geist-latin-ext-wght-normal.woff2') format('woff2-variations');
  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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/assets/polices/geist-latin-wght-normal.woff2') format('woff2-variations');
  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: 'Geist Mono Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/assets/polices/geist-mono-latin-wght-normal.woff2') format('woff2-variations');
  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;
}
