/* tokens.css — GENERATED by tools/palette.mjs. Do not edit by hand.
   Every value below was solved in OKLCh and proved as a PAIR: each surface
   against the photograph it sits on (at the dark and the bright end of the
   picture, composited in GAMMA space the way the compositor does it), and each
   ink against the thinnest glass it is ever set on. Run
   `node tools/palette.mjs --check` to re-prove it and
   `node tools/palette.mjs --control` to prove the check still fails when it
   should.

   The ground measured here: p10 rgb(134 116 90), p50 rgb(199 158 108), p90 rgb(229 189 127). */
:root {
  /* inks — hue 70, the shade between the rows */
  --ink: #2e1e0a;
  --ink-2: #4b3821;
  --ink-3: #604c34;
  --line: rgba(46, 30, 10, .13);
  --line-2: rgba(46, 30, 10, .075);

  /* ember — every button, every link, and the mark */
  --ember: #853f13;
  --ember-2: #b35c29;
  --glow: #f5ca7a;
  --bright: #f7e2bc;
  --wash: rgba(133, 63, 19, .085);
  --wash-2: rgba(133, 63, 19, .15);

  /* grain — the one flat fill */
  --grain: #fdca67;
  --grain-ink: #6e4015;
  --grain-wash: rgba(253, 202, 103, .18);

  /* alight, and money leaving */
  --up: #2c5c2f;
  --sprout: #9de69f;
  --down: #94221f;
  --up-wash: rgba(44, 92, 47, .10);
  --down-wash: rgba(148, 34, 31, .10);

  /* the same colours as r,g,b triples, so the stylesheet can set an alpha on one
     of them without ever typing a chromatic literal of its own (tools/validate.mjs
     refuses those: a brand hue typed into CSS is the thing that drifts). */
  --ink-rgb: 46, 30, 10;
  --ember-rgb: 133, 63, 19;
  --grain-rgb: 253, 202, 103;
  --glow-rgb: 245, 202, 122;
  --bright-rgb: 247, 226, 188;
  --up-rgb: 44, 92, 47;
  --down-rgb: 148, 34, 31;

  /* glass: rgb(255 251 240) is white warmed toward the grain */
  --glass: 255, 251, 240;
  --head: rgba(var(--glass), 0.62);
  --surface: rgba(var(--glass), 0.54);
  --surface-2: rgba(var(--glass), 0.66);
  --surface-3: rgba(var(--glass), 0.82);
  --panel: var(--surface);

  /* Blur stays light on purpose: at 18-22px it erases the photograph under every
     card and the page measures busy ~0 where the reference reads 2-7. At 4px the
     docs sheet and the census panes still measured 24-25% flat against the
     reference's worst 16%; the ground is already softened, so 2px is enough. */
  --blur: saturate(150%) blur(2px);
  --blur-lite: saturate(140%) blur(1.5px);

  --shadow-sm: 0 1px 2px rgba(46, 30, 10, .06), 0 4px 14px rgba(46, 30, 10, .07);
  --shadow: 0 16px 44px rgba(46, 30, 10, .16);
  --shadow-lg: 0 30px 80px rgba(46, 30, 10, .24);

  /* the ground behind everything, for the flash before the jpeg paints */
  --ground-fill: rgb(199 158 108);
}
