/* vim: set tabstop=2 shiftwidth=2 expandtab smarttab: */

/*
 * Theme-agnostic design tokens. Per-theme colors (and --gf-focus-ring-color,
 * used below) live in themes/light.css and dark.css; this loads before them.
 */

:root {
  --gf-font-heading: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gf-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
  --gf-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale (16px base). */
  --gf-text-xs: 0.75rem;    /* 12px: timestamps, subtags, overlines */
  --gf-text-sm: 0.875rem;   /* 14px: secondary text, hints, meta */
  --gf-text-base: 1rem;     /* 16px: body (and iOS input minimum) */
  --gf-text-md: 1.125rem;   /* 18px: emphasized body, h4 */
  --gf-text-lg: 1.375rem;   /* 22px: h3, section titles */
  --gf-text-xl: 1.75rem;    /* 28px: h2, page titles */
  --gf-text-2xl: 2.25rem;   /* 36px: hero numbers (via clamp) */

  /* Weights. */
  --gf-weight-normal: 400;
  --gf-weight-medium: 500;
  --gf-weight-semibold: 600;
  --gf-weight-bold: 700;

  /* Line heights. */
  --gf-lh-tight: 1.15;      /* headings, hero numbers */
  --gf-lh: 1.5;             /* body */
  --gf-lh-relaxed: 1.6;     /* long-form (how-it-works, about) */

  /* Tracking. */
  --gf-tracking-tight: -0.01em;   /* headings */
  --gf-tracking-caps: 0.06em;     /* small-caps / overline labels */

  /* Spacing (4px grid). */
  --gf-space-1: 4px;
  --gf-space-2: 8px;
  --gf-space-3: 12px;
  --gf-space-4: 16px;      /* standard side gutter */
  --gf-space-5: 24px;
  --gf-space-6: 32px;
  --gf-space-8: 48px;

  /* Radii. */
  --gf-radius-sm: 8px;     /* inputs, small controls, subtags */
  --gf-radius-md: 12px;    /* buttons, cards */
  --gf-radius-lg: 16px;    /* stat cards, modals, hero surfaces */
  --gf-radius-pill: 999px;

  /* Borders + focus. --gf-focus-ring-color is defined per theme. */
  --gf-border-width: 1px;
  --gf-focus-ring: 0 0 0 3px var(--gf-focus-ring-color);

  /* Motion. */
  --gf-transition-fast: 120ms ease;
  --gf-transition: 160ms ease;
}
