/* ontopraxis — Color tokens (Operational Intelligence).
   GitHub/Primer-derived logic: neutral canvases first, functional colors with fixed meaning.
   Semantic rule: Blue = flow, Purple = AI assistance, Orange = human review,
   Green = deployed, Red = stopped. */
:root {
  /* ---- Neutral foundation ---- */
  --color-deployment-black: #0D1117; /* dark hero, footer, deployment fields */
  --color-text-black: #000000;       /* documents, presentations, print */
  --color-system-panel: #161B22;     /* cards/nested surfaces on dark */
  --color-interface-canvas: #F6F8FA; /* default light page background */
  --color-surface: #FFFFFF;          /* cards, reports, forms */
  --color-primary-ink: #1F2328;      /* light-mode UI text */
  --color-secondary-ink: #59636E;    /* supporting text, labels */
  --color-border: #D0D7DE;           /* grid, dividers, fields */
  --color-dark-border: #30363D;      /* dark-mode structure */
  --color-dark-text: #F0F6FC;        /* primary text on dark */
  --color-dark-muted: #8C959F;       /* muted text on dark */

  /* ---- Functional brand colors (core / light tint / dark-mode shade) ---- */
  --color-green: #2DA44E;      /* primary brand signal, deployed, positive action */
  --color-green-tint: #DAFBE1;
  --color-green-strong: #1F883D;
  --color-green-dark: #3FB950;
  --color-green-on-tint: #116329;

  --color-blue: #0969DA;       /* links, information flow, integrations */
  --color-blue-tint: #DDF4FF;
  --color-blue-dark: #58A6FF;

  --color-purple: #8250DF;     /* AI-assisted step, inference, synthesis */
  --color-purple-tint: #F1E5FF;
  --color-purple-dark: #A371F7;

  --color-orange: #F08A3A;     /* human checkpoint / approval required */
  --color-orange-tint: #FFF1E5;
  --color-orange-deep: #703100;
  --color-orange-dark: #F4A876;

  --color-red: #CF222E;        /* error, off-limits, blocked */
  --color-red-tint: #FFEBE9;
  --color-red-dark: #F85149;

  --color-pink: #BF3989;       /* rare data-viz accent only */
  --color-pink-dark: #DB61A2;
  --color-cyan: #1B7C83;       /* optional campaign / data accent */
  --color-cyan-dark: #39C5CF;

  /* ---- Chart tonal scales (solid steps, not gradient fills) ---- */
  --chart-blue-1: #DDF4FF; --chart-blue-2: #80CCFF; --chart-blue-3: #54AEFF; --chart-blue-4: #218BFF; --chart-blue-5: #0969DA;
  --chart-green-1: #DAFBE1; --chart-green-2: #85E89D; --chart-green-3: #4AC26B; --chart-green-4: #2DA44E; --chart-green-5: #1F883D;
  --chart-purple-1: #F1E5FF; --chart-purple-2: #D2A8FF; --chart-purple-3: #A475F9; --chart-purple-4: #8250DF; --chart-purple-5: #6639BA;
  --chart-orange-1: #FFF1E5; --chart-orange-2: #F4A876; --chart-orange-3: #F08A3A; --chart-orange-4: #B85B06; --chart-orange-5: #703100;
  --chart-lime-1: #F3FFC8; --chart-lime-2: #DCFA67; --chart-lime-3: #B2DE28; --chart-lime-4: #698E17; --chart-lime-5: #2C440B;
  --chart-gray-1: #EAEEF2; --chart-gray-2: #D0D7DE; --chart-gray-3: #AFB8C1; --chart-gray-4: #8C959F; --chart-gray-5: #59636E;

  /* ---- Semantic aliases (light mode) ---- */
  --bg-canvas: var(--color-interface-canvas);
  --bg-surface: var(--color-surface);
  --bg-inset: var(--color-interface-canvas);
  --text-primary: var(--color-primary-ink);
  --text-secondary: var(--color-secondary-ink);
  --text-on-accent: var(--color-text-black);
  --border-default: var(--color-border);
  --border-strong: var(--color-secondary-ink);
  --accent-primary: var(--color-green);
  --link: var(--color-blue);
  --link-hover: #0550a0;

  /* Status semantics (state = color + always a label) */
  --status-deployed: var(--color-green);
  --status-deployed-bg: var(--color-green-tint);
  --status-deployed-text: var(--color-green-on-tint);
  --status-review: var(--color-orange);
  --status-review-bg: var(--color-orange-tint);
  --status-review-text: var(--color-orange-deep);
  --status-stop: var(--color-red);
  --status-stop-bg: var(--color-red-tint);
  --status-stop-text: var(--color-red);
  --status-source: var(--color-blue);
  --status-source-bg: var(--color-blue-tint);
  --status-source-text: var(--color-blue);
  --status-ai: var(--color-purple);
  --status-ai-bg: var(--color-purple-tint);
  --status-ai-text: var(--color-purple);
}

/* ---- Dark-mode scope: apply .theme-dark on a container ---- */
.theme-dark {
  --bg-canvas: var(--color-deployment-black);
  --bg-surface: var(--color-system-panel);
  --bg-inset: var(--color-deployment-black);
  --text-primary: var(--color-dark-text);
  --text-secondary: var(--color-dark-muted);
  --border-default: var(--color-dark-border);
  --border-strong: #6E7681;
  --accent-primary: var(--color-green-dark);
  --link: var(--color-blue-dark);
  --link-hover: #79c0ff;
}
