:root{
  /* Surfaces */
  --surface-page:var(--paper);
  --surface-raised:var(--white);
  --surface-sunken:var(--slate-050);
  --surface-card:var(--white);
  --surface-inverse:var(--ink-900);
  --surface-inverse-raised:var(--ink-800);
  --surface-accent:var(--violet-500);
  --surface-accent-soft:var(--violet-050);
  --surface-signal:var(--citron-400);
  --surface-veil:rgba(255,255,255,.72);
  --surface-veil-dark:rgba(20,20,28,.62);

  /* Text */
  --text-strong:var(--ink-900);
  --text-body-color:var(--slate-600);
  --text-muted:var(--slate-400);
  --text-on-accent:var(--white);
  --text-on-signal:var(--citron-800);
  --text-on-inverse:var(--white);
  --text-on-inverse-muted:rgba(255,255,255,.64);
  --text-accent:var(--violet-500);
  --text-link:var(--violet-600);
  --text-link-hover:var(--violet-500);

  /* Borders */
  --border-subtle:var(--slate-200);
  --border-default:var(--slate-300);
  --border-strong-color:var(--ink-900);
  --border-accent:var(--violet-300);
  --border-inverse:var(--alpha-white-14);

  /* Interaction */
  --focus-ring:0 0 0 3px var(--alpha-violet-24);
  --press-scale:0.98; /* @kind other */
  --hover-lift:-2px;

  /* Component aliases */
  --btn-primary-bg:var(--ink-900);
  --btn-primary-bg-hover:var(--ink-700);
  --btn-accent-bg:var(--violet-500);
  --btn-accent-bg-hover:var(--violet-600);
  --card-border:var(--slate-200);
  --card-shadow:var(--shadow-sm);
  --card-shadow-hover:var(--shadow-md);
}
