/*
 * 非计时器页面共用暖墨 / 宣纸、朱砂主行动和金色辅助强调。
 * 根因是页面局部令牌和旧 !important 覆盖并存；在原定义节点做别名即可统一。
 * 此层由文档 head 最先声明：重要声明优先于旧 ai-review-workbench 层。
 * runtime 移除 unified 门禁即可恢复原皮肤；这里不修改布局、隐藏与层级。
 */
@layer debater-visual-system {
  html[data-debater-visual='unified'] {
    --dv-bg: #14110f;
    --dv-surface: #211c18;
    --dv-raised: #2c251f;
    --dv-input: #1b1714;
    --dv-text: #f6f1e8;
    --dv-secondary: #cbc1b3;
    --dv-muted: #b1a494;
    --dv-line: #4b4035;
    --dv-accent: #ef8475;
    --dv-action: #b63c35;
    --dv-action-rgb: 182 60 53;
    --dv-accent-rgb: 239 132 117;
    --dv-gold: #dfbd75;
    --dv-gold-rgb: 223 189 117;
    --dv-on-action: #fffaf6;
    --dv-danger: #f0a298;
    --dv-active: color-mix(in srgb, var(--dv-accent) 12%, var(--dv-surface));
    --dv-danger-tint: color-mix(in srgb, var(--dv-danger) 12%, var(--dv-surface));
    --dv-action-hover: color-mix(in srgb, var(--dv-action) 88%, #000);
    --dv-shadow: 0 12px 36px rgb(0 0 0 / 20%);
    --dv-font: 'Inter', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, -apple-system, sans-serif;
    --dv-title-font: 'STKaiti', 'KaiTi', 'Noto Serif SC', 'Songti SC', serif;
    --dv-mono-font: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    --dv-panel-radius: 12px;
    --dv-control-radius: 8px;
    color-scheme: dark !important;
  }

  html[data-debater-visual='unified'][data-debater-tone='paper'] {
    --dv-bg: #f8f5ef;
    --dv-surface: #fffdf9;
    --dv-raised: #f0e9de;
    --dv-input: #fffdf9;
    --dv-text: #29251f;
    --dv-secondary: #5d5348;
    --dv-muted: #75695c;
    --dv-line: #d8ccbc;
    --dv-accent: #a32d2a;
    --dv-action: #a32d2a;
    --dv-action-rgb: 163 45 42;
    --dv-accent-rgb: 163 45 42;
    --dv-gold: #806024;
    --dv-gold-rgb: 128 96 36;
    --dv-danger: #a32d2a;
    --dv-shadow: 0 12px 36px rgb(48 36 22 / 9%);
    color-scheme: light !important;
  }

  /* 兼容旧主题服务与工具类；不改颜色模式的状态或存储协议。 */
  html[data-debater-visual='unified'],
  html[data-debater-visual='unified'] body,
  html[data-debater-visual='unified'] :is(
    app-admin, app-profile, app-ai-review, app-ai-review-form,
    app-tournament-detail-page, app-tournament-management-page,
    app-admin-tournaments-tab, app-tournament-management-workspace,
    app-tournament-basics-editor, app-tournament-match-planning, app-tournament-user-lookup,
    .tournament-detail-page, .ts-root, .tjr-root, .discussion-view
  ) {
    --bg-primary: var(--dv-bg) !important;
    --bg-secondary: var(--dv-raised) !important;
    --bg-tertiary: var(--dv-raised) !important;
    --bg-card: var(--dv-surface) !important;
    --bg-glass: var(--dv-surface) !important;
    --text-primary: var(--dv-text) !important;
    --text-secondary: var(--dv-secondary) !important;
    --text-muted: var(--dv-muted) !important;
    --border-color: var(--dv-line) !important;
    --border-color-light: var(--dv-line) !important;
    --border-color-strong: var(--dv-line) !important;
    --theme-surface: var(--dv-surface) !important;
    --theme-border: var(--dv-line) !important;
    --theme-swatch: var(--dv-action) !important;
    --accent-primary: var(--dv-action) !important;
    --accent-color: var(--dv-accent) !important;
    --color-primary-300: var(--dv-accent-rgb) !important;
    --color-primary-400: var(--dv-accent-rgb) !important;
    --color-primary-500: var(--dv-action-rgb) !important;
    --color-primary-600: var(--dv-action-rgb) !important;
    --color-secondary-400: var(--dv-gold-rgb) !important;
    --color-secondary-500: var(--dv-gold-rgb) !important;
    --color-secondary-600: var(--dv-gold-rgb) !important;
    --font-sans: var(--dv-font) !important;
    --font-display: var(--dv-title-font) !important;
    --font-seal-display: var(--dv-title-font) !important;
    --font-seal-body: var(--dv-font) !important;
    --seal-ink: var(--dv-bg) !important;
    --seal-ink-2: var(--dv-surface) !important;
    --seal-ink-3: var(--dv-raised) !important;
    --seal-paper: var(--dv-bg) !important;
    --seal-paper-2: var(--dv-raised) !important;
    --seal-paper-3: var(--dv-surface) !important;
    --seal-red: var(--dv-action) !important;
    --seal-red-deep: var(--dv-action-hover) !important;
    --seal-gold: var(--dv-gold) !important;
    --seal-gold-deep: var(--dv-gold) !important;
    --seal-line-dark: var(--dv-line) !important;
    --seal-line-light: var(--dv-line) !important;
    --seal-shadow-dark: var(--dv-shadow) !important;
    --seal-shadow-light: var(--dv-shadow) !important;
  }

  html[data-debater-visual='unified'] body {
    color: var(--dv-text) !important;
    font-family: var(--dv-font) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
  /* 首页品牌背景、海报与大标题构图保留，只给其真实控件统一皮肤。 */
  html[data-debater-visual='unified'] body:not(:has(app-home)) {
    background: var(--dv-bg) !important;
  }

  html[data-debater-visual='unified'] router-outlet + *:not(app-home),
  html[data-debater-visual='unified'] [data-dv-surface='page'] {
    color: var(--dv-text) !important;
    font-family: var(--dv-font) !important;
  }
  html[data-debater-visual='unified'] [data-dv-surface='page'] {
    background: var(--dv-bg) !important;
  }
  /* 历史页面把主题变量定义在局部节点，须在相同定义节点消费集中令牌。 */
  html[data-debater-visual='unified'] :is(app-info, .info-page) {
    --info-bg: var(--dv-bg) !important;
    --info-surface: var(--dv-surface) !important;
    --info-paper: var(--dv-surface) !important;
    --info-paper-soft: var(--dv-raised) !important;
    --info-surface-strong: var(--dv-raised) !important;
    --info-ink: var(--dv-text) !important;
    --info-ink-soft: var(--dv-secondary) !important;
    --info-muted: var(--dv-muted) !important;
    --info-border: var(--dv-line) !important;
    --info-border-strong: var(--dv-line) !important;
    --info-accent: var(--dv-accent) !important;
    --info-accent-strong: var(--dv-action-hover) !important;
    --info-accent-soft: var(--dv-active) !important;
    --info-gold: var(--dv-gold) !important;
  }
  html[data-debater-visual='unified'] :is(app-lobby, .lobby-page) {
    --lobby-page-bg: var(--dv-bg) !important;
    --lobby-paper: var(--dv-surface) !important;
    --lobby-paper-strong: var(--dv-raised) !important;
    --lobby-ink: var(--dv-text) !important;
    --lobby-ink-soft: var(--dv-secondary) !important;
    --lobby-line: var(--dv-line) !important;
    --lobby-stage: var(--dv-surface) !important;
    --lobby-stage-text: var(--dv-text) !important;
    --lobby-stage-muted: var(--dv-secondary) !important;
    --ledger-gold: var(--dv-gold) !important;
    --ledger-gold-soft: color-mix(in srgb, var(--dv-gold) 14%, transparent) !important;
    --ledger-control: var(--dv-raised) !important;
  }
  html[data-debater-visual='unified'] :is(app-judge-profile-result, .result-shell) {
    --jp-bg: var(--dv-bg) !important;
    --jp-surface: var(--dv-surface) !important;
    --jp-surface-raised: var(--dv-raised) !important;
    --jp-text: var(--dv-text) !important;
    --jp-text-soft: var(--dv-secondary) !important;
    --jp-muted: var(--dv-muted) !important;
    --jp-border: var(--dv-line) !important;
    --jp-border-strong: var(--dv-line) !important;
    --jp-gold: var(--dv-gold) !important;
    --jp-gold-soft: var(--dv-gold) !important;
    --jp-red: var(--dv-accent) !important;
    --jp-sans: var(--dv-font) !important;
    --jp-serif: var(--dv-title-font) !important;
    --jp-shadow: var(--dv-shadow) !important;
  }
  html[data-debater-visual='unified'] app-judge-profile-test .case-brief {
    background: var(--dv-surface) !important;
    border-color: var(--dv-line) !important;
    border-radius: var(--dv-panel-radius) !important;
  }
  /* 原排位舞台两种主题都加载深色图片，纸色文字会失去对比；表面改由主题决定。 */
  html[data-debater-visual='unified'] app-lobby .ranked-match-stage {
    background: var(--dv-surface) !important;
    color: var(--dv-text) !important;
    border-color: var(--dv-line) !important;
    border-radius: var(--dv-panel-radius) !important;
    box-shadow: var(--dv-shadow) !important;
  }
  html[data-debater-visual='unified'] app-lobby :is(.ranked-stage-header h2, .ranked-match-state h3) {
    color: var(--dv-text) !important;
    text-shadow: none !important;
  }
  html[data-debater-visual='unified'] app-lobby :is(.ranked-stage-kicker, .ranked-current-selection strong) {
    color: var(--dv-gold) !important;
  }
  html[data-debater-visual='unified'] :is(app-vip, app-friends, app-messages) :is(
    .bg-slate-900, .bg-slate-800, .bg-gray-900, .bg-gray-800, .bg-white\/5, .bg-white\/10
  ) {
    background: var(--dv-surface) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-visual='unified'] :is(app-friends, app-messages) .pointer-events-none > div {
    background: none !important;
  }
  html[data-debater-visual='unified'] :is(.text-slate-300, .text-gray-300, .text-slate-600, .text-gray-600) {
    color: var(--dv-secondary) !important;
  }
  html[data-debater-visual='unified'] :is(.text-slate-400, .text-gray-400, .text-slate-500, .text-gray-500) {
    color: var(--dv-muted) !important;
  }
  html[data-debater-visual='unified'] :is(app-vip, app-friends, app-messages) h2 {
    color: var(--dv-text) !important;
    font-family: var(--dv-title-font) !important;
  }

  /* 赛事原有 SSOT 继续负责布局和各工作区变量，颜色转为集中令牌。 */
  html[data-debater-visual='unified'] {
    --tv-bg: var(--dv-bg) !important;
    --tv-panel: var(--dv-surface) !important;
    --tv-soft: var(--dv-raised) !important;
    --tv-text: var(--dv-text) !important;
    --tv-muted: var(--dv-secondary) !important;
    --tv-line: var(--dv-line) !important;
    --tv-accent: var(--dv-accent) !important;
    --tv-action: var(--dv-action) !important;
    --tv-active: var(--dv-active) !important;
    --tv-gold: var(--dv-gold) !important;
    --tv-font: var(--dv-font) !important;
    --tv-title-font: var(--dv-title-font) !important;
    --tv-radius: var(--dv-control-radius) !important;
  }

  html[data-debater-visual='unified'] body:has(app-ai-review-form .ai-review-form-shell) {
    --aw-page: var(--dv-bg) !important;
    --aw-surface: var(--dv-surface) !important;
    --aw-input: var(--dv-input) !important;
    --aw-copy: var(--dv-text) !important;
    --aw-muted: var(--dv-secondary) !important;
    --aw-line: var(--dv-line) !important;
    --aw-red: var(--dv-accent) !important;
    --aw-action: var(--dv-action) !important;
    --aw-gold: var(--dv-gold) !important;
  }
  html[data-debater-visual='unified'] app-ai-review-form {
    --review-ink: var(--dv-bg) !important;
    --review-ink-soft: var(--dv-surface) !important;
    --review-paper: var(--dv-bg) !important;
    --review-paper-deep: var(--dv-raised) !important;
    --review-copy: var(--dv-text) !important;
    --review-muted: var(--dv-secondary) !important;
    --review-gold: var(--dv-gold) !important;
    --review-gold-bright: var(--dv-gold) !important;
    --review-red: var(--dv-action) !important;
    --review-red-bright: var(--dv-accent) !important;
    color: var(--dv-text) !important;
    font-family: var(--dv-font) !important;
  }

  html[data-debater-visual='unified'] body.profile-canvas-active {
    --pc-bg: var(--dv-bg) !important;
    --pc-text: var(--dv-text) !important;
    --pc-muted: var(--dv-secondary) !important;
    --pc-line: var(--dv-line) !important;
    --pc-tint: var(--dv-raised) !important;
    --pc-red: var(--dv-accent) !important;
    --pc-red-tint: var(--dv-active) !important;
    --pc-gold: var(--dv-gold) !important;
  }
  html[data-debater-visual='unified'] :is(app-criteria-list, app-criteria-detail) {
    --cr-bg: var(--dv-bg) !important;
    --cr-surface: var(--dv-surface) !important;
    --cr-text: var(--dv-text) !important;
    --cr-secondary: var(--dv-secondary) !important;
    --cr-muted: var(--dv-muted) !important;
    --cr-line: var(--dv-line) !important;
    --cr-gold: var(--dv-gold) !important;
    --cr-choice: var(--dv-raised) !important;
    --cr-red: var(--dv-action) !important;
    --cr-serif: var(--dv-title-font) !important;
    --cr-sans: var(--dv-font) !important;
  }

  /* 图节点、边、选中与正反方保持图形语义，仅映射操作和纸墨表面。 */
  html[data-debater-visual='unified'] .relations-page {
    --bg: var(--dv-bg) !important;
    --card: var(--dv-surface) !important;
    --inner: var(--dv-raised) !important;
    --text: var(--dv-text) !important;
    --muted: var(--dv-secondary) !important;
    --border: var(--dv-line) !important;
    --action: var(--dv-action) !important;
    --action-text: var(--dv-on-action) !important;
    background: var(--dv-bg) !important;
  }
  html[data-debater-visual='unified']:has(#community-app),
  html[data-debater-visual='unified'] body:has(#community-app) {
    --bg: var(--dv-bg) !important;
    --surface: var(--dv-surface) !important;
    --surface-raised: var(--dv-raised) !important;
    --text: var(--dv-text) !important;
    --muted: var(--dv-secondary) !important;
    --border: var(--dv-line) !important;
    --accent: var(--dv-action) !important;
    --accent-text: var(--dv-on-action) !important;
    --gold: var(--dv-gold) !important;
    --chip: var(--dv-active) !important;
  }
  html[data-debater-visual='unified'] .draw-page {
    --canvas: var(--dv-bg) !important;
    --surface: var(--dv-surface) !important;
    --surface-strong: var(--dv-raised) !important;
    --surface-soft: var(--dv-raised) !important;
    --text: var(--dv-text) !important;
    --muted: var(--dv-secondary) !important;
    --border: var(--dv-line) !important;
    --accent: var(--dv-accent) !important;
    --accent-strong: var(--dv-action) !important;
    --accent-soft: var(--dv-active) !important;
    --gold: var(--dv-gold) !important;
    background: var(--dv-bg) !important;
  }

  html[data-debater-visual='unified'] app-personal-time {
    --time-bg: var(--dv-bg) !important;
    --time-panel: var(--dv-surface) !important;
    --time-panel-raised: var(--dv-raised) !important;
    --time-text: var(--dv-text) !important;
    --time-muted: var(--dv-secondary) !important;
    --time-line: var(--dv-line) !important;
    --time-accent: var(--dv-action) !important;
    --time-accent-text: var(--dv-on-action) !important;
  }
  html[data-debater-visual='unified'] #personal-time-workbench-overlay {
    --tw-bg: var(--dv-bg) !important;
    --tw-panel: var(--dv-surface) !important;
    --tw-raised: var(--dv-raised) !important;
    --tw-text: var(--dv-text) !important;
    --tw-muted: var(--dv-secondary) !important;
    --tw-line: var(--dv-line) !important;
    --tw-accent: var(--dv-action) !important;
    --tw-accent-text: var(--dv-on-action) !important;
  }
  html[data-debater-visual='unified'] :is(.tw-page, .tw-dialog) {
    --tw-bg: var(--dv-bg) !important;
    --tw-card: var(--dv-surface) !important;
    --tw-soft: var(--dv-raised) !important;
    --tw-text: var(--dv-text) !important;
    --tw-muted: var(--dv-secondary) !important;
    --tw-line: var(--dv-line) !important;
    --tw-accent: var(--dv-action) !important;
    --tw-on-accent: var(--dv-on-action) !important;
  }

  /* FT 只统一表面 / 文字 / 分隔线；报告字号层级及阵营 / 图表变量保留。 */
  html[data-debater-visual='unified'],
  html[data-debater-visual='unified'] :is(.ft-report-root, app-ai-review-result) {
    --ft-bg-paper: var(--dv-bg) !important;
    --ft-bg-paper-deep: var(--dv-raised) !important;
    --ft-bg-default: var(--dv-bg) !important;
    --ft-bg-card: var(--dv-surface) !important;
    --ft-bg-tint: var(--dv-raised) !important;
    --ft-glass-tint: var(--dv-raised) !important;
    --ft-text-primary: var(--dv-text) !important;
    --ft-text-secondary: var(--dv-secondary) !important;
    --ft-text-muted: var(--dv-muted) !important;
    --ft-text: var(--dv-text) !important;
    --ft-border: var(--dv-line) !important;
    --ft-border-04: var(--dv-line) !important;
    --ft-border-08: var(--dv-line) !important;
    --ft-border-12: var(--dv-line) !important;
    --ft-rule: var(--dv-line) !important;
    --ft-paper: var(--dv-surface) !important;
    --ft-muted: var(--dv-muted) !important;
  }
  html[data-debater-visual='unified'] {
    --ss-bg: var(--dv-bg) !important;
    --ss-card: var(--dv-surface) !important;
    --ss-paper: var(--dv-raised) !important;
    --ss-text: var(--dv-text) !important;
    --ss-muted: var(--dv-secondary) !important;
    --ss-line: var(--dv-line) !important;
    --ss-accent: var(--dv-gold) !important;
  }
  html[data-debater-visual='unified'] .speaker-claims {
    --sc-bg: var(--dv-bg) !important;
    --sc-panel: var(--dv-surface) !important;
    --sc-text: var(--dv-text) !important;
    --sc-muted: var(--dv-secondary) !important;
    --sc-line: var(--dv-line) !important;
  }
  /* 独立报告拥有自己的 root 变量，按已核对的报告主题属性精确映射。 */
  html[data-debater-visual='unified'][data-report-theme],
  html[data-debater-visual='unified'][data-report-theme] .shell[data-ft-mode] {
    --bg: var(--dv-bg) !important;
    --bg2: var(--dv-raised) !important;
    --paper: var(--dv-surface) !important;
    --paper2: var(--dv-raised) !important;
    --text: var(--dv-text) !important;
    --muted: var(--dv-secondary) !important;
    --faint: var(--dv-muted) !important;
    --rule: var(--dv-line) !important;
  }

  /* 明确的模块表面与 runtime 标记；不使用 card 名称通配，避免碰头像和图节点。 */
  html[data-debater-visual='unified'] :is(
    [data-dv-surface='panel'], .glass:not(app-home .glass),
    .glass-strong:not(app-home .glass-strong), .glass-card:not(app-home .glass-card), .profile-card,
    .relations-query-panel, .relations-page .search-card, .tw-card, .draw-shell,
    .draw-page .work-card, .draw-page .result-card, .ss-report-panel, .ss-player,
    .ss-summary-card, .ss-benchmark-panel, .ss-filter-panel, .speaker-claims,
    app-ai-review-form .input-card, app-ai-review-form .quality-precheck,
    app-ai-review-form .quality-item, #community-app .panel
  ) {
    background: var(--dv-surface) !important;
    border: 1px solid var(--dv-line) !important;
    border-radius: var(--dv-panel-radius) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html[data-debater-visual='unified'] :is(
    [data-dv-surface='inset'], .profile-surface,
    .relations-page .relations-person-form, .relations-path-map,
    .ss-filter, .sc-fact, .ti-help, .ti-confirm, .ti-receipt
  ) {
    background: var(--dv-raised) !important;
    border-color: var(--dv-line) !important;
    border-radius: var(--dv-control-radius) !important;
    box-shadow: none !important;
  }
  html[data-debater-visual='unified'][data-report-theme] .module {
    background: var(--dv-surface) !important;
    border-color: var(--dv-line) !important;
    border-radius: var(--dv-panel-radius) !important;
    box-shadow: none !important;
  }

  /* 模态只改变其自身皮肤；原 backdrop、fixed、隐藏条件与危险确认层级不动。 */
  html[data-debater-visual='unified'] :is(
    [data-dv-surface='dialog'], dialog, [role='dialog'][aria-modal='true'],
    [role='alertdialog'][aria-modal='true'], .profile-dialog, .profile-menu,
    .tw-dialog, #community-app .report-dialog, .ti-dialog
  ) {
    background: var(--dv-surface) !important;
    color: var(--dv-text) !important;
    border: 1px solid var(--dv-line) !important;
    border-radius: var(--dv-panel-radius) !important;
    box-shadow: var(--dv-shadow) !important;
    font-family: var(--dv-font) !important;
  }
  html[data-debater-visual='unified'] app-admin-danger-dialog [role='alertdialog'] {
    border-color: var(--dv-danger) !important;
  }

  /* 保留导航布局与抽屉行为，透明玻璃改为可读的稳定表面。 */
  html[data-debater-visual='unified'] :is(
    app-root > nav, .managed-navigation, .admin-header,
    #community-app .masthead, .draw-page .site-header, .ss-site-header, .sc-site-header
  ) {
    background: var(--dv-surface) !important;
    border-color: var(--dv-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html[data-debater-visual='unified'] :is(.managed-nav-link, .managed-menu-link, .managed-mobile-link) {
    color: var(--dv-text) !important;
    font-family: var(--dv-font) !important;
    font-size: 14px !important;
  }
  html[data-debater-visual='unified'] :is(
    .managed-nav-link:hover, .managed-nav-link.active, .managed-menu-link:hover,
    .managed-menu-link.active, .managed-mobile-link:hover, .managed-mobile-link.active
  ) {
    color: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] :is(.managed-menu-link:hover, .managed-mobile-link:hover) {
    background: var(--dv-raised) !important;
  }

  /* 生产后台用新版壳层，硬编码冷蓝不消费 --bg-*；按真实节点覆去渐变。 */
  html[data-debater-visual='unified'] app-admin :is(.admin-shell, .admin-main, #admin-main-content) {
    background: var(--dv-bg) !important;
    color: var(--dv-text) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-visual='unified'] app-admin :is(
    .admin-topbar, .admin-category-bar, .admin-content-surface
  ) {
    background: var(--dv-surface) !important;
    color: var(--dv-text) !important;
    border-color: var(--dv-line) !important;
    box-shadow: none !important;
  }
  html[data-debater-visual='unified'] app-admin .admin-secondary-bar {
    background: var(--dv-raised) !important;
    color: var(--dv-secondary) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-visual='unified'] app-admin .admin-brand {
    color: var(--dv-text) !important;
  }
  html[data-debater-visual='unified'] app-admin .admin-brand__mark {
    color: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] app-admin .admin-return-link {
    color: var(--dv-secondary) !important;
  }

  /* 观看侧栏硬编码冷色，不消费主题变量；保留黑色视频画布与持方状态。 */
  html[data-debater-visual='unified'] app-tournament-watch :is(
    .tournament-watch, .sidebar-section, .match-info-bar, .danmaku-input-bar
  ) {
    color: var(--dv-text) !important;
    background: var(--dv-bg) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-visual='unified'] app-tournament-watch :is(.info-content .team-card, .bg-white\/5, .bg-white\/10) {
    background-color: var(--dv-surface) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-visual='unified'] app-tournament-watch .text-slate-400 {
    color: var(--dv-secondary) !important;
  }

  /* 一级标题和明确区域标题使用同一中文展示栈；报告与数值字体层级保留。 */
  html[data-debater-visual='unified'] :is(
    app-login, app-lobby, app-profile, app-leaderboard, app-team, app-team-detail,
    app-info, app-vip, app-friends, app-messages, app-judge-profile-test, app-judge-profile-result,
    app-relations, app-criteria-list, app-criteria-detail, app-personal-time, app-admin,
    #community-app, #personal-time-workbench-overlay, .draw-page, .tw-page
  ) h1,
  html[data-debater-visual='unified'] :is(
    .profile-section-title, .criteria-section-heading h2, .criteria-scroll-hero h1,
    #community-app .section-heading h2, #community-app .discussion-sidebar h2,
    .draw-page .unified-heading h2, #personal-time-workbench-overlay .tw-header h2
  ) {
    color: var(--dv-text) !important;
    font-family: var(--dv-title-font) !important;
    text-shadow: none !important;
  }
  html[data-debater-visual='unified'] :is(.profile-stat-label, .profile-empty, .tw-muted, .ss-muted) {
    color: var(--dv-muted) !important;
  }
  html[data-debater-visual='unified'] .profile-section-title-bar {
    background: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] :is(
    #community-app .state-card, .tw-empty, .community-empty,
    [data-dv-surface='panel'] .empty-state
  ) {
    color: var(--dv-secondary) !important;
    font-family: var(--dv-font) !important;
    border-color: var(--dv-line) !important;
    box-shadow: none !important;
  }

  /* 表格仅统一承载表面与分隔线；胜负、发布状态、热图单元格保留自身颜色。 */
  html[data-debater-visual='unified'] table {
    color: var(--dv-text) !important;
    background: var(--dv-surface) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-visual='unified'] :is(th, td) {
    border-color: var(--dv-line) !important;
  }
  html[data-debater-visual='unified'] thead {
    background: var(--dv-raised) !important;
    color: var(--dv-secondary) !important;
  }
  html[data-debater-visual='unified'] :is(
    app-admin, app-profile, app-lobby, app-ai-review, app-ai-review-form,
    app-argument-search, app-leaderboard, app-team, app-team-detail
  ) :is(.bg-slate-900, .bg-slate-800, .bg-gray-900, .bg-gray-800, .bg-white\/5, .bg-white\/10) {
    background-color: var(--dv-surface) !important;
  }
  html[data-debater-visual='unified'] :is(
    app-admin, app-profile, app-lobby, app-ai-review, app-ai-review-form,
    app-argument-search, app-leaderboard, app-team, app-team-detail
  ) :is(.border-white\/10, .border-white\/20, .border-slate-600, .border-slate-700, .border-gray-700) {
    border-color: var(--dv-line) !important;
  }

  /* 属性来自真实控件，主次 / 危险 / 选中仍由现有动作语义决定。 */
  html[data-debater-visual='unified'] :is(
    [data-dv-control='button'], [data-dv-control='icon'],
    [data-dv-control='tab'], [data-dv-control='link']
  ) {
    box-sizing: border-box;
    min-height: 40px !important;
    max-width: 100%;
    padding: 8px 14px !important;
    color: var(--dv-text) !important;
    background: var(--dv-raised) !important;
    border: 1px solid var(--dv-line) !important;
    border-radius: var(--dv-control-radius) !important;
    font-family: var(--dv-font) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
  }
  html[data-debater-visual='unified'] [data-dv-control='disclosure'] {
    color: var(--dv-text) !important;
    border-color: var(--dv-line) !important;
    border-radius: var(--dv-control-radius) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control='disclosure'][data-dv-active='true'] {
    color: var(--dv-accent) !important;
    border-color: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control='icon'] {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 8px !important;
    flex-shrink: 0;
  }
  html[data-debater-visual='unified'] [data-dv-control]:not([data-dv-control='disclosure']):not([data-dv-control='tab'])[data-dv-variant='primary'] {
    color: var(--dv-on-action) !important;
    background: var(--dv-action) !important;
    border-color: var(--dv-action) !important;
  }
  /* 旧白天 text-white 覆盖会深入按钮文字，只修正明确主行动的中性文字标签。 */
  html[data-debater-visual='unified'] [data-dv-control][data-dv-variant='primary'] :is(span, strong, b, small):is(.text-white, .text-black, .text-slate-900, .text-gray-900) {
    color: var(--dv-on-action) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control]:not([data-dv-control='disclosure']):not([data-dv-control='tab'])[data-dv-variant='primary']:hover:not(:disabled):not([aria-disabled='true']) {
    background: var(--dv-action-hover) !important;
    border-color: var(--dv-action-hover) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control]:not([data-dv-control='disclosure']):not([data-dv-control='tab'])[data-dv-variant='danger'] {
    color: var(--dv-danger) !important;
    background: transparent !important;
    border-color: var(--dv-danger) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control]:not([data-dv-control='disclosure']):not([data-dv-control='tab'])[data-dv-variant='danger']:hover:not(:disabled):not([aria-disabled='true']) {
    background: var(--dv-danger-tint) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control]:not([data-dv-control='disclosure']):not([data-dv-control='tab'])[data-dv-variant='quiet'] {
    color: var(--dv-secondary) !important;
    background: transparent !important;
    border-color: transparent !important;
  }
  html[data-debater-visual='unified'] [data-dv-control]:not([data-dv-control='disclosure']):not([data-dv-control='tab']):not([data-dv-variant='primary']):not([data-dv-variant='danger']):hover:not(:disabled):not([aria-disabled='true']) {
    color: var(--dv-text) !important;
    background: var(--dv-active) !important;
    border-color: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control][data-dv-active='true']:not([data-dv-control='tab']):not([data-dv-control='disclosure']):not([data-dv-variant='danger']):not([data-dv-variant='primary']) {
    color: var(--dv-accent) !important;
    background: var(--dv-active) !important;
    border-color: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control='tab'] {
    color: var(--dv-secondary) !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
  }
  html[data-debater-visual='unified'] [data-dv-control='tab'][data-dv-active='true'],
  html[data-debater-visual='unified'] [data-dv-control='tab']:hover:not(:disabled):not([aria-disabled='true']) {
    color: var(--dv-accent) !important;
    background: transparent !important;
    border-color: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] [data-dv-control]:is(:disabled, [aria-disabled='true']) {
    opacity: .5 !important;
    cursor: not-allowed !important;
  }

  html[data-debater-visual='unified'] [data-dv-field='true'] {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    min-height: 44px !important;
    padding: 10px 12px !important;
    color: var(--dv-text) !important;
    background: var(--dv-input) !important;
    border: 1px solid var(--dv-line) !important;
    border-radius: var(--dv-control-radius) !important;
    font-family: var(--dv-font) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    box-shadow: none !important;
    color-scheme: inherit !important;
  }
  html[data-debater-visual='unified'] textarea[data-dv-field='true']:not(#transcript):not([data-testid='transcript-textarea']) {
    min-height: 100px !important;
  }
  html[data-debater-visual='unified'] [data-dv-field='true']:is(.font-mono, #transcript, [data-testid='transcript-textarea']) {
    font-family: var(--dv-mono-font) !important;
  }
  html[data-debater-visual='unified'] [data-dv-field='true']::placeholder {
    color: var(--dv-muted) !important;
    opacity: 1 !important;
  }
  html[data-debater-visual='unified'] select[data-dv-field='true'] :is(option, optgroup) {
    color: var(--dv-text) !important;
    background: var(--dv-surface) !important;
  }
  html[data-debater-visual='unified'] [data-dv-field='true']:disabled {
    opacity: .6 !important;
    cursor: not-allowed !important;
  }
  html[data-debater-visual='unified'] :is([type='checkbox'], [type='radio'], [role='switch']) {
    accent-color: var(--dv-action);
  }
  html[data-debater-visual='unified'] :is(
    [data-dv-control], [data-dv-field='true'], [type='checkbox'], [type='radio'],
    [role='switch'], .managed-nav-link, .managed-menu-link, .managed-mobile-link, .constellation-star
  ):focus-visible {
    outline: 2px solid var(--dv-accent) !important;
    outline-offset: 2px !important;
  }
  html[data-debater-visual='unified'] [data-dv-field='true']:focus {
    border-color: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] [data-dv-field='true'][aria-invalid='true'] {
    border-color: var(--dv-danger) !important;
  }

  @media (max-width: 768px) {
    /* 44px 触控控件不能挤在单行，播放控件按原顺序换行。 */
    html[data-debater-visual='unified'] app-tournament-watch :is(.controls-row, .controls-left, .controls-right) {
      flex-wrap: wrap;
      gap: 8px;
      min-width: 0;
    }
    html[data-debater-visual='unified'] app-tournament-watch :is(.match-info-bar > div, .match-teams) {
      flex-wrap: wrap;
      gap: 12px;
      min-width: 0;
    }
    /* iOS 文字输入小于 16px 会自动缩放视口，不改变字段原有高度或长文本区。 */
    html[data-debater-visual='unified'] [data-dv-field='true'] {
      font-size: 16px !important;
    }
    html[data-debater-visual='unified'] :is(
      [data-dv-control='button'], [data-dv-control='icon'],
      [data-dv-control='tab'], [data-dv-control='link']
    ) {
      min-height: 44px !important;
    }
    html[data-debater-visual='unified'] [data-dv-control='icon'] {
      width: 44px !important;
      height: 44px !important;
      min-width: 44px !important;
    }
    /* 只在现有操作行允许换行；不靠 body 裁切掩盖页面外溢。 */
    html[data-debater-visual='unified'] :is(
      .transcript-action-bar, .tw-actions, .ss-panel-head,
      #community-app .composer-actions, .profile-capability-canvas .profile-toolbar
    ) {
      flex-wrap: wrap;
      min-width: 0;
    }
  }
}
