···5353- Outer chrome: `rounded-md border`, `bg-background`, `min-h-0` flex discipline for scroll.
5454- Prose links: `text-accent`; focus ring uses semantic accent via arbitrary property.
55555656+## Tooltip
5757+5858+**Reference:** `AppSidebar.tsx` (new-document buttons), `CommandPalette.tsx` (action rows)
5959+6060+Use the **native `title` attribute**. No custom CSS, no custom markup.
6161+6262+```tsx
6363+<button title="New document in Habitat" ...>
6464+```
6565+6666+```tsx
6767+<div title={action.description} ...>
6868+```
6969+7070+The browser renders the OS-native tooltip:
7171+- macOS: dark translucent bubble below the element
7272+- Windows/Linux: follows OS theme
7373+7474+**Rules:**
7575+- Every interactive control that needs extra context gets a `title`
7676+- Icon-only buttons **must** also have `aria-label` (screen readers don't read `title` reliably)
7777+- Never build a custom tooltip with CSS/JS when `title` is sufficient
7878+- If you need rich markup in the tooltip, use `aria-describedby` pointing at visually-hidden content rather than a custom floating element
7979+5680## Theme switch
57815882**Reference:** `SettingsModal.tsx`