Up to 6 at the table
Classic and Speed games now seat up to six players — bigger tables, more rivals, and more glorious chaos.

In plain words
Four players was always a fine game, but the board has room for more — so now you can fill it. Both Classic and Speed support up to six players, whether they are friends, strangers or bots.
A six-handed table plays differently. There is more competition for the same 40 cells, monopolies are harder to assemble, auctions get fierce, and the rent really starts to bite. Expect louder, messier, more unpredictable games.
- Set up any game for 2 to 6 players, in Classic or Speed.
- A sixth token colour — cyan — joins the lineup, so every player is easy to tell apart.
- The waiting-room seats and the in-game player rail reflow to fit five or six without crowding.
For the technically curious
The stack was an inconsistent mix: the engine and the games.max_players / game_players.slot CHECK constraints already allowed five, but the create_game RPC validation and the web form still capped at four. The fix raises the ceiling to six uniformly.
Migration 0027 relaxes the two CHECK constraints and the two seeding RPCs (the constraint names were verified on prod first, then the migration was applied via the Management API before the merge):
-- 0027_max_players_6.sql
alter table games drop constraint games_max_players_check;
alter table games add constraint games_max_players_check
check (max_players between 2 and 6); -- was 2..5
alter table game_players drop constraint game_players_slot_check;
alter table game_players add constraint game_players_slot_check
check (slot between 0 and 5); -- was 0..4
-- create_game + seed_bot_game bound: 2..4 -> 2..6On the engine side, initializeGame now accepts 2..6, and the fast-check termination property test runs full 2–6-player games to confirm they still finish under the round cap (the boundary test rejects 7). The web client gains the sixth SLOT_COLORS entry — cyan, kept distinct from the other tokens and the property-group colours:
// Board.tsx SLOT_COLORS — the 6th token
const SLOT_COLORS = [/* ...5 existing... */, '#06b6d4']; // cyanmax_players is per-game, so Classic and Speed both inherit the new cap for free. Engine 193 / daemon 60 tests green; prod DB ledger advanced to 0027.
