/* Jetons de design, repris du système Astryx (Meta, licence MIT : github.com/facebook/astryx,
   packages/core/src/theme/tokens.stylex.ts) : fond, surfaces, textes, accent bleu, statuts,
   couleurs catégorielles, rayons et ombres. Police Figtree, celle du thème Neutral et du site Astryx.

   Écarts volontaires, pour l'accessibilité (WCAG 2.2 AA, contrastes vérifiés au script) :
   - contour des champs : #647685 (4,7:1) au lieu de --color-border-emphasized #CCD3DB (1,5:1),
     sous le seuil de 3:1 exigé pour délimiter un contrôle ;
   - texte sur l'accent en mode sombre : encre foncée (6:1) au lieu du blanc (3,1:1) ;
   - erreur en mode sombre : #FF705D (thème Neutral, 6:1) au lieu de #F5394F (4,4:1) ;
   - piste des barres en mode sombre : #3A3D42, pour que le remplissage ressorte à 3:1 au moins.
   Clair par défaut, sombre selon le système ou forcé avec <html data-theme="dark|light">. */
:root{
  /* Surfaces */
  --bg:#F1F4F7;                    /* --color-background-body */
  --surface:#FFFFFF;               /* --color-background-surface, -card */
  --surface-2:#F3F6F8;             /* --color-background-muted (#0536590C sur blanc) */
  --neutral:rgba(5,54,89,.1);      /* --color-neutral : boutons secondaires, puces */
  --hover:rgba(5,54,89,.05);       /* --color-overlay-hover */
  --pressed:rgba(5,54,89,.1);      /* --color-overlay-pressed */
  --scrim:rgba(1,18,40,.4);        /* --color-overlay */
  --inverted:#0A1317;              /* --color-background-inverted (message éphémère) */
  --on-inverted:#FFFFFF;

  /* Texte */
  --ink:#0A1317;                   /* --color-text-primary (18,8:1) */
  --ink-soft:#4E606F;              /* --color-text-secondary (6,5:1 sur blanc, 5,9:1 sur le fond) */

  /* Contours */
  --line:#647685;                  /* contour des champs : --color-border-gray, 4,7:1 */
  --line-soft:rgba(5,54,89,.1);    /* --color-border : cartes, séparateurs */

  /* Accent */
  --accent:#0064E0;                /* --color-accent (5,4:1 sur blanc) */
  --accent-ink:#FFFFFF;            /* --color-on-accent */
  --accent-soft:rgba(0,130,251,.2);/* --color-accent-muted */
  --link:#0064E0;                  /* --color-text-accent */

  /* Statuts (textes 4,5:1 au moins sur blanc) */
  --good:#0D8626;                  /* --color-success */
  --mid:#B34A01;                   /* orange 650 */
  --low:#D31130;                   /* --color-icon-red */
  --good-bg:rgba(36,187,94,.2);    --good-ink:#09441F;   /* --color-background-green / --color-text-green */
  --bad-bg:rgba(227,25,59,.2);     --bad-ink:#7B0210;    /* rouge */
  --warn-bg:rgba(226,164,0,.2);    --warn-ink:#753F07;   /* jaune */
  --info-bg:rgba(1,113,227,.2);    --info-ink:#042F97;   /* bleu */

  /* Barres et graphique */
  --track:#CCD3DB;                 /* --color-track */
  --chart-band:rgba(0,100,224,.16);
  --chart-curve:#0064E0;
  --chart-point:#0A1317;
  --chart-grid:rgba(5,54,89,.12);

  /* Groupes d'ingrédients : couleurs catégorielles Astryx (niveau 500) */
  --g-animal:#E3193B;   --g-cereal:#C58600;  --g-legume:#EB6E00;  --g-tuber:#F351C0;   --g-vegetable:#0D8626;
  --g-fruit:#089DD0;    --g-fat:#9081FF;     --g-fibre:#08A3A3;   --g-mineral:#647685; --g-other:#A4B0BC;

  /* Volume, forme */
  --shadow-low:0 1px 1px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.1);
  --shadow-med:0 1px 2px rgba(0,0,0,.1), 0 2px 12px rgba(0,0,0,.1);
  --shadow-high:0 2px 2px rgba(0,0,0,.1), 0 8px 24px rgba(0,0,0,.1);
  /* Logo (docs/marque) : encre et bleu des versions claire et sombre fournies */
  --logo-ink:#1C1B1D;
  --logo-blue:#118AFC;
  /* Couleur de chaque appli (sélecteur d'applis) */
  --app-tracker:#0B7A22;
  --app-nourriture:#0064E0;
  --app-finance:#C58600;

  --radius-inner:4px;              /* contenu imbriqué */
  --radius:8px;                    /* --radius-element : boutons, champs */
  --radius-container:12px;         /* cartes, panneaux */
  --radius-page:20px;              /* blocs vedettes, boîte de dialogue */
  --radius-full:9999px;            /* pastilles, barres */

  /* Typographie : échelle Astryx base 16, rapport 1,2 (réglage tactile du thème Neutral) */
  --font-body:'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-display:var(--font-body);
  --font-code:ui-monospace, 'SF Mono', Monaco, Consolas, 'Liberation Mono', monospace;
  --fs-xs:.75rem;     /* 12 */
  --fs-sm:.8125rem;   /* 13 */
  --fs-md:.875rem;    /* 14 */
  --fs-base:1rem;     /* 16 */
  --fs-lg:1.1875rem;  /* 19 */
  --fs-xl:1.4375rem;  /* 23 */
  --fs-2xl:1.75rem;   /* 28 */
  --fs-3xl:2.0625rem; /* 33 */
  --header-h:60px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#111112; --surface:#1F1F22; --surface-2:#28292C; --neutral:rgba(223,226,229,.14); --hover:rgba(255,255,255,.05);
    --pressed:rgba(255,255,255,.1); --scrim:rgba(17,17,18,.7); --inverted:#F3F4F6; --on-inverted:#0A1317;
    --ink:#DFE2E5; --ink-soft:#AAAFB5; --line:#748695; --line-soft:rgba(242,244,246,.1);
    --accent:#2694FE; --accent-ink:#0A1317; --accent-soft:rgba(0,130,251,.25); --link:#3E9EFB;
    --good:#26A756; --mid:#FB8C00; --low:#FF705D;
    --good-ink:#A5F690; --bad-ink:#FFB2B8; --warn-ink:#FBCE03; --info-ink:#AFD7FF;
    --track:#3A3D42; --chart-band:rgba(38,148,254,.2); --chart-curve:#2694FE; --chart-point:#DFE2E5; --chart-grid:rgba(242,244,246,.1);
    --g-animal:#F5394F; --g-cereal:#FBCE03; --g-legume:#FB8C00; --g-tuber:#EC407A; --g-vegetable:#26A756;
    --g-fruit:#26C6DA;  --g-fat:#9081FF;    --g-fibre:#26A69A;  --g-mineral:#748695; --g-other:#6F747C;
    --shadow-low:0 1px 1px rgba(0,0,0,.2), 0 2px 8px rgba(0,0,0,.2);
    --shadow-med:0 1px 2px rgba(0,0,0,.2), 0 2px 12px rgba(0,0,0,.2);
    --shadow-high:0 2px 2px rgba(0,0,0,.2), 0 8px 24px rgba(0,0,0,.3);
    --logo-ink:#DADEE2; --logo-blue:#1B91FC;
    --app-tracker:#26A756; --app-nourriture:#2694FE; --app-finance:#FBCE03;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#111112; --surface:#1F1F22; --surface-2:#28292C; --neutral:rgba(223,226,229,.14); --hover:rgba(255,255,255,.05);
  --pressed:rgba(255,255,255,.1); --scrim:rgba(17,17,18,.7); --inverted:#F3F4F6; --on-inverted:#0A1317;
  --ink:#DFE2E5; --ink-soft:#AAAFB5; --line:#748695; --line-soft:rgba(242,244,246,.1);
  --accent:#2694FE; --accent-ink:#0A1317; --accent-soft:rgba(0,130,251,.25); --link:#3E9EFB;
  --good:#26A756; --mid:#FB8C00; --low:#FF705D;
  --good-ink:#A5F690; --bad-ink:#FFB2B8; --warn-ink:#FBCE03; --info-ink:#AFD7FF;
  --track:#3A3D42; --chart-band:rgba(38,148,254,.2); --chart-curve:#2694FE; --chart-point:#DFE2E5; --chart-grid:rgba(242,244,246,.1);
  --g-animal:#F5394F; --g-cereal:#FBCE03; --g-legume:#FB8C00; --g-tuber:#EC407A; --g-vegetable:#26A756;
  --g-fruit:#26C6DA;  --g-fat:#9081FF;    --g-fibre:#26A69A;  --g-mineral:#748695; --g-other:#6F747C;
  --shadow-low:0 1px 1px rgba(0,0,0,.2), 0 2px 8px rgba(0,0,0,.2);
  --shadow-med:0 1px 2px rgba(0,0,0,.2), 0 2px 12px rgba(0,0,0,.2);
  --shadow-high:0 2px 2px rgba(0,0,0,.2), 0 8px 24px rgba(0,0,0,.3);
  --logo-ink:#DADEE2; --logo-blue:#1B91FC;
  --app-tracker:#26A756; --app-nourriture:#2694FE; --app-finance:#FBCE03;
  color-scheme:dark;
}

/* Couleur par appli (<html data-app>, js/app-theme.js) : Nourriture · Santé garde le bleu
   ci-dessus ; Tracker en vert, Finance en jaune. Contrastes vérifiés au script : vert foncé
   #0B7A22 (5,5:1 sur blanc, 5:1 sur le fond) ; jaune en fond de bouton avec texte foncé,
   ambre foncé #8A5A00 pour les liens (5,9:1). */
:root[data-app="tracker"]{
  --accent:#0B7A22; --accent-ink:#FFFFFF; --accent-soft:rgba(13,134,38,.18); --link:#0B7A22;
  --logo-blue:#1F9D45; --chart-curve:#0B7A22; --chart-band:rgba(13,134,38,.16);
}
:root[data-app="finance"]{
  --accent:#C58600; --accent-ink:#0A1317; --accent-soft:rgba(226,164,0,.22); --link:#8A5A00;
  --logo-blue:#E5A800; --chart-curve:#8A5A00; --chart-band:rgba(226,164,0,.18);
}
@media (prefers-color-scheme: dark){
  :root[data-app="tracker"]:not([data-theme="light"]){ --accent:#26A756; --accent-ink:#0A1317; --accent-soft:rgba(38,167,86,.25); --link:#3FBF6A; --logo-blue:#2FB55B; --chart-curve:#26A756; --chart-band:rgba(38,167,86,.2); }
  :root[data-app="finance"]:not([data-theme="light"]){ --accent:#FBCE03; --accent-ink:#0A1317; --accent-soft:rgba(251,206,3,.22); --link:#FBCE03; --logo-blue:#FBCE03; --chart-curve:#FBCE03; --chart-band:rgba(251,206,3,.18); }
}
:root[data-theme="dark"][data-app="tracker"]{ --accent:#26A756; --accent-ink:#0A1317; --accent-soft:rgba(38,167,86,.25); --link:#3FBF6A; --logo-blue:#2FB55B; --chart-curve:#26A756; --chart-band:rgba(38,167,86,.2); }
:root[data-theme="dark"][data-app="finance"]{ --accent:#FBCE03; --accent-ink:#0A1317; --accent-soft:rgba(251,206,3,.22); --link:#FBCE03; --logo-blue:#FBCE03; --chart-curve:#FBCE03; --chart-band:rgba(251,206,3,.18); }
