/* ===== table.css · 牌桌 / 扑克牌 / 座位 / 行动条 / 聊天 / 保险 / 回放 ===== */

/* ---------- 扑克牌 ----------
   ★ 2026-10-02：整体缩 ~13%（用户反馈「座位和牌做得太大」），手牌尤其 */
.pcard{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#fff,#eceff4);border-radius:5px;box-shadow:0 3px 8px rgba(0,0,0,.45), inset 0 0 0 1px rgba(0,0,0,.08);
  font-weight:800;line-height:1;flex:0 0 auto;transition:.2s;overflow:hidden}
.pcard.sm{width:28px;height:39px;font-size:12px}
.pcard.md{width:38px;height:54px;font-size:16px}
.pcard.lg{width:48px;height:68px;font-size:20px}
.pcard.xs{width:21px;height:30px;font-size:9px;border-radius:4px}
.pcard .pc-r{position:absolute;top:2px;left:3px}
.pcard .pc-s{position:absolute;top:2px;right:3px;font-size:.72em}
.pcard .pc-big{font-size:1.5em;opacity:.9;margin-top:.18em}
.pcard.red{color:#e0344a}.pcard.black{color:#1b2530}.pcard.blue{color:#1f7bd4}.pcard.green{color:#129050}
.pcard.back{background:linear-gradient(140deg,#b3202c,#7d1220);box-shadow:0 3px 8px rgba(0,0,0,.5), inset 0 0 0 2px rgba(255,255,255,.18)}
.pcard.back.blue{background:linear-gradient(140deg,#1f4d8f,#123059)}
.pcard.back.gold{background:linear-gradient(140deg,#c9922b,#8a5f13)}
.pcard.back .pcard-logo{width:66%;height:66%;border-radius:4px;border:1.5px solid rgba(255,255,255,.35);
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.10) 0 4px,transparent 4px 8px)}
.pcard.dim{opacity:.42;filter:grayscale(.5)}
.pcard.win{box-shadow:0 0 0 2px var(--gold),0 0 16px rgba(245,195,82,.7)}
.pcard.deal{animation:dealIn .35s cubic-bezier(.2,1.3,.4,1) backwards}
@keyframes dealIn{from{transform:translate(0,-140px) rotate(-25deg);opacity:0}}
@keyframes flipIn{from{transform:rotateY(90deg)}to{transform:none}}

/* ---------- 牌桌容器 ----------
   ★ 2026-10-02：牌桌「周围」（椭圆之外那圈）换成月夜星空实景图（用户给的三张里选第一张）。
     图片放 assets/bg/，nginx 对 /assets/ 是 7 天缓存 → **换图必须换文件名**，否则老用户永远看不到新图。
     可读性靠叠加层：径向暗角（中间透、四周压暗）+ 竖向线性暗化，
     保证牌桌 / 座位 / 顶栏底栏文字仍然是最醒目的一层。 */
.table-screen{height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;
  background:#05080d url(../assets/bg/night-1.jpg) center center/cover no-repeat}
/* 暗角 + 暗化叠加层（原来的「科技感网格微光」已去掉：网格压在实景图上显脏） */
.table-screen::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(130% 95% at 50% 44%,transparent 26%,rgba(2,5,10,.50) 74%,rgba(1,3,7,.86) 100%),
    linear-gradient(180deg,rgba(5,9,17,.42),rgba(3,6,12,.70))}
.table-top{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:9px 12px;
  background:linear-gradient(180deg,rgba(15,21,31,.97),rgba(7,11,17,.95));
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
  box-shadow:0 6px 18px rgba(0,0,0,.45);position:relative;z-index:2}
.table-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,195,82,.45) 30%,rgba(59,140,255,.35) 70%,transparent)}
.table-top .tname{color:var(--txt);font-weight:800;font-size:15.5px;letter-spacing:.4px;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.table-top .tmeta{font-size:12px;color:#c3d1e2;text-shadow:0 1px 4px rgba(0,0,0,.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table-area{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:8px 6px;min-height:0}

/* ★ 2026-10-03（第2轮）：牌桌两侧常驻悬浮列 ——
   左列（贴左上）：回顾 / 买入；右列（贴右下）：聊天 / 离开。 */
.side-rail{position:absolute;z-index:5;display:flex;flex-direction:column;gap:10px}
.side-rail.left{left:8px;top:10px}
/* ★ 2026-10-03（第3轮）：买入单独沉到左下角 */
.side-rail.left.bottom{top:auto;bottom:10px}
.side-rail.right{right:8px;bottom:10px}
.rail-btn{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;user-select:none;
  width:52px;padding:8px 4px;border-radius:12px;color:var(--txt2);
  background:linear-gradient(180deg,rgba(18,25,36,.92),rgba(9,13,20,.88));
  border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.4)}
.rail-btn:active{transform:scale(.94)}
.rail-btn .ico{color:#f5c352}
.rail-btn span{font-size:10.5px;line-height:1;letter-spacing:.5px}

/* ---------- 竖屏牌桌：长轴垂直的椭圆（跑道形） ---------- */
.felt{position:relative;width:100%;max-width:460px;aspect-ratio:3/4.2;max-height:100%;margin:0 auto;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(ellipse 70% 55% at 50% 46%,rgba(255,255,255,.10),transparent 60%),
    radial-gradient(ellipse at 50% 45%,#1aa877 0%,#0f6d48 42%,#0a4b32 68%,#06321f 100%);
  border:9px solid #0e141d;
  box-shadow:
    0 0 0 2px rgba(245,195,82,.55),
    0 0 0 6px rgba(9,13,19,.92),
    0 0 0 7px rgba(245,195,82,.20),
    0 24px 70px rgba(0,0,0,.75),
    0 0 52px rgba(245,195,82,.10),
    inset 0 0 80px rgba(0,0,0,.5),
    inset 0 2px 12px rgba(255,255,255,.09)}
/* 桌沿旋转流光 */
.felt::before{content:"";position:absolute;inset:-2px;border-radius:50%;padding:3px;pointer-events:none;z-index:1;
  background:conic-gradient(from 0deg,transparent 0 68%,rgba(245,195,82,.45) 84%,rgba(255,232,170,.95) 93%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:rimSpin 14s linear infinite;opacity:.9}
@keyframes rimSpin{to{transform:rotate(360deg)}}
.felt.blue{background:
    radial-gradient(ellipse 70% 55% at 50% 46%,rgba(255,255,255,.10),transparent 60%),
    radial-gradient(ellipse at 50% 45%,#1f7cb4 0%,#14557f 42%,#0b3a5c 68%,#072438 100%);border-color:#123a52}
.felt.red{background:
    radial-gradient(ellipse 70% 55% at 50% 46%,rgba(255,255,255,.09),transparent 60%),
    radial-gradient(ellipse at 50% 45%,#b84444 0%,#7d2a2a 42%,#521b1b 68%,#340f0f 100%);border-color:#3a1414}
/* 内圈虚线（同步竖椭圆） */
.felt::after{content:"";position:absolute;inset:9% 11%;border-radius:50%;
  border:1px dashed rgba(255,255,255,.16);pointer-events:none}
/* ★ 2026-10-02：桌布中央那枚半透明水印徽章已按用户要求移除（规则整块删除，别再加回来）。 */
.felt-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74%;text-align:center;pointer-events:none}

/* 中央信息 */
.center-cards{display:flex;gap:6px;justify-content:center;margin-bottom:6px}
.pot-box{display:inline-flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,rgba(6,12,10,.52),rgba(3,9,7,.66));
  border:1px solid rgba(245,195,82,.35);border-radius:14px;padding:6px 16px;backdrop-filter:blur(4px);
  box-shadow:0 6px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)}
.pot-box .lbl{font-size:10.5px;color:#cfe6d8;letter-spacing:1px}
.pot-box .val{font-size:20px;font-weight:800;color:var(--gold);text-shadow:0 2px 8px rgba(0,0,0,.6)}
.pot-box .side{font-size:10.5px;color:#ffd9a0}
.street-lbl{margin-top:4px;font-size:11px;color:rgba(255,255,255,.5)}

/* ---------- 座位 ----------
   ★ 2026-10-02：座位框整圈缩 ~20%（用户反馈「座位框做小一点」）。头像在座位内单独收小，
   不去动全局 .avatar.sm/.md，免得聊天/战绩/回放列表跟着变形。 */
.seat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;width:84px;z-index:2}
.seat .who{display:flex;flex-direction:column;align-items:center;
  background:linear-gradient(180deg,rgba(16,24,34,.82),rgba(7,12,18,.9));
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;padding:4px 7px;backdrop-filter:blur(6px);transition:.22s;min-width:70px;
  box-shadow:0 4px 14px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06)}
.seat .avatar{width:28px;height:28px;font-size:10px}
.seat.active .who{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 22px rgba(245,195,82,.5);
  background:linear-gradient(180deg,rgba(38,48,30,.94),rgba(18,26,20,.95));transform:translateY(-2px)}
.seat.folded{opacity:.42}
.seat.folded .who{filter:grayscale(.6)}
.seat.winner .who{border-color:var(--gold);box-shadow:0 0 22px rgba(245,195,82,.6)}
.seat .nm{max-font-size:11px;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:68px}
.seat .chips{font-size:10.5px;color:var(--gold);font-weight:700}
.seat .hole{display:flex;gap:3px;margin-top:-11px}
.seat .hole .pcard{box-shadow:0 2px 6px rgba(0,0,0,.5)}
.seat .bet{display:flex;align-items:center;gap:3px;background:rgba(0,0,0,.55);border:1px solid rgba(245,195,82,.5);color:var(--gold);
  border-radius:999px;padding:1px 6px;font-size:10.5px;font-weight:700;margin-top:2px}
.seat .bet .chip-ico{width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9a8,var(--gold2));display:inline-block}
.seat .act-bubble{position:absolute;top:-24px;left:50%;transform:translateX(-50%);background:rgba(10,16,22,.95);border:1px solid var(--line2);
  border-radius:8px;padding:1px 7px;font-size:10px;font-weight:700;white-space:nowrap;z-index:3}
/* ★ 2026-10-08：动作气泡默认不再自动播放 pop —— 只有「新动作」被标记 .pop 时才播一次，
   之后整个 render 循环（每 700ms 一次）重建 DOM 也不会重播，杜绝在玩家头顶反复跳动 */
.seat .act-bubble.pop{animation:pop .2s}
.seat .dealer-btn{position:absolute;top:-5px;right:-5px;width:17px;height:17px;border-radius:50%;background:linear-gradient(180deg,#fff,#c9d3de);
  color:#222;font-size:9px;font-weight:800;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.5);z-index:4}
.seat .timer{position:absolute;inset:-4px;border-radius:13px;pointer-events:none}
.seat .emo-pop{position:absolute;top:-30px;left:50%;transform:translateX(-50%);font-size:24px;animation:floatUp 1.4s ease-out forwards;z-index:5}
@keyframes floatUp{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.5)}
  25%{opacity:1;transform:translateX(-50%) translateY(-6px) scale(1.2)}100%{opacity:0;transform:translateX(-50%) translateY(-46px) scale(1)}}
.seat.empty-slot .who{background:rgba(6,12,18,.4);border-style:dashed;color:var(--txt3);cursor:pointer}
.seat-win{position:absolute;top:-32px;font-size:12px;font-weight:800;color:var(--gold);text-shadow:0 2px 6px rgba(0,0,0,.7);white-space:nowrap;
  display:flex;align-items:center;gap:3px;justify-content:center;left:50%;transform:translateX(-50%);
  animation:winPop .28s ease-out}
.seat-win .seat-crown{filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));animation:crownBob 1.2s ease-in-out infinite}
@keyframes winPop{0%{opacity:0;transform:translateX(-50%) scale(.6)}100%{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes crownBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
/* 摊牌后中央「谁赢了」播报 */
.win-line{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;padding:3px 10px;border-radius:999px;
  background:rgba(10,16,22,.72);border:1px solid rgba(245,195,82,.45);color:var(--gold);font-size:11.5px;font-weight:800;
  text-shadow:0 1px 4px rgba(0,0,0,.6);max-width:100%;text-align:center}
.win-line .seat-crown{flex:0 0 auto;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.win-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* hero 高亮 */
.seat.hero .who{border-color:rgba(59,140,255,.55)}

/* ---------- 机器人思考中：压在头像上的倒计时环（2026-10-02 取代「思考中」气泡 + 细进度条） ----------
   外圈 = 剩余时间比例（stroke-dashoffset 由 JS 每 100ms 就地刷），中间数字 = 剩余秒数。
   环稍微比头像大一圈，深色底把头像盖住好让数字看得清。 */
.seat .av-wrap{position:relative;display:inline-flex}
.seat .cd-ring{position:absolute;inset:-4px;display:none;place-items:center;pointer-events:none;z-index:6}
.seat .cd-ring.on{display:grid}
.seat .cd-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.seat .cd-ring .cd-bg{fill:rgba(4,8,14,.78);stroke:rgba(255,255,255,.14);stroke-width:3}
.seat .cd-ring .cd-fg{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .12s linear}
.seat .cd-ring.urgent .cd-fg{stroke:#ff5a5f}
.seat .cd-ring .cd-num{position:relative;font-size:13px;font-weight:800;line-height:1;color:var(--gold);
  text-shadow:0 1px 3px rgba(0,0,0,.95);font-variant-numeric:tabular-nums}
.seat .cd-ring.urgent .cd-num{color:#ff8a8f}

/* ---------- 赢家彩带 / 结果 ---------- */
.result-banner{position:absolute;top:8px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(245,195,82,.95),rgba(217,159,43,.95));
  color:#3a2604;padding:5px 16px;border-radius:999px;font-weight:800;font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.5);
  animation:pop .3s;z-index:9;white-space:nowrap}

/* ---------- 底部操作区 ---------- */
.action-bar{flex:0 0 auto;background:linear-gradient(180deg,rgba(16,22,31,.96),rgba(8,11,17,1));
  border-top:1px solid rgba(245,195,82,.22);padding:8px 12px 10px;position:relative;z-index:2;
  box-shadow:0 -12px 34px rgba(0,0,0,.5)}
.action-bar::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,195,82,.5) 25%,rgba(255,232,170,.7) 50%,rgba(245,195,82,.5) 75%,transparent)}
.hero-info{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.hero-info .cards{display:flex;gap:4px}
.hero-info .hint{font-size:11.5px;color:var(--txt2);flex:1;text-align:right}
.hero-info .hint b{color:var(--gold)}
.raise-panel{background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:14px;padding:8px 10px;margin-bottom:8px}
.raise-row{display:flex;align-items:center;gap:8px}
.raise-amt{flex:1;text-align:center;font-size:18px;font-weight:800;color:var(--gold)}
.raise-presets{display:flex;gap:6px;margin-top:8px}
.raise-presets .btn{flex:1;height:34px;font-size:12.5px}
.btnrow{display:flex;gap:8px}
.btnrow .btn{flex:1;height:50px;font-size:15px;border-radius:14px}
.btnrow .btn.fold{background:linear-gradient(180deg,#5c6a7c,#3d4957)}
.btnrow .btn.check{background:linear-gradient(180deg,#4a8fe0,#2a6fc0)}
.btnrow .btn.call{background:linear-gradient(180deg,#3ce08a,#12a35c)}
.btnrow .btn.raise{background:linear-gradient(180deg,#ffd970,var(--gold2));color:#3a2604}
.btnrow .btn.allin{background:linear-gradient(180deg,#ff8a5c,#e0532a)}

/* ---------- 计时环 ---------- */
.timer-ring{width:44px;height:44px;position:relative;flex:0 0 auto}
.timer-ring svg{transform:rotate(-90deg)}
.timer-ring .tt{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--gold)}

/* ---------- 表情/互动道具面板 ---------- */
.prop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.prop-grid .p{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--panel2);border:1px solid var(--line);
  border-radius:12px;padding:10px 4px;cursor:pointer;font-size:24px;transition:.15s;position:relative}
.prop-grid .p:active{transform:scale(.92)}
.prop-grid .p .n{position:absolute;right:4px;bottom:2px;font-size:10px;color:var(--txt3)}
.emo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.emo-grid .e{font-size:26px;text-align:center;padding:6px 0;cursor:pointer;border-radius:10px;transition:.15s}
.emo-grid .e:active{transform:scale(.85);background:var(--panel2)}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.quick-grid .q{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 10px;font-size:13px;cursor:pointer}
.quick-grid .q:active{transform:scale(.96)}

/* ---------- 聊天 ---------- */
.chat-panel{display:flex;flex-direction:column;height:100%;min-height:0}
.chat-msgs{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:8px;min-height:0}
.chat-msg{display:flex;gap:7px;align-items:flex-start;animation:fade .2s}
.chat-msg .bubble{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:6px 10px;font-size:13px;max-width:82%}
.chat-msg.me{flex-direction:row-reverse}
.chat-msg.me .bubble{background:linear-gradient(180deg,#2c4a70,#1e3550);border-color:#3a5a80}
.chat-msg .nm{font-size:11px;color:var(--txt3);margin-bottom:2px}
.chat-msg.sys .bubble{background:rgba(245,195,82,.1);border-color:rgba(245,195,82,.3);color:var(--gold);font-size:12px}
.chat-input{display:flex;gap:8px;padding:8px;border-top:1px solid var(--line);flex:0 0 auto}
.chat-input .input-wrap{flex:1;height:38px;border-radius:10px}
.chat-tabs{display:flex;gap:6px;padding:8px 10px 0}
.chat-tabs .t{padding:5px 12px;border-radius:999px;font-size:12.5px;background:var(--panel2);border:1px solid var(--line);cursor:pointer;color:var(--txt2)}
.chat-tabs .t.on{background:rgba(245,195,82,.16);border-color:var(--gold);color:var(--gold);font-weight:700}

/* 菠萝弃牌选择 */
.pk{cursor:pointer;border-radius:10px;padding:3px;transition:.15s;border:2px solid transparent}
.pk.on{border-color:var(--gold);box-shadow:0 0 12px rgba(245,195,82,.45)}
.pk:active{transform:scale(.94)}

/* ---------- 保险 ---------- */
.ins-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 0 12px}
.ins-cards{display:flex;gap:6px;align-items:center}
.ins-cards .vs{font-size:12px;color:var(--txt3);padding:0 4px}
.ins-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%}
.ins-stat{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.ins-stat .k{font-size:11px;color:var(--txt3)}
.ins-stat .v{font-size:16px;font-weight:800;margin-top:2px}
.ins-outs{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:4px}
.ins-note{font-size:11.5px;color:var(--txt3);text-align:center;line-height:1.6}
.ins-timer{height:4px;border-radius:2px;background:var(--panel3);overflow:hidden;margin-top:8px}
.ins-timer i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--gold));transition:width 1s linear}

/* ---------- 手牌回顾 ---------- */
.replay-stage{background:
    radial-gradient(ellipse 70% 55% at 50% 46%,rgba(255,255,255,.08),transparent 60%),
    radial-gradient(ellipse at 50% 45%,#17946a,#08432e 70%,#06321f);
  border:8px solid #0e141d;border-radius:50%;
  aspect-ratio:3/4.2;max-width:420px;width:100%;margin:0 auto;
  position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;
  box-shadow:0 0 0 2px rgba(245,195,82,.5),0 0 0 5px rgba(9,13,19,.92),0 14px 40px rgba(0,0,0,.6),inset 0 0 50px rgba(0,0,0,.45)}
.replay-stage .comm{display:flex;gap:6px}
.replay-stage .pot{position:absolute;top:14%;font-size:16px;font-weight:800;color:var(--gold)}
.replay-stage .stage-lbl{position:absolute;bottom:8%;font-size:12px;color:rgba(255,255,255,.6)}
.replay-ctrl{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:12px}
.replay-ctrl .icon-btn{width:40px;height:40px}
.replay-log{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);max-height:180px;overflow-y:auto}
.replay-log .rl{display:flex;gap:8px;padding:6px 12px;font-size:12.5px;border-bottom:1px solid rgba(255,255,255,.05)}
.replay-log .rl.cur{background:rgba(245,195,82,.12)}
.replay-log .rl .who{font-weight:700;min-width:76px}
.replay-log .rl .a{color:var(--txt2)}
.replay-log .rl .amt{color:var(--gold);font-weight:700;margin-left:auto}
.hist-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer}
.hist-item:hover{background:var(--panel2)}
.hist-item .res{width:46px;text-align:center;font-weight:800;font-size:15px}
.hist-item .res.w{color:var(--green)}.hist-item .res.l{color:var(--red)}

/* ---------- 记分牌 / 统计 ---------- */
.scoreboard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.scoreboard .hd{display:flex;padding:8px 12px;background:var(--panel2);font-size:11.5px;color:var(--txt3);font-weight:700}
.scoreboard .rw{display:flex;align-items:center;padding:8px 12px;border-top:1px solid rgba(255,255,255,.05);font-size:12.5px}
.scoreboard .c1{flex:2;min-width:0;display:flex;align-items:center;gap:6px}
.scoreboard .c2{flex:1;text-align:right;font-weight:700}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat-box{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}
.stat-box .v{font-size:18px;font-weight:800;color:var(--gold)}
.stat-box .k{font-size:11px;color:var(--txt3);margin-top:2px}

/* ---------- 小屏适配 ---------- */
@media(max-width:760px){
  .seat{width:72px}
  .seat .who{min-width:62px;padding:3px 6px;border-radius:11px}
  .seat .nm{font-size:10px;max-width:54px}
  .seat .avatar{width:25px;height:25px;font-size:9.5px}
  .seat .cd-ring{inset:-3px}
  .seat .cd-ring .cd-num{font-size:12px}
  .seat .hole{margin-top:-9px}
  .seat .act-bubble{top:-22px;font-size:9.5px}
  .seat .dealer-btn{width:16px;height:16px;font-size:8.5px}
  .pcard.sm{width:27px;height:38px;font-size:11px}
  .pcard.md{width:32px;height:45px;font-size:14px}
  .pcard.lg{width:39px;height:55px;font-size:17px}
  .btnrow .btn{height:44px;font-size:14px}
  .felt{border-width:7px;max-width:400px}
  .felt-inner{width:82%}
}
@media(max-width:520px){
  .seat{width:58px}.seat .nm{font-size:9px;max-width:44px}
  .seat .who{min-width:54px;padding:2px 5px;border-radius:10px}
  .seat .avatar{width:22px;height:22px;font-size:9px}
  .seat .cd-ring{inset:-3px}
  .seat .cd-ring .cd-num{font-size:11px}
  .seat .chips{font-size:9.5px}
  .seat .bet{font-size:9.5px;padding:1px 5px}
  .seat .hole{margin-top:-7px}
  .seat .act-bubble{top:-20px;font-size:9px;padding:1px 6px}
  .pcard.sm{width:26px;height:36px;font-size:10px}
  .pcard.md{width:28px;height:40px;font-size:12px}
  .pcard.lg{width:33px;height:47px;font-size:14px}
  .action-bar{padding:6px 8px 8px}
  .felt{max-width:330px;border-width:6px}
  .felt-inner{width:90%}
}



