/* ── Targa'micale · Color tokens ────────────────────────────────────────────
   Brand colors: Bleu #08244C + Jaune (gold) #D68E00, over warm paper #F4EFED.
   Navy is the anchor; gold is the single accent (CTAs, pins, highlights).
   Base scales first, semantic aliases second. */

:root {
  /* ── Navy — brand blue #08244C is the anchor (navy-800). ── */
  --navy-950: #03101F;
  --navy-900: #051B38;
  --navy-800: #08244C;   /* BRAND blue — header, primary actions, wordmark */
  --navy-700: #0E3160;
  --navy-600: #16467F;
  --navy-500: #245C9C;
  --navy-400: #4A7CB5;
  --navy-300: #88A6CB;
  --navy-200: #BFD0E2;
  --navy-100: #E2EAF2;
  --navy-50:  #F1F5FA;

  /* ── Paper — warm off-white surface family (anchored on #F4EFED). ── */
  --paper-0:   #FFFFFF;   /* pure card white */
  --paper-50:  #FBF8F6;
  --paper-100: #F4EFED;   /* Targa surface — page background */
  --paper-200: #ECE4DF;
  --paper-300: #E0D5CD;
  --paper-400: #CBBCB0;

  /* ── Ink — warm-neutral text greys (tuned over paper). ── */
  --ink-900: #14222E;
  --ink-700: #36444F;
  --ink-500: #5E6B73;
  --ink-400: #8A9097;   /* placeholder grey */
  --ink-300: #AEB4B8;
  --ink-200: #D2D6D8;

  /* ── Gold — brand yellow #D68E00. The single accent. CTAs, pins, members. ── */
  --gold-700: #8A5C00;
  --gold-600: #B47600;
  --gold-500: #D68E00;   /* primary accent */
  --gold-400: #E8A828;
  --gold-300: #F1C56A;
  --gold-100: #FBEBC9;

  /* ── Sea — map water & data viz only (not UI chrome). ── */
  --sea-deep:  #0E3346;
  --sea-mid:   #1F5E73;
  --sea-shoal: #5FA7B5;
  --sea-foam:  #CFE6E9;

  /* ── Functional status hues ── */
  /* Chaque famille a sa nuance de texte **pour son propre lavis**, mesurée :
     posées dessus, les 600 donnaient 4,19 (vert) et 3,22 (ambre) là où un texte
     courant demande 4,5. Les 700 donnent 5,36 et 5,03, et restent de la même
     famille. Les 600 gardent tous leurs usages sur fond clair — c'est le fond
     qui décide, pas la couleur, la même règle que l'or du club. */
  --green-700: #256B45;
  --green-600: #2E7D52;
  --green-100: #DCEFE3;
  --amber-700: #8A5A00;
  --amber-600: #B47600;   /* shares the gold family */
  --amber-100: #FBEBC9;
  /* Le rouge du club sur son propre lavis ne donnait que 4,31:1, sous les 4,5
     que demande un texte courant. Celui-ci donne 5,25 et reste de la même
     famille ; `--red-600` garde ses usages sur fond clair. */
  --red-700:   #A93226;
  --red-600:   #C0392B;
  --red-100:   #F7E0DB;

  /* ════════ Semantic aliases ════════ */

  /* Surfaces */
  --surface-page:     var(--paper-100);
  --surface-raised:   var(--paper-50);
  --surface-card:     var(--paper-0);
  --surface-sunken:   var(--paper-200);
  --surface-inverse:  var(--navy-800);
  --surface-overlay:  rgba(5, 27, 56, 0.55);

  /* Text */
  --text-strong:      var(--ink-900);
  --text-body:        var(--ink-700);
  --text-muted:       var(--ink-500);
  --text-placeholder: var(--ink-400);
  --text-on-navy:     var(--paper-50);
  --text-on-accent:   var(--navy-800);   /* navy text on gold */
  --text-brand:       var(--navy-800);
  /*
   * **L'or d'un texte sur fond clair est le 700, sur le jeton et non au point
   * d'appel.**
   *
   * Deux règles avaient été corrigées une à une le 2026-08-27 en notant « le
   * jeton n'est pas touché » — or c'est lui qui les alimentait, et il peignait
   * encore le sur-titre des articles (3,33:1 sur le papier) et le « vers » du
   * registre (3,80 sur une carte blanche). Corriger au point d'appel laisse le
   * défaut armé pour la prochaine règle.
   *
   * `--text-accent-on-navy` pour l'autre fond : c'est **le fond qui décide**,
   * et sur le navy le 600 donne 5,65 là où le 700 tomberait à 2,64.
   */
  --text-accent:         var(--gold-700);
  --text-accent-on-navy: var(--gold-600);

  /* Lines & borders */
  --border-subtle:    var(--paper-300);
  --border-default:   var(--paper-400);
  --border-strong:    var(--navy-200);
  --border-focus:     var(--navy-600);

  /* Interactive — primary (navy) */
  --action-bg:        var(--navy-800);
  --action-bg-hover:  var(--navy-700);
  --action-bg-active: var(--navy-900);
  --action-fg:        var(--paper-50);

  /* Interactive — accent (gold) */
  --accent-bg:        var(--gold-500);
  --accent-bg-hover:  var(--gold-600);
  --accent-bg-active: var(--gold-700);
  /*
   * Navy on gold, like --text-on-accent twenty lines above.
   *
   * This token said white and that one said navy, on the same colour, in the
   * same file. The theme only ever read the first — but the second is exported
   * to every plugin, and targamicale-carte reads it for the berth picker's one
   * gold button: white on #D68E00 measures 2,72:1 where 4,5 is asked. Its own
   * fallback was navy, which says what its author expected.
   */
  --accent-fg:        var(--navy-800);   /* navy text on gold — see --text-on-accent */

  /* Map pins */
  /*
   * **Ce que la carte dessine vraiment**, et non l'inverse.
   *
   * Ces jetons disaient « or par défaut, navy pour la sélection » : c'est le
   * contraire depuis le 2026-08-07, où l'or a cessé d'identifier « mes bateaux »
   * pour désigner ce qu'on regarde — l'accent unique du club marque une
   * attention, pas un sujet. Personne ne les lit — `targamicale-carte` prend
   * ses couleurs des réglages du bureau, dont ce sont les valeurs par défaut —
   * mais un jeton qui décrit l'écran à l'envers est pire qu'un jeton absent.
   */
  --pin-default:      var(--navy-800);
  --pin-mine:         var(--ink-400);
  --pin-selected:     var(--gold-500);
  --pin-cluster:      var(--navy-700);

  /*
   * Status.
   *
   * **Les 700 pour le texte, les 600 restent pour un aplat.** Les trois
   * couleurs d'état appariées à leur propre lavis donnent 4,31, 4,19 et 3,22 —
   * exactement les trois chiffres que le club a mesurés puis corrigés règle par
   * règle, en laissant les jetons dessous. Ce sont eux qu'un plugin lit.
   */
  --status-success-fg: var(--green-700);
  --status-success-bg: var(--green-100);
  --status-warning-fg: var(--amber-700);
  --status-warning-bg: var(--amber-100);
  --status-danger-fg:  var(--red-700);
  --status-danger-bg:  var(--red-100);
  --status-info-fg:    var(--navy-600);
  --status-info-bg:    var(--navy-100);

  /* **Un anneau se voit.** À 0,35 d'alpha il donnait 1,21:1 sur le papier du
     club : c'est-à-dire rien. 0,55 le porte au-dessus de 3:1 sur les deux
     surfaces, seuil demandé d'un indicateur non textuel — et il reste un
     halo, pas un trait. */
  --focus-ring: 0 0 0 3px rgba(8, 36, 76, 0.55);

  /* **La rampe des anneaux.** Sept teintes pour départager des tranches, et
     c'est tout ce qu'elles font : elles n'identifient rien et ne désignent
     aucune action. Elles vont du navy du club à son or en passant par la mer,
     ce qui les tient dans la marque sans dépenser l'accent — l'or ne tombe
     qu'en dernier, sur la tranche la plus petite. Écrites en dur dans
     `BCP_Figures::hue()` jusqu'au 2026-09-04, où seules deux d'entre elles
     existaient comme jetons. */
  --chart-1: var(--navy-800);
  --chart-2: var(--navy-700);
  --chart-3: #1C4C7C;
  --chart-4: #2E6E96;
  --chart-5: #4A90A4;
  --chart-6: #7FB3BC;
  --chart-7: var(--gold-500);
}
