/* =====================================================================
   printrz — tokens (refonte 2026-10, thème sombre unique)
   Toutes les valeurs de couleur, de typographie, d'arrondi et de mouvement.
   Les composants (components.css) et les pages (pages.css) n'utilisent que ces variables.

   Écarts au brief, pour tenir le contraste AA (vérifié par calcul) :
   - --muted  #8A8A92 → #96969F : 4,6:1 au moins sur toutes les surfaces (4,05:1 sur --active avant) ;
   - --dim    #6E6E78 reste, mais réservé au décor et aux états désactivés (3,1:1 : pas de texte utile) ;
   - --accent-btn #2563EB : fond des boutons à texte blanc (5,2:1 ; #3B82F6 ne donne que 3,7:1).
     --accent #3B82F6 reste la couleur des indicateurs, de l'état actif et du focus (≥ 3:1) ;
   - --line-ctl #6E6E78 : bordure des champs, 3:1 contre la carte (WCAG 1.4.11, composants d'interface).
   ===================================================================== */

@font-face {
  font-family: "Archivo";
  src: url("/assets/fonts/archivo-latin-wdth-wght.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
}
/* Repli calibré le temps que la police arrive : métriques verticales d'Archivo (ascendante 88 %, descendante 21 %)
   et largeur proche (mesurée dans le navigateur) : la page ne saute pas au remplacement. */
@font-face {
  font-family: "Archivo Fallback";
  src: local("Arial"), local("Helvetica Neue"), local("Helvetica");
  size-adjust: 99%;
  ascent-override: 88%;
  descent-override: 21%;
  line-gap-override: 0%;
}

:root {
  color-scheme: dark;

  /* Surfaces */
  --bg: #1B1B1E;          /* fond de l'application */
  --bg-page: #151517;     /* fond du site public, extérieur des fenêtres */
  --sidebar: #1F1F23;
  --card: #232327;
  --card-2: #27272C;      /* en-têtes de tableaux, encarts */
  --hover: #2A2A2F;
  --active: #2C2C32;      /* menu actif, segment actif */
  --canvas: #111113;      /* aperçus d'impression (textile noir) */

  /* Traits */
  --line: #2C2C31;        /* structure */
  --line-2: #36363D;      /* boutons secondaires, séparateurs de contrôles */
  --line-ctl: #6E6E78;    /* bordure des champs (3:1) */

  /* Texte */
  --text: #F2F2F4;
  --text-2: #D4D4D9;
  --text-3: #A3A3AA;
  --muted: #96969F;
  --dim: #6E6E78;         /* décor, désactivé : jamais pour un texte utile */

  /* Accent */
  --accent: #3B82F6;      /* indicateurs, actif, focus */
  --accent-btn: #2563EB;  /* fond des boutons (texte blanc 5,2:1) */
  --accent-btn-h: #1D4ED8;
  --accent-t: #60A5FA;    /* liens, textes accentués */
  --accent-soft: rgba(59, 130, 246, 0.14);
  --accent-ring: rgba(59, 130, 246, 0.2);
  --action: linear-gradient(90deg, #2563EB 0%, #6D4AFF 100%); /* bouton d'action d'outil (texte blanc ≥ 5,1:1) */

  /* Statuts (toujours accompagnés d'une icône ou d'un texte) */
  --ok: #4ADE80;   --ok-bg: rgba(34, 197, 94, 0.12);
  --warn: #FBBF24; --warn-bg: rgba(245, 158, 11, 0.14);
  --err: #F87171;  --err-bg: rgba(239, 68, 68, 0.14);

  /* Couleurs d'outil : identité uniquement (onglets d'outils, pictos de marque) */
  --tool-tramedtf: #E6007E;
  --tool-controle: #FFD500;
  --tool-vector: #F2F2F4;

  /* Logo */
  --logo-c: #009FE3; --logo-m: #E6007E; --logo-y: #FFD500; --logo-k: #F2F2F4;

  /* Typographie */
  --font: "Archivo", "Archivo Fallback", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --fs-h1-site: 68px;  --fs-h2-site: 42px;
  --fs-h1-app: 26px;   --fs-card-title: 16px;
  --fs-body: 15px;     --fs-ui: 14px;  --fs-small: 13px;  --fs-label: 12px;

  /* Arrondis */
  --r-seg: 7px; --r-menu: 9px; --r-ctl: 10px; --r-inset: 12px;
  --r-card: 16px; --r-card-lg: 20px; --r-pill: 999px;

  /* Espacements (pas de 4) */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px; --s-8: 32px; --s-10: 40px;

  /* Ombre unique (fenêtre produit de l'accueil, carte de connexion) */
  --shadow-window: 0 30px 80px -20px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.02);
  --halo: radial-gradient(60% 60% at 50% 40%, rgba(59, 130, 246, 0.22) 0%, rgba(59, 130, 246, 0) 70%);

  /* Mouvement */
  --t: 150ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);

  /* Contrôles segmentés, surfaces flottantes, damier (valeurs du thème sombre ; le thème clair les redéfinit) */
  --seg-bg: #1B1B1E; --seg-line: #36363D; --seg-on: #2C2C32; --seg-on-line: #36363D; --seg-shadow: none;
  --float-bg: rgba(35, 35, 39, 0.94);
  --field-bg: #1B1B1E;
  --thumb: #F2F2F4;
  --pop-shadow: 0 12px 32px -12px rgba(0, 0, 0, 0.7);
  --checker-a: #1C1C20; --checker-b: #232327;
  --swatch-line: rgba(255, 255, 255, 0.25);
  --veil: rgba(17, 17, 19, 0.7);
  --scrim: rgba(0, 0, 0, 0.55);
  --selection: rgba(59, 130, 246, 0.35);
  --action-shadow: 0 8px 24px -10px rgba(59, 130, 246, 0.6);
  --pro-bg: rgba(124, 92, 255, 0.18); --pro-t: #B9A8FF;
  --tool-bat: #7C5CFF;
  --tool-dtfready: #0090C8; /* cyan assombri : picto blanc à 3,6:1 (décor, libellé à côté) */
  --tool-separation: #D9480F; /* orange brûlé : picto blanc à 4,3:1 */
  --tool-seuilshold: #15803D; /* vert profond : picto blanc à 5:1 */

  /* Dimensions de structure */
  --sidebar-w: 248px;
  --topbar-h: 56px;
  --nav-h: 68px;
  --panel-w: 360px;
}

/* =====================================================================
   Thème clair de l'espace atelier, des pages de compte et du kit (refonte du 2026-10-22).
   Posé par la classe .theme-light sur <body> : le site public garde le thème sombre de :root.
   Contrastes AA vérifiés par calcul (scripts de la session, voir docs/decisions.md) :
   textes ≥ 4,5:1 sur --bg, --card, --card-2, --hover et --seg-bg ; --line-ctl ≥ 3:1 sur --card.
   ===================================================================== */
.theme-light {
  color-scheme: light;

  --bg: #F4F4F6;
  --bg-page: #F4F4F6;
  --sidebar: #FFFFFF;
  --card: #FFFFFF;
  --card-2: #F7F7F9;
  --hover: #F0F0F3;
  --active: #EDEDF1;
  --canvas: #E9E9ED;

  --line: #E3E3E8;
  --line-2: #D6D6DD;
  --line-ctl: #8A8A94;

  --text: #111114;
  --text-2: #3F3F46;
  --text-3: #52525B;
  --muted: #62626B;
  --dim: #A1A1AA;

  --accent: #2563EB;
  --accent-btn: #2563EB;
  --accent-btn-h: #1D4ED8;
  --accent-t: #1D4ED8;
  --accent-soft: #E8EFFD;
  --accent-ring: rgba(37, 99, 235, 0.22);
  --action: #2563EB;
  --action-shadow: none;

  --ok: #166534;   --ok-bg: #E3F3E8;
  --warn: #9A4A07; --warn-bg: #FDF1DE;
  --err: #B91C1C;  --err-bg: #FCE8E8;

  --logo-k: #111114;
  --pro-bg: #EDE9FE; --pro-t: #5B3FD6;

  --seg-bg: #EDEDF1; --seg-line: transparent; --seg-on: #FFFFFF; --seg-on-line: transparent; --seg-shadow: 0 1px 2px rgba(17, 17, 20, 0.14);
  --float-bg: rgba(255, 255, 255, 0.96);
  --field-bg: #FFFFFF;
  --thumb: #FFFFFF;
  --pop-shadow: 0 16px 40px -16px rgba(17, 17, 20, 0.28), 0 1px 2px rgba(17, 17, 20, 0.06);
  --checker-a: #FFFFFF; --checker-b: #ECECEF;
  --swatch-line: rgba(17, 17, 20, 0.18);
  --veil: rgba(255, 255, 255, 0.78);
  --scrim: rgba(17, 17, 20, 0.35);
  --selection: rgba(37, 99, 235, 0.2);
  --shadow-window: 0 1px 2px rgba(17, 17, 20, 0.05), 0 16px 40px -20px rgba(17, 17, 20, 0.18);
  --halo: none;
}
