:root{
/* --- Accent: one green carries every interactive element --- */
--green-600:#1a5c3d;--green-500:#1f6f4a;--green-450:#2a8259;--green-300:#4fb985;--green-100:#e6efe9;
/* --- Warm neutrals: light surfaces --- */
--paper:#ffffff;--linen:#f4f3ef;--shell:#faf9f6;--chalk:#d6d5ce;
/* --- Warm near-blacks: dark tiles --- */
--slate-1:#1e201c;--slate-2:#232520;--slate-3:#1a1c18;--void:#000000;
/* --- Ink --- */
--ink-900:#1b1d19;--ink-700:#3a3d37;--ink-400:#77796f;--ink-000:#ffffff;--ink-on-dark-muted:#c9cbc3;
/* --- Hairlines --- */
--hairline:#e4e3dd;--hairline-soft:rgba(0,0,0,.05);--hairline-on-dark:rgba(255,255,255,.14);

/* ================= Semantic aliases ================= */
--accent:var(--green-500);
--accent-pressed:var(--green-600);
--accent-focus:var(--green-450);
--accent-on-dark:var(--green-300);
--accent-wash:var(--green-100);
--on-accent:var(--ink-000);

--canvas:var(--paper);
--canvas-alt:var(--linen);
--surface-raised:var(--shell);
--surface-tile-1:var(--slate-1);
--surface-tile-2:var(--slate-2);
--surface-tile-3:var(--slate-3);
--surface-void:var(--void);
--surface-chip:rgba(214,213,206,.64);

--text-body:var(--ink-900);
--text-heading:var(--ink-900);
--text-muted:var(--ink-700);
--text-disabled:var(--ink-400);
--text-on-dark:var(--ink-000);
--text-on-dark-muted:var(--ink-on-dark-muted);
--text-link:var(--accent);
--text-link-on-dark:var(--accent-on-dark);

--border-card:var(--hairline);
--border-ring:var(--hairline-soft);
--border-on-dark:var(--hairline-on-dark);
}
