:root{
/* --- base palette --- */
--blue-50:#e6f4fb;
--blue-100:#c2e4f5;
--blue-300:#4fabe0;
--blue-500:#0078c8;
--blue-600:#0068ae;
--blue-700:#00558d;
--blue-900:#062c47;
--navy-900:#2d2f39;
--navy-800:#383a45;
--navy-700:#474a57;
--cream-50:#f6f4f0;
--cream-100:#efece5;
--white:#ffffff;
--ink-900:#171a1f;
--ink-700:#3c4149;
--ink-500:#5c626b;
--ink-300:#8a909a;
--ink-100:#e3e5e8;
--pink-500:#ff4f92;
--orange-500:#ff9a52;
--teal-500:#17c1c2;
--teal-700:#0e8f90;
--amber-500:#f7941d;
--gradient-horizon:linear-gradient(90deg,var(--pink-500) 0%,var(--orange-500) 100%);

/* --- semantic aliases --- */
--surface-page:var(--cream-50);
--surface-canvas:var(--white);
--surface-card:var(--white);
--surface-sunken:var(--cream-100);
--surface-inverse:var(--navy-900);
--surface-brand:var(--blue-500);

--text-primary:var(--ink-900);
--text-secondary:var(--ink-500);
--text-muted:var(--ink-300);
--text-on-brand:var(--white);
--text-on-inverse:var(--white);
--text-link:var(--blue-500);
--text-link-hover:var(--blue-600);

--border-subtle:var(--ink-100);
--border-strong:var(--ink-300);

--action-primary:var(--blue-500);
--action-primary-hover:var(--blue-600);
--action-primary-active:var(--blue-700);
--action-secondary:var(--white);
--action-secondary-border:var(--ink-100);

--accent-live:var(--pink-500);
--accent-highlight:var(--amber-500);
--tag-destination:var(--teal-500);
--tag-destination-text:var(--white);
--tag-cta:var(--amber-500);
--badge-new:var(--pink-500);

--focus-ring:var(--blue-300);
}
