/* Coach design tokens — light theme.
   Every colour, size and shadow in the kit comes from here. */
:root {
  /* Neutrals */
  --ground: #F6F3EE;        /* page background, warm off-white */
  --card: #FFFFFF;
  --sunken: #EFEBE4;        /* segmented-control tracks, tiles */
  --hairline: #E6E1D8;      /* card borders */
  --divider: #F0ECE5;       /* rows inside cards */
  --gridline: #ECE8E0;      /* chart gridlines */
  --control-border: #D9D3C8;/* fields, chips, secondary buttons */
  --ink: #1C1E1D;
  --ink-2: #545955;         /* secondary text */
  --ink-3: #676B67;         /* lightest allowed text: 4.9:1 on ground */
  --ink-4: #8A8E8A;         /* icons, target lines; never text */

  /* Accent: actions and selection only, never data */
  --accent: #1F5E54;
  --accent-pressed: #174A42;
  --accent-soft: #E3EEEA;
  --on-accent: #FFFFFF;

  /* Data families */
  --recovery: #3B8C80;
  --recovery-dark: #21655B;
  --recovery-light: #9CCBC2;
  --recovery-band: #C9E3DE;     /* legend swatch; chart band = --recovery at 14% */
  --sleep: #5560B0;
  --sleep-deep: #2E3880;
  --sleep-rem: #6C78CF;
  --sleep-light: #B3BAEA;
  --sleep-awake: #E2B577;
  --activity: #D07A2C;
  --vigorous: #B35A12;
  --moderate: #EDB57A;
  --sport-run: #D07A2C;
  --sport-strength: #21655B;
  --sport-ride: #5560B0;
  --sport-walk: #C9C1B3;
  --body: #4F7FA6;
  --body-trend: #A9BED1;
  --felt: #B4684E;

  /* Status (always paired with words) */
  --warn-bg: #FBF0E1;  --warn-fg: #8F520F;  --warn-dot: #C77A1E;  --warn-ink: #6E3F0B;
  --ok-bg: #E6F2EA;    --ok-fg: #2B6A4C;    --ok-dot: #3E8E66;    --ok-ink: #24573F;
  --high-bg: #E5EEF7;  --high-fg: #2F5C8A;  --high-dot: #4F7FA6;
  --error-bg: #FBEAE7; --error-fg: #9A3328; --error-dot: #C4473A; --error-border: #F1D3CE;
  --info-bg: #EFEBE4;  --info-fg: #545955;  --info-dot: #8A8E8A;
  --offline-bg: #E4DFD6; --offline-fg: #3F4440;

  /* Type */
  --font-display: Manrope, Inter, system-ui, sans-serif;
  --font-body: Inter, system-ui, -apple-system, sans-serif;
  --t-display: 700 44px/48px var(--font-display);   /* metric value (40/46 inside cards) */
  --t-title: 800 30px/36px var(--font-display);     /* screen title */
  --t-heading: 700 20px/26px var(--font-display);   /* section, card heading */
  --t-body: 400 16px/24px var(--font-body);
  --t-callout: 500 15px/22px var(--font-body);
  --t-label: 600 13px/18px var(--font-body);        /* uppercase, 0.06em tracking */
  --t-caption: 500 12px/16px var(--font-body);
  --t-axis: 400 11px/14px var(--font-body);

  /* Space (4 px base) */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px; --s-8: 32px; --s-10: 40px; --s-14: 56px;
  --gutter: 20px;        /* screen side padding */
  --card-pad: 20px;      /* 24px for hero cards */
  --card-gap: 12px;
  --section-gap: 32px;

  /* Shape */
  --r-card: 20px; --r-hero: 24px; --r-button: 16px; --r-field: 14px; --r-pill: 999px; --r-sheet: 28px;

  /* Depth: only these two */
  --shadow-card: 0 1px 2px rgba(28,30,29,.04), 0 8px 24px rgba(28,30,29,.04);
  --shadow-sheet: 0 -12px 40px rgba(28,30,29,.12);
  --scrim: rgba(28,30,29,.3);

  /* Touch */
  --tap: 48px; --tap-primary: 56px;
  --nav-h: 88px;
  --rail: 96px;          /* side navigation on wide screens */
}
