#rt-mute { height: 44px; border: 0; background: none; color: #E8C367; font-size: 13px; padding: 0 12px; cursor: pointer; letter-spacing: .04em; }
#rt-mute.off { color: #6F84A6; }

/* ── 大圆桌舞台 ── */
.st-stage { position: relative; flex: 0 0 auto; width: 100%; user-select: none; margin: 2px 0 4px; }
.st-table { position: relative; width: 100%; aspect-ratio: 1 / 0.98; }
.st-rim { position: absolute; left: 6%; right: 6%; top: 12%; bottom: 20%; border-radius: 50% / 50%; background: radial-gradient(ellipse at 50% 40%, #2b2420, #14100e 70%); box-shadow: 0 10px 30px rgba(0,0,0,.55), inset 0 0 0 3px #b48c3c, inset 0 0 0 6px #2a2119; }
.st-felt { position: absolute; left: 12%; right: 12%; top: 19%; bottom: 27%; border-radius: 50% / 50%; background: radial-gradient(ellipse at 50% 45%, #2f8a5e, #1d6b46 60%, #145037 100%); box-shadow: inset 0 0 40px rgba(0,0,0,.35), inset 0 0 0 2px rgba(232,195,103,.35); }
.st-seat { position: absolute; display: flex; flex-direction: column; align-items: center; gap: 4px; z-index: 3; }
.st-top    { left: 50%; top: 2%; transform: translate(-50%, 0); }
.st-left   { left: 0; top: 46%; transform: translate(0, -50%); align-items: flex-start; }
.st-right  { right: 0; top: 46%; transform: translate(0, -50%); align-items: flex-end; }
.st-bottom { position: static; }
.st-bottom .st-tag { position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); z-index: 30; }
.st-bottom .st-play { position: absolute; left: 50%; bottom: 36%; transform: translateX(-50%); z-index: 4; }
.st-tag { display: flex; align-items: center; gap: 6px; padding: 3px 9px 3px 3px; border-radius: 999px; background: rgba(9, 20, 44, .82); color: #F2E4C0; font-size: 12px; line-height: 1; white-space: nowrap; box-shadow: 0 2px 8px rgba(0,0,0,.4); border: 1px solid rgba(232,195,103,0); transition: border-color .25s, box-shadow .25s; }
.st-bust { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; object-position: 50% 30%; }
.st-name { font-weight: 700; } .st-fig { color: #A9BBD6; } .st-cnt { color: #E8C367; margin-left: 2px; font-variant-numeric: tabular-nums; }
.st-seat.turn .st-tag { border-color: #E8C367; box-shadow: 0 0 0 3px rgba(232,195,103,.22), 0 2px 10px rgba(0,0,0,.4); }
.st-seat.turn .st-bust { box-shadow: 0 0 0 2px #E8C367; }
.st-play { display: flex; gap: 2px; align-items: center; min-height: 28px; }
.st-left .st-play { margin: 6px 0 0 10%; } .st-right .st-play { margin: 6px 10% 0 0; }
.st-pass { color: rgba(242,228,192,.8); font-size: 12px; padding: 2px 8px; border-radius: 4px; background: rgba(9,20,44,.55); }
.st-card { position: relative; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 24px; height: 34px; border-radius: 3px; background: linear-gradient(170deg, #fffdf6, #f3eddc); color: #1a2030; box-shadow: 0 1px 2px rgba(0,0,0,.45), inset 0 0 0 1px rgba(0,0,0,.08); font-size: 12px; line-height: 1; font-weight: 700; margin-left: -6px; }
.st-card:first-child { margin-left: 0; }
.st-card.red { color: #c0242b; }
.st-card .st-s { font-size: 9px; margin-top: 1px; font-weight: 400; }
.st-card.joker .st-r { font-size: 9px; writing-mode: vertical-rl; }
.st-card .st-w { position: absolute; right: -2px; top: -4px; font-size: 7px; background: #E8C367; color: #0B1830; border-radius: 3px; padding: 0 2px; }
.st-bomb { margin-left: 6px; color: #fff; background: #B4322A; font-size: 10px; padding: 2px 6px; border-radius: 4px; box-shadow: 0 0 10px rgba(180,50,42,.6); }
.st-seat.bomb .st-play { animation: st-shake .35s ease-out 1; }
@keyframes st-shake { 0% { transform: translate(0,0); } 30% { transform: translate(2px,-1px); } 60% { transform: translate(-2px,1px); } 100% { transform: translate(0,0); } }

/* 我的手牌：扇形 */
.st-hand { position: absolute; left: 50%; bottom: max(17%, 56px); width: 0; height: 0; z-index: 20; }
.st-hand, .st-hcard { touch-action: none; }
.st-dragging .st-hcard { transition: none; }
.st-hcard { position: absolute; left: -22px; top: -62px; width: 44px; height: 62px; transform-origin: 50% 130%; transition: transform .12s ease-out; cursor: pointer; }
.st-hcard .st-card.hand { width: 44px; height: 62px; margin: 0; border-radius: 5px; font-size: 18px; box-shadow: 0 2px 4px rgba(0,0,0,.5), inset 0 0 0 1px rgba(0,0,0,.1); }
.st-hcard .st-card.hand .st-s { font-size: 13px; }
.st-hcard .st-card.hand .st-r { position: absolute; top: 3px; left: 2px; font-size: 12px; }
.st-hcard .st-card.hand .st-s { position: absolute; top: 17px; left: 2px; font-size: 10px; }
.st-hcard.sel .st-card.hand { box-shadow: 0 0 0 2px #E8C367, 0 6px 14px rgba(0,0,0,.45); }
.st-hcard.teach .st-card.hand { box-shadow: 0 0 0 2px #6FB1FF, 0 6px 14px rgba(0,0,0,.45); }
.st-hcard.grp .st-card.hand::before { content: ""; position: absolute; left: 0; right: 0; top: -5px; height: 3px; background: #C8A455; }

/* 按钮排 */
.st-btns { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; padding: 6px 2px 2px; }
.rt-page .st-btn { display: flex; align-items: center; justify-content: center; height: 40px; border-radius: 10px; border: 1px solid rgba(232,195,103,.6); background: rgba(9,20,44,.6); color: #E8C367; font-size: 15px; font-weight: 700; cursor: pointer; padding: 0; white-space: nowrap; box-sizing: border-box; }
.rt-page .st-btn.gold { background: #E8C367; color: #0B1830; border-color: #E8C367; }
.rt-page .st-btn.dis { opacity: .45; }

/* 圆桌接管手牌与按钮后，小程序原来的手牌格子和按钮行藏起来 */
[data-page="liulong/pages/lianju/lianju"].st-on .ljfreecards, [data-page="liulong/pages/lianju/lianju"].st-on .ljcoachtools, [data-page="liulong/pages/lianju/lianju"].st-on .ljbtnrow, [data-page="liulong/pages/lianju/lianju"].st-on .ljfreecardsreserve { display: none !important; }
[data-page="liulong/pages/lianju/lianju"].st-on .ljfreedock { height: auto !important; max-height: none !important; overflow: visible; }
[data-page="liulong/pages/lianju/lianju"].st-on .ljbattleflow { min-height: 120px; max-height: 40vh; }
[data-page="liulong/pages/lianju/lianju"].st-on .ljfreedock .ljhandpanel { height: auto !important; }
/* 对局视图（fixed）避开顶栏，并跟随居中的应用列 */
[data-page="liulong/pages/lianju/lianju"] .ljbattle { overflow-y: auto !important; -webkit-overflow-scrolling: touch; top: calc(44px + 20 * var(--rpx)) !important; left: calc(50% - var(--app-w) / 2 + 26 * var(--rpx)) !important; right: calc(50% - var(--app-w) / 2 + 26 * var(--rpx)) !important; }
[data-page="liulong/pages/lianju/lianju"] .ljkbmask, [data-page="liulong/pages/lianju/lianju"] .ljpowermask { left: calc(50% - var(--app-w) / 2) !important; right: calc(50% - var(--app-w) / 2) !important; }
/* 出牌流小牌、题库牌统一真牌面 */
.rt-page .play-card, .rt-comp .play-card, .rt-comp .hand .card { background: linear-gradient(168deg, #fffef9 0%, #f6f1e3 100%) !important; border: 1px solid rgba(20,28,48,.18) !important; box-shadow: 0 1px 2px rgba(0,0,0,.28), 0 3px 8px rgba(0,0,0,.18) !important; }
@media (max-width: 520px) { .st-fig { display: none; } .st-tag { font-size: 11px; padding-right: 7px; } }

@media (max-height: 760px) { .st-table { aspect-ratio: 1 / 0.86; } .st-hcard { top: -56px; } }

/* ── 讲义朗读条 ── */
.tts-bar { position: fixed; left: 50%; transform: translateX(-50%); width: var(--app-w); bottom: calc(50px + env(safe-area-inset-bottom)); z-index: 39; display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: rgba(11, 24, 48, .96); border-top: 1px solid rgba(232,195,103,.18); color: #A9BBD6; font-size: 12px; box-sizing: border-box; }
body:not(.has-tabs) .tts-bar { bottom: env(safe-area-inset-bottom); }

.tts-btn { padding: 7px 12px; border-radius: 8px; border: 1px solid rgba(232,195,103,.6); color: #E8C367; font-weight: 700; font-size: 14px; white-space: nowrap; cursor: pointer; }
.tts-play { background: #E8C367; color: #0B1830; }
.tts-pos { margin-left: auto; white-space: nowrap; }
.rt-page .tts-cur { outline: 2px solid rgba(232,195,103,.7); outline-offset: 4px; border-radius: 6px; background: rgba(232,195,103,.08); }
body.has-tabs .rt-page[data-page="liulong-lib/pages/book/book"] { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }

/* ── 横屏「牌桌模式」预览：左桌右栏 ── */
@media (orientation: landscape) and (min-width: 640px) {
  body.st-landscape { --app-w: 100vw; --rpx: calc(360px / 750); }
  body.st-landscape #rt-tabs { display: none !important; }
  body.st-landscape #rt-bar { height: 36px; } body.st-landscape #rt-back, body.st-landscape #rt-mute { height: 36px; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljbattle { top: 44px !important; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljbattle { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); grid-template-rows: auto minmax(0, 1fr) auto; column-gap: 10px; top: 44px !important; left: max(12px, env(safe-area-inset-left)) !important; right: max(12px, env(safe-area-inset-right)) !important; overflow: hidden !important; }
  [data-page="liulong/pages/lianju/lianju"].st-on .st-stage { grid-column: 1; grid-row: 1 / 4; margin: 0; align-self: stretch; display: flex; flex-direction: column; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljbattlehead { grid-column: 2; grid-row: 1; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljbattleflow { grid-column: 2; grid-row: 2; height: auto !important; min-height: 0 !important; max-height: none !important; align-self: stretch; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljfreedock { grid-column: 2; grid-row: 3; max-height: 40vh !important; overflow-y: auto; }
  .st-stage { height: 100%; min-height: 0; }
  .st-table { aspect-ratio: auto; height: calc(100% - 48px); min-height: 0; }
  /* 方桌：圆角矩形，不用椭圆 */
  .st-rim { left: 4%; right: 4%; top: 9%; bottom: 22%; border-radius: 14% / 22%; }
  .st-felt { left: 9%; right: 9%; top: 15%; bottom: 28%; border-radius: 12% / 20%; }
  .st-top { top: 0; } .st-left { left: 0; top: 40%; } .st-right { right: 0; top: 40%; }
  .st-bottom { bottom: 2%; }
  .st-hand { bottom: max(18%, 56px); }
  .st-btns { grid-template-columns: repeat(6, 1fr); padding: 6px 0 0; }
  .rt-page .st-btn { height: 36px; font-size: 14px; }
}

.tts-bar { flex-wrap: wrap; }
.tts-btn { font-family: inherit; background-color: transparent; }
.tts-play { background: #E8C367; }

[data-page="liulong/pages/lianju/lianju"].st-on .ljpace { flex-wrap: wrap; white-space: normal; overflow: visible; }

/* Manual reorder uses a separate ghost; card hit geometry stays frozen. */
.st-hcard { -webkit-touch-callout: none; -webkit-user-select: none; }
.st-hcard.lifted { opacity: .25; }
.st-ghost { position: fixed !important; width: 44px; height: 62px; z-index: 999; pointer-events: none; transform: none !important; }
.st-ghost .st-card.hand { box-shadow: 0 0 0 2px #E8C367, 0 14px 30px rgba(0,0,0,.6); }
.st-reordering .st-hcard.gap-left { margin-left: 18px; }

/* web12: keep page-owned quiz controls above the table, outside dock clipping. */
[data-page="liulong/pages/lianju/lianju"].st-on .ljdockoverlays { position: fixed !important; left: 50% !important; right: auto !important; bottom: auto !important; top: 34vh !important; transform: translateX(-50%); width: min(92vw, 440px); max-height: 46vh; overflow-y: auto; overscroll-behavior: contain; z-index: 80; padding: 3px; box-sizing: border-box; }
[data-page="liulong/pages/lianju/lianju"].st-on .ljdockoverlays .ljquiz,
[data-page="liulong/pages/lianju/lianju"].st-on .ljdockoverlays .ljtallycard { box-shadow: 0 16px 40px rgba(0,0,0,.55), 0 0 0 2px rgba(232,195,103,.45); }
.rt-page .st-fold { display: none; }
.st-seat.bao .st-cnt { color: #F2C94C; font-weight: 700; }
.st-seat.bao .st-tag { border-color: rgba(242,201,76,.7); }
[data-page="liulong/pages/lianju/lianju"].st-on .ljfh.ljfbao { font-size: calc(34 * var(--rpx)); color: #F2C94C; font-weight: 700; }
@media (orientation: landscape) and (min-width: 640px) {
  .st-left { left: 4%; } .st-right { right: 4%; }
  .st-left .st-play { margin-left: 26%; } .st-right .st-play { margin-right: 26%; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljdockoverlays { left: 35% !important; top: 26vh !important; width: min(60vw, 520px); max-height: 60vh; }
  .rt-page .st-fold { display: flex; align-items: center; justify-content: center; position: absolute; right: 0; top: 15%; width: 28px; height: 40px; padding: 0; border: 1px solid rgba(232,195,103,.4); border-radius: 8px; background: #0B1830; color: #E8C367; font-size: 24px; z-index: 35; cursor: pointer; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljbattle.st-folded { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
  .st-on .st-folded .ljbattlehead, .st-on .st-folded .ljbattleflow { display: none; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljbattle.st-folded .st-stage { grid-row: 1 / 3; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljbattle.st-folded .ljfreedock { grid-column: 1; grid-row: 3; }
  [data-page="liulong/pages/lianju/lianju"].st-on .ljbattle.st-folded .ljdockoverlays { left: 50% !important; }
}

[data-page="liulong/pages/lianju/lianju"].st-on .ljdockoverlays:empty { display: none; }

.st-two-rows .st-bottom .st-play { bottom: 62%; }

/* Chrome may target a nearby seat at an exposed card edge. Keep the entire table out of native pan handling. */
.st-table { touch-action: none; }
