/* Geometry is driven by media queries; room updates must not be required after rotation. */
#game.table-room[data-phase] { --play-card-w:25px; --play-card-h:36px; --play-reveal:13px; --hand-card-w:54px; --hand-card-h:78px; }
#game.table-room .table-area { padding:8px 12px; }
#game.table-room .table { max-width:1100px; }
#game.table-room .seats { inset:18px 10px 14px; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:minmax(96px,1fr) minmax(110px,1.25fr); grid-template-areas:'north-west north north-east' 'west south east'; gap:16px 8px; }
#game.table-room .seat-pocket { justify-content:flex-start; gap:8px; padding:6px 0 0; transform:none; }
#game.table-room .seat-pocket[data-slot=west],#game.table-room .seat-pocket[data-slot=east] { justify-content:flex-end; padding-bottom:10px; }
#game.table-room .seat-pocket[data-slot=south] { justify-content:flex-end; padding-bottom:0; }
#game.table-room .seat { max-width:144px; min-height:52px; margin:0; padding:4px; grid-template-columns:32px minmax(0,1fr); grid-template-rows:18px 16px auto auto; gap:2px 6px; background:#001c1826; border:1px solid #ffffff12; border-radius:13px; }
#game.table-room .seat .av { width:32px; height:32px; grid-row:1/3; }
#game.table-room .seat .nm { font-size:12px; grid-column:2; grid-row:1; }
#game.table-room .seat .sc { grid-column:2; grid-row:2; font-size:10px; color:var(--ui-dim); opacity:.75; }
#game.table-room .seat .seat-state { grid-column:2; grid-row:2; font-size:11px; color:var(--ui-gold-light); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#game.table-room .seat .seat-state:empty { display:none; }
#game.table-room .seat:has(.seat-state:not(:empty)) .sc { visibility:hidden; }
#game.table-room .seat .host-tag { grid-column:2; grid-row:3; margin:0; font-size:9px; }
#game.table-room .seat .dl-cards { grid-column:1/-1; grid-row:4; min-height:0; margin:0; }
#game.table-room .seat .tag,#game.table-room .seat .rk { top:-15px; font-size:10px; }
#game.table-room .seat .st { display:none; }
#game.table-room .seat.turn { border-color:var(--ui-gold); background:var(--accent-soft); }
#game.table-room .pocket-play { height:44px; min-height:44px; }
#game.table-room .front-play { opacity:.72; border-color:transparent; background:#001b1920; padding:3px; }
#game.table-room .front-play.beat { outline:none; opacity:1; }
#game.table-room .front-play.beat::after { content:'桌心当前牌'; position:absolute; left:0; right:0; text-align:center; font-size:9px; color:var(--ui-gold-light); }
#game.table-room .front-play::after { bottom:-12px; }
#game.table-room .front-play .card { width:var(--play-card-w); height:var(--play-card-h); }
#game.table-room .front-play .card .r { font-size:12px; top:2px; left:2px; }
#game.table-room .front-play .card .r i { font-size:10px; }
#game.table-room .front-play .card .r2 { display:none; }
#game.table-room .front-play.pass { font-size:11px; }
#game.table-room .table-brand { top:48%; font-size:26px; opacity:.45; }
#game.table-room #center.table-focus { position:absolute; inset:auto; left:50%; top:48%; transform:translate(-50%,-50%); width:min(280px,84%); height:auto; margin:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:7px; padding:12px 16px; border:1px solid var(--accent-line); border-radius:20px; background:linear-gradient(145deg,#001b194d,#001b191a); pointer-events:none; z-index:2; }
#game.table-room .target-title { font-size:12px; font-weight:700; letter-spacing:2px; color:var(--ui-gold-light); }
#game.table-room .target-meta { max-width:100%; font-size:12px; color:var(--ui-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#game.table-room .target-meta:empty { display:none; }
#game.table-room .target-cards { display:flex; justify-content:center; align-items:center; min-height:0; max-width:100%; padding:2px; }
#game.table-room .target-cards .card { width:44px; height:64px; border-radius:7px; }
#game.table-room .target-cards .card+.card { margin-left:-15px; }
#game.table-room .target-cards .card .r { font-size:18px; top:4px; left:4px; }
#game.table-room .target-cards .card .r i { font-size:12px; margin-top:2px; }
#game.table-room .target-cards .card .r2 { display:none; }
#game.table-room .target-cards .card.joker .r { font-size:11px; }
#game.table-room .target-empty { font-size:12px; color:var(--ui-dim); }
#game.table-room .target-empty[hidden] { display:none; }
#game.table-room #center[data-mode=lead] { border-style:dashed; }
#game.table-room #center[data-mode=lead] .target-cards { opacity:.5; }
#game.table-room #center[data-mode=waiting] { border-color:#ffffff14; }
#game.table-room .table-history { position:absolute; left:50%; bottom:8px; transform:translateX(-50%); z-index:8; color:var(--ui-dim); }
#game.table-room .table-history[hidden] { display:none; }
#game.table-room .table-history summary { list-style:none; padding:7px 12px; min-height:32px; border-radius:20px; background:var(--ui-dark-panel); border:1px solid #ffffff20; font-size:11px; cursor:pointer; white-space:nowrap; }
#game.table-room .table-history summary::-webkit-details-marker { display:none; }
#game.table-room .table-history summary span { margin-left:8px; }
#game.table-room .history-popover { position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); padding:14px; min-width:170px; background:var(--ui-dark); border:1px solid var(--accent-line); border-radius:14px; box-shadow:var(--sh-2); display:flex; flex-direction:column; align-items:center; gap:8px; }
#game.table-room .prev-area { opacity:1; padding:0; }
#game.table-room .bottom { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; gap:0; padding:0 14px calc(8px + var(--safe-b)); background:linear-gradient(180deg,var(--ui-dark-panel),var(--ui-dark)); border-top:1px solid var(--accent-line); border-radius:22px 22px 0 0; box-shadow:0 -8px 28px #001b192b; }
#game.table-room .player-bar { grid-column:1/-1; grid-row:1; min-height:36px; gap:8px; padding:5px 0; flex-wrap:wrap; }
#game.table-room .me-chip { flex:1; min-width:140px; gap:6px; }
#game.table-room .mc-nm { font-size:12px; max-width:92px; }
#game.table-room .mc-ct { font-size:11px; }
#game.table-room .mc-ct.score-val { opacity:.7; }
#game.table-room .mc-host { order:0; }
#game.table-room .role-pill { margin-left:auto; font-size:11px; }
#game.table-room #myPlay { display:none!important; }
#game.table-room .hand-wrap { grid-column:1; grid-row:2; padding:18px 10px 6px; touch-action:pan-y; }
#game.table-room .hand { width:fit-content; max-width:none; min-width:0; margin:0 auto; }
#game.table-room .hand .card { touch-action:pan-y; }
#game.table-room .hand-wrap.hand-scroll,#game.table-room .hand-scroll .card { touch-action:pan-x; }
#game.table-room .hand-scroll .hand { margin-inline:0; }
#game.table-room .hand .card+.card { margin-left:calc(var(--hand-step,28px) - var(--hand-card-w)); }
#game.table-room .hand .card.group-start { margin-left:calc(var(--hand-step,28px) - var(--hand-card-w) + 5px); }
#game.table-room .hand .card.sel { transform:translateY(-13px); border-color:var(--ui-gold); box-shadow:0 0 0 2px var(--ui-gold),0 7px 14px #0004; }
#game.table-room .action-panel { grid-column:1; grid-row:3; padding:5px 8px 7px; gap:5px; min-width:0; }
#game.table-room .selection-hint { font-size:12px; line-height:17px; min-height:17px; height:auto; white-space:normal; overflow-wrap:anywhere; }
#game.table-room .selection-hint[data-kind=invalid] { color:#ffd1b2; }
#game.table-room .selection-hint[data-kind=valid] { color:var(--ui-gold-light); }
#game.table-room .actions { gap:16px; min-height:44px; }
#game.table-room .actions .btn { min-height:44px; min-width:74px; padding:0 15px; }
#game.table-room .actions .btn.primary { min-width:110px; color:#211b0d; background:var(--accent-grad); border-color:transparent; font-weight:750; }
#game.table-room .actions .btn:disabled { opacity:.4; }
#game.table-room .log { height:18px; line-height:15px; }
#game.table-room.spectating .seats { grid-template-rows:minmax(96px,1fr) minmax(110px,1.25fr); }
@media (orientation:portrait) {
  #game.table-room[data-phase] { --play-card-w:30px; --play-card-h:43px; --play-reveal:17px; --hand-card-w:48px; --hand-card-h:68px; }
  #game.table-room .table-area { padding:4px 6px; }
  #game.table-room .seats { inset:18px 10px 10px; gap:22px 8px; }
  #game.table-room .pocket-play { height:52px; min-height:52px; }
  #game.table-room .front-play .card .r { font-size:14px; top:3px; left:3px; }
  #game.table-room .front-play .card .r i { font-size:11px; }
  #game.table-room .front-play.beat::after { display:none; }
  #game.table-room #center.table-focus { top:47%; width:calc(100% - 36px); max-width:420px; padding:16px 10px; gap:8px; border-radius:18px; }
  #game.table-room .target-cards .card { width:48px; height:68px; }
  #game.table-room .target-cards .card+.card { margin-left:-13px; }
  #game.table-room .bottom { padding:0 10px calc(4px + var(--safe-b)); border-radius:14px 14px 0 0; }
  #game.table-room .player-bar { min-height:30px; padding:2px 0; gap:5px; }
  #game.table-room .me-chip { min-width:0; gap:5px; }
  #game.table-room .mc-av { width:22px; height:22px; border-radius:6px; }
  #game.table-room .mc-nm { font-size:11px; max-width:80px; }
  #game.table-room .mc-ct,#game.table-room .mc-identity { font-size:10px; }
  #game.table-room .role-pill { font-size:10px; padding:2px 5px; }
  #game.table-room .hand-wrap { padding:14px 6px 3px; }
  #game.table-room .action-panel { padding:1px 4px 2px; gap:1px; }
  #game.table-room .selection-hint { font-size:11px; line-height:13px; min-height:0; max-height:0; overflow:hidden; opacity:0; transition:max-height .12s ease,opacity .12s ease; }
  #game.table-room .selection-hint[data-kind=valid],#game.table-room .selection-hint[data-kind=invalid],#game.table-room .selection-hint[data-kind=pending],#game.table-room .selection-hint[data-kind=blocked],#game.table-room .selection-hint[data-kind=status],#game.table-room .selection-hint[data-kind=rule] { max-height:30px; opacity:1; }
  #game.table-room .actions { gap:14px; min-height:44px; }
  #game.table-room .actions .btn { min-width:64px; min-height:44px; padding:0 10px; font-size:13px; }
  #game.table-room .actions .btn.primary { min-width:90px; }
  /* 观战模式（竖屏）：南位玩家的出牌正好落在桌底正中，「上一轮」入口上移让位，避免盖住出的牌 */
  /* 观战模式（竖屏）：南位玩家的出牌正好落在桌底正中（出牌区高 52px），
     「上一轮」入口上移到 64px 让位，避免盖住出的牌 */
  #game.table-room.spectating .table-history { bottom:64px; }
}
@media (orientation:landscape) {
  #game.table-room[data-phase] { --hand-card-w:48px; --hand-card-h:68px; }
  #game.table-room .topbar { padding:4px 14px; min-height:40px; }
  #game.table-room .icon-btn { width:34px; height:32px; }
  #game.table-room .turn-strip { height:26px; min-height:26px; }
  #game.table-room .table-area { padding:4px 14px 8px; }
  #game.table-room .seats { inset:14px 10px 8px; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); grid-template-areas:'west north-west north north-east east'; gap:8px; }
  #game.table-room .seat-pocket,#game.table-room .seat-pocket[data-slot=west],#game.table-room .seat-pocket[data-slot=east],#game.table-room .seat-pocket[data-slot=south] { justify-content:flex-start; padding:0; gap:5px; }
  #game.table-room .seat { max-width:150px; grid-template-columns:34px minmax(0,1fr); }
  #game.table-room .seat .av { width:34px; height:34px; }
  #game.table-room .seat .nm { font-size:12px; }
  #game.table-room .pocket-play { height:40px; min-height:40px; }
  #game.table-room #center.table-focus { top:auto; bottom:4px; transform:translateX(-50%); width:min(330px,60%); padding:7px 14px; gap:4px; flex-direction:row; flex-wrap:wrap; }
  #game.table-room .target-title { font-size:11px; letter-spacing:1px; }
  #game.table-room .target-meta { font-size:11px; max-width:160px; }
  #game.table-room .target-cards { flex-basis:100%; }
  #game.table-room .target-cards .card { width:36px; height:50px; }
  #game.table-room .target-cards .card .r { font-size:15px; top:3px; left:3px; }
  #game.table-room .target-cards .card .r i { font-size:11px; }
  #game.table-room .table-history { left:auto; right:8px; bottom:6px; transform:none; }
  #game.table-room .history-popover { left:auto; right:0; transform:none; }
  #game.table-room .bottom { grid-template-columns:minmax(0,1fr) 260px; grid-template-rows:32px auto; column-gap:16px; padding:0 18px calc(5px + var(--safe-b)); border-radius:16px 16px 0 0; }
  #game.table-room .player-bar { min-height:32px; padding:3px 0; flex-wrap:nowrap; }
  #game.table-room .hand-wrap { grid-column:1; grid-row:2; padding:15px 8px 3px; }
  #game.table-room .action-panel { grid-column:2; grid-row:2; justify-content:center; padding:6px; }
  #game.table-room .actions { gap:11px; flex-wrap:wrap; }
  #game.table-room .actions .btn { min-width:64px; min-height:40px; padding:0 10px; font-size:13px; }
  #game.table-room .actions .btn.primary { min-width:84px; }
  #game.table-room .center { position:absolute; }
  #game.table-room.spectating .seats { grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-areas:'west north-west north north-east east south'; grid-template-rows:1fr; }
}
@media (orientation:landscape) and (min-height:600px) {
  #game.table-room #center.table-focus { top:48%; bottom:auto; transform:translate(-50%,-50%); width:360px; padding:18px; flex-direction:column; gap:9px; }
  #game.table-room .target-title { font-size:13px; }
  #game.table-room .target-meta { max-width:100%; font-size:12px; }
  #game.table-room .target-cards .card { width:44px; height:64px; }
  #game.table-room .target-cards .card .r { font-size:18px; }
}
@media (orientation:landscape) and (max-height:430px) {
  #game.table-room[data-phase] { --hand-card-w:42px; --hand-card-h:58px; --play-card-w:22px; --play-card-h:30px; --play-reveal:11px; }
  #game.table-room .seats { inset:12px 8px 4px; }
  #game.table-room .seat { min-height:40px; grid-template-columns:28px minmax(0,1fr); grid-template-rows:15px 13px auto auto; padding:2px 4px; gap:1px 5px; }
  #game.table-room .seat .av { width:28px; height:28px; }
  #game.table-room .seat .nm { font-size:11px; }
  #game.table-room .seat .sc,#game.table-room .seat .seat-state { font-size:10px; }
  #game.table-room .pocket-play { height:32px; min-height:32px; }
  #game.table-room #center.table-focus { width:min(330px,55%); padding:5px 10px; gap:3px 8px; }
  #game.table-room .target-cards .card { width:29px; height:41px; }
  #game.table-room .target-cards .card .r { font-size:13px; }
  #game.table-room .target-cards .card .r i { font-size:9px; }
  #game.table-room .bottom { grid-template-rows:29px auto; }
  #game.table-room .player-bar { min-height:29px; }
  #game.table-room .hand-wrap { padding-top:14px; padding-bottom:2px; }
  #game.table-room .log { height:15px; line-height:12px; }
}
@media (orientation:portrait) and (max-height:720px) {
  #game.table-room[data-phase] { --hand-card-w:44px; --hand-card-h:62px; --play-card-w:28px; --play-card-h:40px; --play-reveal:16px; }
  #game.table-room .seats { inset:10px 8px 6px; grid-template-rows:88px minmax(96px,1fr); gap:10px 6px; }
  #game.table-room .seat-pocket { gap:6px; }
  #game.table-room .seat-pocket[data-slot=west],#game.table-room .seat-pocket[data-slot=east] { padding-bottom:2px; }
  #game.table-room .pocket-play { height:44px; min-height:44px; }
  #game.table-room .seat { min-height:44px; padding:2px; grid-template-columns:28px minmax(0,1fr); }
  #game.table-room .seat .av { width:28px; height:28px; }
  #game.table-room #center.table-focus { top:49%; padding:6px 8px; gap:3px; }
  #game.table-room .target-title { font-size:11px; letter-spacing:1px; }
  #game.table-room .target-meta { font-size:11px; }
  #game.table-room .target-cards .card { width:42px; height:58px; }
  #game.table-room .target-cards .card .r { font-size:17px; }
  #game.table-room .target-cards .card .r i { font-size:11px; }
  #game.table-room .hand-wrap { padding-top:14px; padding-bottom:2px; }
}
@media (orientation:portrait) and (max-height:600px) {
  #game.table-room[data-phase] { --hand-card-w:40px; --hand-card-h:56px; --play-card-w:26px; --play-card-h:36px; --play-reveal:15px; }
  #game.table-room .seat-pocket { gap:4px; padding-top:0; }
  #game.table-room .seat { min-height:40px; grid-template-columns:26px minmax(0,1fr); grid-template-rows:16px 14px auto; }
  #game.table-room .seat .av { width:26px; height:26px; }
  #game.table-room .seat .host-tag { grid-column:1; grid-row:3; padding-inline:3px; line-height:13px; }
  #game.table-room .seat .dl-cards { grid-column:2; grid-row:3; }
  #game.table-room .pocket-play { height:40px; min-height:40px; }
  #game.table-room #center.table-focus { padding-block:5px; }
  #game.table-room .target-title { display:none; }
  #game.table-room .target-cards .card { width:40px; height:54px; }
  #game.table-room .player-bar { min-height:28px; }
  #game.table-room .log { height:12px; line-height:10px; font-size:8px; }
}

/* ---------- 结算定格：最后一手必须看得清 ----------
 * 旧版结算时把最后一手放进 prevArea 并放大到整桌；牌桌改版后改用 targetCards，
 * 但通用规则仍按「进行中的小牌」渲染，短横屏只有 29×41px。这里用更高优先级覆盖，
 * 并提高 z-index 压过炸弹出牌/头公横幅，避免最后一手被特效盖住。 */
#game.table-room #center.table-focus.settle-center {
  z-index: 12;
  padding: 16px 18px;
  gap: 9px;
  border-color: var(--ui-gold, #d7b66a);
  /* 只留轻微暗底：结算期间座位旁还要展示未出完的牌，不能被整块面板挡住。 */
  background: linear-gradient(160deg, rgba(0, 24, 20, .58), rgba(0, 24, 20, .42));
  box-shadow: 0 14px 40px #0006, inset 0 0 0 1px rgba(237, 207, 138, .18);
}
/* 未出完的剩余手牌在结算阶段压过正中面板，确保"就差这几张"始终可见。 */
#game.table-room[data-phase=over] .pocket-reveal { z-index: 13; position: relative; }
#game.table-room #center.table-focus.settle-center .target-title {
  display: block;
  font-size: 14px;
  letter-spacing: 3px;
  color: var(--ui-gold, #d7b66a);
}
#game.table-room #center.table-focus.settle-center .target-meta {
  display: block;
  font-size: 14px;
  max-width: none;
}
#game.table-room #center.table-focus.settle-center .target-cards .card {
  width: 58px;
  height: 84px;
  border-radius: 9px;
  box-shadow: 0 10px 24px #0007;
  animation: settle-card-in .3s ease-out both;
}
#game.table-room #center.table-focus.settle-center .target-cards .card + .card { margin-left: -18px; }
#game.table-room #center.table-focus.settle-center .target-cards .card .r { font-size: 23px; top: 5px; left: 5px; }
#game.table-room #center.table-focus.settle-center .target-cards .card .r i { font-size: 16px; margin-top: 3px; }
#game.table-room #center.table-focus.settle-center .target-cards .card.joker .r { font-size: 14px; }
@keyframes settle-card-in {
  from { opacity: 0; transform: translateY(10px) scale(.94); }
  to { opacity: 1; transform: none; }
}
@media (orientation: portrait) {
  #game.table-room #center.table-focus.settle-center { top: 52%; width: min(440px, calc(100% - 24px)); padding: 14px 12px; gap: 8px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card { width: 54px; height: 78px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card + .card { margin-left: -15px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card .r { font-size: 21px; }
}
@media (orientation: portrait) and (max-height: 720px) {
  #game.table-room #center.table-focus.settle-center { padding: 10px; gap: 6px; }
  #game.table-room #center.table-focus.settle-center .target-title,
  #game.table-room #center.table-focus.settle-center .target-meta { font-size: 12px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card { width: 50px; height: 72px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card + .card { margin-left: -14px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card .r { font-size: 19px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card .r i { font-size: 13px; }
}
@media (orientation: portrait) and (max-height: 600px) {
  #game.table-room #center.table-focus.settle-center .target-cards .card { width: 46px; height: 66px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card + .card { margin-left: -12px; }
}
@media (orientation: landscape) {
  #game.table-room #center.table-focus.settle-center {
    top: auto; bottom: 4px;
    transform: translateX(-50%);
    width: min(470px, 74%);
    padding: 8px 12px;
    gap: 3px 10px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  #game.table-room #center.table-focus.settle-center .target-cards { flex-basis: 100%; }
  #game.table-room #center.table-focus.settle-center .target-cards .card { width: 40px; height: 57px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card + .card { margin-left: -11px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card .r { font-size: 16px; top: 3px; left: 3px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card .r i { font-size: 11px; }
  #game.table-room #center.table-focus.settle-center .target-title { font-size: 12px; letter-spacing: 2px; }
  #game.table-room #center.table-focus.settle-center .target-meta { font-size: 12px; }
}
@media (orientation: landscape) and (min-height: 600px) {
  #game.table-room #center.table-focus.settle-center {
    top: auto; bottom: 4px;
    transform: translateX(-50%);
    width: 400px;
    padding: 16px;
    gap: 8px;
    flex-direction: column;
    flex-wrap: nowrap;
  }
  #game.table-room #center.table-focus.settle-center .target-cards .card { width: 58px; height: 84px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card + .card { margin-left: -18px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card .r { font-size: 23px; }
}
/* 短横屏空间有限：结算面板贴住桌底，单行紧凑展示，给上方的座位亮牌留出完整空间。 */
@media (orientation: landscape) and (max-height: 599px) {
  #game.table-room #center.table-focus.settle-center {
    top: auto;
    bottom: 4px;
    transform: translateX(-50%);
    width: min(470px, 74%);
    padding: 4px 10px;
    gap: 2px 8px;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
  }
  #game.table-room #center.table-focus.settle-center .target-title { font-size: 11px; letter-spacing: 1px; white-space: nowrap; }
  #game.table-room #center.table-focus.settle-center .target-meta { font-size: 11px; max-width: 150px; }
  #game.table-room #center.table-focus.settle-center .target-cards { flex-basis: auto; min-width: 0; }
  #game.table-room #center.table-focus.settle-center .target-cards .card { width: 36px; height: 50px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card + .card { margin-left: -10px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card .r { font-size: 15px; top: 3px; left: 3px; }
  #game.table-room #center.table-focus.settle-center .target-cards .card .r i { font-size: 10px; margin-top: 1px; }
}

/* ---------- 结算高光：本局特殊手 / 包5 ---------- */
/* 单独占一行（隐式第三行），避免和地主牌（同一格）叠在一起 */
.result-row .rr-special { grid-column:1/-1; grid-row:3; display:flex; flex-wrap:wrap; gap:4px; margin-top:2px; }
.result-row .rr-special .tag { padding:1px 7px; border-radius:999px; font-size:10px; font-weight:700;
  color:var(--gold); border:1px solid #d8b26766; background:#edcf8a14; }
.result-row .rr-special .tag.bao { color:#211b0c; background:linear-gradient(180deg,#f0d79a,#d8b267); border-color:transparent; }
.result-glory { font-size:12px; font-weight:700; color:var(--gold); margin:0 0 10px; }
.result-glory[hidden] { display:none; }
