:root {
  --bg: #0b0f14;
  --panel: #141b24;
  --panel-2: #1d2630;
  --border: #28333f;
  --text: #e6edf3;
  --muted: #8b97a6;
  --primary: #a3e635;        /* lime accent */
  --primary-hover: #84cc16;
  --primary-rgb: 163, 230, 53;   /* lime, for rgba() tints — keep in sync with --primary */
  --accent-2-rgb: 45, 212, 191;  /* teal */
  --accent-3-rgb: 251, 191, 36;  /* amber */
  --accent-4-rgb: 249, 115, 22;  /* orange — bib generator accent */
  --on-accent: #0b0f14;      /* dark text on lime */
  --danger: #f87171;
  --danger-hover: #ef4444;
  --ok: #a3e635;
  --warn: #fbbf24;
  --accent-2: #2dd4bf;       /* teal — map/route lines */
  --accent-3: #fbbf24;       /* amber — illustration accent */
  --accent-4: #f97316;       /* orange — bib number generator */
  --overlay: rgba(5, 8, 12, .82);   /* modal/scrim backdrop */
  --radius: 14px;
  --radius-sm: 10px;
  --radius-input: 8px;              /* form fields */
  --btn-pad: 10px 18px;             /* base button / .btn padding */
  --transition: .14s ease;          /* default hover/state transition */
  --shadow-soft: 0 8px 24px rgba(0, 0, 0, .35);   /* sticky capture panel */
  --shadow-pop: 0 12px 30px rgba(0, 0, 0, .45);   /* toasts, floating card */
  --font-ui: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-display: 'Oswald', 'Arial Narrow', var(--font-ui);
}
