/**
 * 青藤制作台 · 主题面层（全页细节跟令牌）
 * 须在 ink-gag-studio-themes.css 之后加载。
 * v1.1 · 2026-08-11 · 小说章节列表 / 阅读窗 / 双栏对照跟主题
 */

html[data-igs-theme],
html:not([data-igs-theme]) {
  color-scheme: light;
  --igs-field-bg: color-mix(in srgb, var(--igs-elev) 90%, var(--igs-mist));
  --igs-field-bg-focus: var(--igs-elev);
  --igs-field-border: color-mix(in srgb, var(--igs-line) 88%, var(--igs-accent));
  --igs-field-placeholder: color-mix(in srgb, var(--igs-muted) 82%, var(--igs-ink));
  --igs-preview-bg: color-mix(in srgb, var(--igs-card) 42%, var(--igs-elev));
  --igs-preview-code: color-mix(in srgb, var(--igs-elev) 88%, var(--igs-mist));
  --igs-preview-ink: var(--igs-ink);
  --igs-surface-soft: color-mix(in srgb, var(--igs-card) 70%, var(--igs-paper));
  --igs-chip-bg: color-mix(in srgb, var(--igs-elev) 86%, transparent);
  --igs-on-accent: #142028;
  --igs-ws-ink: var(--igs-ink);
  --igs-ws-moss: var(--igs-accent);
  --igs-ws-moss-soft: color-mix(in srgb, var(--igs-accent) 16%, var(--igs-card));
  --igs-ws-clay: var(--igs-accent-2);
  --igs-ws-paper: var(--igs-paper);
  --igs-ws-card: var(--igs-card);
  --igs-ws-line: color-mix(in srgb, var(--igs-line) 75%, transparent);
  --igs-ws-shadow: 0 10px 28px color-mix(in srgb, var(--igs-ink) 12%, transparent);
}
html.igs-theme-dark {
  color-scheme: dark;
  --igs-on-accent: #0e1412;
}

/* —— 壳层 / 导航 / 底栏 / 各业务页根 —— */
body.igs .igs-top,
body.igs .igs-top--slim,
body.igs .igs-nav,
body.igs .igs-pipeline,
body.igs .igs-dock,
body.igs .igs-mobile-dock,
body.igs .igs-top-more-panel,
body.igs .igs-search-pop,
body.igs .igs-toast,
body.igs .igs-mnav,
body.igs .igs-mmore-sheet,
body.igs .igs-card,
body.igs .igs-hub,
body.igs .igs-page,
body.igs .igs-workbench,
body.igs .igs-ep-root,
body.igs .igs-master-shell,
body.igs .igs-m-work,
body.igs .igs-tools-shell,
body.igs .igs-rel-page,
body.igs .igs-pm,
body.igs .igs-epassets,
body.igs .igs-nv-library,
body.igs .igs-novel-page,
body.igs .igs-matrix-wrap,
body.igs .igs-flow-svg,
body.igs .igs-ai-ed,
body.igs .igs-ai-health,
body.igs .igs-blocking-shell,
body.igs .igs-refs-shell,
body.igs .igs-tasks-shell,
body.igs .igs-academy-shell,
body.igs .igs-sync-shell,
body.igs .igs-bookmarks-shell,
body.igs .igs-cast-shell,
body.igs .igs-lora-shell,
body.igs .igs-videos-shell,
body.igs .igs-std-shell,
body.igs .igs-graph-shell,
body.igs details.igs-settings,
body.igs .igs-settings-panel {
  background: var(--igs-card) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}

body.igs .igs-pipeline {
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--igs-accent) 10%, transparent) 0%,
      transparent 24%,
      transparent 76%,
      color-mix(in srgb, var(--igs-accent) 8%, transparent) 100%
    ),
    var(--igs-card) !important;
}
body.igs .igs-pipe-project {
  background: linear-gradient(145deg, var(--igs-elev) 0%, var(--igs-card) 100%) !important;
  border-color: var(--igs-line) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-pipe-project-lab,
body.igs .igs-pipeline-lab,
body.igs .igs-nav-lab {
  color: var(--igs-muted) !important;
}
body.igs .igs-pipe-project-ico {
  color: var(--igs-accent) !important;
  background: color-mix(in srgb, var(--igs-accent) 16%, transparent) !important;
}
body.igs .igs-pipeline-step,
body.igs .igs-pipeline-pack {
  background: var(--igs-elev) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-pipeline-step:hover {
  background: color-mix(in srgb, var(--igs-accent) 14%, var(--igs-elev)) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-pipeline-step.on {
  background: var(--igs-accent) !important;
  border-color: var(--igs-accent) !important;
  color: var(--igs-on-accent) !important;
}
body.igs .igs-pipeline-step.on i {
  background: var(--igs-on-accent) !important;
}
body.igs .igs-pipeline-step.warn {
  background: color-mix(in srgb, var(--igs-warn) 18%, var(--igs-elev)) !important;
  border-color: var(--igs-warn) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-pipeline-arrow {
  color: var(--igs-muted) !important;
}

/* 顶栏页签 */
body.igs .igs-nav button[data-tab],
body.igs .igs-tabs button[data-tab],
body.igs .igs-tab-refresh {
  background: var(--igs-chip-bg) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-nav button[data-tab]:hover,
body.igs .igs-tabs button[data-tab]:hover {
  border-color: color-mix(in srgb, var(--igs-accent) 45%, var(--igs-line)) !important;
  color: var(--igs-accent) !important;
}
body.igs .igs-nav button[data-tab].active,
body.igs .igs-tabs button[data-tab].active,
body.igs .igs-nav button[data-tab].igs-tab--core.active {
  background: var(--igs-accent) !important;
  border-color: var(--igs-accent) !important;
  color: var(--igs-on-accent) !important;
}
body.igs .igs-nav button[data-tab].igs-tab--core:not(.active) {
  box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--igs-accent) 35%, transparent);
}

/* —— 全局表单 —— */
body.igs input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='color']):not([type='hidden']),
body.igs textarea,
body.igs select,
body.igs .igs-select,
body.igs .igs-project-select,
body.igs .igs-modal-ta,
body.igs .igs-ai-ed__mode select,
body.igs .igs-nv-cand-gen input[type='text'],
body.igs .igs-nv-cand-dlg__form textarea,
body.igs .igs-nv-cand-meta input,
body.igs .igs-ws-thread-lab select,
body.igs .igs-ws-twin-sel,
body.igs .igs-ws-model select,
body.igs .igs-ws-canon input,
body.igs .igs-ws-canon textarea,
body.igs .igs-ws-wiz-pane input,
body.igs .igs-ws-wiz-pane textarea,
body.igs .igs-ws-ctx-snip input,
body.igs .igs-ws-ctx-snip textarea,
body.igs #igsWsChatInput,
body.igs .igs-top-actions > input,
body.igs .igs-top-more-panel input,
body.igs .igs-dock textarea,
body.igs .igs-dock input:not([type='checkbox']):not([type='radio']),
body.igs .igs-dock select {
  background: var(--igs-field-bg) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-field-border) !important;
  caret-color: var(--igs-accent);
  transition: background 0.25s ease, border-color 0.25s ease, color 0.2s ease, box-shadow 0.2s ease;
}
body.igs input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='color']):not([type='hidden']):focus,
body.igs textarea:focus,
body.igs select:focus,
body.igs .igs-select:focus,
body.igs .igs-project-select:focus,
body.igs .igs-modal-ta:focus,
body.igs #igsWsChatInput:focus {
  background: var(--igs-field-bg-focus) !important;
  border-color: color-mix(in srgb, var(--igs-accent) 55%, var(--igs-line)) !important;
  outline: none;
  box-shadow: 0 0 0 3px var(--igs-theme-glow);
}
body.igs input::placeholder,
body.igs textarea::placeholder,
body.igs #igsWsChatInput::placeholder {
  color: var(--igs-field-placeholder) !important;
  opacity: 1;
}
body.igs option,
body.igs optgroup {
  background: var(--igs-elev);
  color: var(--igs-ink);
}

/* —— 预览 / 大窗 / Markdown / 代码 —— */
body.igs .igs-modal-sheet,
body.igs .igs-modal-sheet--wide,
body.igs .igs-modal-sheet--ai,
body.igs .igs-nv-cand-dlg,
body.igs .igs-lightbox-panel,
body.igs .igs-lb-side {
  background: var(--igs-card) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
  box-shadow: 0 24px 60px color-mix(in srgb, var(--igs-ink) 22%, transparent) !important;
}
body.igs .igs-modal-head,
body.igs .igs-modal-foot {
  background: var(--igs-surface-soft) !important;
  border-color: var(--igs-line) !important;
  color: var(--igs-ink);
}
body.igs .igs-modal-md,
body.igs .igs-modal-sheet--ai .igs-modal-md,
body.igs .igs-std-md,
body.igs pre.igs-ws-md,
body.igs .igs-ws-analysis__body,
body.igs .igs-ws-report-preview,
body.igs .igs-prompt,
body.igs .igs-nv-cand-pre,
body.igs .igs-nv-cand-focus,
body.igs .igs-nv-cand-compare,
body.igs .igs-pl-script-view,
body.igs .igs-pl-md,
body.igs .igs-dx-preview,
body.igs .igs-code,
body.igs pre.igs-code,
body.igs .igs-ep-prompt,
body.igs .igs-ep-video-preview,
body.igs .igs-dock-preview,
body.igs .igs-kf-prompt,
body.igs .igs-blocking-preview {
  background: var(--igs-preview-bg) !important;
  color: var(--igs-preview-ink) !important;
  border-color: color-mix(in srgb, var(--igs-line) 80%, var(--igs-accent)) !important;
}
body.igs .igs-modal-ta,
body.igs .igs-modal-sheet--ai .igs-modal-ta {
  background: var(--igs-preview-code) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-modal-md code,
body.igs .igs-modal-md pre,
body.igs .igs-std-md code,
body.igs .igs-std-md pre,
body.igs .igs-ws-analysis__body code,
body.igs .igs-ws-analysis__body pre {
  background: var(--igs-preview-code) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line);
}

/* —— 会话 / 小说工作室 —— */
body.igs .igs-ws-bar__compose {
  background: var(--igs-field-bg) !important;
  border-color: var(--igs-ws-line) !important;
  box-shadow: 0 2px 12px color-mix(in srgb, var(--igs-ink) 8%, transparent) !important;
}
body.igs .igs-ws-bar__compose textarea,
body.igs .igs-ws-bar__compose #igsWsChatInput {
  background: transparent !important;
  color: var(--igs-ws-ink) !important;
  box-shadow: none !important;
}
body.igs .igs-ws-send {
  background: linear-gradient(
    135deg,
    var(--igs-accent),
    color-mix(in srgb, var(--igs-accent) 70%, var(--igs-accent-2))
  ) !important;
  color: var(--igs-on-accent) !important;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--igs-accent) 35%, transparent) !important;
}
body.igs .igs-ws-bar__log,
body.igs .igs-ws-msg {
  border-color: var(--igs-ws-line);
}
body.igs .igs-ws-msg.is-user {
  background: color-mix(in srgb, var(--igs-accent) 12%, var(--igs-card)) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-ws-msg.is-assistant {
  background: var(--igs-preview-bg) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-ws-bar,
body.igs .igs-nv-ai-rail,
body.igs .igs-pl-ai-rail {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--igs-card) 92%, var(--igs-accent)) 0%,
    var(--igs-card) 28%,
    color-mix(in srgb, var(--igs-paper) 55%, var(--igs-card)) 100%
  ) !important;
  color: var(--igs-ink);
  border-color: var(--igs-ws-line) !important;
}
body.igs .igs-nv-studio,
body.igs .igs-pl-studio {
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, color-mix(in srgb, var(--igs-accent) 12%, transparent), transparent 55%),
    radial-gradient(ellipse 50% 40% at 100% 0%, color-mix(in srgb, var(--igs-accent-2) 10%, transparent), transparent 50%),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--igs-paper) 88%, var(--igs-mist)) 0%,
      var(--igs-ws-paper) 42%,
      color-mix(in srgb, var(--igs-paper) 90%, var(--igs-bg-end)) 100%
    ) !important;
  border-color: var(--igs-ws-line) !important;
  color: var(--igs-ink);
}
body.igs .igs-nv-chrome,
body.igs .igs-pl-chrome {
  background: color-mix(in srgb, var(--igs-card) 88%, var(--igs-paper)) !important;
  border-color: var(--igs-ws-line) !important;
  color: var(--igs-ink);
}
body.igs .igs-nv-reader,
body.igs .igs-nv-reader-wrap,
body.igs .igs-nv-chapter-body,
body.igs .igs-nv-article,
body.igs .igs-nv-read,
body.igs .igs-nv-toc,
body.igs .igs-nv-comments {
  background: var(--igs-preview-bg) !important;
  color: var(--igs-preview-ink) !important;
  border-color: var(--igs-ws-line);
}
body.igs .igs-nv-cand-gen,
body.igs .igs-nv-cand-item,
body.igs .igs-nv-cands,
body.igs .igs-ws-memory,
body.igs .igs-ws-locus,
body.igs .igs-ws-mention,
body.igs .igs-ws-modal__card,
body.igs .igs-nv-card,
body.igs .igs-m-acard,
body.igs .igs-ep-card,
body.igs .igs-kf-card,
body.igs .igs-task-card,
body.igs .igs-lora-train-card,
body.igs .igs-dx-card,
body.igs .igs-pl-arch-card {
  background: var(--igs-card) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-nv-cand-item.is-on,
body.igs .igs-nv-card.is-browse,
body.igs .igs-nv-card.is-work {
  border-color: color-mix(in srgb, var(--igs-accent) 55%, var(--igs-line)) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--igs-accent) 18%, transparent);
}

/* 按钮 / 芯片 / 快捷 */
body.igs .igs-btn-ghost,
body.igs .igs-ws-chip,
body.igs .igs-chip,
body.igs .igs-nv-cand-filter,
body.igs .igs-nv-sort__btn,
body.igs .igs-ws-prompt,
body.igs .igs-mnav-item,
body.igs .igs-mmore-item,
body.igs .igs-nv-chrome__view,
body.igs .igs-nv-ai-tab,
body.igs .igs-mseg button,
body.igs .igs-pl-ai-light {
  background: var(--igs-chip-bg) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-ws-prompt.is-accent,
body.igs .igs-nv-cand-filter.is-on,
body.igs .igs-nv-ai-tab.is-on,
body.igs .igs-nv-chrome__view.is-on,
body.igs .igs-mnav-item.active,
body.igs .igs-mmore-item.active,
body.igs .igs-btn:not(.igs-btn-ghost):not(.igs-lb-btn) {
  background: var(--igs-accent) !important;
  color: var(--igs-on-accent) !important;
  border-color: transparent !important;
}
body.igs .igs-link,
body.igs a.igs-link,
body.igs .igs-brand .igs-mark,
body.igs .igs-kicker,
body.igs .igs-ws-kicker,
body.igs .igs-nv-cmt-item header b,
body.igs .igs-dx-stats .k-keep b,
body.igs .igs-pl-stats .ok {
  color: var(--igs-accent) !important;
}
body.igs .igs-mark,
body.igs .igs-brand .igs-mark {
  background: var(--igs-accent) !important;
  color: var(--igs-on-accent) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--igs-accent) 35%, transparent);
}
body.igs .igs-muted-sm,
body.igs .igs-muted {
  color: var(--igs-muted) !important;
}

/* 表格 / 列表行 */
body.igs table,
body.igs .igs-table,
body.igs .igs-matrix-wrap table {
  background: var(--igs-elev) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs th {
  background: var(--igs-surface-soft) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs td {
  border-color: var(--igs-line) !important;
  color: var(--igs-ink);
}
body.igs tr:nth-child(even) td {
  background: color-mix(in srgb, var(--igs-mist) 22%, var(--igs-elev)) !important;
}

/* 滚动条跟主题 */
body.igs * {
  scrollbar-color: color-mix(in srgb, var(--igs-accent) 45%, var(--igs-mist)) var(--igs-surface-soft);
}
body.igs *::-webkit-scrollbar {
  width: 0.55rem;
  height: 0.55rem;
}
body.igs *::-webkit-scrollbar-track {
  background: var(--igs-surface-soft);
}
body.igs *::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--igs-accent) 40%, var(--igs-mist));
  border-radius: 999px;
}
body.igs *::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--igs-accent) 65%, var(--igs-mist));
}

/* 手机底栏 / 更多抽屉 */
@media (max-width: 720px) {
  body.igs .igs-mnav {
    background: color-mix(in srgb, var(--igs-card) 94%, transparent) !important;
    border-top-color: var(--igs-line) !important;
    backdrop-filter: blur(10px);
  }
  body.igs .igs-mmore-sheet {
    background: var(--igs-card) !important;
    color: var(--igs-ink) !important;
  }
  body.igs .igs-mmore-g-lab {
    color: var(--igs-muted) !important;
  }
}

/* 常见硬编码青绿强调 → 主题 accent（属性选择器兜底） */
body.igs [style*='color:var(--igs-accent)'],
body.igs [style*='color: var(--igs-accent)'],
body.igs [style*='color:#1a6b52'],
body.igs [style*='color: #1a6b52'] {
  color: var(--igs-accent) !important;
}
body.igs [style*='background:var(--igs-accent)'],
body.igs [style*='background: var(--igs-accent)'],
body.igs [style*='background:#1a6b52'],
body.igs [style*='background: #1a6b52'] {
  background: var(--igs-accent) !important;
  color: var(--igs-on-accent) !important;
}

/* ============================================================
   小说 · 章节列表 + 阅读窗（专段加强，切换主题必跟）
   ============================================================ */
html[data-igs-theme],
html:not([data-igs-theme]) {
  --igs-novel-toc-bg: linear-gradient(
    165deg,
    color-mix(in srgb, var(--igs-elev) 94%, var(--igs-accent)) 0%,
    color-mix(in srgb, var(--igs-paper) 82%, var(--igs-mist)) 100%
  );
  --igs-novel-read-bg: linear-gradient(
    180deg,
    var(--igs-elev) 0%,
    color-mix(in srgb, var(--igs-card) 50%, var(--igs-paper)) 55%,
    color-mix(in srgb, var(--igs-paper) 88%, var(--igs-mist)) 100%
  );
  --igs-novel-card-bg: color-mix(in srgb, var(--igs-elev) 96%, var(--igs-mist));
  --igs-novel-card-on: color-mix(in srgb, var(--igs-accent) 10%, var(--igs-elev));
}

body.igs .igs-nv-reader-wrap,
body.igs .igs-nv-studio .igs-nv-reader-wrap {
  background: transparent !important;
  color: var(--igs-ink);
}
body.igs .igs-nv-ch-panel,
body.igs .igs-nv-studio .igs-nv-ch-panel,
body.igs .igs-novel-nav {
  background: var(--igs-novel-toc-bg) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-nv-ch-panel.is-collapsed {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--igs-paper) 90%, var(--igs-mist)),
    color-mix(in srgb, var(--igs-mist) 40%, var(--igs-paper))
  ) !important;
}
body.igs .igs-nv-ch-panel__head h3,
body.igs .igs-nv-ch-panel__titles,
body.igs .igs-nv-toc-reveal {
  color: var(--igs-ink) !important;
}
body.igs .igs-nv-toc-reveal {
  color: var(--igs-accent) !important;
}
body.igs .igs-nv-toc-reveal:hover {
  background: color-mix(in srgb, var(--igs-accent) 12%, transparent) !important;
}
body.igs .igs-nv-toc-resize::after {
  background: color-mix(in srgb, var(--igs-accent) 35%, transparent) !important;
}

body.igs .igs-nv-ch-card,
body.igs .igs-nv-studio .igs-nv-ch-card,
body.igs .igs-novel-nav button {
  background: var(--igs-novel-card-bg) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-nv-ch-card:hover,
body.igs .igs-novel-nav button:hover {
  background: color-mix(in srgb, var(--igs-accent) 8%, var(--igs-elev)) !important;
  border-color: color-mix(in srgb, var(--igs-accent) 40%, var(--igs-line)) !important;
}
body.igs .igs-nv-ch-card.is-active,
body.igs .igs-nv-studio .igs-nv-ch-card.is-active,
body.igs .igs-novel-nav button.active {
  background: var(--igs-novel-card-on) !important;
  border-color: var(--igs-accent) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--igs-accent) 18%, transparent) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-nv-ch-card__id,
body.igs .igs-nv-ch-card__title,
body.igs .igs-nv-ch-card__meta {
  color: inherit;
}
body.igs .igs-nv-ch-card__id {
  color: var(--igs-accent) !important;
}
body.igs .igs-nv-ch-card__meta,
body.igs .igs-novel-meta,
body.igs .igs-nv-reader-syn {
  color: var(--igs-muted) !important;
}
body.igs .igs-nv-ch-badge {
  background: var(--igs-accent-2) !important;
  color: var(--igs-on-accent) !important;
}
body.igs .igs-nv-ch-badge.is-twin {
  background: var(--igs-accent) !important;
  color: var(--igs-on-accent) !important;
}
body.igs .igs-nv-ch-card.is-test {
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--igs-warn) 10%, var(--igs-elev)) 0%,
    color-mix(in srgb, var(--igs-warn) 16%, var(--igs-paper)) 100%
  ) !important;
}

/* 阅读窗纸面 */
body.igs .igs-novel-reader,
body.igs .igs-nv-studio .igs-novel-reader {
  background: var(--igs-novel-read-bg) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
  box-shadow: var(--igs-ws-shadow) !important;
}
body.igs .igs-novel-reader h2,
body.igs .igs-novel-body,
body.igs .igs-nv-reader-bar,
body.igs .igs-nv-reader-meta {
  color: var(--igs-ink) !important;
}
body.igs .igs-nv-reader-bar {
  background: color-mix(in srgb, var(--igs-card) 70%, transparent) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-nv-twin-bar__btn,
body.igs .igs-nv-ch-nav button {
  background: var(--igs-chip-bg) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-nv-twin-bar__btn.is-on,
body.igs .igs-nv-twin-bar__btn.is-active,
body.igs .igs-nv-sort__btn.is-active {
  background: var(--igs-accent) !important;
  color: var(--igs-on-accent) !important;
  border-color: var(--igs-accent) !important;
}
body.igs .igs-nv-draft-banner {
  background: color-mix(in srgb, var(--igs-warn) 14%, var(--igs-elev)) !important;
  border-color: color-mix(in srgb, var(--igs-warn) 40%, var(--igs-line)) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-nv-ch-card__title,
body.igs .igs-nv-ch-card__heat,
body.igs .igs-novel-reader h2,
body.igs .igs-nv-twin-col__hd strong {
  color: var(--igs-ink) !important;
}
body.igs .igs-nv-ch-card__heat {
  color: var(--igs-accent-2) !important;
}
body.igs .igs-nv-twin-col {
  background: color-mix(in srgb, var(--igs-elev) 94%, var(--igs-mist)) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}
body.igs .igs-nv-twin-col.is-a {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--igs-accent-2) 8%, var(--igs-elev)) 0%,
    color-mix(in srgb, var(--igs-paper) 85%, var(--igs-mist)) 100%
  ) !important;
  border-color: color-mix(in srgb, var(--igs-accent-2) 40%, var(--igs-line)) !important;
}
body.igs .igs-nv-twin-col.is-b {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--igs-accent) 8%, var(--igs-elev)) 0%,
    color-mix(in srgb, var(--igs-paper) 85%, var(--igs-mist)) 100%
  ) !important;
  border-color: color-mix(in srgb, var(--igs-accent) 40%, var(--igs-line)) !important;
}
body.igs .igs-nv-cands {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--igs-accent) 8%, var(--igs-elev)),
    color-mix(in srgb, var(--igs-card) 70%, var(--igs-paper))
  ) !important;
  border-color: color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line)) !important;
  color: var(--igs-ink) !important;
}
body.igs .igs-nv-cand-filter {
  background: var(--igs-chip-bg) !important;
  color: var(--igs-ink) !important;
  border-color: var(--igs-line) !important;
}

/* —— v1.2 · 2026-08-28 · 壳层侧栏/聊天/主站条跟主题 + 视觉抛光 —— */
body.igs .igs-shell-drawer,
body.igs .igs-shell-drawer__panel,
body.igs .igs-shell-drawer__head,
body.igs .igs-shell-drawer__body {
  color: inherit;
  border-color: var(--igs-shell-peek-line, var(--igs-line)) !important;
}
body.igs .igs-shell-station-nav,
body.igs .igs-shell-stagebar,
body.igs .igs-shell-station-context {
  background: color-mix(in srgb, var(--igs-card) 90%, var(--igs-paper)) !important;
  color: var(--igs-ink) !important;
  border-color: color-mix(in srgb, var(--igs-line) 72%, transparent) !important;
}
body.igs .igs-shell-station-subbtn {
  color: var(--igs-muted) !important;
}
body.igs .igs-shell-station-subbtn.is-on,
body.igs .igs-shell-station-subbtn:hover {
  color: var(--igs-accent) !important;
  background: color-mix(in srgb, var(--igs-accent) 10%, transparent) !important;
  border-color: color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line)) !important;
}

/* 聊天整页跟主题（兜底覆盖残留硬编码） */
body.igs #panel-studioChat,
body.igs .igs-studio-chat--fill,
body.igs .igs-studio-chat__nav,
body.igs .igs-studio-chat__head,
body.igs .igs-studio-chat__composer,
body.igs .igs-studio-chat__bubble,
body.igs .igs-studio-chat__auth-card,
body.igs .igs-studio-chat__chip,
body.igs .igs-studio-chat__picker-list button {
  background-color: var(--igs-card);
  color: var(--igs-ink);
  border-color: color-mix(in srgb, var(--igs-line) 80%, transparent);
}
body.igs .igs-studio-chat--fill {
  background: var(--igs-paper) !important;
}
body.igs .igs-studio-chat__main {
  background: color-mix(in srgb, var(--igs-paper) 88%, var(--igs-mist)) !important;
}
body.igs .igs-studio-chat__nav,
body.igs .igs-studio-chat__head,
body.igs .igs-studio-chat__composer {
  background: var(--igs-card) !important;
}
body.igs .igs-studio-chat__bubble {
  background: var(--igs-elev) !important;
}
body.igs .igs-studio-chat__msg.is-me .igs-studio-chat__bubble {
  background: color-mix(in srgb, var(--igs-accent) 12%, var(--igs-elev)) !important;
}
body.igs .igs-studio-chat__head h2 {
  font-family: var(--igs-serif) !important;
  color: var(--igs-ink) !important;
}

/* 顶栏 / 工作区主表面：更干净的线与字重 */
body.igs .igs-top,
body.igs .igs-top--slim {
  border-bottom: 1px solid color-mix(in srgb, var(--igs-line) 70%, transparent) !important;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--igs-elev) 40%, transparent);
}
body.igs .igs-workspace.igs-shell-on {
  color: var(--igs-ink);
}
body.igs button,
body.igs input,
body.igs select,
body.igs textarea {
  font-family: inherit;
}
body.igs h1,
body.igs h2,
body.igs .igs-brand__title,
body.igs .igs-hub__title {
  font-family: var(--igs-serif);
  letter-spacing: 0.02em;
  font-weight: 700;
}

/* SVG 图标描边跟当前色 */
body.igs .igs-shell-station-btn svg,
body.igs .igs-shell-drawer__peek-btn svg,
body.igs .igs-nav button svg {
  stroke: currentColor;
  fill: none;
}
