/* tokens.css — the design system, extracted from Articles Vol I (Affinity, Ava Ancheta).
   Colour values are MEASURED, not chosen. Do not "improve" them. */

@font-face{font-family:"Cinzel";src:url("../fonts/cinzel.woff2") format("woff2");
  font-weight:400;font-display:swap;}
@font-face{font-family:"EB Garamond";src:url("../fonts/ebgaramond.woff2") format("woff2");
  font-weight:400;font-display:swap;}

:root{
  /* palette — sampled from the PDF */
  --bone:#E9E4DD;
  --ink:#130C00;
  --gold:#AC8948;
  --orn:#927A42;
  --slate:#607E97;
  --sage:#7C8C6B;
  --steel:#202E3B;
  --navy:#120C35;

  /* derived surfaces — computed from the sampled palette, never sampled themselves.
     The measured values above are the design; these exist so the design can meet
     WCAG AA without anyone repainting it.

       --orn  #927A42 on bone measures 3.27:1 — fine for the cross fleury and the
              rules, below the 4.5:1 minimum for the small caps links that use it.
       --gold #AC8948 on bone measures 2.58:1 — fine for a decorative frame, below
              the 3:1 minimum for a control border like the reader buttons.

     Both are darkened in HLS with hue and saturation held constant, so they read as
     the same colour. Recomputed by tests/test_site.py, which fails if they drift. */
  --orn-text:#786436;   /* 4.52:1 on bone — ornament colour for small text          */
  --gold-ui:#9E7E42;    /* 3.01:1 on bone — gold for control borders and outlines   */

  --navy-fg:#EDE7DA;
  --navy-gold:#C9A961;
  --hairline:rgba(19,12,0,.13);

  /* type */
  --caps:"Cinzel",Constantia,Georgia,serif;
  --body:"EB Garamond",Constantia,Georgia,serif;
  --util:Candara,Optima,"Segoe UI",system-ui,sans-serif;

  /* scale */
  --fs-mast:clamp(1.9rem,4.3vw,3.05rem);
  --fs-h2:clamp(1.5rem,3.2vw,2.15rem);
  --fs-body:16.5px;
  --fs-small:14.5px;
  --fs-label:10.5px;

  --ls-caps:.05em;
  --ls-label:.24em;

  --leaf-pad:54px;
  --measure:66ch;
}
