/* b4sed.ai — design tokens
 * Theme: Cobalt (modern-minimal genre) — accent re-hued cobalt → matrix green at user request
 * Paper band: cool light · Display style: grotesk-sans · Accent hue: matrix green (~145)
 * Every colour / font / space / motion value on the page references these tokens by name.
 */

:root {
  /* ---- Colour · cool engineered paper, hue anchored ~155–160 (green-leaning) ---- */
  --color-paper:       oklch(98.5% 0.004 155);
  --color-paper-2:     oklch(96.5% 0.005 155);
  --color-rule:        oklch(89%   0.008 157);
  --color-rule-2:      oklch(82%   0.010 158);
  --color-ink:         oklch(24%   0.020 160);
  --color-ink-2:       oklch(34%   0.018 158);
  --color-muted:       oklch(45%   0.014 156);

  /* ---- Colour · the one matrix-green signal ---- */
  --color-accent:      oklch(48%   0.220 145);
  --color-accent-ink:  oklch(99%   0.003 155);   /* text on the solid accent button */
  --color-accent-deep: oklch(42%   0.180 145);   /* small text on paper (≥4.5:1) */
  --color-accent-hover: oklch(44%  0.220 145);   /* primary button hover */
  --color-accent-lite: oklch(82%   0.240 145);   /* accent text on the graphite band */
  --color-focus:       oklch(48%   0.220 145);
  --color-scrim:       oklch(20%   0.016 160 / 0.35); /* modal overlay modifier */

  /* ---- Colour · the one dark band (graphite, green undertone) ---- */
  --color-graphite:      oklch(20%  0.016 160);
  --color-graphite-2:    oklch(24%  0.018 160);
  --color-graphite-rule: oklch(50%  0.016 160);
  --color-graphite-ink:  oklch(93%  0.006 155);
  --color-graphite-mut:  oklch(70%  0.010 158);

  /* ---- Typography ---- */
  --font-display: "Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", monospace;

  --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(2.75rem, 5vw + 1rem, 5.25rem);
  --text-display-s: clamp(2.1rem, 3.6vw + 0.8rem, 3.4rem);

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

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

  /* ---- Rules / radii ---- */
  --rule: 1px solid var(--color-rule);
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --shadow-whisper: 0 1px 2px oklch(24% 0.02 160 / 0.05);
  --shadow-pop: 0 12px 32px -16px oklch(24% 0.02 160 / 0.28);

  /* ---- Page frame ---- */
  --page-max: 72rem;
  --page-gutter: clamp(1rem, 4vw, 2.5rem);

  /* ---- Z-index scale ---- */
  --z-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
}
