:root{
/* base palette */
--green-950:#0d1f19;
--green-900:#14312a;
--green-800:#1a3f35;
--green-700:#204c3f;
--green-600:#2c5f4f;
--green-500:#3d7863;
--terracotta-700:#a84a27;
--terracotta-600:#c85a32;
--terracotta-500:#d67a51;
--terracotta-100:#f3ded2;
--gold-600:#a9822b;
--gold-500:#c9a227;
--gold-300:#e3c877;
--burgundy-600:#8f3327;
--burgundy-500:#a13c2e;
--ivory-100:#fdfbf6;
--ivory-200:#faf6ee;
--sand-200:#f1e9da;
--sand-300:#ece1cc;
--sand-400:#dccfae;
--ink-900:#1c2420;
--ink-700:#3d453f;
--ink-500:#5c655f;
--ink-300:#8b9289;
--ink-100:#d8dcd6;
--white:#ffffff;

/* semantic */
--surface-page:var(--ivory-200);
--surface-page-alt:var(--ivory-100);
--surface-card:var(--white);
--surface-sand:var(--sand-200);
--surface-dark:var(--green-900);
--surface-dark-alt:var(--green-800);
--surface-dark-card:var(--green-700);

--text-heading:var(--green-900);
--text-body:var(--ink-700);
--text-muted:var(--ink-500);
--text-on-dark:var(--ivory-100);
--text-on-dark-muted:#b9c4bc;
--text-accent:var(--terracotta-600);
--text-gold:var(--gold-500);

--border-subtle:var(--ink-100);
--border-on-dark:rgba(253,251,246,0.14);

--action-primary-bg:var(--green-800);
--action-primary-bg-hover:var(--green-900);
--action-primary-fg:var(--ivory-100);
--action-accent-bg:var(--terracotta-600);
--action-accent-bg-hover:var(--terracotta-700);
--action-accent-fg:var(--ivory-100);
--action-outline-border:var(--ink-100);
--action-outline-fg:var(--text-heading);

--focus-ring:var(--terracotta-500);
}
