/**
 * Design tokens ONLY. No component rules here — see base.css / components.css.
 * Every colour, spacing, radius and type value used elsewhere in the site
 * must trace back to a token defined in this file.
 */
:root {
  /* Colour */
  --gm-forest:  #0E2B22;
  --gm-canopy:  #14432F;
  --gm-green:   #1E7A4D;
  --gm-green-2: #2E9A63;
  --gm-signal:  #E8A33D;
  --gm-paper:   #F1F3EF;
  --gm-white:   #FFFFFF;
  --gm-steel:   #5C6B64;
  --gm-line:    #D6DCD6;
  --gm-ink:     #0A1712;
  --gm-green-tint: #EAF4EE; /* selected/recommended surfaces — derived from --gm-green */
  --gm-signal-ink: #8A5A12; /* ochre for TEXT on light surfaces: --gm-signal is only ~2.2:1 on white, this is ~5.8:1 */

  /* Semantic aliases */
  --color-bg: var(--gm-paper);
  --color-surface: var(--gm-white);
  --color-text: var(--gm-ink);
  --color-text-muted: var(--gm-steel);
  --color-border: var(--gm-line);
  --color-link: var(--gm-green);
  --color-link-hover: var(--gm-green-2);
  --color-live: var(--gm-signal);
  --color-danger: #B3402A;
  --color-success: var(--gm-green);

  /* Type */
  --font-heading: "Manrope", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  --text-xs:   0.8125rem;   /* 13px */
  --text-sm:   0.9375rem;   /* 15px */
  --text-base: 1rem;        /* 16px, minimum body size */
  --text-md:   1.125rem;    /* 18px */
  --text-lg:   1.375rem;    /* 22px */
  --text-xl:   1.75rem;     /* 28px */
  --text-2xl:  2.25rem;     /* 36px */
  --text-3xl:  2.875rem;    /* 46px */
  --text-4xl:  3.5rem;      /* 56px */

  --leading-tight: 1.15;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  /* Space (4px base) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Radius — tokenised by function, never uniform */
  --radius-sharp: 0;      /* tables, manifest rows, ruled panels, bands */
  --radius-control: 4px;  /* buttons, inputs, form controls */
  --radius-chip: 2px;     /* badges, chips */
  --radius-media: 4px;    /* photographic containers only */
  --radius-round: 999px;  /* avatars, circular portrait frames */

  /* Layout */
  --container-max: 1320px;
  --gutter: 1.25rem;

  /* Motion */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 150ms;
  --duration-base: 200ms;
  --duration-slow: 250ms;

  /* Elevation — one functional exception only (mobile sticky action bar) */
  --hairline: 1px solid var(--color-border);
}

@media (prefers-color-scheme: dark) {
  /* Reserved: the product is designed as a light-paper surface by default.
     Dark-mode is not part of this build's scope; tokens stay stable. */
}
