/* ==========================================================================
   Optisoins — jetons de la charte, partages par le site (`home.css`) et par
   la page du programme test (`style.css`). Extraits de `style.css` le
   30/08/2026 : les deux feuilles en avaient besoin, une seule les portait.
   Ils viennent de `docs/04-design-system.md` et de `AppPalette.dark`.
   ========================================================================== */

:root {
  /* Charte */
  --os-blue-dark: #15153E;
  --os-blue: #5E72E4;
  --os-green: #A7F6CF;
  --os-red: #F5365C;

  /* Dérivées */
  --os-blue-hover: #4D5FD0;
  --os-green-hover: #8FE9BB;
  --os-blue-on-dark: #97A5F2;
  --os-blue-edge: rgba(94, 114, 228, .35); /* AppColors.blueEdge */

  /* Rôles du thème sombre (AppPalette.dark) */
  --os-ink: #0A0A24;
  --os-sheet: #1C1C46;
  --os-sheet-raised: #23234F;
  --os-veil: rgba(255, 255, 255, .08); /* surfaceVeil */
  --os-border: rgba(255, 255, 255, .12);
  --os-border-str: rgba(255, 255, 255, .20);
  --os-shadow-strong: rgba(0, 0, 0, .54);

  /* Encres du thème sombre */
  --os-text: #EEF0F8; /* textPrimary */
  --os-text-muted: rgba(255, 255, 255, .62); /* textMuted */
  --os-accent-ink: var(--os-blue-on-dark);
  --os-green-ink: var(--os-green);
  --os-danger-ink: var(--os-red);

  /* Encres sur champ blanc (le champ reste blanc la nuit, cf. §4.2) */
  --os-field-text: #1F2544;
  --os-field-muted: #6B7191;

  /* Rayons */
  --os-radius-sm: .375rem;
  --os-radius: .875rem;
  --os-radius-lg: 1.5rem;
  --os-radius-pill: 100vw;

  /* Ombres, animation */
  --os-shadow-sm: 0 2px 8px rgba(21, 21, 62, .08);
  --os-shadow: 0 12px 32px -12px rgba(21, 21, 62, .22);
  --os-ease: cubic-bezier(.25, .8, .25, 1);

  /* Rythme */
  --shell: 1120px;
  --gap: clamp(1.25rem, 4vw, 2.5rem);
  --section-y: clamp(3rem, 7vw, 5.5rem);

  --check-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.3 5.7a1 1 0 0 1 0 1.4l-9.9 9.9a1 1 0 0 1-1.4 0l-5.3-5.3a1 1 0 1 1 1.4-1.4l4.6 4.6 9.2-9.2a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E");
  /* Glyphe de l'oeil du champ mot de passe. */
  --eye-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c-5 0-9.27 3.11-11 7 1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7zm0 12a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-8a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E");
}
