- Series grouping: a top-level folder with no .zip but game subfolders is
now treated as a GameSeries. Clicking a series drills into it with a
breadcrumb; a game-count badge distinguishes series cards from game cards.
Series fall back to the first game's cover when no series-level cover exists.
- Cover upload: new POST /api/game-cover endpoint writes cover.jpg or
widecover.jpg directly into the game/series folder (re-encoded via sharp).
A kebab menu on GameDetailModal opens an Edit Images panel showing previews
and upload/replace buttons for both cover and wide cover.
- Multi-zip download: Game.zipFiles replaces zipPath and includes all .zip
files in the folder. A single zip shows the existing download button; multiple
zips render a split button — primary action downloads the first file, a
dropdown arrow lists all files by name.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>