When a nuzlocke run is completed (status → completed), prompt the player to select which Pokemon were in their Hall of Fame team — the party of up to 6 that beat the Elite Four and Champion.
This is a general nuzlocke feature (not genlocke-specific) and provides value on its own:
- Interesting stats: which Pokemon enter the HoF most often across runs
- Run summary: display the HoF team prominently on the completed run page
- Foundation for genlocke retireHoF logic (only retire HoF team, not all alive Pokemon)
## Behavior
- After marking a run as completed, show a modal/step asking the player to pick their HoF team from all alive Pokemon
- Max 6 Pokemon can be selected
- Store the selection as a list of encounter IDs on the run (or a join table)
- The HoF team should be displayed prominently on the completed run page (e.g. in the victory banner)
- Selection is optional — if skipped, all alive Pokemon are assumed to be in the HoF (backwards-compatible)
## Backend
- Add `hof_team` JSONB column (array of encounter IDs) to `nuzlocke_runs`, or a `hof_encounters` join table
- New endpoint or extend `PATCH /runs/{id}` to accept HoF team selection
- Include HoF team data in `GET /runs/{id}` response
## Frontend
- After the EndRunModal confirms "completed", show a HoF team selection step
- Display alive Pokemon as selectable cards (max 6)
- Show the selected HoF team in the victory banner on the completed run page
- Allow editing the HoF team after the fact (in case the player forgot or made a mistake)