/* Jobeazee design tokens — the ONE place colours, radii, shadows and type live.

   WHY THIS FILE EXISTS
   --------------------
   Four stylesheets each declared their own `:root`. guide.css and profiles.css were
   byte-identical for most of it, ui.css (the supplied design system) repeated the same
   values a third time, and chrome.css could not use var() at all — its own header says
   so: "LITERAL COLOUR VALUES, not var(). home.css and guide.css each declare a :root
   with overlapping names and different values ... A chrome that resolved variables
   would render differently depending on which page stylesheet happened to be present."

   That is now fixed from the other end. This file is loaded FIRST on every page, before
   chrome.css and before any page stylesheet, so a var() always resolves to something.

   WHAT BELONGS HERE
   -----------------
   Values shared by more than one page: colour, radius, shadow, type family. Nothing
   else. `--maxw` and `--pad-x` are deliberately NOT here — a marketing page is 1440px
   wide and an app page is 900px, and that is a real difference, not a collision.

   The instruction that came with the design system applies to this file now:
   "Do not introduce new colours, radii or shadows; extend this file instead."
*/

:root {
  /* ── surfaces ───────────────────────────────────────────────────────────── */
  --paper:      #F4F1EA;   /* page background */
  --paper-2:    #EFEBE1;   /* inset / hover */
  --card:       #FFFFFF;

  /* ── text ───────────────────────────────────────────────────────────────── */
  --ink:        #15151A;
  --muted:      #5D5A55;
  --faint:      #8A867E;

  /* ── lines and accents ──────────────────────────────────────────────────── */
  --line:       #E4DFD4;
  --indigo:     #3F35C8;
  --indigo-soft:#ECEBFB;
  --indigo-line:#D9D6F7;
  --green:      #1F9D55;
  --green-soft: #E7F4ED;

  /* 🔴 #8A5D00, NOT the design system's #9A6B00. On --amber-soft the reference colour
     measures about 4.3:1, which passes AA for 14.5px pill text only by rounding; this
     clears it at about 5.1:1 without changing the colour's character.

     The correction was made on profiles.css when /profiles was built and is promoted
     here as canonical, so converting a page cannot quietly reintroduce the failing
     value. A test asserts the reference value appears in no stylesheet's code. */
  --amber:      #8A5D00;
  --amber-soft: #FBF1DC;
  --amber-line: #F0DFB8;

  --danger:     #B3261E;
  /* The tinted background for a danger notice, named here rather than pasted into a
     template. Every other state already had its soft pair (--green-soft, --amber-soft,
     --indigo-soft); danger did not, so the first page that needed one inlined #FDECEA
     and a test caught it. This file's own instruction — "extend this file instead" —
     now has somewhere to point. */
  --danger-soft:#FDECEA;

  /* Two colours the design system used but never named — `.note` body text and the
     "ready" pill's label. Naming them was a refactor, not a restyle: identical output,
     one definition each, and the file's own instruction ("extend this file instead")
     now has somewhere to point. */
  --ink-2:      #2A2A30;
  --green-ink:  #14663A;

  /* ── shape ──────────────────────────────────────────────────────────────── */
  --r-sm:       12px;
  --r-md:       16px;
  --r-lg:       20px;
  --r-pill:     999px;
  --shadow:     0 24px 50px -32px rgba(21, 21, 26, .30);

  /* ── type ───────────────────────────────────────────────────────────────── */
  --sans:  "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
           "Segoe UI", Roboto, sans-serif;
  --serif: "Instrument Serif", Georgia, "Times New Roman", serif;
}

/* ── the one divergence that is NOT resolved here ──────────────────────────────
   home.css (the landing page and /daily-match) still declares its own palette under
   its own names. Measured, it diverges in five places — two that collide by NAME, and
   three that are the same colour role under a different name:

       collide by name       --line         #E2DDD2  vs  #E4DFD4
                             --muted        #5A5A62  vs  #5D5A55
       same role, own name   --accent-soft  #EFEDFB  vs  --indigo-soft  #ECEBFB
                             --good         #2F9E62  vs  --green        #1F9D55
                             --good-soft    #E6F4EC  vs  --green-soft   #E7F4ED

   (`--ink` already agrees exactly, and `--bg`/`--surface`/`--accent`/`--warn-soft`
   agree with their canonical twins. `--sans`/`--serif` differ only in quoting and a
   shorter fallback list, which resolves to the same font wherever Geist loads.)

   It is left alone ON PURPOSE. home.css loads after this file, so on those two pages
   its values win, which is exactly what they render today — this prep step changes no
   pixel. Converging them is a visible change to the highest-traffic page on the site
   and belongs in a batch of its own, with sign-off.

   `tests/test_design_tokens.py` pins that list, so the divergence cannot grow quietly
   while nobody is looking at it. */
