/* Colors — Sage (core) + Plum/Aubergine (counterpoint). No red/green semantics. */
:root{
/* Base ramp — Sage */
--sage-25:#F7FAF3;--sage-50:#EDF3E5;--sage-100:#E1EAD6;--sage-200:#C9D8BC;--sage-300:#A9BC9F;--sage-500:#7E9573;--sage-700:#4A5C43;--sage-900:#22301F;
/* Base ramp — Plum */
--plum-50:#EFE9F2;--plum-200:#B7A6BE;--plum-700:#4C3752;
--white:#FFFFFF;

/* Semantic — text */
--text-heading:var(--sage-900);
--text-body:var(--sage-700);
--text-muted:var(--sage-500);
--text-on-primary:var(--white);
--text-eyebrow:var(--sage-700);

/* Semantic — surfaces */
--surface-page:var(--sage-50);
--surface-glass:rgba(255,255,255,0.45);
--surface-glass-strong:rgba(255,255,255,0.6);
--surface-glass-soft:rgba(255,255,255,0.4);
--surface-input:rgba(255,255,255,0.6);
--surface-input-focus:rgba(255,255,255,0.9);

/* Semantic — borders */
--border-glass:rgba(255,255,255,0.7);
--border-glass-strong:rgba(255,255,255,0.8);
--border-button-glass:rgba(255,255,255,0.6);
--border-focus:var(--sage-300);

/* Semantic — primary action (vertical 3D gradient) */
--primary-grad-top:var(--sage-500);
--primary-grad-bottom:var(--sage-700);

/* Semantic — feedback (sage = correct, plum = review) */
--feedback-positive-fg:var(--sage-900);
--feedback-positive-mark:var(--sage-700);
--feedback-positive-grad:linear-gradient(135deg,rgba(201,216,188,0.4),rgba(169,188,159,0.2)); /* @kind color */
--feedback-review-fg:var(--plum-700);
--feedback-review-mark:var(--plum-700);
--feedback-review-grad:linear-gradient(135deg,rgba(239,233,242,0.6),rgba(183,166,190,0.2)); /* @kind color */

/* Ambient page wash */
--ambient-1:var(--sage-200);
--ambient-2:var(--plum-200);
--ambient-3:var(--sage-100);
}
