5 variantes × 6 estados, 3 tamanhos, loading sem layout shift, icon-only. Tudo consumindo tokens semânticos — alterne o modo e observe o primário inverter (fill claro + texto escuro no dark).
Variantes × estados
default
hover
active
focus
disabled
loading
primary
secondary
outline
ghost
destructive
Tamanhos e composições
A escada de ênfase — e a prova em escala de cinza
Cada nível muda de MECANISMO, não só de tom: sólido → tint+borda de marca → borda neutra → só texto. A faixa cinza abaixo é o teste do aperto de olhos: sem cor, a hierarquia continua legível — era isso que faltava na v0.1 (containers com 1.07:1 e 2.53:1; agora todos ≥3:1).
Botões de alternância — ícone puro, estado de relance
Padrão Material 3: mesmo glifo, contorno quando desligado e preenchido quando ligado; placa transparente → sólida; forma círculo → quadrado (3º sinal, opcional). Texto vive no tooltip — passe o mouse. Exceção de negação de mídia: o corte comunica "som desligado" e a placa vira danger.