/* 明亮 / 暗黑主题 · 平台全局 */

:root {
  --code-bg: var(--prose-code-bg, var(--cursor-bg-subtle, #fafafa));
  --input-bg: var(--cursor-bg-input, #ffffff);
  --overlay: rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] {
  --input-bg: var(--cursor-bg-input, #252525);
  --overlay: rgba(0, 0, 0, 0.72);
}

[data-theme="dark"] body {
  background: var(--bg);
  color: var(--text);
}

/* 顶栏主题切换 */
.theme-toggle {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  font-family: inherit;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.theme-toggle:hover {
  color: var(--text);
  background: var(--surface-hover);
  border-color: var(--primary);
}
.theme-toggle__icon { font-size: 15px; line-height: 1; }
.theme-toggle__icon--sun { display: none; }
[data-theme="dark"] .theme-toggle__icon--moon { display: none; }
[data-theme="dark"] .theme-toggle__icon--sun { display: inline; }

/* 顶栏 / 导航 */
[data-theme="dark"] .topbar {
  background: var(--topbar-bg);
  border-bottom-color: var(--border);
}
[data-theme="dark"] .topbar__badge { background: var(--surface-hover); color: var(--muted); }
[data-theme="dark"] .nav-tab.is-active { background: var(--surface-active); color: var(--text); }
[data-theme="dark"] .nav-tab:hover:not(.is-active) { background: var(--surface-hover); }

[data-theme="dark"] .spine {
  background: var(--surface-muted);
  border-right-color: var(--border);
}
[data-theme="dark"] .spine-item:hover { background: var(--surface-hover); }
[data-theme="dark"] .spine-item.is-active { background: var(--surface-active); }

[data-theme="dark"] .breadcrumb,
[data-theme="dark"] .panel-body,
[data-theme="dark"] .workbench-main {
  background: var(--bg);
}
[data-theme="dark"] .breadcrumb { border-bottom-color: var(--border); }

[data-theme="dark"] .select,
[data-theme="dark"] .field input,
[data-theme="dark"] .field textarea {
  background: var(--input-bg);
  color: var(--text);
  border-color: var(--border);
}

[data-theme="dark"] .dash-card,
[data-theme="dark"] .project-card,
[data-theme="dark"] .module-tile,
[data-theme="dark"] .placeholder-card,
[data-theme="dark"] .modal,
[data-theme="dark"] .quick-chip {
  background: var(--surface);
  color: var(--text);
  border-color: var(--border);
}
[data-theme="dark"] .btn--ghost {
  background: var(--btn-ghost-bg, rgba(255, 255, 255, 0.04));
  color: var(--text);
  border-color: var(--btn-ghost-border, var(--accent-border-strong));
}
[data-theme="dark"] .btn--ghost:hover {
  background: var(--btn-ghost-hover-bg, rgba(255, 255, 255, 0.08));
  border-color: var(--btn-ghost-hover-border, rgba(255, 255, 255, 0.26));
  color: var(--text);
}
[data-theme="dark"] .dash-list__item { border-bottom-color: var(--border); }
[data-theme="dark"] .modal-backdrop { background: var(--overlay); }

[data-theme="dark"] .project-home__readme pre,
[data-theme="dark"] .wb-readme pre,
[data-theme="dark"] .fp-pathbar,
[data-theme="dark"] .fp-shortcut {
  background: var(--code-bg);
  border-color: var(--border);
  color: var(--text);
}

[data-theme="dark"] .resource-tree,
[data-theme="dark"] .wb-doc-sidebar,
[data-theme="dark"] .wb-source-bar {
  background: var(--surface-muted);
}
[data-theme="dark"] .resource-panel,
[data-theme="dark"] .file-editor-panel,
[data-theme="dark"] .ui-embed-toolbar {
  background: var(--surface);
}
[data-theme="dark"] .resource-tree summary:hover,
[data-theme="dark"] .resource-tree .file-item:hover,
[data-theme="dark"] .resource-tree .file-item.is-active,
[data-theme="dark"] .fp-row:hover,
[data-theme="dark"] .fp-row.is-checked {
  background: var(--surface-active);
}
[data-theme="dark"] .fp-selected {
  background: var(--surface-muted);
  border-color: var(--border);
}
[data-theme="dark"] .fp-selected.has-items {
  background: var(--surface-elevated);
}
[data-theme="dark"] .fp-add-btn {
  background: var(--surface-muted);
  border-color: var(--border);
}
[data-theme="dark"] .fp-add-btn:hover,
[data-theme="dark"] .fp-add-btn:focus-visible {
  background: var(--surface-hover);
  box-shadow: 0 0 0 3px rgba(122, 162, 255, 0.15);
}
[data-theme="dark"] .fp-add-btn__icon {
  background: var(--surface-elevated);
}
[data-theme="dark"] .fp-pathbar-check {
  background: var(--surface-muted);
  border-color: var(--border);
}
[data-theme="dark"] .fp-chip {
  background: var(--surface-elevated);
}
[data-theme="dark"] .fp-row__enter:hover {
  background: var(--surface-hover);
}
[data-theme="dark"] .fp-finder-sidebar {
  background: var(--surface-muted);
}
[data-theme="dark"] .fp-finder-toolbar,
[data-theme="dark"] .fp-current-bar {
  background: var(--surface-muted);
}
[data-theme="dark"] .fp-sidebar-item.is-active {
  background: var(--surface-active);
}
[data-theme="dark"] .fp-nav-btn {
  background: var(--surface-elevated);
}
[data-theme="dark"] .fp-search {
  background-color: var(--input-bg);
}
[data-theme="dark"] .fp-view-toggle {
  background: var(--surface-elevated);
}
[data-theme="dark"] .fp-view-btn.is-active {
  background: var(--surface-active);
}
[data-theme="dark"] .fp-grid-item {
  background: var(--surface-muted);
}
[data-theme="dark"] .fp-grid-item__enter {
  background: var(--surface-elevated);
}

[data-theme="dark"] .shell-mode-toggle { background: var(--surface-hover); }
[data-theme="dark"] .shell-mode-btn.is-active {
  background: var(--surface-elevated);
  color: var(--text);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* Markdown 预览 */
[data-theme="dark"] .md-mode-toggle { background: var(--surface-hover); }
[data-theme="dark"] .md-mode-btn.is-active {
  background: var(--surface-elevated);
  color: var(--text);
}
[data-theme="dark"] .md-preview,
[data-theme="dark"] .html-preview-wrap {
  background: var(--surface);
  color: var(--text);
}
[data-theme="dark"] .md-preview h1,
[data-theme="dark"] .md-preview h2,
[data-theme="dark"] .md-preview h3 { color: var(--text); }
[data-theme="dark"] .md-preview code,
[data-theme="dark"] .md-preview pre {
  background: var(--code-bg);
  border-color: var(--border);
}
[data-theme="dark"] .md-preview table th,
[data-theme="dark"] .md-preview table td {
  border-color: var(--border);
}
[data-theme="dark"] .md-preview table th { background: var(--surface-muted); }
[data-theme="dark"] .md-preview blockquote {
  border-left-color: var(--border);
  color: var(--muted);
}

/* 工作台模块 */
[data-theme="dark"] .wb-nav-head { border-bottom-color: var(--border); }
[data-theme="dark"] .wb-source-tab {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
}
[data-theme="dark"] .wb-source-tab.is-active {
  background: var(--surface-active);
  border-color: var(--border);
  color: var(--text);
}

[data-theme="dark"] .create-form__basic,
[data-theme="dark"] .create-sources__summary {
  background: var(--surface-muted);
}
[data-theme="dark"] .create-sources,
[data-theme="dark"] .create-source-item {
  background: var(--surface);
}
[data-theme="dark"] .source-tab {
  background: var(--surface-muted);
  border-color: var(--border);
  color: var(--muted);
}
[data-theme="dark"] .source-tab.is-active {
  background: var(--surface-active);
  border-color: var(--border);
  color: var(--text);
}

[data-theme="dark"] .fp-browse-selected {
  background: var(--surface-muted);
}
[data-theme="dark"] .fp-browse-selected.has-items {
  background: var(--surface);
}
[data-theme="dark"] .fp-browse-chip {
  background: var(--surface-active);
  border-color: var(--border);
}
[data-theme="dark"] .modal--create .modal__actions {
  background: var(--surface);
}
[data-theme="dark"] .fp-add-menu {
  background: var(--surface);
  border-color: var(--border);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

/* UI 设计工作台 */
[data-theme="dark"] .wb-ui-root {
  background: var(--bg);
}
[data-theme="dark"] .wb-ui-pkg-head {
  background: var(--surface);
  border-bottom-color: var(--border);
}
[data-theme="dark"] .wb-ui-pkg-head__title { color: var(--text); }
[data-theme="dark"] .wb-ui-main-tabs,
[data-theme="dark"] .wb-ui-doc-layout,
[data-theme="dark"] .wb-ui-screenlist,
[data-theme="dark"] .wb-ui-modnav,
[data-theme="dark"] .wb-ui-spec-panel,
[data-theme="dark"] .detail-screen {
  background: var(--surface);
  border-color: var(--border);
}
[data-theme="dark"] .wb-ui-main-tab { color: var(--muted); }
[data-theme="dark"] .wb-ui-main-tab.is-active {
  color: var(--text);
  border-bottom-color: var(--text);
}
[data-theme="dark"] .wb-ui-studio-center { background: var(--bg); }
[data-theme="dark"] .wb-ui-stat-card,
[data-theme="dark"] .wb-ui-jobs,
[data-theme="dark"] .wb-ui-jobs-list li,
[data-theme="dark"] .wb-ui-action-btn {
  background: var(--surface-elevated);
  border-color: var(--border);
  color: var(--text);
}
[data-theme="dark"] .wb-ui-action-btn { color: var(--muted); }
[data-theme="dark"] .wb-ui-action-btn:hover {
  border-color: var(--border);
  color: var(--text);
  background: var(--surface-hover);
}
[data-theme="dark"] .wb-ui-doc-toc { background: var(--surface-muted); border-right-color: var(--border); }
[data-theme="dark"] .wb-ui-doc-toc__item { color: var(--text); }
[data-theme="dark"] .wb-ui-doc-toc__item:hover { background: var(--surface-hover); }
[data-theme="dark"] .wb-ui-screen-row:hover { background: var(--surface-hover); }
[data-theme="dark"] .wb-ui-screen-row__name { color: var(--text); }
[data-theme="dark"] .wb-ui-source-menu {
  background: var(--surface-elevated);
  border-color: var(--border);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}
[data-theme="dark"] .wb-ui-source-item:hover { background: var(--surface-hover); }
[data-theme="dark"] .dl-req-block__title { background: var(--surface-muted); color: var(--text); }
[data-theme="dark"] .dl-req-block__body { color: var(--muted); }

[data-theme="dark"] .agent-chat,
[data-theme="dark"] .agent-composer {
  background: var(--agent-chat-bg, var(--bg));
}
[data-theme="dark"] .agent-history {
  background: var(--surface-muted);
}
[data-theme="dark"] .agent-composer__box {
  background: var(--agent-composer-bg, var(--input-bg));
}
[data-theme="dark"] .agent-turn__user-card {
  background: var(--agent-user-bg, rgba(255, 255, 255, 0.06));
}

[data-theme="dark"] .wb-standalone-page { background: var(--bg); }
