/* Hallmark · tokens · genre: editorial · theme: Saluuna (dark editorial re-cut)
 * axes — paper band: dark (L 16%) · display style: heavy-serif · accent hue: hot warm (35)
 * Anchor hue 45. Every colour and font in styles.css references a token from here.
 */

:root {
  /* ---- Paper, ink, neutrals — dark, elevation by lightness ---- */
  --color-paper:        oklch(16% 0.016 45);
  --color-paper-2:      oklch(20% 0.018 45);
  --color-paper-3:      oklch(25% 0.020 45);
  --color-rule:         oklch(38% 0.016 45);
  --color-rule-strong:  oklch(52% 0.016 45);
  --color-neutral:      oklch(72% 0.014 45);
  --color-muted:        oklch(82% 0.012 45);
  --color-ink:          oklch(95% 0.012 75);

  /* ---- Bone: the one light surface. Carries the next night's row. ---- */
  --color-bone:         oklch(93% 0.030 80);
  --color-bone-ink:     oklch(21% 0.030 45);
  --color-bone-muted:   oklch(42% 0.030 45);

  /* ---- Accent — one hot hue, hotter than the old amber so the page has a signal ---- */
  --color-accent:       oklch(68% 0.185 38);
  --color-accent-ink:   oklch(16% 0.020 45);
  --color-focus:        oklch(76% 0.170 45);

  /* ---- Type: two families. Fraunces carries the programme, Geist carries everything else. ---- */
  --font-display: "Fraunces", ui-serif, Georgia, serif;
  --font-body:    "Geist", ui-sans-serif, system-ui, sans-serif;

  /* ---- Scale: major third (1.25) from 16px, extended for the listing ---- */
  --text-xs:      0.8rem;
  --text-sm:      0.875rem;
  --text-base:    1rem;
  --text-md:      1.25rem;
  --text-lg:      1.5625rem;
  --text-xl:      1.9531rem;
  --text-2xl:     2.4414rem;
  --text-3xl:     3.0518rem;

  --text-mast:    clamp(2rem, 6.5vw, 3.5rem);
  --text-gig:     clamp(1.5rem, 3.4vw + 0.5rem, 2.4414rem);
  --text-date:    clamp(2.5rem, 5.2vw + 0.5rem, 3.75rem);

  /* ---- Space: 4pt scale ---- */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;
  --page-gutter: clamp(1.25rem, 5vw, 4.5rem);

  /* ---- Rules ---- */
  --rule-hair:  1px;
  --rule-thick: 2px;

  /* ---- Radii — broadsheet is square. Nothing rounds except the focus ring. ---- */
  --radius-xs: 2px;
  --radius-sm: 3px;

  /* ---- Motion. Editorial: near-static. ---- */
  --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: 110ms;
  --dur-short: 200ms;
  --dur-long:  380ms;

  /* ---- Z scale — six named levels ---- */
  --z-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
  --z-tooltip:  600;
}
