/* cell-evolution design tokens - the SINGLE source for colour, type, spacing, motion.
   Beat code reads these via getComputedStyle (see js/engine.js tokens()); nothing is
   hardcoded inline in a beat. Palette grows from the one-network espresso/cream pair
   (library/one-pdf-design/GOLD.md) with three life accents. */
:root {
  /* ground */
  --c-bg:        #120f0c;   /* the deep dark, the ocean floor, the espresso base */
  --c-bg-2:      #241f1a;   /* espresso-1 : lifted ground */
  --c-bg-3:      #36302a;   /* espresso-2 : surfaces */
  --c-ink:       #f5f2ee;   /* cream : text, primary vector ink */
  --c-ink-dim:   #c4b8aa;   /* ring : secondary ink */
  --c-ink-mute:  #8b7f72;   /* brand-light : hairlines, labels */
  /* life accents */
  --c-seed:      #f0c46b;   /* amber : the seed disc, warmth, energy, sunlight */
  --c-life:      #4fd1b8;   /* bio-teal : membranes, chlorophyll-ish glow, water light */
  --c-blood:     #e2604a;   /* coral : blood, warm-bloodedness, danger, red algae */
  --c-deep:      #1f5c78;   /* deep water blue for volumes and gradients */
  --c-water:     #2b8fa8;   /* shallow water */
  --c-earth:     #7a5c3d;   /* mud, shore, bark */
  --c-leaf:      #6aa552;   /* land green */

  /* the handshake disc (transition grammar) */
  --hs-r: 18vmin;

  /* type scale, ratio 1.25 from 16px, fluid heads */
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --font-body: -apple-system, "Helvetica Neue", Inter, "Segoe UI", Arial, sans-serif;
  --fs-0: 0.8rem;    /* 12.8 */
  --fs-1: 1rem;      /* 16 */
  --fs-2: 1.25rem;   /* 20 */
  --fs-3: 1.5625rem; /* 25 */
  --fs-4: 1.953rem;  /* 31 */
  --fs-5: clamp(2.44rem, 5vw, 3.815rem); /* 39-61 fluid */
  --fs-6: clamp(3.05rem, 8vw, 5.96rem);  /* 49-95 fluid */
  --lh-tight: 1.05;
  --lh-body: 1.5;

  /* 8pt spacing */
  --s-1: 8px; --s-2: 16px; --s-3: 24px; --s-4: 32px; --s-5: 40px; --s-6: 48px; --s-8: 64px; --s-12: 96px;

  /* motion tokens - durations in ms, easings as cubic-bezier. JS reads them by name. */
  --dur-fast:  180ms;
  --dur-base:  420ms;
  --dur-slow:  900ms;
  --dur-drift: 2400ms;
  --ease-out:  cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-linear: linear;
  /* scroll grammar: fraction of a beat spent entering / exiting (crossfade zone) */
  --beat-fade: 0.12;
  /* line weights for vector ink (viewBox units at 1000-wide) */
  --stroke-hair: 1.5;
  --stroke-line: 3;
  --stroke-bold: 6;
}
