/* 语音合成排行榜（tts-leaderboard.php）：叠在 llm-leaderboard.v2.css + v4.css 之上，复用 .lx4 的 --x-* 变量与卡片样式。
   表格用独立的 .tx-tbl（不吃 .lx-tbl 的手机卡片布局），手机端横向滚动。深色规则同 v4：着色文字放在 span/b/i/small/a 里。 */
.tx-tw { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--x-line); border-radius: 12px; background: var(--x-surface); }
.tx-tbl { width: 100%; min-width: 860px; border-collapse: separate; border-spacing: 0; color: var(--x-text); font-size: .8125rem; font-variant-numeric: tabular-nums; }
.tx-tbl th { padding: 6px 10px; border-bottom: 1px solid var(--x-line); background: var(--x-head); color: var(--x-muted); font-size: .75rem; font-weight: 600; text-align: right; white-space: nowrap; }
.tx-tbl th.lx-gh { border-bottom-style: dashed; text-align: center; }
.tx-tbl th[rowspan] { vertical-align: bottom; }
.tx-tbl th.c-rk, .tx-tbl th.c-m { text-align: left; }
.tx-tbl th a { color: inherit; }
.tx-tbl th a:hover, .tx-tbl th.is-s a { color: var(--x-accent); }
.tx-tbl th a i { display: inline-block; min-width: .6em; font-style: normal; }
.tx-tbl td { padding: 8px 10px; border-bottom: 1px solid var(--x-line); text-align: right; white-space: nowrap; vertical-align: middle; }
.tx-tbl tbody tr:last-child td { border-bottom: 0; }
.tx-tbl :is(th, td):is(.c-ae, .c-te, .c-pr), .tx-tbl th.lx-gh { border-left: 1px solid var(--x-line); }
.tx-tbl tbody tr:hover td { background: var(--x-soft); }
.tx-tbl td.c-rk { width: 36px; text-align: left; }
.tx-tbl td.c-m { min-width: 220px; text-align: left; }
.tx-tbl td.is-p { background: var(--x-tint); }
.tx-tbl td.is-p b { color: var(--x-accent); }
.tx-tbl td b { font-weight: 600; }
.tx-tbl td small { margin-left: 3px; color: var(--x-muted); font-size: .6875rem; }
.tx-tbl td .tx-na { color: var(--x-muted); }
.tx-n { color: var(--x-text); font-size: .875rem; font-weight: 600; }
a.tx-n:hover { color: var(--x-accent); }
.tx-tbl .lx-o { margin: 2px 0 0; }
.tx-cn { display: inline-block; padding: 0 6px; border-radius: 4px; background: var(--x-warn-bg); color: var(--x-warn); font-size: .6875rem; font-style: normal; font-weight: 500; line-height: 1.5; }
.tx-tbl tr.lx-agsep td { padding: 6px 10px; background: var(--x-soft); color: var(--x-muted); font-size: .75rem; text-align: left; white-space: normal; }
.tx-tbl tr.lx-pendsep td { background: var(--x-accent-soft); color: var(--x-accent); }
.tx-tbl tr.is-pend td { background: var(--x-tint); }
.tx-tops { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.tx-flt { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 10px; }
.tx-watch td.c-m { min-width: 200px; }
html[data-theme="dark"] .lx4 .tx-tbl :is(td, th) { border-color: var(--x-line) !important; }
html[data-theme="dark"] .lx4 .tx-tbl th { background: var(--x-head) !important; color: var(--x-muted) !important; }
html[data-theme="dark"] .lx4 .tx-tbl td { color: var(--x-text) !important; }
html[data-theme="dark"] .lx4 .tx-tbl tr.lx-pendsep td, html[data-theme="dark"] .lx4 .tx-tbl td.is-p b { color: var(--x-accent) !important; }
html[data-theme="dark"] .lx4 .tx-tbl tr.lx-agsep:not(.lx-pendsep) td, html[data-theme="dark"] .lx4 .tx-tbl td small, html[data-theme="dark"] .lx4 .tx-na { color: var(--x-muted) !important; }
html[data-theme="dark"] .lx4 .tx-cn { color: var(--x-warn) !important; }
html[data-theme="dark"] .lx4 .tx-tw { background: var(--x-surface) !important; border-color: var(--x-line) !important; }
@media (max-width: 1099px) { .tx-tops { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 760px) { .tx-tbl td.c-m { min-width: 170px; } }

/* ====== 2026-10-25b：厂商图标 + 详情页（tts-model.php）====== */
.tx-tbl td.c-m > .lx-ic { float: left; width: 20px; height: 20px; margin: 2px 8px 0 0; }
.tx-tbl td.c-m > .lx-lt { display: inline-grid; place-items: center; font-size: .6875rem; }
.lx4 .lx-top .lx-tn { display: flex; align-items: center; gap: 6px; }
.lx4 .lx-top .lx-tn .lx-ic { width: 18px; height: 18px; flex: none; }
html[data-theme="dark"] .lx4 img.lx-ic.tx-mono, html[data-theme="dark"] .lx4 img.lx-ic[src*="/openai.svg"], html[data-theme="dark"] .lx4 img.lx-ic[src*="/xai.svg"] { filter: invert(1) brightness(.9); }
.tm-sum { margin: 16px 0 0; padding: 14px 16px; border: 1px solid var(--x-line); border-radius: 12px; background: var(--x-surface); color: var(--x-text); font-size: .9375rem; line-height: 1.7; }
.tm-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.tm-dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--x-line); font-size: .875rem; }
.tm-dl dt { color: var(--x-muted); }
.tm-dl dd { margin: 0; color: var(--x-text); font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.tm-src { margin: 0; padding-left: 18px; font-size: .8125rem; line-height: 1.9; }
.tm-src a { color: var(--x-accent); }
.lm-tbl td.c-m a { color: var(--x-text); }
.lm-tbl td.c-m a:hover { color: var(--x-accent); }
.lm-tbl td.c-m .lx-ic { width: 18px; height: 18px; margin-right: 8px; vertical-align: -4px; }
.lm-tbl td.c-m .lx-lt { display: inline-grid; place-items: center; font-size: .625rem; }
@media (max-width: 760px) { .tm-dl { grid-template-columns: 1fr; } }
