diff --git a/.planning/phases/31-mobile-polish/31-CONTEXT.md b/.planning/phases/31-mobile-polish/31-CONTEXT.md
new file mode 100644
index 0000000..48c9f6a
--- /dev/null
+++ b/.planning/phases/31-mobile-polish/31-CONTEXT.md
@@ -0,0 +1,88 @@
+# Phase 31: Mobile Polish - Context
+
+**Gathered:** 2026-04-12
+**Status:** Ready for planning
+
+
+## Phase Boundary
+
+Replace text-based action buttons with icon buttons on mobile across all detail pages. This is a focused UI polish phase — no new features, just better mobile touch UX.
+
+
+
+
+## Implementation Decisions
+
+### Icon Actions Scope
+- **D-01:** Apply icon-based action buttons on mobile to **all detail pages**: item detail, candidate detail, setup detail, catalog detail — anywhere action buttons appear.
+- **D-02:** Desktop keeps text buttons. Mobile (below sm: breakpoint) switches to icons. Uses the same responsive breakpoint as BottomTabBar.
+- **D-03:** Standard icon mapping: pencil/edit for Edit, trash for Delete, copy for Duplicate, share for Share (if applicable).
+
+### Mobile UX
+- **D-04:** No other specific mobile UX issues to address — user is happy with current mobile support beyond the icon buttons.
+
+### Claude's Discretion
+- Whether to add long-press tooltips on icon buttons for discoverability
+- Exact breakpoint for icon/text switch (likely `sm:` matching BottomTabBar)
+- Icon sizing and spacing for comfortable touch targets (minimum 44px)
+- Whether to use Lucide icons (already in project) or keep inline SVGs
+- Any additional small polish items noticed during implementation (tap target sizes, etc.)
+
+
+
+
+## Canonical References
+
+**Downstream agents MUST read these before planning or implementing.**
+
+### Action Buttons (need icon variants)
+- `src/client/routes/items/$itemId.tsx` — Item detail actions: Duplicate, Delete/Remove, Edit (lines ~186-210)
+- `src/client/routes/threads/$threadId/candidates/$candidateId.tsx` — Candidate detail actions
+- `src/client/routes/setups/$setupId.tsx` — Setup detail actions (if any)
+- `src/client/routes/global-items/$globalItemId.tsx` — Catalog detail actions (if any)
+
+### Responsive Patterns
+- `src/client/components/BottomTabBar.tsx` — Mobile bottom nav, uses `md:hidden` breakpoint
+- `src/client/components/TopNav.tsx` — Desktop top nav, uses `hidden md:flex` breakpoint
+
+### Icon System
+- `src/client/lib/iconData.ts` — LucideIcon component, 119 curated icons
+
+
+
+
+## Existing Code Insights
+
+### Reusable Assets
+- `LucideIcon` component — renders Lucide icons by name. Already used throughout the app.
+- BottomTabBar responsive pattern — `md:hidden` / `hidden md:flex` for mobile/desktop switch.
+- Tailwind responsive classes already established throughout the codebase.
+
+### Established Patterns
+- Mobile/desktop responsive switch at `md:` breakpoint (768px) — consistent with BottomTabBar and TopNav.
+- Action buttons are inline `
+
+
+## Specific Ideas
+
+- This is a small, focused phase. The user is generally happy with mobile support — just the text buttons on detail pages are the pain point.
+- Keep it simple — responsive icon/text swap using existing Tailwind breakpoints and LucideIcon.
+
+
+
+
+## Deferred Ideas
+
+None — discussion stayed within phase scope
+
+
+
+---
+
+*Phase: 31-mobile-polish*
+*Context gathered: 2026-04-12*
diff --git a/.planning/phases/31-mobile-polish/31-DISCUSSION-LOG.md b/.planning/phases/31-mobile-polish/31-DISCUSSION-LOG.md
new file mode 100644
index 0000000..030c32a
--- /dev/null
+++ b/.planning/phases/31-mobile-polish/31-DISCUSSION-LOG.md
@@ -0,0 +1,53 @@
+# Phase 31: Mobile Polish - Discussion Log
+
+> **Audit trail only.** Do not use as input to planning, research, or execution agents.
+> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
+
+**Date:** 2026-04-12
+**Phase:** 31-mobile-polish
+**Areas discussed:** Icon actions scope, Other mobile UX tweaks
+
+---
+
+## Icon Actions Scope
+
+| Option | Description | Selected |
+|--------|-------------|----------|
+| All detail pages | Item, candidate, setup, catalog detail — full consistency | ✓ |
+| Item + candidate only | Most-used pages on mobile | |
+| You decide | Claude applies where needed | |
+
+**User's choice:** All detail pages
+
+| Option | Description | Selected |
+|--------|-------------|----------|
+| Tooltip on long-press | Help users learn icons | |
+| No tooltips | Icons are universally understood | |
+| You decide | Claude picks | ✓ |
+
+**User's choice:** You decide (Claude's discretion)
+
+---
+
+## Other Mobile UX Tweaks
+
+| Option | Description | Selected |
+|--------|-------------|----------|
+| Tap targets too small | Minimum 44px touch targets needed | |
+| Scroll/spacing issues | Content too close to edges, etc. | |
+| Nothing specific | Happy with mobile otherwise | ✓ |
+
+**User's choice:** Nothing specific — icon buttons are the main thing
+
+---
+
+## Claude's Discretion
+
+- Long-press tooltips
+- Breakpoint for icon/text switch
+- Icon sizing and touch targets
+- Additional small polish if noticed
+
+## Deferred Ideas
+
+None