/* ============ 活牌桌引擎部件（js/core/live-table.js；设计规范 §3.12 倒计时环 · §3.13 侧面板 · §4.1 骨架）============
   token 在 css/tokens.css，公共组件在 css/components.css；这里只放引擎自己画的东西：
   .lt-layout 主区 + 侧面板骨架 · .lt-side 侧面板 · .tcard 桌行 · .lt-ring 倒计时环 · .lt-beads 迷你珠串 */

/* ---------- 骨架：主区 minmax(0,1fr) + 侧面板 300（≥1600 → 320） ---------- */
.lt-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0;min-width:0;height:100%;}
.lt-layout>.lt-main{min-width:0;min-height:0;position:relative;display:flex;flex-direction:column;}


/* ---------- 侧面板：其它桌（pit 电子牌） ---------- */
.lt-side{
  background:linear-gradient(180deg,#140e0a,#0c0806);border-left:1px solid var(--brass-900);
  display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;
}
.lt-side .sh{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--brass-900);flex:none;
  font-family:var(--serif);letter-spacing:.14em;font-size:13px;color:var(--brass-300);}
.lt-side .sh .ic{width:15px;height:15px;fill:var(--brass-500);}
.lt-side .sh small{margin-left:auto;font-family:var(--sans);letter-spacing:0;font-size:11px;color:var(--cream-500);opacity:1;}
.lt-side .lt-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;}
.lt-side .foot{margin-top:auto;padding:12px;display:grid;gap:8px;border-top:1px solid var(--brass-900);flex:none;}
.lt-side .foot .btn{width:100%;justify-content:center;}

/* 一张桌一行 */
.tcard{
  display:grid;grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:auto auto auto auto auto;gap:2px 8px;
  padding:10px 12px;border-bottom:1px solid rgba(201,160,82,.12);cursor:pointer;transition:background var(--t-fast);
}
.tcard:hover{background:rgba(201,160,82,.05);}
.tcard.me{background:linear-gradient(90deg,rgba(201,160,82,.14),transparent);box-shadow:3px 0 0 var(--brass-500) inset;}
.tcard .n{grid-column:1;grid-row:1;font-family:var(--serif);font-size:14px;color:var(--cream-100);letter-spacing:.04em;display:flex;align-items:baseline;gap:6px;min-width:0;}
.tcard .n i{font-style:normal;font-size:10px;letter-spacing:.12em;padding:1px 5px;border:1px solid var(--brass-900);border-radius:2px;color:var(--brass-300);font-family:var(--sans);white-space:nowrap;}
.tcard .n i.cl{display:none;border-color:var(--wine-300);color:#ffd9dd;}
.tcard.closing .n i.cl{display:inline-block;}
.tcard .l{grid-column:1;grid-row:2;font-size:11px;color:var(--cream-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tcard .l b{font-family:var(--serif);font-weight:400;color:var(--cream-300);}
.tcard .l2{grid-column:1;grid-row:3;font-size:11px;color:var(--cream-500);min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tcard .l2:empty{display:none;}
.tcard .t{grid-column:2;grid-row:1/4;align-self:center;text-align:center;font-family:var(--serif);color:var(--brass-100);font-size:20px;line-height:1;
  font-variant-numeric:tabular-nums lining-nums;}
.tcard .t small{display:block;font-family:var(--sans);font-size:10px;color:var(--cream-500);letter-spacing:.1em;margin-top:3px;opacity:1;}
.tcard .t.deal{font-size:11px;color:var(--warn);letter-spacing:.1em;}
.tcard .t.dim{font-size:11px;color:var(--cream-500);letter-spacing:.1em;}
.tcard .t.hot{color:#ffb3a8;}
.tcard .bar{grid-column:1/3;grid-row:4;margin-top:4px;height:3px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden;}
.tcard .bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brass-700),var(--brass-300));border-radius:2px;transition:width .25s linear;}
.tcard .bar>i.warn{background:var(--warn);transition:none;}
.tcard .thumb{grid-column:1/3;grid-row:5;margin-top:5px;min-width:0;overflow:hidden;}
.tcard .thumb:empty{display:none;}
/* 21 点 / 三卡这类没有路单的桌：缩略放座位圆点 */
.tcard .thumb .seatdots i{width:9px;height:9px;}

/* 迷你珠串（LCD 底，6 行竖排，从左往右一列一列）：颜色类由游戏自己定，这里给最常用的几种 */
.lt-beads{display:grid;grid-auto-flow:column;grid-template-rows:repeat(6,8px);grid-auto-columns:8px;gap:1px;
  background:var(--lcd-950);padding:2px;border:1px solid var(--lcd-line);border-radius:2px;overflow:hidden;width:max-content;max-width:100%;}
.lt-beads i{display:block;border-radius:50%;background:transparent;}
.lt-beads i.B{background:var(--banker);}
.lt-beads i.P{background:var(--player);}
.lt-beads i.T{background:var(--tie);}
.lt-beads i.r{background:var(--rou-red);}
.lt-beads i.k{background:#3a3a3a;box-shadow:0 0 0 1px #555 inset;}
.lt-beads i.g{background:var(--tie);}
.lt-beads i.hi{background:var(--brass-500);}
.lt-beads i.lo{background:var(--player-ink);}
.lt-beads i.x{background:var(--hot);}

/* ---------- 倒计时环（84×84；.sm 72；侧栏用文字不用环） ---------- */
.lt-ring{position:relative;width:84px;height:84px;flex:none;}
.lt-ring svg{width:100%;height:100%;transform:rotate(-90deg);display:block;}
.lt-ring circle{fill:none;}
.lt-ring .bg{fill:rgba(0,0,0,.55);stroke:var(--brass-900);stroke-width:2;}
.lt-ring .arc{stroke:var(--brass-300);stroke-width:4;stroke-linecap:round;transition:stroke var(--t-norm);}   /* 弧的走动由 LiveTable.ringArc 一段动画跑完（不再每 250 ms 过渡一次） */
.lt-ring .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;pointer-events:none;}
.lt-ring .v b{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--brass-100);font-variant-numeric:tabular-nums lining-nums;}
.lt-ring .v small{font-size:10px;letter-spacing:.2em;color:var(--cream-500);margin-top:4px;opacity:1;white-space:nowrap;}
.lt-ring.hot .arc{stroke:var(--hot);}
.lt-ring.hot .v b{color:#ffb3a8;}
.lt-ring.deal .arc{transition:none;}
.lt-ring.deal .v small{color:var(--warn);}
.lt-ring.sm{width:72px;height:72px;}
.lt-ring.sm .v b{font-size:24px;}
