/*
 * Hallmark · genre: modern-minimal
 * macrostructure: Workbench · tone: confident / technical / business-grade
 * theme: custom — vibe: "fleet command center — graphite, amber, cold blue"
 * paper: oklch(97.5% 0.006 92) · accent: oklch(81% 0.185 88) warm-amber
 * display: Cabinet Grotesk (Fontshare) · body: Geist (Google)
 * axes: light / display-grotesque-variable / warm-amber
 * nav: N5 Floating pill · footer: Ft5 Statement
 * enrichment: Tier-A CSS fleet dashboard + module mini-UIs
 * Pre-emit critique: P5 H5 E5 S5 R5 V5
 */

:root {
  /* ── paper & surface ── */
  --color-paper:      oklch(97.5% 0.006 92);
  --color-paper-2:    oklch(95.0% 0.008 90);
  --color-paper-3:    oklch(92.0% 0.008 88);
  --color-rule:       oklch(86.0% 0.007 85);

  /* ── ink & type ── */
  --color-ink:        oklch(18.0% 0.010 65);
  --color-neutral:    oklch(52.0% 0.008 78);
  --color-muted:      oklch(44.0% 0.007 74);

  /* ── accent — warm amber/yellow ── */
  --color-accent:     oklch(81.0% 0.185 88);
  --color-accent-dim: oklch(70.0% 0.185 82);
  --color-accent-fg:  oklch(16.0% 0.012 65);
  --color-accent-bg:  oklch(96.0% 0.045 90);

  /* ── cold blue — data & tags ── */
  --color-blue:       oklch(54.0% 0.145 240);
  --color-blue-bg:    oklch(96.0% 0.035 240);

  /* ── status ── */
  --color-ok:         oklch(55.0% 0.160 158);
  --color-ok-bg:      oklch(96.5% 0.038 158);
  --color-warn:       oklch(68.0% 0.150 78);
  --color-warn-bg:    oklch(96.5% 0.038 78);
  --color-danger:     oklch(53.0% 0.195 25);
  --color-danger-bg:  oklch(97.0% 0.040 25);

  /* ── focus ── */
  --color-focus:      oklch(54.0% 0.180 240);

  /* ── shadows ── */
  --shadow-nav:  0 2px 16px oklch(18% 0.010 65 / 0.07);
  --shadow-mock: 0 6px 32px oklch(18% 0.010 65 / 0.10);
  --shadow-card: 0 1px 4px  oklch(18% 0.010 65 / 0.05);

  /* ── glass / alpha surfaces ── */
  --color-paper-glass:  oklch(97.5% 0.006 92 / 0.88);
  --color-rule-glass:   oklch(86.0% 0.007 85 / 0.70);
  --color-accent-border: oklch(81.0% 0.185 88 / 0.25);

  /* ── dark sections ── */
  --color-dark:       oklch(17.0% 0.012 65);
  --color-dark-2:     oklch(22.0% 0.012 65);
  --color-dark-ink:   oklch(96.0% 0.006 90);
  --color-dark-muted: oklch(65.0% 0.007 78);
  --color-dark-rule:  oklch(28.0% 0.008 65);

  /* ── typography ── */
  --font-display: "Cabinet Grotesk", "General Sans", system-ui, sans-serif;
  --font-body:    "Geist", "Inter Tight", system-ui, sans-serif;
  --font-mono:    "Geist Mono", "JetBrains Mono", ui-monospace, monospace;

  /* ── scale (major third × 16 px base) ── */
  --text-xs:      0.64rem;
  --text-sm:      0.80rem;
  --text-base:    1.00rem;
  --text-md:      1.25rem;
  --text-lg:      1.5625rem;
  --text-xl:      1.9531rem;
  --text-2xl:     2.4414rem;
  --text-3xl:     3.0518rem;
  --text-display-s: clamp(2.2rem, 3.5vw + 0.8rem, 3.2rem);
  --text-display:   clamp(3.0rem, 4.0vw + 1.2rem, 4.75rem);
  --text-display-xl: clamp(3.5rem, 5.5vw + 1rem, 5.75rem);

  /* ── spacing (4 pt) ── */
  --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;

  /* ── 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-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;

  /* ── radii ── */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-pill: 999px;
}
