Replace the look of every page (key, lobby, create, table, range, review)
with light/dark semantic colors, translucent materials, iOS-style grouped
lists and system typography. Add fluid.js, a small spring engine with
interruptible, velocity-aware animations, and use it for draggable bottom
sheets, sliding segmented controls, a custom bet slider with rubber-banding,
swipe-to-delete in the lobby, and dealt/flipped cards. Seats and cards are
now reused between renders so animations are not cut off. Honors reduced
motion, reduced transparency and increased contrast.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Replace the Yokosawa ranges with the 6-max opening ranges (UTG, HJ, CO,
SB, BTN). Colors keep the old order: navy (strong UTG), red UTG, yellow
HJ, green CO, blue SB, white BTN. SB is narrower than BTN, so blue sits
one tier above white; the purple-frame category is gone.
- Show the "BTN vs CO open" chart on the range page as frames: light blue
for 3bet, yellow for call.
- Grade BTN facing an unlimped CO open by those frames in reviews; other
spots keep the color-tier rule (BB defends down to green).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Optional ADMIN_KEY (6 digits, distinct from ACCESS_KEY): entering it on the
key screen signs in as admin (role-specific HMAC cookie; member cookies
stay valid). Logged-in members can open /key?admin to enter it.
- /range (range chart + color/category quiz, ported from poker-hand and
restyled to the site design) and its files under admin/ are served only to
admins; everyone else gets 404. Card images cached privately for a day.
- Lobby shows a link to the page for admins only (GET /api/me).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>