Visual direction · 6-max NLHE · play money

A table built for the tenth hour,
not the first drink.

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

Turn, four-way, hero to act

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.

K
9
4
T
Pot 4,250
A
K
NJ
You
12,480
1,400
RV
river_vandal
8,015
1,400
D
QT
quiet_tilt
3,290
MB
min_bet_mary
21,750
1,400
OS
open_shover
6,600
LC
limp_caller
9,905
1,400

02 — the deck

Fifty-two cards, four hues

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.

AKQJT98765432
#16181A
#C1272D
#2060C8
#0F6B3C

03 — does it survive

The squint test

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.

Table scale

34 px wide — an opponent's revealed hand on a laptop.

A
A
A
A

No colour at all

Luminance only. The pip shapes carry it when hue can't.

A
A
A
A

Deuteranopia

Red–green blindness, ~6% of men. Hearts and clubs are the pair at risk.

A
A
A
A
felt #12211Frail #0A1413card #F2EFE6 brass #E0A43Clabel #8FA3A0

04 — motion

Five moments, one rule

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.

Fold

player_folded

Cards travel to the muck and the seat dims. They never flip — a folded hand is sealed, not shown.

MUCK
LC
limp_caller
9,905

Raise

player_raised

Chips slide to the bet line and the amount counts up. The brass ring hands the clock to the next seat.

0
RV
river_vandal
8,015

All in

player_all_in

The whole stack leaves the seat and the badge snaps in. Stack reads zero the moment the chips land.

ALL IN
0
OS
open_shover
8,015

Pot push

pot_awarded

The pot sweeps to the winner and their stack counts up as it arrives. Side pots push one at a time, largest last.

K
9
4
T
A
POT4,250
NJ
You
12,480

Rabbit hunt

rabbit_hunted

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.

K
9
4
T
Q
NEVER DEALT · DRAWN ON REQUEST
NJ
You
12,480