/* Hallmark · tokens · theme: Almanac
 * axes: paper-band=light (97%) · display-style=roman-serif · accent-hue=warm (oxide red ~35°)
 * Portable design tokens for "YardOS: Naval Yard Expert". Reference by name only.
 */
:root {
  /* ---- Colour (OKLCH; warm almanac paper, oxide-red accent) ---- */
  --color-paper:    oklch(97%   0.008 75);   /* base surface — warm off-white */
  --color-paper-2:  oklch(94.5% 0.011 70);   /* recessed panel / card */
  --color-rule:     oklch(85%   0.012 60);   /* hairlines */
  --color-rule-2:   oklch(78%   0.014 55);   /* heavier rules (masthead double) */
  --color-neutral:  oklch(58%   0.012 55);   /* captions, meta */
  --color-muted:    oklch(44%   0.013 50);   /* secondary text */
  --color-ink:      oklch(22%   0.014 50);   /* primary text — warm near-black */
  --color-ink-2:    oklch(30%   0.013 50);   /* softer ink */
  --color-accent:   oklch(42%   0.150 35);   /* oxide red — link/emphasis/fill (≥4.5:1 on paper) */
  --color-accent-2: oklch(52%   0.170 35);   /* brighter oxide — focus ring (≥3:1) */
  --color-accent-wash: oklch(94% 0.030 40);  /* faint accent tint band */
  --color-focus:    oklch(52%   0.170 35);

  /* ---- Deep band (inked navy — dark proof + closing sections) ---- */
  --color-deep:       oklch(24% 0.030 255);  /* dark band surface */
  --color-deep-2:     oklch(28% 0.032 255);  /* raised panel on deep */
  --color-deep-rule:  oklch(40% 0.030 255);  /* hairlines on deep */
  --color-deep-text:  oklch(90% 0.012 75);   /* primary text on deep (paper-warm) */
  --color-deep-muted: oklch(74% 0.018 70);   /* secondary text on deep */
  --color-deep-cite:  oklch(78% 0.110 55);   /* citation amber on deep (≥4.5:1) */

  /* ---- Drafting-grid hairline (hero texture, Tier A) ---- */
  --grid-line: oklch(48% 0.030 55 / 0.055);

  /* ---- Type ---- */
  --font-display:  "Cardo", ui-serif, Georgia, "Times New Roman", serif;
  --font-body:     "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --font-mono:     "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;

  /* scale — 1.25 major third */
  --text-xs:   0.8rem;     /* 12.8px */
  --text-sm:   0.9rem;     /* 14.4px */
  --text-base: 1rem;       /* 16px   */
  --text-md:   1.25rem;    /* 20px   */
  --text-lg:   1.5625rem;  /* 25px   */
  --text-xl:   1.9531rem;  /* 31.25px */
  --text-2xl:  2.4414rem;  /* 39px   */
  --text-3xl:  3.0518rem;  /* 48.8px */
  --text-display-s: clamp(2rem, 3.2vw + 1rem, 3rem);
  --text-display:   clamp(2.4rem, 4vw + 1rem, 4rem);

  /* ---- Spacing — 4pt scale, role-named ---- */
  --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, 4rem);
  --measure: 65ch;

  /* ---- Lines, radius, depth ---- */
  --rule-hair: 1px;
  --radius-xs: 2px;
  --radius-sm: 4px;

  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;

  /* ---- 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;
}
