/* Semantic aliases. Prefer these over base values in product work. */
:root{
  /* Surfaces */
  --surface-canvas:var(--canvas);
  --surface-card:var(--white);
  --surface-inset:var(--zinc-50);
  --surface-inverse:var(--zinc-900);
  --surface-accent:var(--lime-200);
  --surface-glass:var(--glass-fill);

  /* Ink */
  --text-heading:var(--zinc-900);
  --text-body:var(--zinc-600);
  --text-muted:var(--zinc-500);
  --text-label:var(--zinc-400);      /* uppercase eyebrows + field labels */
  --text-faint:var(--zinc-300);
  --text-on-inverse:var(--white);
  --text-on-accent:var(--zinc-900);
  --text-accent-ink:var(--lime-800);

  /* Lines */
  --border-subtle:var(--zinc-100);
  --border-default:var(--zinc-200);
  --border-strong:var(--zinc-900);
  --border-dashed:var(--zinc-300);
  --focus-ring-dark:var(--zinc-900);   /* light surfaces focus to near-black */
  --focus-ring-light:var(--lime-200);  /* dark surfaces focus to lime */

  /* Actions */
  --action-primary-bg:var(--zinc-900);
  --action-primary-fg:var(--white);
  --action-primary-bg-hover:var(--lime-200);
  --action-primary-fg-hover:var(--zinc-900);
  --action-accent-bg:var(--lime-200);
  --action-accent-fg:var(--zinc-900);
  --action-accent-bg-hover:var(--white);
  --action-quiet-bg:var(--zinc-100);
  --action-quiet-fg:var(--zinc-700);
  --action-quiet-bg-hover:var(--zinc-200);

  /* Status */
  --status-ok-bg:var(--green-50);--status-ok-border:var(--green-200);--status-ok-fg:var(--green-900);--status-ok-solid:var(--green-600);
  --status-warn-bg:var(--amber-50);--status-warn-border:var(--amber-200);--status-warn-fg:var(--amber-600);--status-warn-solid:var(--amber-500);
  --status-danger-bg:var(--red-50);--status-danger-border:var(--red-200);--status-danger-fg:var(--red-600);--status-danger-solid:var(--red-500);
  --status-info-bg:var(--blue-50);--status-info-border:var(--blue-200);--status-info-fg:var(--blue-900);--status-info-solid:var(--blue-600);

  /* Macro colour coding (v2.3 nutrition tiles) */
  --macro-carbs:var(--blue-500);
  --macro-protein:var(--amber-500);
  --macro-fat:var(--zinc-400);
  --macro-sodium:var(--cyan-500);
  --macro-caffeine:var(--zinc-900);

  /* Garmin — blue-600 is the Garmin surface colour throughout */
  --garmin-solid:var(--blue-600);
  --garmin-bg:var(--blue-50);
  --garmin-border:var(--blue-200);
  --garmin-ink:var(--blue-900);

  /* Time-to-event badge ladder (today → tomorrow → later) */
  --countdown-today-bg:var(--lime-200);--countdown-today-fg:var(--lime-800);
  --countdown-tomorrow-bg:var(--amber-100);--countdown-tomorrow-fg:var(--amber-600);
  --countdown-later-bg:var(--blue-100);--countdown-later-fg:var(--blue-600);

  /* Domain colour coding (from the app's own conventions) */
  --phase-preevent:var(--blue-600);   /* carb loading = blue/cyan */
  --phase-recovery:var(--green-600);  /* recovery = green/emerald */
  --phase-live:var(--lime-200);       /* live fuelling = lime on dark */
}
