/* Hallmark · Resonance Labs · tokens
 * Custom theme, studied-DNA hybrid.
 *   Type system    Ferns & Fathom (Fraunces / Newsreader / Space Mono)
 *   Colour system  human.health in-app severity ramp, remapped to pillars
 *   Ground         warm parchment, continuous with the previous site (#faf9f7)
 *   Wells          cool lilac, carrying the data-bearing sections
 * All colour is OKLCH. No pure black, no pure white, every neutral tinted
 * toward the warm anchor (hue ~70) so the cool wells read as a deliberate
 * temperature shift rather than a mismatch.
 */

:root {
  /* ---- Type ---------------------------------------------------------- */
  /* display: Fraunces   (characterful soft-serif, roman only)            */
  /* body:    Newsreader (literary text serif)                            */
  /* data:    Space Mono (labels, spec sheet, colophon, tabular figures)  */
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Newsreader", Georgia, serif;
  --font-data: "Space Mono", ui-monospace, "Courier New", monospace;

  /* ---- Ground: warm parchment ---------------------------------------- */
  --color-paper:   oklch(95.5% 0.012 75);
  --color-paper-2: oklch(97%   0.010 78);
  --color-paper-3: oklch(93%   0.014 72);

  /* ---- Wells: cool lilac (the data-bearing bands) --------------------- */
  --color-well:    oklch(96.5% 0.012 295);
  --color-well-2:  oklch(93.5% 0.018 295);
  --color-well-line: oklch(86%  0.020 292);

  /* ---- Ink ------------------------------------------------------------ */
  --color-ink:     oklch(24%   0.018 60);
  --color-ink-2:   oklch(34%   0.018 62);
  --color-muted:   oklch(48%   0.016 65);
  --color-line:    oklch(84%   0.014 72);
  --color-line-2:  oklch(74%   0.016 70);

  /* ---- Accent: softened periwinkle ------------------------------------ */
  /* Deliberately cooler and calmer than the source site's #810ff8.       */
  --color-accent:      oklch(50% 0.14  275);
  --color-accent-ink:  oklch(97% 0.010 280);
  --color-accent-soft: oklch(92% 0.035 278);
  --color-focus:       oklch(50% 0.14  275);

  /* ---- Pillar tints ---------------------------------------------------- */
  /* Lifted from the app's severity ramp. Each tint carries a meaning,     */
  /* Body or Mind, and is never used decoratively.                         */
  --pillar-body:      oklch(91%   0.050 68);
  --pillar-body-ink:  oklch(42%   0.110 55);
  --pillar-body-line: oklch(84%   0.060 66);
  --pillar-mind:      oklch(91%   0.045 275);
  --pillar-mind-ink:  oklch(42%   0.120 275);
  --pillar-mind-line: oklch(84%   0.055 275);

  /* ---- Spacing (4px base) ---------------------------------------------- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 8rem;

  --page-gutter: clamp(1.25rem, 5vw, 4.5rem);

  /* ---- Type scale ------------------------------------------------------ */
  --text-2xs:  0.6875rem;
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-md:   1.125rem;
  --text-lg:   1.3125rem;
  --text-xl:   1.625rem;
  --text-2xl:  2.125rem;
  --text-display-s: clamp(2rem, 3.4vw + 1rem, 3.25rem);
  --text-display:   clamp(2.5rem, 5vw + 1rem, 4.75rem);

  --lh-tight: 1.04;
  --lh-snug:  1.24;
  --lh-body:  1.62;

  --tracking-label: 0.10em;

  --measure: 60ch;
  --measure-narrow: 46ch;
  --maxw-page: 76rem;

  /* ---- Structure ------------------------------------------------------- */
  /* Technical register: near-square corners, hairlines, no card shadows.  */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --rule-hair: 1px;
  --rule-fine: 2px;

  /* ---- Motion ---------------------------------------------------------- */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  /* ---- z-index --------------------------------------------------------- */
  --z-nav: 100;
}
