@font-face {
  font-family: "Cabinet Grotesk";
  src: url("/fonts/cabinet-grotesk/CabinetGrotesk-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
}

/* Hallmark · macrostructure: Long Document · theme: Garden · enrichment: status-dots + count-badge + filter-tabs + auto-refresh + share
 * Paper band: light (> 85%) · Display style: cabinet-grotesk · Accent hue: chromatic-other (green ~165°)
 * Pre-emit critique: P4 H5 E4 S4 R5 V4
 */
:root {
  --color-paper:    oklch(0.97  0.012 75);
  --color-paper-2:  oklch(0.94  0.015 75);
  --color-ink:      oklch(0.18  0.008 65);
  --color-ink-2:    oklch(0.40  0.008 65);
  --color-rule:     oklch(0.86  0.008 75);
  --color-muted:    oklch(0.60  0.006 70);
  --color-accent:   oklch(0.52  0.15  165);
  --color-accent-2: oklch(0.42  0.12  165);
  --color-focus:    oklch(0.55  0.18  155);

  --font-display: "Cabinet Grotesk", "Inter Variable", system-ui, sans-serif;
  --font-body:    "Inter Variable", system-ui, sans-serif;

  --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;

  --text-xs:   0.64rem;
  --text-sm:   0.8rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-3xl:  3.0518rem;
  --text-4xl:  3.8147rem;
  --text-display: clamp(2rem, 4vw + 0.5rem, 3.25rem);

  --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;

  --rule-thin:  1px solid var(--color-rule);
  --page-gutter: clamp(1rem, 4vw, 4rem);

  --z-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
  --z-tooltip:  600;
}

:root {
  --background:        var(--color-paper);
  --foreground:        var(--color-ink);
  --card:              var(--color-paper);
  --card-foreground:   var(--color-ink);
  --popover:           var(--color-paper);
  --popover-foreground: var(--color-ink);
  --primary:           var(--color-accent);
  --primary-foreground: oklch(0.97 0.01 165);
  --secondary:         var(--color-paper-2);
  --secondary-foreground: var(--color-ink);
  --muted:             var(--color-paper-2);
  --muted-foreground:  var(--color-muted);
  --accent:            var(--color-paper-2);
  --accent-foreground: var(--color-ink);
  --destructive:       oklch(0.58 0.20 25);
  --border:            var(--color-rule);
  --input:             var(--color-rule);
  --ring:              var(--color-focus);
  --radius:            0.375rem;
}

