:root{
  /* ink + paper */
  --ink:#000000;
  --ink-2:#333333;
  --ink-3:#6b6b6b;
  --ink-4:#9a9a9a;
  --paper:#f5f5f5;
  --paper-2:#f4f4f4;
  --white:#ffffff;
  --rule:#000000;
  --hairline:#e3e3e3;

  /* LifeMint — slate teal + sage (project 01) */
  --teal-900:#1f3a41;
  --teal-700:#2c4f59;
  --teal-600:#456975;
  --teal-400:#7a99a2;
  --teal-100:#dde5e8;
  --sage-700:#4e7059;
  --sage-600:#658b72;
  --sage-300:#9ab69f;
  --mint-200:#bfddbb;
  --mint-100:#dcecda;

  /* Kairos — monochrome (project 02) */
  --mono-900:#0a0a0a;
  --mono-600:#8a8a8a;
  --mono-200:#e8e8e8;

  /* Adaptive Wall — espresso + taupe (project 03) */
  --espresso-700:#4f3926;
  --taupe-400:#b1a08b;
  --taupe-100:#ede7de;

  /* LifeMint product UI — a deeper forest green than the deck's sage */
  --green-800:#1d4d2c;
  --green-600:#2b5734;
  --green-400:#4a7d55;
  --green-200:#e8f3ea;
  --green-100:#f1faf3;
  --app-surface:#f9f9f7;

  /* product UI semantics (from the LifeMint screens) */
  --status-positive:#2f7d4f;
  --status-positive-bg:#e4f2e6;
  --status-info:#4f6bd8;
  --status-info-bg:#e8ecfb;
  --status-accent:#7b52c7;
  --status-accent-bg:#f0eafc;

  /* fintech accent — one element per viewport, never a colour theme */
  --cobalt:#494fdf;
  --cobalt-bright:#4f55f1;
  --cobalt-deep:#3a40c4;

  /* semantic aliases */
  --text-display:var(--ink);
  --text-body:var(--ink-2);
  --text-muted:var(--ink-3);
  --text-inverse:var(--white);
  --surface-page:var(--paper);
  --surface-card:var(--white);
  --surface-sunken:var(--paper-2);
  --surface-block:var(--teal-600);
  --surface-block-deep:var(--teal-900);
  --surface-highlight:var(--mint-200);
  --accent:var(--sage-600);
  --accent-stamp:var(--cobalt);
  --border-card:var(--hairline);
  --link:var(--teal-900);
  --link-hover:var(--sage-600);
}
