:root{
/* ── Brand core ─────────────────────────────────────────────── */
--sm-ink:#0B0B0C;            /* logo black / primary dark surface */
--sm-paper:#FFFFFF;          /* logo white / primary light surface */

/* ── Ember (primary accent) — the warm orange running through the brand */
--ember-50:#FEF4EE;
--ember-100:#FCE4D4;
--ember-200:#F8C6A6;
--ember-300:#F3A575;
--ember-400:#EE8747;
--ember-500:#E86A24;
--ember-600:#CB531A;
--ember-700:#A44014;
--ember-800:#7B300F;
--ember-900:#4E1E09;

/* ── Warm neutrals — greys carry a slight orange cast, never blue */
--warm-0:#FFFFFF;
--warm-25:#FCFBFA;
--warm-50:#F8F6F4;
--warm-100:#F0ECE8;
--warm-200:#E1DAD4;
--warm-300:#C4BAB2;
--warm-400:#9B918A;
--warm-500:#736B65;
--warm-600:#544D48;
--warm-700:#3A3532;
--warm-800:#232120;
--warm-900:#141312;
--warm-950:#0B0B0C;

/* ── Semantic status ────────────────────────────────────────── */
--signal-success:#2E9E6B;
--signal-success-soft:#E7F5EE;
--signal-warning:#E0A21A;
--signal-warning-soft:#FCF3DF;
--signal-danger:#D3402C;
--signal-danger-soft:#FBE9E6;
--signal-info:#2C6BC4;
--signal-info-soft:#E8F0FB;

/* ── Semantic aliases — use these in components ─────────────── */
--surface-page:var(--warm-0);
--surface-subtle:var(--warm-50);
--surface-card:var(--warm-0);
--surface-sunken:var(--warm-100);
--surface-inverse:var(--sm-ink);
--surface-inverse-raised:var(--warm-800);
--surface-accent-soft:var(--ember-50);

--text-strong:var(--warm-950);
--text-body:var(--warm-700);
--text-muted:var(--warm-500);
--text-faint:var(--warm-400);
--text-on-dark:var(--warm-0);
--text-on-dark-muted:var(--warm-300);
--text-accent:var(--ember-600);
--text-on-accent:#FFFFFF;

--border-hairline:var(--warm-200);
--border-strong:var(--warm-300);
--border-inverse:rgba(255,255,255,.14);
--border-accent:var(--ember-500);

--action-primary:var(--ember-500);
--action-primary-hover:var(--ember-600);
--action-primary-press:var(--ember-700);
--action-inverse:var(--sm-ink);
--action-inverse-hover:var(--warm-800);

--focus-ring:var(--ember-500);
--link:var(--ember-600);
--link-hover:var(--ember-700);
}
[data-theme="dark"]{
--surface-page:var(--sm-ink);
--surface-subtle:var(--warm-900);
--surface-card:var(--warm-800);
--surface-sunken:var(--warm-900);
--surface-inverse:var(--warm-0);
--surface-inverse-raised:var(--warm-50);
--surface-accent-soft:rgba(232,106,36,.12);
--text-strong:var(--warm-0);
--text-body:var(--warm-200);
--text-muted:var(--warm-400);
--text-faint:var(--warm-500);
--text-accent:var(--ember-400);
--border-hairline:rgba(255,255,255,.12);
--border-strong:rgba(255,255,255,.22);
--link:var(--ember-400);
--link-hover:var(--ember-300);
}