Select on radix-ui. Trigger follows the Input contract: 3 variants (outline, soft, ghost), 3 sizes (sm, md, lg), 3 tones (neutral, success, danger). Grouped items, labels, separators, scroll buttons, checkmark indicator; popper positioned with matching width.