/* agentbooks colour system.
   Neutral graphite carries the brand; Ink Blue marks knowledge; Petrol marks the agent layer. */
:root{
  /* ---- Neutral: Graphite ---- */
  --graphite-0:#ffffff;
  --graphite-25:#fbfbfc;
  --graphite-50:#f6f7f9;
  --graphite-100:#edeef1;
  --graphite-200:#dddfe4;
  --graphite-300:#c4c7cf;
  --graphite-400:#9ca1ac;
  --graphite-500:#767c88;
  --graphite-600:#585e69;
  --graphite-700:#41464f;
  --graphite-800:#2a2e35;
  --graphite-900:#1a1d22;
  --graphite-950:#0f1216;

  /* ---- Brand primary: Ink Blue ---- */
  --blue-50:#f1f3fd;
  --blue-100:#e1e5fb;
  --blue-200:#c4cbf6;
  --blue-300:#9ba6ec;
  --blue-400:#6d7cdd;
  --blue-500:#4b57cc;
  --blue-600:#2d3fb8;
  --blue-700:#253397;
  --blue-800:#1f2b78;
  --blue-900:#1b245c;
  --blue-950:#121639;

  /* ---- Brand secondary: Petrol (the agent layer) ---- */
  --petrol-50:#edf6f6;
  --petrol-100:#d6ebeb;
  --petrol-200:#add6d8;
  --petrol-300:#7cbabe;
  --petrol-400:#4a989e;
  --petrol-500:#23787f;
  --petrol-600:#12666b;
  --petrol-700:#0e5155;
  --petrol-800:#0c4245;
  --petrol-900:#0a3539;
  --petrol-950:#062124;

  /* ---- Semantic scales ---- */
  --success-50:#eaf5f0;  --success-200:#b6dcc9; --success-600:#17724f; --success-700:#115c40;
  --warning-50:#fbf3e4;  --warning-200:#ebd4a3; --warning-600:#8a5b00; --warning-700:#6e4800;
  --error-50:#fceceb;    --error-200:#f2c2bc;   --error-600:#b0281f;   --error-700:#8e1f18;
  --info-50:var(--blue-50); --info-200:var(--blue-200); --info-600:var(--blue-600); --info-700:var(--blue-700);

  /* ---- Category colours (secondary orientation only, never a sub-brand) ---- */
  --category-business:#41567c;      --category-business-tint:#eef1f6;
  --category-technology:#12666b;    --category-technology-tint:#eaf4f4;
  --category-ai:#3f42a8;            --category-ai-tint:#eeeffa;
  --category-security:#2f6046;      --category-security-tint:#ecf3ef;
  --category-finance:#8a6420;       --category-finance-tint:#f7f2e7;
  --category-personal:#9a4f3c;      --category-personal-tint:#f8efec;
  --category-consumer:#6a3f72;      --category-consumer-tint:#f4eef5;

  /* ================= Semantic aliases (use these) ================= */
  /* Surfaces */
  --surface-page:var(--graphite-50);
  --surface-card:var(--graphite-0);
  --surface-raised:var(--graphite-0);
  --surface-sunken:var(--graphite-100);
  --surface-inverse:var(--graphite-950);
  --surface-hover:var(--graphite-50);
  --surface-selected:var(--blue-50);
  --surface-accent-subtle:var(--blue-50);
  --surface-agent-subtle:var(--petrol-50);
  --surface-overlay:rgba(15,18,22,.48);

  /* Text */
  --text-primary:var(--graphite-950);
  --text-secondary:var(--graphite-600);
  --text-tertiary:var(--graphite-500);
  --text-disabled:var(--graphite-400);
  --text-inverse:var(--graphite-0);
  --text-accent:var(--blue-700);
  --text-agent:var(--petrol-700);
  --text-on-accent:#ffffff;
  --text-link:var(--blue-700);
  --text-link-hover:var(--blue-800);

  /* Borders */
  --border-subtle:var(--graphite-100);
  --border-default:var(--graphite-200);
  --border-strong:var(--graphite-300);
  --border-inverse:rgba(255,255,255,.16);
  --border-accent:var(--blue-600);
  --border-focus:var(--blue-600);

  /* Interactive */
  --interactive-primary:var(--blue-600);
  --interactive-primary-hover:var(--blue-700);
  --interactive-primary-active:var(--blue-800);
  --interactive-secondary:var(--graphite-0);
  --interactive-secondary-hover:var(--graphite-50);
  --interactive-secondary-active:var(--graphite-100);
  --interactive-ghost-hover:var(--graphite-100);
  --interactive-agent:var(--petrol-600);
  --interactive-agent-hover:var(--petrol-700);
  --interactive-destructive:var(--error-600);
  --interactive-destructive-hover:var(--error-700);
  --interactive-disabled:var(--graphite-200);
  --focus-ring:0 0 0 2px var(--surface-card),0 0 0 4px var(--blue-400);
}
