/* Design tokens: sizes, spacing, type, radii, motion.
   Colours live in themes.css. Compact sizing: phone values first, laptop overrides below. */
:root {
  /* Type */
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-serif: "Fraunces", Georgia, "Times New Roman", serif;

  --fs-xs: 11px;      /* labels, meta */
  --fs-sm: 12px;      /* secondary text, small labels */
  --fs-base: 14px;    /* body (phone) */
  --fs-md: 15px;      /* card titles */
  --fs-lg: 20px;      /* page title */
  --fs-xl: 24px;      /* stat numbers (22–26 max) */
  --fs-input: 16px;   /* phone inputs: 16px stops iPhone zoom */

  --lh-tight: 1.2;
  --lh-base: 1.45;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semi: 600;

  /* Spacing */
  --space-1: 4px;
  --space-2: 6px;
  --space-3: 8px;
  --space-4: 10px;
  --space-5: 12px;
  --space-6: 16px;
  --space-7: 20px;
  --space-8: 24px;
  --space-9: 32px;

  --card-pad: 10px;
  --gap: 10px;
  --row-h: 38px;
  --btn-h: 38px;
  --btn-h-sm: 32px;
  --tap: 44px;
  --gutter: 16px;

  /* Shape */
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  /* Layout */
  --sidebar-w: 216px;
  --bottom-nav-h: 58px;
  --content-max: 1180px;
  --demo-bar-h: 0px;

  /* Motion */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --dur-fast: 120ms;
  --dur: 200ms;
}

@media (min-width: 900px) {
  :root {
    --fs-base: 13px;
    --fs-md: 14px;
    --fs-input: 13px;
    --card-pad: 12px;
    --gap: 12px;
    --btn-h: 32px;
    --btn-h-sm: 28px;
    --gutter: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur: 0ms; }
}
