/* 科技风由所有用户主动选择；与印章主题共用视觉语义层。 */
@layer debater-visual-system {
  .tech-theme-options {
    margin: 10px 8px 6px;
    padding: 12px 4px 4px;
    border-top: 1px solid var(--dv-line, #4b4035);
    color: var(--dv-text, #f6f1e8);
    font: 13px/1.5 var(--font-sans, sans-serif);
  }
  .tech-theme-options > p { display: flex; align-items: center; justify-content: space-between; margin: 0 8px 8px; font-weight: 600; }
  .tech-theme-options > p small { padding: 2px 6px; border: 1px solid var(--dv-line); border-radius: 4px; color: var(--dv-muted); font-size: 10px; font-weight: 400; }
  .tech-theme-options button {
    display: flex !important; align-items: center; gap: 12px; width: 100%; min-height: 52px !important;
    padding: 8px !important; border: 1px solid transparent !important; border-radius: 8px !important;
    color: inherit !important; background: transparent !important; text-align: left; cursor: pointer;
    font: inherit; box-shadow: none !important;
  }
  .tech-theme-options button:is(:hover, [aria-pressed='true']) { background: var(--dv-active, #29231e) !important; border-color: var(--dv-line) !important; }
  .tech-theme-options button:focus-visible { outline: 2px solid var(--dv-accent) !important; outline-offset: 2px; }
  .tech-theme-options button > i { flex: 0 0 30px; height: 30px; border-radius: 6px; background: linear-gradient(135deg, #0b1429 40%, #278bdb); box-shadow: inset 0 0 0 1px #57cdf06b; }
  .tech-theme-options button[data-tech-choice='light'] > i { background: linear-gradient(135deg, #eef7ff 40%, #2384dd); }
  .tech-theme-options button[data-tech-choice='seal'] > i { background: linear-gradient(135deg, #241a13 40%, #c1272d); box-shadow: inset 0 0 0 1px #cba66e66; }
  .tech-theme-options button > span { flex: 1; }
  .tech-theme-options button small { display: block; color: var(--dv-muted); font-size: 11px; font-weight: 400; }
  .tech-theme-options button[aria-pressed='true']::after { content: '✓'; color: var(--dv-accent); }

  /* 报告的原视觉层会异步追加；显式根选择器使科技令牌不受插入顺序影响。 */
  html:root[data-debater-tech='on'][data-tech-tone] {
    color-scheme: dark !important;
    --dv-bg: #090f19;
    --dv-surface: #111b2a;
    --dv-surface-comma: 17, 27, 42;
    --dv-raised: #19283b;
    --dv-input: #0c1522;
    --dv-text: #eef4fc;
    --dv-secondary: #b7c6da;
    --dv-muted: #93a7c2;
    --dv-line: #2a3a50;
    --dv-accent: #86ded4;
    --dv-action: #2466c2;
    --dv-action-rgb: 36 102 194;
    --dv-accent-rgb: 134 222 212;
    --dv-gold: #9bbcf0;
    --dv-gold-rgb: 155 188 240;
    --dv-danger: #ffaaa8;
    --dv-on-action: #fff;
    --dv-font: Inter, 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, -apple-system, sans-serif;
    --dv-mono-font: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    --dv-title-font: var(--dv-font);
    --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-panel-radius: 16px;
    --dv-control-radius: 8px;
    --dv-shadow: 0 1px 0 rgb(210 228 255 / 4%) inset, 0 8px 28px rgb(0 5 18 / 16%);
    --dv-scroll-thumb: #43516a;
    --dv-focus-ring: 0 0 0 3px rgb(165 201 255 / 14%);
  }
  html:root[data-debater-tech='on'][data-tech-tone='paper'] {
    color-scheme: light !important;
    --dv-bg: #f3f6fa;
    --dv-surface: #ffffff;
    --dv-surface-comma: 255, 255, 255;
    --dv-raised: #e7eef6;
    --dv-input: #f8fafc;
    --dv-text: #172d47;
    --dv-secondary: #455c76;
    --dv-muted: #586e86;
    --dv-line: #ccd7e4;
    --dv-accent: #0b706c;
    --dv-action: #205fba;
    --dv-action-rgb: 32 95 186;
    --dv-accent-rgb: 11 112 108;
    --dv-gold: #2164a9;
    --dv-gold-rgb: 33 100 169;
    --dv-danger: #b52f38;
    --dv-shadow: 0 1px 3px rgb(32 76 130 / 3%), 0 8px 28px rgb(32 76 130 / 5%);
    --dv-scroll-thumb: #a1b3cb;
    --dv-focus-ring: 0 0 0 3px rgb(9 98 174 / 12%);
  }
  html[data-debater-tech='on'] body {
    background-color: var(--dv-bg) !important;
    background-image: none !important;
  }
  /* 原生组件与视觉语义层共用同一色板，避免全站仍残留印章暖色背景。 */
  html:root[data-debater-tech='on'][data-tech-tone] {
    --bg-primary: var(--dv-bg) !important;
    --bg-secondary: var(--dv-input) !important;
    --bg-card: 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;
    --theme-surface: var(--dv-surface) !important;
    --theme-border: var(--dv-line) !important;
    --theme-swatch: var(--dv-accent) !important;
    --color-primary-300: 180 211 255 !important;
    --color-primary-400: 134 179 244 !important;
    --color-primary-500: var(--dv-action-rgb) !important;
    --color-primary-600: 27 77 149 !important;
  }
  html:root[data-debater-tech='on'][data-tech-tone='paper'] {
    --color-primary-300: 48 100 166 !important;
    --color-primary-400: var(--dv-action-rgb) !important;
  }
  .tech-theme-options { padding-top: 12px; }
  .tech-theme-options > p { color: var(--dv-muted); font-size: 12px; letter-spacing: .04em; }
  .tech-theme-options button { min-height: 58px !important; padding: 10px !important; border-radius: 10px !important; }
  .tech-theme-options button > i { flex-basis: 34px; height: 34px; background: linear-gradient(140deg,#111b2a 45%,#86ded4); border-radius: 9px; }
  .tech-theme-options button[data-tech-choice='light'] > i { background: linear-gradient(140deg,#f3f6fa 45%,#0b706c); }
  .tech-theme-options button small { font-size: 12px; line-height: 1.6; }
  html[data-debater-tech='on'] .theme-picker-container [role='menuitemradio'][aria-checked='true'] { background: transparent !important; }
  html[data-debater-tech='on'] .theme-picker-container [role='menuitemradio'] > span:last-child:not(.flex-1) { visibility: hidden; }
  @media (max-width: 767px) {
    [aria-label='移动端菜单'] .tech-theme-options { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; margin-inline: 0; }
    [aria-label='移动端菜单'] .tech-theme-options > p { grid-column: 1 / -1; }
  }
  html[data-debater-tech='on'] :is(#debater-function-wallpaper, .global-chinese-watermark, app-particles) { display: none !important; }
  html[data-debater-tech='on'] :is(nav[aria-label='主导航'], .admin-header, footer) {
    background: color-mix(in srgb, var(--dv-bg) 94%, transparent) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-tech='on'] {
    scrollbar-color: var(--dv-scroll-thumb) var(--dv-bg) !important;
  }
  html[data-debater-tech='on'] ::-webkit-scrollbar { width: 10px; height: 10px; }
  html[data-debater-tech='on'] ::-webkit-scrollbar-track { background: var(--dv-bg) !important; }
  html[data-debater-tech='on'] ::-webkit-scrollbar-thumb {
    background: var(--dv-scroll-thumb) !important;
    border: 3px solid var(--dv-bg) !important;
    border-radius: 10px !important;
  }
  html[data-debater-tech='on'] ::selection { color: var(--dv-text); background: var(--dv-active); }
  html[data-debater-tech='on'] nav[aria-label='主导航'] {
    background: color-mix(in srgb, var(--dv-bg) 92%, transparent) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    box-shadow: 0 1px 0 rgb(var(--dv-accent-rgb) / 3%) !important;
  }
  html[data-debater-tech='on'] nav[aria-label='主导航'] :is(.global-nav-link,.managed-nav-link) {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    color: var(--dv-secondary) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: color 150ms ease, background-color 150ms ease;
  }
  html[data-debater-tech='on'] nav[aria-label='主导航'] :is(.global-nav-link,.managed-nav-link):is(:hover,[aria-current='page']) {
    color: var(--dv-accent) !important;
  }
  html[data-debater-tech='on'] nav[aria-label='主导航'] :is(.global-nav-link,.managed-nav-link)[aria-current='page'] {
    text-decoration: underline;
    text-underline-offset: 9px;
    text-decoration-thickness: 2px;
    text-decoration-color: color-mix(in srgb, var(--dv-accent) 70%, transparent);
  }
  html[data-debater-tech='on'] :is(.theme-picker-container > div,#site-navigation-tools,[aria-label='移动端菜单']) {
    background: var(--dv-surface) !important;
    border: 1px solid var(--dv-line) !important;
    box-shadow: var(--dv-shadow) !important;
  }
  html[data-debater-tech='on'] [aria-label='移动端菜单'] > a[aria-current='page'] {
    background: var(--dv-active) !important;
    color: var(--dv-accent) !important;
  }
  html[data-debater-tech='on'] [aria-label='移动端菜单'] .managed-mobile-links {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 4px 8px;
  }
  html[data-debater-tech='on'] [aria-label='移动端菜单'] .managed-mobile-links > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    color: var(--dv-secondary) !important;
    border: 1px solid transparent;
    border-radius: 8px;
  }
  html[data-debater-tech='on'] [aria-label='移动端菜单'] .managed-mobile-links > a:is(:hover,[aria-current='page']) {
    color: var(--dv-accent) !important;
    background: var(--dv-active) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-tech='on'] .theme-picker-container > button {
    color: var(--dv-secondary) !important;
    background: var(--dv-surface) !important;
    border-color: var(--dv-line) !important;
  }
  html[data-debater-tech='on'] :is([data-dv-control='button'],[data-dv-control='icon'],[data-dv-control='link']) {
    font-weight: 550;
    transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease;
  }
  html[data-debater-tech='on'] [data-dv-field='true'] {
    transition: border-color 150ms ease, box-shadow 150ms ease;
  }
  html[data-debater-tech='on'] [data-dv-field='true']:focus:not([aria-invalid='true']) {
    border-color: var(--dv-accent) !important;
    box-shadow: var(--dv-focus-ring) !important;
  }
  html[data-debater-tech='on'] [data-dv-field='true'][aria-invalid='true']:focus { outline-color: var(--dv-danger) !important; }
  html[data-debater-tech='on'] footer {
    color: var(--dv-muted) !important;
    font-family: var(--dv-font) !important;
  }
  html[data-debater-tech='on'] footer a { color: var(--dv-muted) !important; transition: color 150ms ease; }
  html[data-debater-tech='on'] footer a:is(:hover,:focus-visible) { color: var(--dv-accent) !important; }
  @media (prefers-reduced-motion: reduce) {
    html[data-debater-tech='on'] :is(nav[aria-label='主导航'] *,[data-dv-control],[data-dv-field],footer a) { transition: none !important; }
  }
  html[data-debater-tech='on'] nav[aria-label='主导航'] [routerlink='/'] span[class*='bg-gradient'] {
    color: var(--dv-secondary) !important; background: var(--dv-raised) !important; border-color: var(--dv-line) !important;
  }
  html[data-debater-tech='on'] .theme-picker-container > div > button { background: transparent !important; }
  html[data-debater-tech='on'] .theme-picker-container > div > button > span:last-child:has(+ svg),
  html[data-debater-tech='on'] .theme-picker-container > div > button > svg { display: none !important; }

  html[data-debater-tech='on'] :is(.apt-workbench, [data-product-tier], .apt-commentary-reader) {
    --apt-paper: var(--dv-surface) !important;
    --apt-input: var(--dv-input) !important;
    --apt-ink: var(--dv-text) !important;
    --apt-muted: var(--dv-muted) !important;
    --apt-line: var(--dv-line) !important;
    --apt-accent: var(--dv-accent) !important;
    --apt-action: var(--dv-action) !important;
  }
  /* 材料工作台使用独立的侧栏与纸墨变量，须在实际拥有者映射。 */
  html[data-debater-tech='on'] app-ai-review {
    --ard-paper: var(--dv-bg) !important;
    --ard-surface: var(--dv-surface) !important;
    --ard-input: var(--dv-input) !important;
    --ard-ink: var(--dv-text) !important;
    --ard-muted: var(--dv-muted) !important;
    --ard-line: var(--dv-line) !important;
    --ard-accent: var(--dv-accent) !important;
    --ard-selected: var(--dv-active) !important;
    --ard-action: var(--dv-action) !important;
    --review-copy: var(--dv-text) !important;
    --review-muted: var(--dv-muted) !important;
    --review-gold: var(--dv-secondary) !important;
    --review-gold-bright: var(--dv-secondary) !important;
    --review-red: var(--dv-action) !important;
    --review-red-bright: var(--dv-accent) !important;
  }
  html[data-debater-tech='on'] app-ai-review #transcript { font-family: var(--dv-font) !important; letter-spacing: normal !important; }
  html[data-debater-tech='on'] app-ai-review :is(h1,h2,h3) { font-family: var(--dv-font) !important; }
}
