Make the four seat states readable across the table
A seat could be live in the hand, folded, sitting out, or empty, and three of those looked nearly the same: a plain dark puck, or a dimmed one. An unclaimed chair was indistinguishable from a nameless player, and nothing positively said "this player is in" — the dealer had to infer it from whether a dollar badge happened to be showing. Each state now has one look. Live gets a green edge. Folded gets a red edge and a struck-through name, so it reads as out rather than merely faint. An empty chair is the only dashed outline and says so. Sitting out just fades — and fades less than it used to, since that player is still someone the dealer may need to deal back in, and at 0.4 the name was nearly gone. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
This commit is contained in:
@@ -250,13 +250,50 @@ body {
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
/* Four states a dealer needs to tell apart from across the table, without
|
||||
reading anything: live in this hand, folded, sitting out, and nobody there.
|
||||
Live gets a green edge, folded gets a red one and a struck-through name,
|
||||
sitting-out just fades, and an empty chair is the only dashed outline. */
|
||||
|
||||
.seat.seatLive {
|
||||
border-color: rgba(78, 201, 122, 0.45);
|
||||
box-shadow:
|
||||
0 0 0 1px rgba(78, 201, 122, 0.18),
|
||||
0 3px 10px rgba(0, 0, 0, 0.5),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
/* Sitting out, not gone: still a person the dealer may need to deal back in, so
|
||||
the name has to stay readable rather than fading almost to the felt. */
|
||||
.seat.seatInactive {
|
||||
opacity: 0.4;
|
||||
opacity: 0.58;
|
||||
}
|
||||
|
||||
.seat.seatFolded {
|
||||
border-color: rgba(224, 123, 123, 0.4);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.seat.seatFolded .seatPuckName {
|
||||
text-decoration: line-through;
|
||||
text-decoration-color: rgba(224, 123, 123, 0.75);
|
||||
}
|
||||
|
||||
.seat.seatEmpty {
|
||||
background: rgba(255, 255, 255, 0.02);
|
||||
border-style: dashed;
|
||||
opacity: 0.55;
|
||||
border-color: rgba(255, 255, 255, 0.13);
|
||||
box-shadow: none;
|
||||
/* Deliberately louder than seatInactive: an open seat is information a
|
||||
dealer wants, not something to squint at. */
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.seatEmptyLabel {
|
||||
color: #6d6d6d;
|
||||
font-size: 0.6rem;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.seat.seatSelected {
|
||||
|
||||
Reference in New Issue
Block a user