/* 独立功能页使用自己的布局和状态，只在已核验科技主题作用域内精修。 */
@layer debater-visual-system {
  html[data-debater-tech='on'][data-tech-report='on'] {
    --bg: var(--dv-bg) !important;
    --bg2: var(--dv-bg) !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;
    --claret: var(--dv-accent) !important;
    --claret-deep: var(--dv-action) !important;
    --gold: var(--dv-accent) !important;
    --shadow: var(--dv-shadow) !important;
  }
  html[data-debater-tech='on'][data-tech-report='on'] .brand-mark {
    border-radius: 7px !important;
    color: var(--dv-accent) !important;
    background: var(--dv-active) !important;
    font-family: var(--dv-font) !important;
  }
  html[data-debater-tech='on'][data-tech-report='on'] body::before { opacity: .14 !important; }
  html[data-debater-tech='on'] {
    --fw-base: var(--dv-bg) !important;
    --fw-opacity: 0 !important;
    --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-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-text-inverse: var(--dv-on-action) !important;
    --ft-border: var(--dv-line) !important;
    --ft-rule: var(--dv-line) !important;
    --ft-paper: var(--dv-surface) !important;
    --ft-claret: var(--dv-action) !important;
    --ft-brand: var(--dv-accent) !important;
    --ft-claret-tint: var(--dv-active) !important;
    --ft-font-serif: var(--dv-font) !important;
    --ft-font-sans: var(--dv-font) !important;
    --serif: var(--dv-font) !important;
    --sans: var(--dv-font) !important;
  }
  html[data-debater-tech='on']:has(.workspace #guide-search),
  html[data-debater-tech='on']:has(#community-app),
  html[data-debater-tech='on'] body.draw-page,
  html[data-debater-tech='on']:has(.topics-page) {
    --bg: var(--dv-bg) !important;
    --canvas: var(--dv-bg) !important;
    --canvas-glow: transparent !important;
    --panel: var(--dv-surface) !important;
    --surface: var(--dv-surface) !important;
    --surface-strong: var(--dv-raised) !important;
    --surface-soft: var(--dv-raised) !important;
    --surface-raised: var(--dv-raised) !important;
    --text: var(--dv-text) !important;
    --muted: var(--dv-muted) !important;
    --line: var(--dv-line) !important;
    --border: var(--dv-line) !important;
    --accent: var(--dv-accent) !important;
    --accent-strong: var(--dv-action) !important;
    --accent-text: var(--dv-on-action) !important;
    --accent-soft: var(--dv-active) !important;
    --accent-wash: var(--dv-active) !important;
    --chip: var(--dv-active) !important;
    --gold: var(--dv-accent) !important;
    --soft: var(--dv-raised) !important;
  }
  html[data-debater-tech='on'] body {
    color: var(--dv-text) !important; background-color: var(--dv-bg) !important;
    font-family: var(--dv-font) !important;
  }
  html[data-debater-tech='on'][data-wallpaper-tone] body { background: var(--dv-bg) !important; }
  html[data-debater-tech='on'][data-debater-wallpaper][data-wallpaper-tone] #debater-function-wallpaper,
  html[data-debater-tech='on'] :is(.global-chinese-watermark,app-particles) { display: none !important; }
  html[data-debater-tech='on'] .draw-page .draw-card-stage::before,
  html[data-debater-tech='on'] .draw-page .draw-card-stage::after { background: none !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app,.vp-tool,.workspace:has(#guide-search)) :is(h1,h2,h3) {
    color: var(--dv-text) !important; font-family: var(--dv-font) !important; font-weight: 600 !important; letter-spacing: -.03em !important; text-shadow: none !important;
  }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app) :is(.intro,.hero) {
    padding-top: 38px !important; padding-bottom: 30px !important; background: none !important;
  }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app) :is(.intro h1,.hero h1) { font-size: clamp(32px,3.5vw,48px) !important; line-height: 1.3 !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app) :is(.intro h1 em,.intro h1 span,.hero h1 em) { color: var(--dv-accent) !important; font-style: normal !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app) :is(.intro p,.hero p) { color: var(--dv-secondary) !important; max-width: 760px; line-height: 1.8 !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page) :is(.draw-card,.draw-card-stage,.draw-panel,.results-panel,.topic-card) { border-radius: 12px !important; border-color: var(--dv-line) !important; background: var(--dv-surface) !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page) :is(.draw-card h2,.draw-card-stage h2,.results-panel h2) { font-size: 22px !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page) :is(textarea,input,select) { color: var(--dv-text) !important; background: var(--dv-input) !important; border: 1px solid var(--dv-line) !important; border-radius: 7px !important; line-height: 1.7 !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page) :is(.eyebrow,.kicker,.draw-kicker,.intro-label) { color: var(--dv-accent) !important; font: 11px/1.6 var(--dv-mono-font) !important; letter-spacing: .1em !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page) :is(.brand-mark,.draw-brand-mark) { color: #fff !important; background: var(--dv-action) !important; }
  html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app) :is(.site-header,.draw-unified-header,.community-header) { background: var(--dv-surface) !important; border-color: var(--dv-line) !important; }

  /* 功能文档：导航、搜索、长文与更新记录，保持现有过滤与锚点。 */
  html[data-debater-tech='on']:has(#guide-search) .topbar { background: var(--dv-surface) !important; border-color: var(--dv-line) !important; }
  html[data-debater-tech='on']:has(#guide-search) .seal { background: var(--dv-action) !important; border-radius: 7px !important; font: 700 22px var(--dv-font) !important; }
  html[data-debater-tech='on']:has(#guide-search) :is(.hero h1,.article-header h1,.results-title h1) { font: 600 clamp(28px,3vw,44px)/1.3 var(--dv-font) !important; letter-spacing: -.04em !important; }
  html[data-debater-tech='on']:has(#guide-search) :is(.sidebar,.searchbar,.feature-card,.group-card,.journey,.latest,.outcome) { background: var(--dv-surface) !important; border-color: var(--dv-line) !important; }
  html[data-debater-tech='on']:has(#guide-search) :is(.searchbar,.feature-card,.group-card,.journey,.latest,.outcome) { border-radius: 10px !important; }
  html[data-debater-tech='on']:has(#guide-search) .searchbar { min-height: 54px !important; }
  html[data-debater-tech='on']:has(#guide-search) .searchbar :is(input,select) { color: var(--dv-text) !important; font-size: 14px !important; background: var(--dv-surface) !important; min-height: 44px !important; }
  html[data-debater-tech='on']:has(#guide-search) .category-link { min-height: 42px; border-radius: 6px !important; }
  html[data-debater-tech='on']:has(#guide-search) :is(.category-link[aria-current='true'],.overview-link[aria-current='true']) { color: var(--dv-accent) !important; background: var(--dv-active) !important; }
  html[data-debater-tech='on']:has(#guide-search) .steps li { font-size: 15px !important; line-height: 1.9 !important; }
  html[data-debater-tech='on']:has(#guide-search) .feature-card:hover,
  html[data-debater-tech='on']:has(#guide-search) :is(.journey,.group-card):hover { border-color: var(--dv-accent) !important; transform: translateY(-2px); }

  /* 价值偏好/独立统计通过原 FT 令牌换色，阵营与图表数据颜色不变。 */
  html[data-debater-tech='on'] :is(body[data-value-preferences-tool],.vp-tool,.vp-integration) {
    --vp-bg: var(--dv-bg) !important; --vp-card: var(--dv-surface) !important; --vp-raised: var(--dv-raised) !important;
    --vp-text: var(--dv-text) !important; --vp-muted: var(--dv-secondary) !important; --vp-line: var(--dv-line) !important;
    --vp-accent: var(--dv-accent) !important; --vp-accent-soft: var(--dv-active) !important; --vp-gold: var(--dv-accent) !important; --vp-focus: var(--dv-accent) !important;
  }
  html[data-debater-tech='on'] .vp-button-primary { background: var(--dv-action) !important; border-color: var(--dv-action) !important; color: #fff !important; }
  html[data-debater-tech='on'] .vp-brand > span { background: var(--dv-action) !important; }
  html[data-debater-tech='on'], html[data-debater-tech='on'] .pr-leaderboard-panel {
    --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-accent) !important;
    --pr-bg: var(--dv-bg) !important; --pr-text: var(--dv-text) !important; --pr-muted: var(--dv-muted) !important; --pr-line: var(--dv-line) !important; --pr-gold: var(--dv-accent) !important;
  }
  html[data-debater-tech='on'] .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; --sc-accent: var(--dv-accent) !important; --sc-fill: var(--dv-active) !important;
  }
  html[data-debater-tech='on'] :is(.vp-site-header,.vp-site-footer,.vp-card,.vp-panel,.vp-question,.vp-report,.ss-card,.ss-panel,.sc-panel,.pr-source) { color: var(--dv-text) !important; background: var(--dv-surface) !important; border-color: var(--dv-line) !important; }
  html[data-debater-tech='on'] :is(.vp-tool,.ss-shell,.speaker-claims,.pr-leaderboard-panel) :is(h1,h2,h3) { color: var(--dv-text) !important; font-family: var(--dv-font) !important; letter-spacing: -.03em !important; }
  html[data-debater-tech='on'] :is(.vp-tool,.ss-page,.speaker-claims,.pr-leaderboard-panel) :is(button,input,select,textarea) { border-radius: 7px !important; }
  html[data-debater-tech='on'] :is(.vp-tool,.ss-page,.speaker-claims,.pr-leaderboard-panel) :is(input,select,textarea) { color: var(--dv-text) !important; background: var(--dv-input) !important; border-color: var(--dv-line) !important; }

  /* 计时器的自定义底图和计时状态保持原样；只接管跟随站点的画布及工具控件。 */
  html[data-debater-tech='on'] :is(.timer-tool,#timerSettings) { --serif: var(--dv-font) !important; --sans: var(--dv-font) !important; --timer-radius-card: 12px; --timer-radius-control: 7px; }
  html[data-debater-tech='on'] .timer-tool[data-theme-choice='site'] {
    --timer-bg: var(--dv-bg) !important; --timer-card: var(--dv-surface) !important;
    --timer-card-raised: var(--dv-raised) !important; --timer-line: var(--dv-line) !important;
    --timer-text: var(--dv-text) !important; --timer-soft-text: var(--dv-secondary) !important; --timer-muted: var(--dv-muted) !important;
    --timer-clock-idle: var(--dv-text) !important; --timer-cta-bg: var(--dv-action) !important; --timer-cta-border: var(--dv-action) !important; --timer-cta-ink: #fff !important;
  }
  html[data-debater-tech='on'] #timerSettings { --timer-dialog-bg: var(--dv-surface) !important; --timer-text: var(--dv-text) !important; --timer-soft-text: var(--dv-secondary) !important; --timer-muted: var(--dv-muted) !important; --timer-line: var(--dv-line) !important; --timer-card-raised: var(--dv-raised) !important; }
  html[data-debater-tech='on'] :is(.timer-toolbar,.timer-settings-toolbar,.timer-controls) button { border-radius: 7px !important; }
  html[data-debater-tech='on'] .timer-tool .timer-controls button { background: var(--dv-surface) !important; color: var(--dv-text) !important; border-color: var(--dv-line) !important; box-shadow: none !important; }
  html[data-debater-tech='on'] .timer-tool .timer-controls .timer-primary { background: var(--dv-action) !important; border-color: var(--dv-action) !important; color: #fff !important; }
  html[data-debater-tech='on'] .timer-clock { font-variant-numeric: tabular-nums !important; }
  html[data-debater-tech='on'] :is(#timerSettings,.draw-page,.topics-page,#community-app,.workspace:has(#guide-search),.vp-tool) :is(button,a,input,textarea,select,summary):focus-visible { outline: 2px solid var(--dv-accent) !important; outline-offset: 3px !important; }
  @media (max-width: 767px) {
    html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app) :is(.intro,.hero) { padding-top: 28px !important; padding-bottom: 22px !important; }
    html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app,.workspace:has(#guide-search),.vp-tool) :is(button,input,select,summary) { min-height: 44px !important; }
    html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app,.workspace:has(#guide-search),.vp-tool) :is(input,select,textarea) { font-size: 16px !important; }
    html[data-debater-tech='on']:has(#guide-search) .reading-area { padding-inline: 18px !important; }
    html[data-debater-tech='on']:has(#guide-search) .searchbar { flex-wrap: wrap; padding-block: 5px !important; }
    html[data-debater-tech='on']:has(#guide-search) .searchbar input { min-width: 130px; }
    html[data-debater-tech='on']:has(#guide-search) .searchbar select { width: 100px !important; }
    html[data-debater-tech='on'] .timer-tool { padding-inline: 12px !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    html[data-debater-tech='on'] :is(.draw-page,.topics-page,#community-app,.workspace:has(#guide-search),.vp-tool) :is(a,button) { transition: none !important; transform: none !important; }
  }
}
