/* ============================================================
   tokens.css — the single :root design-token block for every page.

   Linked FIRST from index.html, login.html, feedback.html and logs.html.
   This is the only place a colour, shadow, radius or font stack may be
   defined; the old per-sheet :root copies (styles.css, auth.css, logs.css)
   were consolidated here for rel-2.0.0. Branding per docs/SPEC.md §5 plus
   the rel-2.0.0 Figma redesign tokens.
   ============================================================ */

:root {
  --navy: #011A76;        /* primary (chat bubbles, tree, legacy accents) */
  --navy-ink: #041E74;
  --ink: #17181A;         /* body text */
  --cyan: #01A9D0;        /* accent / interactive */
  --gray: #606569;
  --warm-gray: #B9B5B2;
  --line: #E5E7EB;
  --bg: #FFFFFF;
  --bg-soft: #F6F7FB;     /* app background, panels */
  --green: #019E1D;       /* success */
  --red: #A12120;         /* errors / consult */
  --gold: #D9A514;        /* Best rating badge + gold medal */
  --purple: #7C3AED;      /* Ground Truth Board pill dot */

  /* Rank medals. Gold deliberately REUSES --gold rather than adding a second,
     near-identical gold — that reads as a bug and invites someone to "fix" it by
     recolouring .badge-best across the tree, legend and matrix. The medal is told
     apart from the ◆ Best badge by position, shape and numeral, not by hue.
     Bronze is lightened from the obvious #A9702E so its numeral clears WCAG AA
     against --ink (5.18:1; #A9702E manages only 4.27:1). */
  --medal-gold: var(--gold);
  --medal-silver: #9BA3AE;
  --medal-bronze: #B87F35;

  /* rel-2.0.0 redesign. --header-bg is the NDT brand navy from the logo asset
     (#003087), not --navy: the Figma header is visibly brighter than the app's
     primary navy, and #003087 is already canon in static/img/ndt-logo.svg. */
  --header-bg: #003087;
  --header-fg: #FFFFFF;
  --header-h: 64px;
  --accent: var(--green);        /* send arrow, BEST SOLUTION, popup underline */
  --banner-dark: var(--ink);     /* ALTERNATIVE SOLUTIONS header bar */
  --band-bg: #F1F2F5;            /* BUSINESS CHALLENGE / OUR SOLUTION strips */
  --band-label: #6B655F;         /* uppercase gray-brown band labels */
  --bubble-line: #8FA6D9;        /* thin blue border on assistant bubbles */

  --shadow-1: 0 1px 3px rgb(1 26 118 / .08);
  --shadow-2: 0 4px 16px rgb(1 26 118 / .10);
  --shadow-3: 0 12px 40px rgb(1 26 118 / .18);
  /* auth.css / logs.css historically defined these two locally; they live here now. */
  --shadow: 0 1px 3px rgb(1 26 118 / .08);
  --shadow-lg: 0 12px 40px rgb(1 26 118 / .16);
  --radius-s: 10px;
  --radius-m: 12px;
  --radius-l: 14px;
  --ease: cubic-bezier(.4, 0, .2, 1);
  --font: "Inter", "Segoe UI", Arial, sans-serif;
}
