A popover picker for the full Unicode emoji set (~1,900 via `unicode-emoji-json`) and every lucide icon (~1,900 via `lucide-react/dynamic`). Pass `mode` to offer emojis, icons, or both — `both` shows a rounded Emoji / Icons tab strip whose Search tab morphs into a filter field. Both grids are windowed (only the visible rows mount) and icons load lazily, so showing everything stays fast and the consumer's bundle stays light. Built from Squad UI components (Popover, SearchTabs, TextField, Button). Fully keyboard-driven while open: Shift+←/→ switches tabs, arrow keys roam the grid, and Enter picks. Picking does not close the popover; the always-present Remove button clears the selection. Selection is `{ type, value }` where `value` is the emoji character or the lucide icon name.