/* ============================================================
   Simple Not Easy — design tokens (documents imprimés)
   Dérivé de coprojournal/docs/design-tokens.css (charte v1.2) le
   2026-09-06 : Junior tranche que la DA de l'entreprise EST celle
   de CoproJournal, déclinée pour le papier. Ce fichier ne se
   resynchronise PAS automatiquement — toute évolution du voisin se
   reporte ici à la main, par le directeur artistique.
   Préfixe : --sne- (Simple Not Easy), jamais --cj-.
   ============================================================ */

:root {
  /* — Papier & encre — */
  --sne-paper:       #FFFFFF;
  --sne-paper-warm:  #F6F7F5;  /* surface secondaire à peine teintée */
  --sne-rule:        #E4E2DA;  /* filets / bordures */
  --sne-ink:         #1A1815;  /* titres, texte fort */
  --sne-ink-soft:    #3A3530;  /* corps de texte */
  --sne-ink-muted:   #6B6356;  /* texte informatif — AA 5.9:1 sur blanc */
  --sne-ink-faint:   #847D72;  /* DÉCOR uniquement (AA 4.1:1) — jamais d'info essentielle */

  /* — Accent : le vert « registre », hérité de CoproJournal — */
  --sne-accent:        #2E6E57;
  --sne-accent-strong: #235543;
  --sne-accent-soft:   #4F8F76; /* décoratif seulement */
  --sne-accent-wash:   #E4EDE7;

  /* — Highlight — déjà un token vitrine/print chez le voisin — */
  --sne-highlight: #F0D878;

  /* — Typographie — Inter Tight (titres/corps), JetBrains Mono (métadonnées) —
     JetBrains Mono n'est PAS variable ici : un seul fichier, 400 uniquement.
     Ne jamais lui demander 500/600/700 — le navigateur synthétiserait un faux
     gras, visible et laid à l'impression. */
  --sne-font-title: 'Inter Tight', 'Segoe UI', Arial, sans-serif;
  --sne-font-body:  'Inter Tight', 'Segoe UI', Arial, sans-serif;
  --sne-font-mono:  'JetBrains Mono', 'Cascadia Code', monospace;

  --sne-text-2xs:  0.75rem;   /* 12px — mentions légales */
  --sne-text-xs:   0.8125rem; /* 13px — métadonnées, tampon */
  --sne-text-sm:   0.9375rem; /* 15px — texte secondaire */
  --sne-text-base: 1.0625rem; /* 17px — corps par défaut */
  --sne-text-lg:   1.25rem;   /* 20px — titre de bloc */
  --sne-text-xl:   1.625rem;  /* 26px — titre de section */
  --sne-text-2xl:  2rem;      /* 32px — titre de document */

  --sne-leading-tight:  1.2;
  --sne-leading-snug:   1.3;  /* interligne registre */
  --sne-leading-normal: 1.5;

  --sne-weight-normal:   400;
  --sne-weight-medium:   500;
  --sne-weight-semibold: 600;
  --sne-weight-bold:     700;

  /* — Espacement (base 4px) — */
  --sne-space-1: 4px;  --sne-space-2: 8px;  --sne-space-3: 12px;
  --sne-space-4: 16px; --sne-space-5: 24px; --sne-space-6: 32px; --sne-space-8: 48px;

  /* — Rayons — « moins bubble, plus gazette » — */
  --sne-radius-sm: 3px; --sne-radius-md: 6px; --sne-radius-lg: 8px; --sne-radius-pill: 999px;

  /* — Élévation par filet, jamais par ombre — */
  --sne-elev-1: 0 0 0 1px var(--sne-rule);

  /* — Primitives « registre » — */
  /* Chapeau : filet 1,5px accent-strong qui ouvre une entrée (SHORTHAND —
     utilisable uniquement en position border-*, jamais où une couleur est
     attendue). */
  --sne-rule-chapeau: 1.5px solid var(--sne-accent-strong);
  /* Liseré : bordure gauche 3px accent-strong qui ouvre une entrée en carte
     légère. */
  --sne-rule-liseré: 3px solid var(--sne-accent-strong);
  /* Tampon : le fond du bandeau № · date · heure — wash vert qui s'estompe. */
  --sne-stamp-gradient: linear-gradient(
    180deg,
    var(--sne-accent-wash) 0%,
    var(--sne-accent-wash) 55%,
    transparent 100%
  );

  /* — Mise en page document — */
  --sne-content-max: 680px;

  /* — Primitives d'imprimé — le vocabulaire propre au PAPIER, absent du
     design system applicatif : relevé le 2026-09-06 sur les imprimés de
     coprojournal-vitrine (pdf-syndics.html, pdf-ag.html, affiche.html),
     validé par Junior sur les artboards de la charte entreprise. Ce sont
     les motifs qui font qu'un devis, une facture ou un courrier se lisent
     comme un « registre » et pas comme un écran imprimé. */

  /* Filet d'en-tête : ferme la ligne marque + type de document, sous tout
     le bloc d'en-tête d'un document. Plus épais que --sne-rule-chapeau
     (1,5px) : c'est la clôture de l'en-tête entier, pas l'ouverture d'une
     simple entrée. SHORTHAND — utilisable uniquement en position border-*,
     jamais où une couleur seule est attendue. */
  --sne-rule-header: 3px solid var(--sne-ink);
  /* Filet de pied : double trait au-dessus des mentions légales — signale
     qu'on quitte le corps du document pour l'identification obligatoire
     (TVA, BCE, IBAN). SHORTHAND — utilisable uniquement en position
     border-*. */
  --sne-rule-footer: 3px double var(--sne-ink);
  /* Encadré : isole un bloc par un bord PLEIN en encre — jamais le filet
     gris (--sne-rule) qui sert aux séparations discrètes. Rayon associé :
     --sne-radius-md (6px), déjà déclaré ci-dessus. SHORTHAND — utilisable
     uniquement en position border-*. */
  --sne-frame: 1.5px solid var(--sne-ink);

  /* Deux tailles de plus, propres aux inscriptions les plus petites du
     papier — le reste de l'échelle (2xs à 2xl) sert déjà l'écran et le
     document. */
  --sne-text-3xs: 0.625rem;   /* 10px — chapeau de section (mono, capitales, au-dessus d'un titre) */
  --sne-text-4xs: 0.5625rem;  /* 9px — étiquette (mono, capitales, sur fond surligneur) */

  /* Rayon de l'étiquette — plus carré que --sne-radius-sm (3px), pour une
     pastille qui ne prétend pas être un bouton. */
  --sne-radius-xs: 2px;

  /* Emphase de titre — un mot de titre en italique : PAS un token dédié,
     une composition des primitives existantes — --sne-weight-medium (500)
     sur Inter Tight (jamais sur la mono, qui reste à 400) + --sne-accent.
     C'est la signature typographique de la marque à l'imprimé : voir
     `<em>` dans .doc-title de gabarit-document.html. */

  /* Étiquette — mono capitales sur --sne-highlight, --sne-radius-xs. La
     source vitrine (pdf-ag.html) monte ses libellés de section en mono
     font-weight 600 : ÉCARTÉ ici, cette famille n'existe qu'en 400 dans
     ce dépôt (fichier non variable) — 600 synthétiserait un faux gras à
     l'impression. L'étiquette reste donc en --sne-weight-normal partout. */
}
