/* Hallmark · genre: modern-minimal · macrostructure families: Ecosystem Index (marketing) / Long Document (content) / Workbench (app)
 * nav: N1b SaaS three-section · footer: Ft8 Marquee scroll + compact info row
 * anchor hue: slate 260 / blue 264 · design-system: design.md · designed-as-app
 */

:root {
  /* — colour: paper — */
  --color-paper:    oklch(98.4% 0.006 248);
  --color-paper-2:  oklch(96.5% 0.010 250);
  --color-paper-3:  oklch(92.5% 0.016 252);
  --color-ink:      oklch(28% 0.035 260);
  --color-ink-2:    oklch(28% 0.035 260 / 0.72);
  --color-ink-3:    oklch(28% 0.035 260 / 0.66);
  --color-rule:     oklch(28% 0.035 260 / 0.12);
  --color-rule-2:   oklch(28% 0.035 260 / 0.08);

  /* — colour: accents — */
  --color-accent:       oklch(50% 0.22 264);  /* brand blue · primary */
  --color-accent-deep:  oklch(37% 0.19 264);
  --color-accent-2:     oklch(54% 0.21 264);  /* brand blue · links/secondary */
  --color-accent-2-deep: oklch(42% 0.20 264);
  --color-accent-3:     oklch(58% 0.21 25);   /* red · error/urgent only */
  --color-accent-3-deep: oklch(45% 0.19 25);
  --color-mint:      oklch(70% 0.12 220);
  --color-mint-deep: oklch(50% 0.14 220);
  --color-lavender:      oklch(60% 0.14 270);
  --color-lavender-deep: oklch(42% 0.15 270);
  --color-ink-deep: oklch(14% 0.03 260);

  --color-focus: oklch(56% 0.21 264);

  /* — type — */
  --font-display: "Anuphan", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Anuphan", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --font-label:   "JetBrains Mono", ui-monospace, "Courier New", monospace;

  --text-xs:   0.75rem;    /* 12px — mono labels only */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-md:   1.125rem;   /* 18px */
  --text-lg:   1.375rem;   /* 22px */
  --text-xl:   1.75rem;    /* 28px */
  --text-2xl:  2.25rem;    /* 36px */
  --text-display:   clamp(2.1rem, 3.4vw + 1rem, 3.4rem);
  --text-display-s: clamp(1.75rem, 2.4vw + 1rem, 2.5rem);

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

  /* — shell — */
  --page-max: 78rem;
  --page-gutter: clamp(1rem, 4vw, 2rem);
  --section-gap: clamp(2.5rem, 5vw, 4rem);

  /* — radius — */
  --radius-card:  20px;
  --radius-pill:  999px;
  --radius-input: 12px;
  --radius-sm:    10px;

  /* — shadow — */
  --shadow-card: 0 12px 32px -18px oklch(20% 0.012 250 / 0.16);
  --shadow-card-hover: 0 18px 40px -16px oklch(20% 0.012 250 / 0.20);
  --shadow-pop: 0 20px 48px -12px oklch(20% 0.012 250 / 0.24);

  /* — 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);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-snap: cubic-bezier(0.22, 1, 0.36, 1);

  --dur-instant: 100ms;
  --dur-short: 180ms;
  --dur-medium: 280ms;
  --dur-long: 450ms;

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