···2525- `src/render/`
2626 - `mod.rs` — TUI layout orchestration with `ratatui`
2727 - `content.rs` — main content panel and status bar rendering
2828- - `modal.rs` — modal rendering for help, file picker, theme picker, editor picker, picker loading/failed states
2828+ - `popup.rs` — popup rendering for help, file picker, theme picker, editor picker, picker loading/failed states
2929 - `status.rs` — status bar construction (brand, filename, search, watch, shortcuts, percentage)
3030 - `toc.rs` — TOC sidebar rendering
3131···8282## Application modes
83838484- **Initial mode** (`!app.has_content()`): no file loaded, picker is the main view. Quit shortcuts exit the app.
8585-- **Preview mode** (`app.has_content()`): file loaded via argument, stdin, or picker selection. Quit shortcuts in pickers close the modal and return to the preview.
8585+- **Preview mode** (`app.has_content()`): file loaded via argument, stdin, or picker selection. Quit shortcuts in pickers close the popup and return to the preview.
86868787## Picker lifecycle
8888
+1-1
README.md
···154154- ✅ Fuzzy Markdown picker when launched without a file, or anytime with `Ctrl+P`
155155- ✅ Classic directory browser picker with `leaf --picker`, or anytime with `Shift+P`
156156- ✅ Theme picker with runtime preview
157157-- ✅ Help modal with in-app shortcuts
157157+- ✅ Help popup with in-app shortcuts
158158159159## Typical AI Workflow
160160