/* =============================================================================
   GLASS theme — zeno · crimson
   Zeno — the local-first agent suite. The origin of the colour law this package
   enforces: contrast.mjs is a generalisation of Zeno's own budget script, and
   Zeno's palette is tokens.css's built-in default.

   Mark palette (the origin of every number below):
     #0A0607 char (ground) · #7A0E1C blood · #C81E33 crimson (accent) ·
     #FF5A3C ember (accent-2) · #ECE9E6 bone

   Crimson at its mark lightness (L 53.7%) measures 3.2:1 as body text on this
   system's --raised plane — below AA. The hue survives; the lightness does not.
   That single fact is the argument for the whole package.

   Eight numbers. No structure. The lightness ladder, the radii, the type scale,
   the motion curve and the four state hues all come from src/tokens.css and are
   not visible from here — which is why a theme cannot break them.

     hue    taken from the mark, unchanged.
     chroma the mark's chroma, capped at the most saturated value sRGB can hold
            at the lightness the contrast law assigns. Two numbers per accent
            because the gamut at L 78% and the gamut at L 50% are different
            shapes; one number would mean silent clipping in one of the two.
     L      NOT HERE. Lightness is what contrast is made of, so it belongs to
            the system. See tokens.css §1.3-1.4.

   Verified by: node scripts/contrast.mjs
   ============================================================================= */

:root[data-glass="zeno"] {
  --h-ground: 359.8;    --c-ground: 0.0088;
  --h-accent: 22.2;    --c-accent: 0.125;    --c-accent-lt: 0.195;
  --h-accent-2: 32.5; --c-accent-2: 0.178; --c-accent-2-lt: 0.163;
}
