:root{
/* --- brand base --- */
--green-50:#f4f7e9;
--green-100:#e4ecc9;
--green-300:#b3c56e;
--green-500:#91ab3d;
--green-600:#748a30;
--green-700:#586824;
--green-900:#33401a;
--charcoal:#1a1a1a;
--charcoal-soft:#4a473f;
--cream-0:#fbf8f1;
--cream-50:#f6f1e4;
--cream-100:#efe8d5;
--cream-200:#e4dabf;
--terracotta-400:#d97a4f;
--terracotta-500:#c1502e;
--terracotta-600:#a03f22;
--terracotta-700:#7e2f18;
--bee-yellow:#e8b923;
--white:#ffffff;
--red-error:#b3402a;

/* --- semantic: surfaces --- */
--surface-page:var(--cream-0);
--surface-page-alt:var(--cream-50);
--surface-card:var(--white);
--surface-card-alt:var(--cream-100);
--surface-brand:var(--green-500);
--surface-brand-deep:var(--green-700);
--surface-inverse:var(--charcoal);

/* --- semantic: text --- */
--text-primary:var(--charcoal);
--text-secondary:var(--charcoal-soft);
--text-on-brand:var(--charcoal);
--text-on-dark:var(--cream-0);
--text-link:var(--green-700);
--text-link-hover:var(--terracotta-600);

/* --- semantic: borders --- */
--border-subtle:var(--cream-200);
--border-strong:var(--green-600);

/* --- semantic: action --- */
--action-primary:var(--terracotta-500);
--action-primary-hover:var(--terracotta-600);
--action-primary-active:var(--terracotta-700);
--action-secondary:transparent;
--action-secondary-border:var(--green-600);
--action-secondary-text:var(--green-700);
--action-brand:var(--green-500);
--action-brand-hover:var(--green-600);

/* --- semantic: feedback --- */
--feedback-error:var(--red-error);
--feedback-accent:var(--bee-yellow);
}
