/* Casino Royale — fixes for the table styles (loaded after themes.css, which is generated from ui-lab/skins).
   From the theme-consistency review: each block says what it fixes. Kept separate so regenerating themes.css
   doesn't drop them. */

/* 2. Seat states always beat a style's own seat look (winner glow, whose turn it is) */
html .seat.winner .av, html[data-skin] .seat.winner .av { border-color: var(--accent) !important; box-shadow: 0 0 0 2px var(--accent), 0 0 18px -4px color-mix(in srgb, var(--accent) 45%, transparent) !important; }
html[data-skin] .seat.acting .av { box-shadow: var(--acting-ring, 0 0 0 2px var(--gold), 0 0 14px -6px var(--gold)) !important; } /* the one vivid thing on the felt: a ring, a short soft halo */
html[data-skin] .seat.loser .av { border-color: color-mix(in srgb, var(--danger) 60%, transparent) !important; }

/* 5. Desktop light: seat tags sit on the dark felt there — give them a solid chip */
@media (min-width: 900px) {
  :root[data-theme="light"] .seat .tag { background: var(--bg-2); color: var(--text); box-shadow: 0 0 0 1px var(--panel-br); }
}

/* 6. Grove: the timer ring warms to red in the last seconds like everywhere else */
:root[data-skin="grove"] .tring.low { color: var(--danger); }

/* 7. (v6) each style's menu / sheet / glass surfaces now live in its own light and dark token blocks (ui-lab/skins) */
[data-skin="stadium"] #bjSplit { text-transform: uppercase; border-radius: 999px; }

/* 8. The aim bubble is always dark: its accent text is light in every palette; low-time badge readable on light */
#rlAim small { color: #e6c98a; }
#rlAim { box-shadow: 0 0 0 1.5px #e6c98a, 0 14px 30px -8px rgba(0, 0, 0, .7); }

/* 9. Stadium without its web font: condensed fallbacks, and four buttons in a row always fit */
:root[data-skin="stadium"] { --font: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', 'Helvetica Neue', sans-serif; }
[data-skin="stadium"] .actrow button { white-space: nowrap; overflow: hidden; letter-spacing: .01em; font-size: clamp(14px, 4.2vw, 19px); font-family: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', sans-serif; }

/* 10, 11. (v6) Minimal card backs and Stadium / Minimal button inks are tokens in the style files now (--back-*, --call-ink, --raise-ink) */

/* 13. Light styles recolour the whole top bar; Leave keeps its red */
html #top #leaveBtn, html #top #leaveBtn * { color: var(--danger) !important; }

/* 14. The street label on the felt (FLOP / TURN) reads on every felt */
#board #status.street { font-size: var(--fs-xs); text-shadow: 0 1px 2px rgba(0, 0, 0, .55); }

/* 16. Paper: empty board slots are a dashed outline, not a blank "dealt" card */
[data-skin="paper"] .card.undealt { background: transparent !important; box-shadow: none !important; border: 1.5px dashed currentColor !important; opacity: .45; }

/* 18. Kaat never sits on the street label */
#board:has(.kaat) #status { opacity: 0; }

/* 19. Paper: tiny cards in the rules sheet lose the thick wobbly ink border */
[data-skin="paper"] #infobox .card, [data-skin="paper"] .rules .card { border-width: 1px !important; border-radius: 3px !important; box-shadow: none !important; }

/* 20. Roulette on phones follows the style's felt like desktop does */
#rlTable { background-color: var(--felt-2); }

/* "X is cutting the deck…" sits below the quip in poker, never on it */
#board.poker #kaatPick.theirs { top: 86%; }
#board:has(#kaatPick) .crest { opacity: 0; }

/* v5: the low-time badge on the felt (blackjack's live hand) sits on the felt's light danger colour: dark ink there */
/* (v6) the low-time badge ink is a token (--tn-ink): white on a deep danger, dark on a light one */
