{
  "$schema": "https://design-tokens.github.io/community-group/format/",
  "$description": "Vingt Mille — design tokens « Lagon ». Source de vérité machine-readable, miroir exact de site/assets/tokens.css. Toute divergence est un bug.",
  "$version": "1.0.0",
  "color": {
    "ecume":      { "$value": "#FBF7F0", "$type": "color", "$description": "Fond de page principal" },
    "sable":      { "$value": "#F3EBDD", "$type": "color", "$description": "Fond alterné, surfaces posées" },
    "blanc":      { "$value": "#FFFFFF", "$type": "color", "$description": "Cartes sur sable, champs de formulaire" },
    "eau-050":    { "$value": "#EEF8F9", "$type": "color" },
    "eau-100":    { "$value": "#DCF1F4", "$type": "color", "$description": "Surfaces immergées, hovers doux" },
    "eau-200":    { "$value": "#B8E3E9", "$type": "color", "$description": "Décors, vagues" },
    "lagon-300":  { "$value": "#6FCBD4", "$type": "color", "$description": "Décor, bulles" },
    "lagon-500":  { "$value": "#0FA3B1", "$type": "color", "$description": "Couleur d'identité. INTERDIT pour le texte courant (contraste insuffisant)." },
    "lagon-700":  { "$value": "#0A6973", "$type": "color", "$description": "Liens et texte coloré — AA sur écume/sable" },
    "lagon-900":  { "$value": "#07444C", "$type": "color" },
    "corail-100": { "$value": "#FFE5DF", "$type": "color" },
    "corail-300": { "$value": "#FFA493", "$type": "color" },
    "corail-500": { "$value": "#FF7059", "$type": "color", "$description": "CTA et accents chauds. Texte associé : corail-ink, jamais blanc." },
    "corail-700": { "$value": "#C2492F", "$type": "color" },
    "corail-ink": { "$value": "#47140A", "$type": "color", "$description": "Texte sur fond corail-500 (≈ 7,3:1)" },
    "soleil-100": { "$value": "#FFF3D6", "$type": "color" },
    "soleil-400": { "$value": "#FFD166", "$type": "color", "$description": "Badges, surlignages" },
    "soleil-ink": { "$value": "#4A3508", "$type": "color" },
    "encre":      { "$value": "#0B3C49", "$type": "color", "$description": "Texte principal — ≈ 10,9:1 sur écume (AAA)" },
    "encre-soft": { "$value": "#41626D", "$type": "color", "$description": "Texte secondaire — ≈ 5,9:1 sur écume (AA)" },
    "encre-faint":{ "$value": "#6E8893", "$type": "color", "$description": "Placeholders et légendes en grands corps uniquement" },
    "border":     { "$value": "#E4D9C6", "$type": "color" },
    "border-soft":{ "$value": "#EFE7D8", "$type": "color" },
    "ok-bg":      { "$value": "#E3F4E8", "$type": "color" },
    "ok-ink":     { "$value": "#1B5E33", "$type": "color" },
    "alerte-bg":  { "$value": "#FFF3D6", "$type": "color" },
    "alerte-ink": { "$value": "#7A5708", "$type": "color" },
    "erreur-bg":  { "$value": "#FBE5E0", "$type": "color" },
    "erreur-ink": { "$value": "#9B2C16", "$type": "color" }
  },
  "font": {
    "display": { "$value": "\"Young Serif\", Georgia, \"Times New Roman\", serif", "$type": "fontFamily", "$description": "Titres uniquement (h1–h3, chiffres de prix). Jamais en corps de texte." },
    "body":    { "$value": "\"Nunito Sans\", \"Segoe UI\", system-ui, -apple-system, sans-serif", "$type": "fontFamily" },
    "mono":    { "$value": "\"IBM Plex Mono\", ui-monospace, \"SF Mono\", Menlo, monospace", "$type": "fontFamily", "$description": "Données chiffrées, profondeurs, code" }
  },
  "fontSize": {
    "xs":  { "$value": "0.8125rem", "$type": "dimension" },
    "s":   { "$value": "0.9375rem", "$type": "dimension" },
    "m":   { "$value": "1.0625rem", "$type": "dimension", "$description": "Corps par défaut — 17px pour la lisibilité 7–77 ans" },
    "l":   { "$value": "1.25rem", "$type": "dimension" },
    "xl":  { "$value": "clamp(1.375rem, 1.1rem + 1.2vw, 1.75rem)", "$type": "dimension" },
    "2xl": { "$value": "clamp(1.75rem, 1.3rem + 2.2vw, 2.625rem)", "$type": "dimension" },
    "3xl": { "$value": "clamp(2.375rem, 1.6rem + 3.8vw, 4rem)", "$type": "dimension" }
  },
  "space": {
    "1": { "$value": "0.25rem", "$type": "dimension" },
    "2": { "$value": "0.5rem", "$type": "dimension" },
    "3": { "$value": "0.75rem", "$type": "dimension" },
    "4": { "$value": "1rem", "$type": "dimension" },
    "5": { "$value": "1.5rem", "$type": "dimension" },
    "6": { "$value": "2rem", "$type": "dimension" },
    "7": { "$value": "3rem", "$type": "dimension" },
    "8": { "$value": "4rem", "$type": "dimension" },
    "9": { "$value": "6rem", "$type": "dimension" },
    "10": { "$value": "8rem", "$type": "dimension" }
  },
  "radius": {
    "s":    { "$value": "10px", "$type": "dimension", "$description": "Champs, badges" },
    "m":    { "$value": "16px", "$type": "dimension", "$description": "Boutons, alertes" },
    "l":    { "$value": "24px", "$type": "dimension", "$description": "Cartes" },
    "xl":   { "$value": "36px", "$type": "dimension", "$description": "Sections, héros" },
    "full": { "$value": "999px", "$type": "dimension", "$description": "Pilules, bulles" }
  },
  "shadow": {
    "s": { "$value": "0 1px 3px rgba(11,60,73,0.08)", "$type": "shadow" },
    "m": { "$value": "0 6px 20px rgba(11,60,73,0.10)", "$type": "shadow" },
    "l": { "$value": "0 18px 44px rgba(11,60,73,0.14)", "$type": "shadow" },
    "ring": { "$value": "0 0 0 3px rgba(15,163,177,0.35)", "$type": "shadow", "$description": "Focus visible — obligatoire sur tout élément interactif" }
  },
  "motion": {
    "ease":        { "$value": "cubic-bezier(0.33, 1, 0.68, 1)", "$type": "cubicBezier", "$description": "« Glisse d'eau » — transition par défaut" },
    "ease-spring": { "$value": "cubic-bezier(0.34, 1.56, 0.64, 1)", "$type": "cubicBezier", "$description": "Micro-interactions uniquement" },
    "duration-fast": { "$value": "160ms", "$type": "duration" },
    "duration-base": { "$value": "280ms", "$type": "duration" },
    "duration-slow": { "$value": "600ms", "$type": "duration" }
  },
  "layout": {
    "container":      { "$value": "72rem", "$type": "dimension" },
    "container-text": { "$value": "46rem", "$type": "dimension" },
    "breakpoints": {
      "$description": "Mobile-first. À utiliser tels quels : @media (min-width: …)",
      "sm": { "$value": "30rem", "$type": "dimension" },
      "md": { "$value": "48rem", "$type": "dimension" },
      "lg": { "$value": "64rem", "$type": "dimension" },
      "xl": { "$value": "80rem", "$type": "dimension" }
    }
  },
  "a11y": {
    "$description": "Contrats d'accessibilité non négociables",
    "touch-target-min": { "$value": "44px", "$type": "dimension" },
    "focus-outline": { "$value": "3px solid #0A6973, offset 2px", "$type": "other" },
    "contrast-rules": {
      "$value": [
        "encre sur écume/sable/blanc : AAA — texte courant",
        "encre-soft sur écume : AA — texte secondaire",
        "lagon-700 sur écume/sable : AA — liens",
        "corail-ink sur corail-500 : AA+ — boutons CTA",
        "lagon-500 : décor uniquement, JAMAIS du texte",
        "encre-faint : légendes ≥ 1.25rem uniquement"
      ],
      "$type": "other"
    }
  }
}
