One-line: the text field — always pair it with a Field + Label rather than a bare placeholder.

```jsx
<Field><Label htmlFor="email">Email</Label><Input id="email" type="email" placeholder="rick@cal.com" /></Field>
<Input startAddon={<SearchIcon />} type="search" placeholder="Search" />
```

Heights: sm 28px, default 32px, lg 36px (desktop). Set \`invalid\` to switch the border and ring to destructive; put the message in \`FieldError\`.
