The end-of-game popup (today: a centered web-modal with a trophy emoji). Every direction below uses only data finishGame already has or can cheaply get: result + reason, ★ gained (1–3), stars-to-next-pack, ELO delta + the existing rank ladder (Recruit → Soldier → Veteran → Elite → Master → Warlord), bot name/ELO from the lobby, move count and auto flag from G.
Use the outcome switch on any stage — VICTORY / DEFEAT / DRAW / AUTO (auto-win: stars recorded but not earned) — all variants re-render. Scenario: beat The Master (ELO 1600) by checkmate in 34 moves, +2★ (68/100 toward the next pack), ELO 1512 → 1528.
by checkmate
You earned +2 ★ (32★ to next pack)
The payoff is the headline, and it's diegetic. Big serif VICTORY with a "by checkmate · 34 moves" battle tag, then three engraved spoil plates: the ★ star flight (gold hero plate, animated pop, pack-progress bar underneath — packs Earned replace it when the bar fills), the ELO delta chip with your ladder rank and pip progress to the next rank, and the fallen foe. Defeat flips the whole plate to cold slate with a broken-shield feel; DRAW goes amber-neutral. The AUTO state keeps the plates but greys the stars into "recorded, not earned".
The game end reads like a ledger line in a campaign diary. VICTORY heads a chronicler's account: foe name struck through with their ELO, dashed ledger rows (felled by / moves / spoils / standing), and a one-line narrator sentence. Quietest of the three — the "gentleman scholar" option. Same fixed width in all outcomes; rows restyle instead of reflow.
Full ceremony, minimum UI. Slow-rotating god rays, the fallen god's sigil cracked and greyed with its crown knocked askew, ember particles rising on a win, a huge serif VICTORY overlapping the stage, and exactly two facts as chips (+★ with pack progress, ELO delta). One giant action: BATTLE AGAIN. Defeat: rays go cold, crown hidden, word becomes DEFEAT, action becomes grey. The most "game" — and the most opinionated about what matters (nothing else).