.blackjack-page .game-layout { max-width:1000px; }
.blackjack-page #play,.blackjack-page #message { max-width:none; }
.blackjack-page .game-toolbar { display:flex; flex-wrap:wrap; }
.blackjack-page #round-info { order:0; flex:0 1 auto; width:auto; margin:0 auto 0 0; }
.blackjack-page #restart { order:1; margin:0; }
.bj-table { display:grid; gap:22px; justify-items:center; padding:24px 12px; border:6px solid #c4b99e; border-radius:65px; background:#e7efe8; color:#263a30; }
.bj-seat,.bj-hands { display:grid; justify-items:center; gap:9px; }
.bj-hands { display:flex; justify-content:center; align-items:flex-start; flex-wrap:wrap; gap:16px; width:100%; }
.bj-seat { padding:10px; border:2px solid transparent; border-radius:18px; min-width:140px; max-width:100%; font-size:14px; }
.bj-active { border-color:#ba5a85; }
.bj-cards { display:flex; justify-content:center; flex-wrap:wrap; gap:5px; max-width:100%; }
.bj-cards .poker-card { width:58px; }
.bj-total { font-weight:600; font-size:13px; }
.bj-hand-result { font-size:12px; text-align:center; }
[data-theme="dark"] .bj-table { background:#253e32; color:#e0ece1; border-color:#5c5546; }
@media(max-width:600px) {
 .blackjack-page .game-layout { padding-inline:8px; }
 .blackjack-page .game-surface { padding:12px 10px; }
 .blackjack-page .game-toolbar { gap:7px; }
 .blackjack-page .game-toolbar button { padding-inline:10px; }
 .bj-table { border-radius:34px; padding:14px 6px; }
 .bj-cards .poker-card { width:48px; }
 .bj-seat { min-width:120px; }
}

.bj-cards .poker-card { transform-origin:center; backface-visibility:hidden; }
@media(prefers-reduced-motion:no-preference) {
 .bj-seat { transition:border-color .2s ease; }
}

.bj-countdown { display:flex; justify-content:center; align-items:center; gap:9px; margin:16px 0 0; color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
.bj-countdown[hidden] { display:none; }
.bj-countdown-clock { display:inline-flex; width:28px; height:28px; flex-shrink:0; }
.bj-countdown-clock svg { display:block; width:100%; height:100%; overflow:visible; }
.bj-clock-track { opacity:.16; }
.bj-clock-progress { stroke:var(--accent,#ba5a85); stroke-dasharray:1; stroke-dashoffset:0; transform:rotate(-90deg); transform-origin:16px 16px; }
.bj-clock-face { opacity:.85; }
.bj-countdown-dots { display:inline-flex; gap:2px; margin-left:-4px; }
@media(prefers-reduced-motion:no-preference) {
 .bj-countdown-dots span { animation:bj-countdown-dot 1.2s ease-in-out infinite; }
 .bj-countdown-dots span:nth-child(2) { animation-delay:.2s; }
 .bj-countdown-dots span:nth-child(3) { animation-delay:.4s; }
}
@keyframes bj-countdown-dot { 0%,70%,100% { opacity:.25; } 35% { opacity:1; } }

.bj-actions button { min-height:44px; }
.bj-actions[hidden] { display:none; }
