:root{
  /* Brand primitives sampled from the Sariko lockup */
  --purple-50:#f1ecfd; --purple-100:#e3d9fb; --purple-200:#c7b4f6; --purple-300:#a98ef0;
  --purple-400:#8c69ea; --purple-500:#7c4dff; --purple-600:#6e44e2; --purple-700:#5533b4;
  --purple-800:#3d2586; --purple-900:#261758;

  --red-50:#ffe9ee; --red-100:#ffcdd8; --red-200:#fe9ab0; --red-300:#fe6787;
  --red-400:#fd3f65; --red-500:#fd1744; --red-600:#d80d36; --red-700:#a80928;
  --red-800:#78061c; --red-900:#4a0311;

  /* Warm neutrals — the cream from the lockup is the family root */
  --sand-0:#ffffff; --sand-50:#fbf7f3; --sand-100:#f4ece5; --sand-200:#eadfd4;
  --sand-300:#d9cbbe; --sand-400:#b8a899; --sand-500:#8e8175; --sand-600:#6a6058;
  --sand-700:#4a433d; --sand-800:#2c2823;
  --ink:#17122b; --ink-soft:#302a4a;

  --green-100:#d5f2e5; --green-500:#13a06a; --green-700:#0b6b46;
  --amber-100:#fdeecd; --amber-500:#f5a524; --amber-700:#9a6206;

  /* Semantic aliases — always prefer these in components */
  --brand:var(--purple-600);
  --brand-hover:var(--purple-700);
  --brand-active:var(--purple-800);
  --brand-soft:var(--purple-50);
  --accent:var(--red-500);
  --accent-hover:var(--red-600);
  --accent-soft:var(--red-50);

  --bg-page:var(--sand-100);
  --bg-page-alt:var(--sand-50);
  --bg-ink:var(--ink);
  --surface-card:var(--sand-0);
  --surface-sunken:var(--sand-200);
  --surface-brand:var(--purple-600);
  --surface-overlay:color-mix(in oklab,var(--ink) 55%,transparent);

  --text-body:var(--ink);
  --text-muted:var(--sand-600);
  --text-subtle:var(--sand-500);
  --text-on-brand:#ffffff;
  --text-on-accent:#ffffff;
  --text-link:var(--purple-600);
  --text-link-hover:var(--purple-800);

  --border-subtle:var(--sand-200);
  --border-default:var(--sand-300);
  --border-strong:var(--ink);
  --border-brand:var(--purple-600);

  --focus-ring:var(--purple-500);

  --success:var(--green-500); --success-soft:var(--green-100); --success-ink:var(--green-700);
  --warning:var(--amber-500); --warning-soft:var(--amber-100); --warning-ink:var(--amber-700);
  --danger:var(--red-500); --danger-soft:var(--red-50); --danger-ink:var(--red-700);
  --info:var(--purple-500); --info-soft:var(--purple-50); --info-ink:var(--purple-800);
}
