/* ==========================================================================
   GLAYDZ — TOKENS V2 · CHARTE LOGO
   Magenta #FF0082 · Cyan #00C2FF · Ambre #FFB906 · Fond blanc · Encre #1F2937
   Toute valeur est calculée (luminance relative WCAG 2.2), jamais choisie à l'œil.
   ========================================================================== */
:root{
  /* --- FOND ET ÉCRITURE --------------------------------------------------- */
  --gz-bg:#FFFFFF;
  --gz-ink:#1F2937;                /* 14,68:1 sur blanc                       */

  /* --- LES 3 COULEURS DE MARQUE (issues du logo) -------------------------- */
  --gz-magenta:#FF0082;            /* accent 1 — action, énergie              */
  --gz-cyan:#00C2FF;               /* accent 2 — confiance, progression       */
  --gz-amber:#FFB906;              /* accent 3 — repère, pédagogie            */

  /* --- ALIAS DE COMPATIBILITÉ (les 54 maquettes les consomment) ----------- */
  --gz-coral:var(--gz-magenta);
  --gz-teal:var(--gz-cyan);
  --gz-yellow:var(--gz-amber);

  /* --- FONDS D'ACTION : portent du BLANC à n'importe quelle taille -------- */
  --gz-magenta-btn:#E60075;        /* blanc dessus 4,54:1                     */
  --gz-magenta-btn-h:#CC0068;      /* survol                                  */

  /* --- DÉRIVÉES TEXTE-SAFE sur blanc (>= 4,5:1) -------------------------- */
  --gz-magenta-ink:#E70076;        /* 4,51:1 */
  --gz-cyan-ink:#0080A9;           /* 4,51:1 */
  --gz-amber-ink:#9A6F03;          /* 4,52:1 */
  --gz-coral-ink:var(--gz-magenta-ink);
  --gz-teal-ink:var(--gz-cyan-ink);
  --gz-yellow-ink:var(--gz-amber-ink);

  /* --- DÉRIVÉES BORDURE / GROS TEXTE (>= 3:1) ---------------------------- */
  --gz-magenta-3:#FF0082;          /* 3,77:1 */
  --gz-cyan-3:#00A0D3;             /* 3,01:1 */
  --gz-amber-3:#C08B04;            /* 3,03:1 */
  --gz-coral-3:var(--gz-magenta-3);
  --gz-teal-3:var(--gz-cyan-3);

  /* --- ENCRE : niveaux par opacité --------------------------------------- */
  --gz-ink-90:#353E4B;  /* 10,81:1 */
  --gz-ink-80:#4B535E;  /*  7,78:1 */
  --gz-ink-70:#626973;  /*  5,54:1 — plancher texte courant */
  --gz-ink-65:#6D737D;  /*  4,77:1 — plancher absolu        */
  --gz-ink-55:#838991;  /*  3,53:1 — bordure de contrôle    */
  --gz-ink-40:#A5A9AF;  /*  décoratif, jamais de texte      */
  --gz-ink-20:#D2D4D7;
  --gz-ink-12:#E4E5E7;
  --gz-ink-06:#F1F2F3;

  /* --- VOILES ------------------------------------------------------------- */
  --gz-magenta-12:rgba(255,0,130,.12);  --gz-magenta-24:rgba(255,0,130,.24);
  --gz-cyan-12:rgba(0,194,255,.12);     --gz-cyan-24:rgba(0,194,255,.24);
  --gz-amber-12:rgba(255,185,6,.12);    --gz-amber-24:rgba(255,185,6,.24);
  --gz-coral-12:var(--gz-magenta-12);   --gz-coral-24:var(--gz-magenta-24);
  --gz-teal-12:var(--gz-cyan-12);       --gz-teal-24:var(--gz-cyan-24);
  --gz-yellow-12:var(--gz-amber-12);    --gz-yellow-24:var(--gz-amber-24);

  /* --- DÉGRADÉS DE MARQUE (autorisés depuis l'avenant n°2) ---------------- */
  --gz-grad-full:linear-gradient(100deg,#FF0082 0%,#00C2FF 52%,#FFB906 100%);
  --gz-grad-mc:linear-gradient(100deg,#FF0082,#00C2FF);
  --gz-grad-ca:linear-gradient(100deg,#00C2FF,#FFB906);
  --gz-grad-soft:linear-gradient(140deg,rgba(255,0,130,.10),rgba(0,194,255,.10) 55%,rgba(255,185,6,.10));
  /* dégradé réservé au TEXTE : arrêts assombris, chacun >= 4,5:1 sur blanc */
  --gz-grad-text:linear-gradient(100deg,#E70076 0%,#0080A9 54%,#9A6F03 100%);

  /* --- LUEURS ------------------------------------------------------------- */
  --gz-glow-m:0 0 0 1px rgba(255,0,130,.28), 0 8px 32px -8px rgba(255,0,130,.45);
  --gz-glow-c:0 0 0 1px rgba(0,194,255,.28), 0 8px 32px -8px rgba(0,194,255,.45);
  --gz-glow-a:0 0 0 1px rgba(255,185,6,.30), 0 8px 32px -8px rgba(255,185,6,.45);

  /* --- TYPOGRAPHIE -------------------------------------------------------- */
  --gz-font:"Inter","Inter var",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gz-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --gz-h1:clamp(2.5rem,1.3rem + 4.4vw,5rem);
  --gz-h2:clamp(1.85rem,1.2rem + 2.4vw,3rem);
  --gz-h3:clamp(1.25rem,1.05rem + .8vw,1.75rem);
  --gz-h4:clamp(1.05rem,1rem + .3vw,1.25rem);
  --gz-body:clamp(1rem,.97rem + .15vw,1.0625rem);
  --gz-small:.875rem; --gz-micro:.75rem;

  /* --- ESPACEMENTS · RAYONS · OMBRES ------------------------------------- */
  --gz-1:4px; --gz-2:8px; --gz-3:12px; --gz-4:16px; --gz-5:24px;
  --gz-6:32px; --gz-7:48px; --gz-8:64px; --gz-9:96px; --gz-10:128px;
  --gz-r-sm:10px; --gz-r-md:14px; --gz-r-lg:20px; --gz-r-xl:28px; --gz-r-pill:999px;
  --gz-sh-1:0 1px 2px rgba(31,41,55,.06),0 1px 3px rgba(31,41,55,.05);
  --gz-sh-2:0 4px 14px rgba(31,41,55,.08);
  --gz-sh-3:0 18px 44px rgba(31,41,55,.12);
  --gz-sh-focus:0 0 0 3px rgba(255,0,130,.35);

  /* --- MOUVEMENT ---------------------------------------------------------- */
  --gz-ease:cubic-bezier(.22,1,.36,1);
  --gz-ease-spring:cubic-bezier(.34,1.56,.64,1);
  --gz-d1:140ms; --gz-d2:240ms; --gz-d3:420ms; --gz-d4:700ms;

  /* --- GRILLE ------------------------------------------------------------- */
  --gz-max:1240px; --gz-gutter:clamp(1rem,2.4vw,2.5rem);
}
@media (prefers-reduced-motion:reduce){
  :root{--gz-d1:1ms;--gz-d2:1ms;--gz-d3:1ms;--gz-d4:1ms}
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;
    transition-duration:1ms!important;scroll-behavior:auto!important}
}
