/* 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 bright ends 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(68 24 0), p50 rgb(106 47 4), p90 rgb(177 142 114). */
:root {
  /* inks — hue 42, the sandstone taken almost to black */
  --ink: #38190c;
  --ink-2: #482b1f;
  --ink-3: #61453b;
  --line: rgba(56, 25, 12, .14);
  --line-2: rgba(56, 25, 12, .08);

  /* the rock — buttons, links, the dark band */
  --rock: #661e12;
  --rock-2: #8a3927;
  --ember: #fc9a7c;
  --pale: #f1cbb8;
  --wash: rgba(102, 30, 18, .085);
  --wash-2: rgba(102, 30, 18, .15);

  /* canyon shadow — the one cold thing on the page */
  --sky: #8ac8e4;
  --sky-ink: #004c65;

  --up: #00572f;
  --down: #901c2f;

  /* glass. rgb(255 252 246) is white warmed toward the
     rock, so a card over the canyon reads as lit stone rather than as paper. */
  --glass: 255, 252, 246;
  --head: rgba(var(--glass), 0.52);
  --surface: rgba(var(--glass), 0.58);
  --surface-2: rgba(var(--glass), 0.72);
  --surface-3: rgba(var(--glass), 0.87);
  --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. */
  --blur: saturate(160%) blur(4px);
  --blur-lite: saturate(145%) blur(3px);

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

  /* the ground behind everything, for the flash before the jpeg paints */
  --ground-fill: rgb(106 47 4);
}
