:root{
  /* ---- Brand green ramp (primary = --green-500 = #149365) ---- */
  --green-50:#eaf6f0;--green-100:#d0ebe0;--green-200:#a3d8c3;--green-300:#6cc0a1;
  --green-400:#38a67f;--green-500:#149365;--green-600:#0f7b54;--green-700:#0b6144;
  --green-800:#084a34;--green-900:#063526;--green-950:#042118;

  /* ---- Ink / neutral ramp (green-tinted cool grey) ---- */
  --ink-950:#0a1310;--ink-900:#10201b;--ink-800:#1b2f28;--ink-700:#2c443b;
  --ink-600:#465f56;--ink-500:#6a8279;--ink-400:#94a8a0;--ink-300:#bccbc5;
  --ink-200:#dae4e0;--ink-100:#eaf0ed;--ink-50:#f4f8f6;--white:#ffffff;

  /* ---- Accents ---- */
  --lime-300:#e4fbb0;--lime-400:#d5f77e;--lime-500:#cdf46f;--lime-600:#a8d443;
  --aqua-200:#c8f2ea;--aqua-300:#8fe4d8;--aqua-400:#4fd0c0;--aqua-500:#20b3a4;
  --sky-200:#cfe4fb;--sky-400:#6aa9ee;--sky-500:#2b7fd4;
  --coral-200:#ffd9d0;--coral-400:#ff8f70;--coral-500:#e2543a;
  --amber-200:#ffe6bd;--amber-400:#f4b64c;--amber-500:#d9871a;
  --violet-200:#ddd8fb;--violet-400:#9b8ff0;

  /* ---- Semantic text ---- */
  --text-strong:var(--ink-950);
  --text-body:var(--ink-700);
  --text-muted:var(--ink-500);
  --text-subtle:var(--ink-400);
  --text-inverse:var(--white);
  --text-inverse-muted:rgba(255,255,255,.72);
  --text-brand:var(--green-600);
  --text-link:var(--green-600);
  --text-link-hover:var(--green-700);

  /* ---- Semantic surfaces ---- */
  --surface-page:var(--white);
  --surface-page-alt:var(--ink-50);
  --surface-card:var(--white);
  --surface-card-alt:var(--ink-50);
  --surface-sunken:var(--ink-100);
  --surface-inverse:var(--ink-950);
  --surface-brand:var(--green-500);
  --surface-brand-soft:var(--green-50);
  --surface-brand-deep:var(--green-900);
  --surface-highlight:var(--lime-500);
  --surface-overlay:rgba(10,19,16,.55);
  --surface-glass:rgba(255,255,255,.72);

  /* ---- Semantic borders ---- */
  --border-subtle:var(--ink-200);
  --border-default:var(--ink-300);
  --border-strong:var(--ink-400);
  --border-brand:var(--green-500);
  --border-inverse:rgba(255,255,255,.16);
  --border-focus:var(--green-400);

  /* ---- Status ---- */
  --status-success-fg:var(--green-700);--status-success-bg:var(--green-50);--status-success-solid:var(--green-500);
  --status-warning-fg:#8a5406;--status-warning-bg:var(--amber-200);--status-warning-solid:var(--amber-500);
  --status-danger-fg:#8f2b19;--status-danger-bg:var(--coral-200);--status-danger-solid:var(--coral-500);
  --status-info-fg:#1a5490;--status-info-bg:var(--sky-200);--status-info-solid:var(--sky-500);
  --status-neutral-fg:var(--ink-600);--status-neutral-bg:var(--ink-100);--status-neutral-solid:var(--ink-500);

  /* ---- Interactive ---- */
  --action-primary-bg:var(--green-500);
  --action-primary-bg-hover:var(--green-600);
  --action-primary-bg-active:var(--green-700);
  --action-primary-fg:var(--white);
  --action-secondary-bg:var(--white);
  --action-secondary-bg-hover:var(--ink-50);
  --action-secondary-fg:var(--ink-900);
  --action-ghost-bg-hover:var(--ink-100);
  --action-highlight-bg:var(--lime-500);
  --action-highlight-bg-hover:var(--lime-600);
  --action-highlight-fg:var(--ink-950);
  --action-disabled-bg:var(--ink-100);
  --action-disabled-fg:var(--ink-400);
}
