Five visual ButtonVariants crossed with three ButtonSizes.
disabled is styling-only but still forwards the native disabled attribute,
so disabled buttons are genuinely non-interactive. Defaults to
type="button" so it never accidentally submits an ancestor form. Extra
<button> attributes (e.g. onClick, aria-*) pass straight through.
Colours come from design tokens — see the design-system stylesheet.
Design-system button mirroring the iOS button design.