/* Débat IA : la base commune (polices, couleurs, thème clair ou sombre). Polices Fira Sans et Archivo (licence OFL, fichiers dans /polices). */
@font-face { font-family: 'Fira Sans'; font-weight: 400; font-style: normal; font-display: swap; src: url(/polices/fira-sans-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Fira Sans'; font-weight: 700; font-style: normal; font-display: swap; src: url(/polices/fira-sans-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'Archivo'; font-weight: 600; font-style: normal; font-display: swap; src: url(/polices/archivo-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Archivo'; font-weight: 800; font-style: normal; font-display: swap; src: url(/polices/archivo-latin-800-normal.woff2) format('woff2'); }
:root {
  --papier: #F2F5F7; --carte: #FFFFFF; --carte2: #E8EDF1; --trait: #D2DAE1;
  --encre: #0F2537; --texte: #1A2632; --doux: #56636F;
  --pour: #187A4F; --contre: #C2410C; --pour-f: #E1F1E9; --contre-f: #FAE6DA;
  --vert: #187A4F; --jaune: #F2B705; --rouge: #C62828;
  --action: #0F2537; --action-t: #FFFFFF; --focus: #2F6DB5; --alerte: #B42318;
  --ombre: 0 1px 2px rgba(15, 37, 55, .06), 0 8px 24px rgba(15, 37, 55, .08);
  --n1: #187A4F; --n2: #8CCBA9; --n3: #F2AE88; --n4: #C2410C;
  --sur-camp: #FFFFFF; --n1t: #FFFFFF; --n2t: #1A2632; --n3t: #1A2632; --n4t: #FFFFFF;
  --f-texte: 'Fira Sans', system-ui, 'Segoe UI', Arial, sans-serif;
  --f-titre: 'Archivo', 'Segoe UI', Arial, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="clair"]) {
    --papier: #0C141B; --carte: #142029; --carte2: #1B2934; --trait: #2C3C4A; --encre: #E9EFF4; --texte: #E2E9EF; --doux: #9DAAB6;
    --pour: #47B786; --contre: #F08049; --pour-f: #15301F; --contre-f: #3A2317; --action: #E9EFF4; --action-t: #0C141B;
    --focus: #80B3EE; --alerte: #F97066; --ombre: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);
    --n1: #47B786; --n2: #2E6F51; --n3: #8F4C2C; --n4: #F08049; color-scheme: dark;
    --sur-camp: #0C141B; --n1t: #0C141B; --n2t: #FFFFFF; --n3t: #FFFFFF; --n4t: #0C141B;
  }
}
:root[data-theme="sombre"] {
  --papier: #0C141B; --carte: #142029; --carte2: #1B2934; --trait: #2C3C4A; --encre: #E9EFF4; --texte: #E2E9EF; --doux: #9DAAB6;
  --pour: #47B786; --contre: #F08049; --pour-f: #15301F; --contre-f: #3A2317; --action: #E9EFF4; --action-t: #0C141B;
  --focus: #80B3EE; --alerte: #F97066; --ombre: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);
  --n1: #47B786; --n2: #2E6F51; --n3: #8F4C2C; --n4: #F08049; color-scheme: dark;
  --sur-camp: #0C141B; --n1t: #0C141B; --n2t: #FFFFFF; --n3t: #FFFFFF; --n4t: #0C141B;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--papier); color: var(--texte); font-family: var(--f-texte); font-size: 16px; line-height: 1.45; -webkit-font-smoothing: antialiased; overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; -webkit-tap-highlight-color: transparent; }
button:disabled { cursor: not-allowed; opacity: .45; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
h1, h2, h3, p, ol, ul, figure, blockquote { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
[hidden] { display: none !important; }
[style*="--c:"] { --c-t: color-mix(in srgb, var(--c) 78%, var(--texte)); }
.vide { color: var(--doux); }
.pouls { display: inline-block; width: .6em; height: .6em; border-radius: 50%; background: var(--pour); flex: none; animation: pouls 1.8s ease-in-out infinite; }
@keyframes pouls { 50% { transform: scale(1.5); opacity: .45; } }
.camp-pour { --camp: var(--pour); }
.camp-contre { --camp: var(--contre); }
.pour-t { color: var(--pour); font-weight: 700; }
.contre-t { color: var(--contre); font-weight: 700; }
.n1 { --nc: var(--n1); --nt: var(--n1t); } .n2 { --nc: var(--n2); --nt: var(--n2t); } .n3 { --nc: var(--n3); --nt: var(--n3t); } .n4 { --nc: var(--n4); --nt: var(--n4t); }
.reseau { position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 50; background: var(--alerte); color: #fff; font-weight: 700;
  border-radius: 99px; padding: 8px 16px; font-size: 15px; box-shadow: var(--ombre); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
.toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 60; width: max-content; max-width: calc(100% - 32px);
  background: var(--encre); color: var(--carte); font-weight: 700; border-radius: 12px; padding: 10px 16px; box-shadow: var(--ombre); }
.toast.erreur { background: var(--alerte); color: #fff; }
