/* tokens.css, jetons du système de design (lot UX, D-27). Une valeur vit ici et nulle part ailleurs : les écrans
   consomment les variables. Paires de contraste vérifiées par scripts/contrast-check.js (test unitaire). */
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url("/fonts/figtree-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:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url("/fonts/figtree-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:"Figtree";font-style:italic;font-weight:300 900;font-display:swap;src:url("/fonts/figtree-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:"Figtree";font-style:italic;font-weight:300 900;font-display:swap;src:url("/fonts/figtree-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}

/* The hidden attribute must win over any display rule (a flex label stayed visible while hidden). */
[hidden]{display:none !important}

:root{
  /* Couleurs, thème clair (paires : --ink sur --bg et --surface ; --muted sur --bg et --surface ; --x-ink sur --x-soft ; blanc sur --x) */
  --bg:#EEF1EC; --surface:#FFFFFF; --ink:#1B2524; --muted:#5E6B69; --line:#D7DDD7; --soft:#E3E8E2; --track:rgba(27,37,36,.08);
  --water:#1A6FA0; --prot:#99580A; --renfo:#7A3E9D; --ok:#267A4C; --danger:#C0392B; --warn:#B45309; --info:#2563EB;
  --water-soft:#E3F0F8; --prot-soft:#FBEEDC; --renfo-soft:#EFE4F6; --ok-soft:#E1F2E8; --danger-soft:#FBE4E1; --warn-soft:#FDEBD3; --info-soft:#E3EAFD;
  --water-ink:#155F8A; --prot-ink:#7A4A06; --renfo-ink:#5B2D77; --ok-ink:#1F6240; --danger-ink:#9B2C22; --warn-ink:#8A3E05; --info-ink:#1E4FBF;
  --on-accent:#FFFFFF;
  /* Bandeau de la séance du jour (couleurs posées, identiques en sombre), carte image blanche, voile de modale */
  --hero-from:#7A3E9D; --hero-mid:#5B2D77; --hero-to:#3E1F55; --hero-done-from:#267A4C; --hero-done-to:#1F6240; --hero-shadow:0 10px 30px rgba(122,62,157,.22);
  --on-white-muted:#5E6B69; --scrim:rgba(17,23,21,.55);
  /* Espacements */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-7:32px; --s-8:40px; --s-9:48px; --s-10:64px;
  /* Rayons */
  --r-s:8px; --r-m:14px; --r-l:20px; --r-xl:28px; --r-pill:999px;
  /* Typographie (Figtree) */
  --font:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --t-12:12px; --t-13:13px; --t-14:14px; --t-15:15px; --t-16:16px; --t-17:17px; --t-18:18px; --t-20:20px; --t-22:22px; --t-26:26px; --t-28:28px; --t-32:32px; --t-40:40px; --t-56:56px; --t-72:72px; --t-96:96px; --t-120:120px;
  --lh-text:1.5; --lh-num:1.1;
  /* Ombres (aucune en sombre, bordure --line à la place) */
  --shadow-1:0 1px 2px rgba(27,37,36,.06),0 4px 14px rgba(27,37,36,.06); --shadow-2:0 8px 28px rgba(27,37,36,.14);
  --card-border:transparent;
  /* Mouvement */
  --d-press:120ms; --d-move:200ms; --ease:cubic-bezier(.2,.8,.2,1);
  /* Mise en page */
  --tabs-h:64px; --side-w:248px; --content-max:1320px; --form-max:720px;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#111715; --surface:#1A2220; --ink:#E7EDE9; --muted:#9FACA8; --line:#2B3633; --soft:#222C29; --track:rgba(231,237,233,.10);
    --water:#4FB0E6; --prot:#F0AE4A; --renfo:#B484D8; --ok:#5CC48A; --danger:#E57368; --warn:#F2B35C; --info:#7FA8FF;
    --water-soft:#17303E; --prot-soft:#3A2B12; --renfo-soft:#2E2140; --ok-soft:#173224; --danger-soft:#3D1F1C; --warn-soft:#3B2A12; --info-soft:#1C2A4A;
    --water-ink:#9FD5F4; --prot-ink:#F6CF8E; --renfo-ink:#D7B8EB; --ok-ink:#9FE0BB; --danger-ink:#F4B4AC; --warn-ink:#F7D199; --info-ink:#B9CCFF;
    --on-accent:#0F1514;
    --shadow-1:none; --shadow-2:none; --card-border:var(--line); --hero-shadow:none;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#111715; --surface:#1A2220; --ink:#E7EDE9; --muted:#9FACA8; --line:#2B3633; --soft:#222C29; --track:rgba(231,237,233,.10);
  --water:#4FB0E6; --prot:#F0AE4A; --renfo:#B484D8; --ok:#5CC48A; --danger:#E57368; --warn:#F2B35C; --info:#7FA8FF;
  --water-soft:#17303E; --prot-soft:#3A2B12; --renfo-soft:#2E2140; --ok-soft:#173224; --danger-soft:#3D1F1C; --warn-soft:#3B2A12; --info-soft:#1C2A4A;
  --water-ink:#9FD5F4; --prot-ink:#F6CF8E; --renfo-ink:#D7B8EB; --ok-ink:#9FE0BB; --danger-ink:#F4B4AC; --warn-ink:#F7D199; --info-ink:#B9CCFF;
  --on-accent:#0F1514;
  --shadow-1:none; --shadow-2:none; --card-border:var(--line); --hero-shadow:none;
  color-scheme:dark;
}
@media (prefers-reduced-motion: reduce){:root{--d-press:0ms; --d-move:0ms}}
