Visual direction · 6-max NLHE · play money
The felt is deliberately quiet. Saturated colour is reserved for one job — telling you the suit at a glance — so the four suit hues are the loudest thing on the screen and everything else gets out of their way.
01 — the table
Pot, stacks, and bets are set in tabular mono so money lines up in a column and you can read a stack size without counting digits. The brass ring marks who is on the clock.
02 — the deck
One row per suit, one column per rank. The grid is the deck and the colour spec at the same time — if a hue fails here it fails at the table.
03 — does it survive
A four-colour deck is only worth shipping if the hues separate at the size they actually appear and for the players who actually sit down. Same four cards, three viewing conditions.
34 px wide — an opponent's revealed hand on a laptop.
Luminance only. The pip shapes carry it when hue can't.
Red–green blindness, ~6% of men. Hearts and clubs are the pair at risk.
04 — motion
Animation starts on click and finishes on the server's answer — the chips move before confirmation, the state never does. A rejected action reverses the animation instead of correcting a lie. Each panel names the event it writes to the audit chain. All five loop together; press Replay to re-run one.
Cards travel to the muck and the seat dims. They never flip — a folded hand is sealed, not shown.
Chips slide to the bet line and the amount counts up. The brass ring hands the clock to the next seat.
The whole stack leaves the seat and the badge snaps in. Stack reads zero the moment the chips land.
The pot sweeps to the winner and their stack counts up as it arrives. Side pots push one at a time, largest last.
Everyone folded, so no river was ever dealt. This card is drawn fresh, after the hand, and outlined in brass so it can never be mistaken for board.