/* 暗夜模式：覆盖设计令牌 + 补充组件 */

html[data-theme="dark"] {
    --color-text-primary: #e2e8f0;
    --color-text-secondary: #cbd5e1;
    --color-text-muted: #94a3b8;
    --color-text-label: #cbd5e1;
    --color-bg-page: #0f172a;
    --color-bg-grid: rgba(51, 65, 85, 0.35);
    --color-bg-surface: #1e293b;
    --color-bg-subtle: #1e293b;
    --color-bg-muted: #334155;
    --color-border: #334155;
    --color-border-input: #475569;
    --color-border-strong: #475569;
    --color-primary: #3b82f6;
    --color-primary-hover: #2563eb;
    --color-link: #93c5fd;
    --color-link-hover: #bfdbfe;
    --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] body {
    color: var(--color-text-primary);
    background:
        linear-gradient(90deg, var(--color-bg-grid) 1px, transparent 1px),
        linear-gradient(var(--color-bg-grid) 1px, transparent 1px),
        var(--color-bg-page);
}

html[data-theme="dark"] label {
    color: var(--color-text-label);
}

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

html[data-theme="dark"] button.secondary,
html[data-theme="dark"] button.tab,
html[data-theme="dark"] button.nav-item {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] button.secondary {
    border-color: var(--color-border-strong);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] button.secondary:hover {
    background: var(--color-bg-muted);
}

html[data-theme="dark"] button.link-like,
html[data-theme="dark"] .link-like {
    color: var(--color-link);
}

html[data-theme="dark"] button.link-like:hover,
html[data-theme="dark"] .link-like:hover {
    color: var(--color-link-hover);
}

html[data-theme="dark"] .hint,
html[data-theme="dark"] .field-hint,
html[data-theme="dark"] .setting-field-hint,
html[data-theme="dark"] .settings-section-desc,
html[data-theme="dark"] .eyebrow {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .settings-subnav,
html[data-theme="dark"] .settings-info-grid > div,
html[data-theme="dark"] .settings-stats-grid > div,
html[data-theme="dark"] .settings-limits-grid > div,
html[data-theme="dark"] .settings-pref-group,
html[data-theme="dark"] .settings-action-card,
html[data-theme="dark"] .settings-shares-summary-item,
html[data-theme="dark"] .mobile-bottom-nav,
html[data-theme="dark"] .workspace-generate-panel,
html[data-theme="dark"] .project-card,
html[data-theme="dark"] .admin-account-card,
html[data-theme="dark"] .admin-record-card,
html[data-theme="dark"] .palette-sidebar,
html[data-theme="dark"] .palette-detail-panel,
html[data-theme="dark"] .editor-panel,
html[data-theme="dark"] .dialog-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .captcha-image {
    border-color: var(--color-border);
    background: #0f172a;
    opacity: 0.92;
}

html[data-theme="dark"] .sidebar {
    border-color: var(--color-border);
    background: #111827;
}

html[data-theme="dark"] .sidebar-brand {
    border-color: var(--color-border);
}

html[data-theme="dark"] .sidebar-brand span {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .nav-item.active {
    background: rgba(59, 130, 246, 0.22);
    color: #93c5fd;
}

html[data-theme="dark"] .settings-subtab {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .settings-subtab.active {
    color: #e2e8f0;
    background: var(--color-bg-muted);
    border-color: var(--color-border-strong);
}

html[data-theme="dark"] .settings-info-grid span,
html[data-theme="dark"] .settings-stats-grid span,
html[data-theme="dark"] .settings-limits-grid span {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .settings-form,
html[data-theme="dark"] .settings-subsection,
html[data-theme="dark"] .settings-inline-heading {
    border-color: var(--color-border);
}

html[data-theme="dark"] .settings-mobile-profile {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .settings-profile-nickname {
    border-color: var(--color-border);
}

html[data-theme="dark"] .settings-segmented,
html[data-theme="dark"] .register-security-card-inner,
html[data-theme="dark"] .palette-scope-switch,
html[data-theme="dark"] .project-view-tab,
html[data-theme="dark"] .project-toolbar,
html[data-theme="dark"] .workspace-library-panel {
    border-color: var(--color-border-strong);
    background: #0f172a;
}

html[data-theme="dark"] .settings-segmented-item:has(input:checked) span,
html[data-theme="dark"] .register-security-card input:checked + .register-security-card-inner,
html[data-theme="dark"] .palette-scope-btn.active,
html[data-theme="dark"] .project-view-tab.active {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.18);
    color: #93c5fd;
}

html[data-theme="dark"] .settings-action-card-head h4,
html[data-theme="dark"] .topbar h2,
html[data-theme="dark"] .panel h3,
html[data-theme="dark"] .settings-subsection h4,
html[data-theme="dark"] .settings-pref-group h4,
html[data-theme="dark"] .auth-panel-title,
html[data-theme="dark"] .project-card-title,
html[data-theme="dark"] .admin-record-title {
    color: #f1f5f9;
}

html[data-theme="dark"] .settings-action-card.is-open {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}

html[data-theme="dark"] .settings-security-modal-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .settings-security-modal-head h3 {
    color: #f1f5f9;
}

html[data-theme="dark"] .settings-security-modal-subtitle {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .settings-security-modal-backdrop {
    background: rgba(2, 6, 23, 0.65);
}

html[data-theme="dark"] .media-frame {
    background: #0f172a;
}

html[data-theme="dark"] .mobile-bottom-nav {
    box-shadow: 0 -1px 0 var(--color-border);
    background: #111827;
}

html[data-theme="dark"] .mobile-bottom-item {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .mobile-bottom-item.active {
    color: #93c5fd;
}

html[data-theme="dark"] .danger-btn {
    color: #fca5a5;
    border-color: #7f1d1d;
    background: rgba(127, 29, 29, 0.25);
}

html[data-theme="dark"] .settings-form-message.error,
html[data-theme="dark"] .message.error {
    color: #fca5a5;
    background: rgba(127, 29, 29, 0.25);
}

html[data-theme="dark"] .settings-form-message.ok,
html[data-theme="dark"] .message.ok {
    color: #86efac;
    background: rgba(22, 101, 52, 0.25);
}

html[data-theme="dark"] .message {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .editor-toolbar,
html[data-theme="dark"] .editor-tools,
html[data-theme="dark"] .assembly-toolbar,
html[data-theme="dark"] .assembly-side-panel {
    border-color: var(--color-border);
    background: #111827;
}

html[data-theme="dark"] .editor-tool-button,
html[data-theme="dark"] .editor-canvas-wrap {
    border-color: var(--color-border);
    background: #0f172a;
}

html[data-theme="dark"] .editor-tool-button.active {
    background: rgba(59, 130, 246, 0.22);
    color: #93c5fd;
}

html[data-theme="dark"] .status-chip {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .onboarding-banner,
html[data-theme="dark"] .workspace-intro-card {
    border-color: var(--color-border);
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
}

html[data-theme="dark"] .color-item,
html[data-theme="dark"] .palette-color-chip,
html[data-theme="dark"] .project-detail-meta > div {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .topbar,
html[data-theme="dark"] .admin-overview-bar > div {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .project-recycle-hint {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .project-recycle-batch {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    box-shadow: none;
}

html[data-theme="dark"] .project-recycle-batch-left .project-batch-select-all {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .project-batch-count {
    background: none;
    color: var(--color-text-muted);
}

html[data-theme="dark"] .project-recycle-batch .project-batch-restore:not(:disabled),
html[data-theme="dark"] .project-recycle-batch .project-batch-delete:not(:disabled),
html[data-theme="dark"] .project-recycle-batch .project-batch-clear:not(:disabled) {
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .project-recycle-batch .project-batch-restore:not(:disabled) {
    border-color: rgba(59, 130, 246, 0.5);
    color: #93c5fd;
}

html[data-theme="dark"] .project-recycle-batch .project-batch-delete:not(:disabled) {
    border-color: rgba(248, 113, 113, 0.45);
    color: #fca5a5;
}

html[data-theme="dark"] .project-recycle-batch .project-batch-clear:not(:disabled) {
    border-color: var(--color-border);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] dialog::backdrop {
    background: rgba(2, 6, 23, 0.72);
}

html[data-theme="dark"] .auth-screen,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .auth-step-card,
html[data-theme="dark"] .register-security-card-inner {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .auth-brand {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .auth-brand p,
html[data-theme="dark"] .auth-panel-subtitle,
html[data-theme="dark"] .auth-step-hint {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .sidebar-brand strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .sidebar-brand span,
html[data-theme="dark"] .eyebrow {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .sidebar-logout {
    border-color: var(--color-border-strong);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .dialog-card,
html[data-theme="dark"] .palette-dialog-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .workspace-upload-panel,
html[data-theme="dark"] .workspace-preview-panel,
html[data-theme="dark"] .project-list-panel,
html[data-theme="dark"] .project-detail-panel {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .settings-pref-divider {
    background: var(--color-border);
}

html[data-theme="dark"] .settings-account-aside {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .my-shares-empty {
    border-color: var(--color-border);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .my-shares-empty strong {
    color: var(--color-text-primary);
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: #64748b;
}

html[data-theme="dark"] .upload-drop-zone {
    border-color: var(--color-border-strong);
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .upload-drop-zone.drag-over {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.15);
}

html[data-theme="dark"] .file-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .file-card:hover {
    border-color: #60a5fa;
}

html[data-theme="dark"] .pattern-summary-panel {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .pattern-summary-meta > strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .pattern-summary-stats span {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .pattern-summary-stats strong {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .current-source-hint {
    border-color: rgba(59, 130, 246, 0.35);
    background: rgba(37, 99, 235, 0.12);
    color: #93c5fd;
}

html[data-theme="dark"] .workspace-step-tab,
html[data-theme="dark"] .mobile-step-tab,
html[data-theme="dark"] .upload-flow-step {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .workspace-step-tab.active,
html[data-theme="dark"] .mobile-step-tab.active,
html[data-theme="dark"] .upload-flow-step.is-active {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.18);
    color: #93c5fd;
}

html[data-theme="dark"] .advanced-settings,
html[data-theme="dark"] .advanced-settings-group {
    border-color: var(--color-border);
}

html[data-theme="dark"] .palette-color-chip,
html[data-theme="dark"] .color-item {
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .project-detail-meta > div,
html[data-theme="dark"] .project-detail-legend-section details {
    background: var(--color-bg-muted);
    border-color: var(--color-border);
}

/* P0补漏：工作台引导/流程/预览工具栏/对话框/分享导出，避免暗黑下白块闪 */
html[data-theme="dark"] .workspace-intro-bar,
html[data-theme="dark"] .preview-toolbar,
html[data-theme="dark"] .preview-rotation-toolbar,
html[data-theme="dark"] .pattern-preview-canvas-wrap,
html[data-theme="dark"] .workspace-file-scroll,
html[data-theme="dark"] .file-name,
html[data-theme="dark"] .upload-message,
html[data-theme="dark"] .share-page-card,
html[data-theme="dark"] .export-modal-card,
html[data-theme="dark"] .palette-dialog-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] dialog,
html[data-theme="dark"] .auth-legal-dialog {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

/* 深色全面补漏：颜色库 / 高级选项 / 管理后台 / 分享导出，避免白块与浅色文字不可见 */

/* —— 颜色库浏览区 —— */
html[data-theme="dark"] .palette-browse-bar,
html[data-theme="dark"] .palette-main-header,
html[data-theme="dark"] .palette-sidebar,
html[data-theme="dark"] .palette-empty-state,
html[data-theme="dark"] .palette-color-card,
html[data-theme="dark"] .color-card-manage,
html[data-theme="dark"] .palette-add-panel,
html[data-theme="dark"] .palette-reorder-hint,
html[data-theme="dark"] .admin-paste-panel,
html[data-theme="dark"] .palette-page-message {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .palette-browse-filters,
html[data-theme="dark"] .palette-main-filters {
    border-color: var(--color-border);
}

html[data-theme="dark"] .palette-filter-label,
html[data-theme="dark"] .palette-field,
html[data-theme="dark"] .palette-add-form label,
html[data-theme="dark"] .palette-quick-section h4 {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .palette-select,
html[data-theme="dark"] .palette-search-input {
    border-color: var(--color-border-input);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .palette-family-chip,
html[data-theme="dark"] .palette-tab,
html[data-theme="dark"] .palette-sidebar-item,
html[data-theme="dark"] .palette-quick-chip {
    border-color: var(--color-border-strong);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .palette-family-chip:hover,
html[data-theme="dark"] .palette-tab:hover:not(.active),
html[data-theme="dark"] .palette-sidebar-item:hover,
html[data-theme="dark"] .palette-quick-chip:hover {
    border-color: #60a5fa;
    background: var(--color-bg-muted);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .palette-family-chip.active,
html[data-theme="dark"] .palette-sidebar-item.active {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.18);
    color: #93c5fd;
}

html[data-theme="dark"] .palette-sidebar-item strong,
html[data-theme="dark"] .palette-empty-state strong,
html[data-theme="dark"] .palette-main-title h4 {
    color: #f1f5f9;
}

html[data-theme="dark"] .palette-sidebar-item span,
html[data-theme="dark"] .palette-empty-state,
html[data-theme="dark"] .palette-main-title p {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .palette-count-badge,
html[data-theme="dark"] .project-count-badge {
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .palette-color-card-main,
html[data-theme="dark"] .palette-color-card-main:hover,
html[data-theme="dark"] .palette-color-card-main:focus,
html[data-theme="dark"] .palette-color-card-main:active {
    color: var(--color-text-primary);
    background: transparent;
}

html[data-theme="dark"] .palette-color-card-main strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .palette-color-card-actions .is-favorite {
    color: #fcd34d;
    border-color: #92400e;
    background: rgba(146, 64, 14, 0.25);
}

html[data-theme="dark"] .color-card-action {
    border-color: var(--color-border-strong);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .color-card-action:hover,
html[data-theme="dark"] .color-card-action:focus {
    background: var(--color-bg-muted);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .color-card-action.danger {
    color: #fca5a5;
    border-color: #7f1d1d;
    background: rgba(127, 29, 29, 0.25);
}

html[data-theme="dark"] .duplicate-color-option:has(input:checked) {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.15);
}

html[data-theme="dark"] .hex-preview-swatch {
    border-color: var(--color-border-strong);
}

html[data-theme="dark"] #paletteView .palette-filter-drawer > summary {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

/* —— 高级选项与图纸摘要 —— */
html[data-theme="dark"] .advanced-settings,
html[data-theme="dark"] .advanced-settings-group,
html[data-theme="dark"] .pattern-ratio-preview,
html[data-theme="dark"] .generate-estimate-panel,
html[data-theme="dark"] .project-reference-panel {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .advanced-settings summary,
html[data-theme="dark"] .project-reference-panel summary {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .advanced-settings-group-title {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .setting-field-label {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .setting-field-hint {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .pattern-summary-meta > strong,
html[data-theme="dark"] .pattern-ratio-meta strong,
html[data-theme="dark"] .generate-estimate-grid strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .pattern-summary-stats span,
html[data-theme="dark"] .pattern-ratio-size,
html[data-theme="dark"] .generate-estimate-grid span {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .pattern-summary-stats strong {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .pattern-ratio-shape {
    border-color: #3b82f6;
    background: linear-gradient(135deg, #1e3a5f 0%, #1e293b 100%);
}

html[data-theme="dark"] .pattern-ratio-shape.is-warning {
    border-color: #f59e0b;
    background: linear-gradient(135deg, rgba(146, 64, 14, 0.5) 0%, #1e293b 100%);
}

html[data-theme="dark"] .pattern-ratio-shape.is-extreme {
    border-color: #ef4444;
    background: linear-gradient(135deg, rgba(127, 29, 29, 0.5) 0%, #1e293b 100%);
}

html[data-theme="dark"] .preview-rotation-title strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .preview-rotation-title span {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .image-rotation-buttons {
    border-color: var(--color-border-strong);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .rotation-option {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .rotation-option:hover {
    background: var(--color-bg-muted);
    border-color: #60a5fa;
    color: var(--color-text-primary);
}

html[data-theme="dark"] .rotation-option.secondary {
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

/* —— 管理后台与表格 —— */
html[data-theme="dark"] .admin-tabs,
html[data-theme="dark"] .admin-filter-bar,
html[data-theme="dark"] .admin-list-toolbar,
html[data-theme="dark"] .admin-table-scroll,
html[data-theme="dark"] .admin-row:not(tr),
html[data-theme="dark"] .admin-detail,
html[data-theme="dark"] .admin-config-toolbar,
html[data-theme="dark"] .admin-config-section,
html[data-theme="dark"] .admin-config-row,
html[data-theme="dark"] .admin-config-empty,
html[data-theme="dark"] .admin-stat-card,
html[data-theme="dark"] .admin-palette-sidebar,
html[data-theme="dark"] .admin-palette-item,
html[data-theme="dark"] .admin-palette-section,
html[data-theme="dark"] .admin-palette-create,
html[data-theme="dark"] .admin-preview-dialog,
html[data-theme="dark"] .confirm-modal-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .admin-tab {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-tab-group-title,
html[data-theme="dark"] .admin-bulk-check,
html[data-theme="dark"] .admin-row-check,
html[data-theme="dark"] .admin-pager,
html[data-theme="dark"] .admin-row span {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .admin-table thead th {
    background: var(--color-bg-muted);
    border-color: var(--color-border);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .admin-table th,
html[data-theme="dark"] .admin-table td {
    border-color: var(--color-border);
}

html[data-theme="dark"] .admin-table tbody tr:hover,
html[data-theme="dark"] .admin-table tbody tr:nth-child(even):hover {
    background: rgba(51, 65, 85, 0.6);
}

html[data-theme="dark"] .admin-table tbody tr:nth-child(even),
html[data-theme="dark"] .admin-table tbody tr.is-inactive {
    background: rgba(15, 23, 42, 0.4);
}

html[data-theme="dark"] .admin-table-cell {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-table-cell.main strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .admin-table-cell.main span,
html[data-theme="dark"] .admin-table-token,
html[data-theme="dark"] .admin-table-hint {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .admin-table-actions button:not(.secondary):not(.admin-danger-btn) {
    background: var(--color-bg-muted);
    border-color: var(--color-border-strong);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-table-actions button:not(.secondary):not(.admin-danger-btn):hover {
    background: #475569;
    color: #f1f5f9;
}

html[data-theme="dark"] .admin-table-empty {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .admin-pill {
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-pill.strong {
    background: rgba(37, 99, 235, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] .admin-config-group-nav {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-config-group-nav.active {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.18);
    color: #93c5fd;
}

html[data-theme="dark"] .admin-config-recent strong {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-config-recent span {
    background: var(--color-bg-muted);
    border-color: var(--color-border);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .admin-config-row.is-dirty {
    border-color: #f59e0b;
    background: rgba(146, 64, 14, 0.15);
}

html[data-theme="dark"] .admin-status-chip {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-create-user-form {
    border-color: var(--color-border);
    background: rgba(15, 23, 42, 0.4);
}

/* —— 工作台 / 项目 / 上传 —— */
html[data-theme="dark"] .workspace-blank-entry {
    border-color: rgba(59, 130, 246, 0.4);
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
}

html[data-theme="dark"] .workspace-blank-entry-copy strong {
    color: #93c5fd;
}

html[data-theme="dark"] .upload-result {
    border-color: rgba(59, 130, 246, 0.4);
    background: rgba(37, 99, 235, 0.12);
}

html[data-theme="dark"] .upload-result img,
html[data-theme="dark"] .upload-pending img {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
}

html[data-theme="dark"] #uploadInfo strong {
    color: #f1f5f9;
}

html[data-theme="dark"] #uploadInfo span {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .workspace-library-filter-toggle,
html[data-theme="dark"] button.workspace-library-filter-toggle,
html[data-theme="dark"] .workspace-library-selected-only {
    border-color: var(--color-border-strong);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .workspace-library-filter-toggle-check {
    border-color: var(--color-border-strong);
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .file-check,
html[data-theme="dark"] .workspace-library-count,
html[data-theme="dark"] .file-card span:not(.file-current-badge) {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .file-card strong {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .preview-toolbar-title strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .preview-toolbar-title span,
html[data-theme="dark"] .preview-grid-step-label,
html[data-theme="dark"] .editor-grid-step-label {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .preview-grid-step-label select,
html[data-theme="dark"] .editor-grid-step-label select,
html[data-theme="dark"] .project-sort-label select {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .summary-grid,
html[data-theme="dark"] .project-list-batch,
html[data-theme="dark"] .project-empty-state,
html[data-theme="dark"] .project-detail-placeholder,
html[data-theme="dark"] .project-reference-panel {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .summary-metric {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .summary-metric strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .summary-metric.is-saved {
    border-color: #166534;
    background: rgba(22, 101, 52, 0.25);
}

html[data-theme="dark"] .summary-metric.is-saved strong {
    color: #86efac;
}

html[data-theme="dark"] .summary-metric.is-draft {
    border-color: #92400e;
    background: rgba(146, 64, 14, 0.25);
}

html[data-theme="dark"] .summary-metric.is-draft strong {
    color: #fcd34d;
}

html[data-theme="dark"] .project-view-tabs {
    background: #0f172a;
    border-color: var(--color-border);
}

html[data-theme="dark"] button.project-view-tab:hover:not(.active) {
    background: var(--color-bg-muted);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .project-batch-delete {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .project-batch-delete:not(:disabled) {
    border-color: rgba(248, 113, 113, 0.45);
    background: var(--color-bg-surface);
    color: #fca5a5;
}

html[data-theme="dark"] .project-batch-delete:not(:disabled):hover {
    background: rgba(127, 29, 29, 0.3);
}

html[data-theme="dark"] .project-batch-delete:disabled {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: #64748b;
}

html[data-theme="dark"] .project-empty-state strong,
html[data-theme="dark"] .project-detail-placeholder strong {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .project-detail-topbar {
    background: linear-gradient(180deg, var(--color-bg-surface) 85%, transparent);
}

html[data-theme="dark"] .project-batch-select-all {
    color: var(--color-text-secondary);
}

/* —— 编辑器 —— */
html[data-theme="dark"] .editor-toolbar,
html[data-theme="dark"] .editor-main,
html[data-theme="dark"] .editor-body,
html[data-theme="dark"] .editor-tools,
html[data-theme="dark"] .editor-panel,
html[data-theme="dark"] .editor-panel-head {
    border-color: var(--color-border);
    background: #111827;
    color: var(--color-text-primary);
}

html[data-theme="dark"] .toolbar-group,
html[data-theme="dark"] .toolbar-group-status,
html[data-theme="dark"] .editor-live-context,
html[data-theme="dark"] .editor-live-status .status-chip {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .editor-tool-button,
html[data-theme="dark"] .editor-selection-bar-btn {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .editor-tool-button .tool-shortcut,
html[data-theme="dark"] button.secondary .editor-key-hint kbd {
    border-color: var(--color-border-strong);
    background: var(--color-bg-muted);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .editor-panel-block h4,
html[data-theme="dark"] .editor-panel-head h3,
html[data-theme="dark"] .editor-info {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .editor-recent-label {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .editor-recent-colors-list .palette-color,
html[data-theme="dark"] .editor-palette-list .palette-color,
html[data-theme="dark"] .editor-legend-list .legend-item {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .editor-recent-colors-list .palette-color:hover,
html[data-theme="dark"] .editor-palette-list .palette-color:hover,
html[data-theme="dark"] .editor-legend-list .legend-item:hover {
    background: #475569;
    color: #f1f5f9;
}

html[data-theme="dark"] .editor-legend-list .legend-item.active {
    border-color: #f59e0b;
    background: rgba(146, 64, 14, 0.25);
}

html[data-theme="dark"] .editor-mobile-hint {
    border-color: #92400e;
    background: rgba(146, 64, 14, 0.25);
    color: #fcd34d;
}

html[data-theme="dark"] .editor-toolbar-accent {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] .editor-live-context.is-select {
    border-color: rgba(59, 130, 246, 0.5);
    background: rgba(37, 99, 235, 0.18);
    color: #93c5fd;
}

html[data-theme="dark"] .editor-live-status .status-chip-value {
    color: #f1f5f9;
}

html[data-theme="dark"] .editor-live-status.dirty .status-chip-save {
    border-color: #f59e0b;
    background: rgba(146, 64, 14, 0.3);
    color: #fcd34d;
}

/* —— 分享 / 导出 / 对话框 —— */
html[data-theme="dark"] .share-modal-card,
html[data-theme="dark"] .share-toggle-card,
html[data-theme="dark"] .share-result,
html[data-theme="dark"] .share-summary-item,
html[data-theme="dark"] .share-legend-item,
html[data-theme="dark"] .export-settings,
html[data-theme="dark"] .export-option-block,
html[data-theme="dark"] .export-advanced,
html[data-theme="dark"] .export-pdf-options,
html[data-theme="dark"] .export-png-options,
html[data-theme="dark"] .export-result,
html[data-theme="dark"] .export-preview-panel {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .share-page-canvas-wrap {
    border-color: var(--color-border);
    background: #0f172a;
}

html[data-theme="dark"] .share-password-state.is-locked {
    border-color: rgba(245, 158, 11, 0.4);
    background: rgba(146, 64, 14, 0.2);
    color: #fcd34d;
}

html[data-theme="dark"] .export-preview-tag {
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

/* —— 登录 / 设置残留浅色 —— */
html[data-theme="dark"] .auth-brand {
    border-color: var(--color-border);
    background: linear-gradient(rgba(30, 41, 59, 0.92), rgba(30, 41, 59, 0.92)), linear-gradient(90deg, rgba(51, 65, 85, 0.35) 1px, transparent 1px), linear-gradient(rgba(51, 65, 85, 0.35) 1px, transparent 1px);
}

html[data-theme="dark"] .auth-wizard-step-dot {
    border-color: var(--color-border-strong);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .auth-register-benefits,
html[data-theme="dark"] .register-security-mode,
html[data-theme="dark"] .register-step-actions,
html[data-theme="dark"] .forgot-security-question {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .register-security-card-icon {
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .password-eye-btn:hover {
    background: var(--color-bg-muted);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .mobile-my-sheet-card,
html[data-theme="dark"] .onboarding-banner span,
html[data-theme="dark"] .settings-mobile-profile-main strong {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .mobile-my-sheet-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .mobile-my-sheet-head strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .mobile-my-sheet-role {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .settings-mobile-profile {
    border-color: var(--color-border);
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
}

html[data-theme="dark"] .settings-account-aside,
html[data-theme="dark"] .upload-drop-zone {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .mobile-step-tab {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .mobile-bottom-item.active {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] #paletteView .palette-page-message {
    background: var(--color-bg-surface);
    border-color: var(--color-border);
    color: var(--color-text-primary);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .admin-status-chip strong {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .admin-status-chip:hover {
    border-color: var(--color-border-strong);
    background: #475569;
    color: #f1f5f9;
}

html[data-theme="dark"] .admin-status-chip.active {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] .admin-status-chip.active strong {
    color: #93c5fd;
}

html[data-theme="dark"] .admin-stat-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
}

html[data-theme="dark"] .admin-stat-card span {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-stat-card strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .admin-stat-card small {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .admin-storage-action,
html[data-theme="dark"] .admin-storage-types,
html[data-theme="dark"] .admin-storage-orphan-block {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .admin-storage-action-copy strong,
html[data-theme="dark"] .admin-storage-types h4,
html[data-theme="dark"] .admin-storage-orphan-block h4,
html[data-theme="dark"] .admin-storage-type strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .admin-storage-action-copy p,
html[data-theme="dark"] .admin-storage-types .hint {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .admin-storage-action-copy span,
html[data-theme="dark"] .admin-storage-type-name {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-storage-type {
    border-bottom-color: var(--color-border);
}

html[data-theme="dark"] .admin-storage-days-field {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .admin-storage-days-field input {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .pattern-legend-fold,
html[data-theme="dark"] .upload-pending,
html[data-theme="dark"] .settings-shares-summary-item {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .settings-shares-summary-item span {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .settings-shares-summary-item strong {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .tpl-name {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .tpl-desc {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .tpl-tag {
    background: var(--color-bg-muted);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .tpl-thumb {
    background: #0f172a;
}

html[data-theme="dark"] button.tpl-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] button.tpl-card:hover {
    border-color: #475569;
    background: var(--color-bg-muted);
}

html[data-theme="dark"] button.tpl-card.is-active {
    border-color: #2563eb;
    background: rgba(37, 99, 235, 0.16);
}

html[data-theme="dark"] .workspace-flow-chip {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .workspace-flow-chip em {
    background: #334155;
    color: #cbd5e1;
}

html[data-theme="dark"] .workspace-flow-chip.is-active {
    border-color: #1d4ed8;
    background: rgba(37, 99, 235, 0.18);
    color: #93c5fd;
}

html[data-theme="dark"] .workspace-flow-chip.is-active em {
    background: #2563eb;
    color: #ffffff;
}

html[data-theme="dark"] .settings-stat-link:hover,
html[data-theme="dark"] .settings-stat-link:focus-visible {
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .pattern-legend-fold-title {
    color: var(--color-text-primary);
}

html[data-theme="dark"] .list-row {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] .color-swatch {
    border-color: var(--color-border-strong);
}

/* v2补漏：管理色卡文字 / 项目ID权重 / 编辑器专注模式 / 项目详情白块 */
html[data-theme="dark"] .color-card-main,
html[data-theme="dark"] .color-card-main:hover,
html[data-theme="dark"] .color-card-main:focus,
html[data-theme="dark"] .color-card-main:active {
    color: var(--color-text-primary);
    background: transparent;
}

html[data-theme="dark"] .color-card-info strong {
    color: #f1f5f9;
}

html[data-theme="dark"] .color-card-name {
    color: var(--color-text-secondary);
}

html[data-theme="dark"] .color-card-info code {
    color: var(--color-text-muted);
}

html[data-theme="dark"] #projectView .project-card {
    border-color: var(--color-border);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
}

html[data-theme="dark"] #projectView .project-card:hover {
    border-color: #60a5fa;
}

html[data-theme="dark"] #projectView .project-card.active {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.18);
}

html[data-theme="dark"] #projectView .project-card:has(.project-select:checked) {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, 0.12);
}

html[data-theme="dark"] #projectView .project-card.project-recycle-card:hover {
    border-color: var(--color-border-strong);
    background: var(--color-bg-muted);
}

html[data-theme="dark"] #projectView .project-card-title {
    color: #f1f5f9;
}

html[data-theme="dark"] #projectView .project-card-metric {
    color: var(--color-text-muted);
}

html[data-theme="dark"] #projectView .project-card-updated {
    color: var(--color-text-muted);
}

html[data-theme="dark"] #projectView .project-card-thumb {
    border-color: var(--color-border);
}

html[data-theme="dark"] .project-detail-media,
html[data-theme="dark"] .source-preview img {
    border-color: var(--color-border);
    background: var(--color-bg-muted);
}

html[data-theme="dark"] .project-share-badge {
    border-color: #166534;
    background: rgba(22, 101, 52, 0.3);
    color: #86efac;
}

html[data-theme="dark"] .app-shell.editor-focus .content,
html[data-theme="dark"] .app-shell.editor-focus .editor-view:not(.hidden) {
    background: #0f172a;
}

html[data-theme="dark"] .editor-view.mobile-simulated-landscape {
    background: #0f172a;
}

html[data-theme="dark"] .editor-canvas-wrap {
    border-color: var(--color-border);
    background: #0f172a;
}

/* ������ǩ��δѡ�б���ɶ� */
html[data-theme="dark"] button.community-tab,
html[data-theme="dark"] .community-tab {
    color: var(--color-text-primary);
    background: var(--color-bg-surface);
    border-color: var(--color-border-strong);
}
html[data-theme="dark"] button.community-tab:hover:not(.active),
html[data-theme="dark"] .community-tab:hover:not(.active) {
    background: var(--color-bg-muted);
    color: var(--color-text-primary);
}
html[data-theme="dark"] button.community-tab.active,
html[data-theme="dark"] .community-tab.active {
    background: var(--color-primary);
    color: #fff;
    border-color: transparent;
}
html[data-theme="dark"] .community-card {
    background: var(--color-bg-surface);
    border-color: var(--color-border);
}
html[data-theme="dark"] .community-topic-card,
html[data-theme="dark"] .community-ranking,
html[data-theme="dark"] .community-notice-list,
html[data-theme="dark"] .community-profile-head {
    background: var(--color-bg-surface);
    border-color: var(--color-border);
}
html[data-theme="dark"] .community-rank-row:hover,
html[data-theme="dark"] .community-notice:hover {
    background: var(--color-bg-muted);
}
html[data-theme="dark"] .community-notice.is-unread {
    background: var(--color-bg-muted);
}
html[data-theme="dark"] .community-chip {
    background: var(--color-bg-muted);
    border-color: var(--color-border);
    color: var(--color-text-secondary);
}
html[data-theme="dark"] .community-subtabs {
    background: var(--color-bg-muted);
    border-color: var(--color-border);
}
html[data-theme="dark"] .community-tag.is-showcase {
    background: #312e81;
    color: #c7d2fe;
}
html[data-theme="dark"] .linkish {
    color: var(--color-link);
}
