/* 多个游戏共用的桌台部件：房间标题、#tblHead（HUD）、奖池牌、手牌区、rail 上的筹码行 / 按钮行、下注格（bac-spot）
   纸牌 / 筹码 / 按钮 / 面板 / 弹窗的公共样式都在 css/components.css，这里只放桌台层面的 */
.room-head{display:flex;align-items:center;gap:16px;margin-bottom:22px;}
.room-head h2{font-family:var(--serif);font-size:22px;letter-spacing:.08em;color:var(--cream-100);font-weight:400;}
.room-head .ract{font-size:13px;color:var(--cream-500);display:flex;align-items:center;gap:6px;}
.room-head .ract b{font-family:var(--serif);font-weight:400;color:var(--brass-300);font-size:15px;}
.hspacer{flex:1;}
.vip-tag{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:2px;font-family:var(--serif);font-size:10px;letter-spacing:.14em;
  background:linear-gradient(135deg,var(--brass-300),var(--brass-700));color:#241a08;vertical-align:2px;}
/* 牌桌顶栏（HUD 规格） */
#tblHead{display:flex;align-items:center;gap:14px;height:48px;padding:0 18px;flex:none;
  background:linear-gradient(180deg,#221913,#150e0a);border-bottom:1px solid var(--brass-900);box-shadow:var(--hi-warm);
  font-size:13px;color:var(--cream-300);}
#tblHead .hud-title{font-family:var(--serif);font-size:16px;color:var(--cream-100);letter-spacing:.04em;white-space:nowrap;}
#tblHead .hud-title em{font-style:normal;color:var(--brass-300);}
#tblHead .hud-sub{flex:1;font-size:11px;color:var(--cream-500);letter-spacing:.04em;text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#tblHead .btn,#tblHead .hbtn{height:30px;padding:0 12px;font-size:12px;}
#tblHead .sep{width:1px;height:22px;background:var(--brass-900);flex:none;}
/* 累积奖池牌 */
.jpb-title{font-family:var(--serif);font-size:13px;letter-spacing:.2em;color:var(--brass-300);display:flex;align-items:center;gap:6px;}
.jpb-title .ic{fill:var(--warn);}
.jpb-amt{font-family:var(--serif);font-size:24px;color:var(--brass-100);margin:4px 0 8px;font-variant-numeric:tabular-nums lining-nums;}
.jpb-pays div{display:flex;justify-content:space-between;font-size:11px;color:var(--cream-300);line-height:1.8;}
.jpb-pays b{color:var(--brass-100);font-family:var(--serif);font-weight:400;}
.jpb-cost{margin-top:8px;font-size:10px;letter-spacing:.04em;color:var(--cream-500);border-top:1px solid var(--hairline);padding-top:6px;line-height:1.5;}
/* 手牌区 */
.bj-cards{display:flex;gap:5px;justify-content:center;min-height:66px;align-items:flex-start;}
.bj-total{margin-top:5px;font-family:var(--serif);font-size:16px;color:var(--brass-100);min-height:19px;letter-spacing:.04em;}
.bj-total.bust{color:var(--bad);}
.hero-cards .card{width:62px;height:87px;}
.hero-cards .card .corner{font-size:17px;}
.hero-cards .card .big{font-size:30px;}
/* rail：信息 / 筹码行 / 按钮行 */
.sl-info{font-size:12px;color:var(--cream-500);letter-spacing:.04em;display:flex;align-items:center;gap:6px;}
.sl-info b{color:var(--brass-100);font-family:var(--serif);font-weight:400;font-size:16px;font-variant-numeric:tabular-nums lining-nums;}
.ru-chiprow{display:flex;align-items:center;min-width:0;}
.ru-btns{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;}
.bac-label{font-family:var(--serif);font-size:13px;color:var(--player-text);letter-spacing:.22em;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:6px;}
.bac-label.banker{color:var(--banker-text);}
.bac-label.neutral{color:var(--brass-300);}
.bac-label .ic{fill:var(--brass-500);}
.bac-bets{display:flex;gap:14px;align-items:flex-end;}
/* 下注格：台布印线（实线双框，无底色） */
.bac-spot{
  min-width:120px;height:74px;border-radius:6px;cursor:pointer;position:relative;text-align:center;padding-top:10px;
  border:2px solid rgba(231,201,127,.75);
  box-shadow:0 0 0 1px rgba(0,0,0,.35) inset,0 0 0 1px rgba(0,0,0,.35);
  transition:border-color var(--t-fast),box-shadow var(--t-fast);
}
.bac-spot::after{content:"";position:absolute;inset:3px;border:1px solid rgba(231,201,127,.35);border-radius:4px;pointer-events:none;}
.bac-spot:hover{border-color:rgba(231,201,127,1);}
.bac-spot label{font-family:var(--serif);font-size:12px;color:var(--brass-300);letter-spacing:.22em;pointer-events:none;display:block;}
.bac-spot .bc-amt2{font-family:var(--serif);font-size:16px;color:var(--brass-100);margin-top:6px;pointer-events:none;font-variant-numeric:tabular-nums lining-nums;}
.bac-spot.sm{min-width:92px;height:64px;}
.bac-spot.tie label{color:var(--tie-text);}
.bac-spot.banker{border-color:var(--banker-ink);}
.bac-spot.has{box-shadow:0 0 0 2px var(--brass-300) inset,0 0 22px rgba(231,201,127,.35);}
.bac-spot.won{border-color:var(--brass-100);box-shadow:0 0 0 2px var(--brass-100) inset,0 0 26px rgba(247,233,196,.45);}
/* NPC 座位小圆头像（js/core/portraits.js · Portraits.seat）：和德州房座位头像一个做法——圆、深底、黑线 + 黄铜细边、落影；
   大小用 --pts（各桌自己定），照片撑满；没图 = 名字首字（.vec） */
.pt-seat{--pts:28px;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--pts);height:var(--pts);border-radius:50%;overflow:hidden;
  background:#150f0b;box-shadow:0 0 0 1px #0b0806,0 0 0 2px var(--brass-900),0 3px 8px rgba(0,0,0,.55);vertical-align:middle;}
.pt-seat img,.pt-seat svg{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;}
.pt-seat b{font:400 var(--fs-s)/1 var(--serif);color:var(--cream-300);}
/* 台边圆点座位（百家乐 / Craps / 锦标赛百家乐）：圆点自己的边就是框，头像铺满 */
.bac-seats .seat .pt-seat,.cr-seat .pt-seat{width:100%;height:100%;background:none;box-shadow:none;}
.bac-seats .seat .pt-seat b,.cr-seat .pt-seat b{color:inherit;}
