/* Hallmark · genre: modern-minimal · macrostructure: Workbench · theme: Quiet
 * paper-band: light (L ~99%) · display-style: geometric-sans · accent-hue: cool (240°)
 * type: Geist (display + body) + Geist Mono (wordmark + numerals)
 */

:root {
  /* Paper — base surface (modern-minimal allows near-#fff; tinted faint-cool) */
  --color-paper:        oklch(99%   0.003 250);
  --color-paper-2:      oklch(96.5% 0.005 250);
  --color-paper-3:      oklch(93.5% 0.007 250);

  /* Rules + neutrals */
  --color-rule:         oklch(88%   0.008 250);
  --color-rule-2:       oklch(80%   0.010 250);
  --color-neutral:      oklch(64%   0.010 250);
  --color-muted:        oklch(46%   0.012 250);

  /* Ink — primary text */
  --color-ink:          oklch(18%   0.012 250);
  --color-ink-2:        oklch(28%   0.012 250);

  /* Accent — restrained ink-blue. Used only on focus rings, citation pills, link hover */
  --color-accent:       oklch(48%   0.14  240);
  --color-accent-ink:   oklch(99%   0.003 250);
  --color-accent-soft:  oklch(94%   0.025 240);
  --color-focus:        oklch(54%   0.18  240);

  /* Status hues — used only inside the mockup */
  --color-pass:         oklch(50%   0.13  150);
  --color-pass-soft:    oklch(94%   0.025 150);
  --color-warn:         oklch(58%   0.14   65);
  --color-warn-soft:    oklch(94%   0.03   65);

  /* Shadow tones — derived from anchor hue */
  --shadow-soft:        oklch(20%   0.05  250 / 0.18);
  --shadow-hair:        oklch(20%   0.02  250 / 0.06);

  /* Type — single Geist family + Mono outlier */
  --font-display:       "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:          "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:          "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Scale — 1.25 ratio (major third) on 16 px base */
  --text-xs:            0.75rem;     /* 12 px */
  --text-sm:            0.8125rem;   /* 13 px */
  --text-base:          1rem;        /* 16 px */
  --text-md:            1.125rem;    /* 18 px */
  --text-lg:            1.375rem;    /* 22 px */
  --text-xl:            1.75rem;     /* 28 px */
  --text-2xl:           2.25rem;     /* 36 px */
  --text-3xl:           2.875rem;    /* 46 px */
  --text-display-s:     clamp(2.25rem, 4vw + 0.5rem, 3.5rem);
  --text-display:       clamp(2.5rem,  4.4vw + 0.8rem, 4.5rem);

  /* Spacing — 4 pt 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;

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

  /* Radii */
  --radius-xs:          4px;
  --radius-sm:          6px;
  --radius-md:          10px;
  --radius-lg:          16px;

  /* Motion */
  --dur-micro:          120ms;
  --dur-short:          200ms;
  --dur-long:           420ms;
  --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);

  /* Z-index */
  --z-base:             1;
  --z-raised:           10;
  --z-sticky:           200;
  --z-nav:              300;
  --z-modal:            400;

  /* Layout */
  --page-gutter:        clamp(1.25rem, 4vw, 4rem);
  --measure:            65ch;
  --banner-height:      56px;
}
