/* theme.css - 全站主题样式 - 优化字体颜色 */

/* 应用主题变量 */
body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* 通用字体颜色层次结构 */
/* 主要文字 - 最高对比度 */
.text-primary,
.heading-text,
.title-text,
.main-text {
  color: var(--text-primary) !important;
}

/* 次要文字 - 良好可读性 */
.text-secondary,
.subtitle-text,
.description-text,
.meta-text {
  color: var(--text-secondary) !important;
}

/* 提示文字 - 低对比度 */
.text-muted,
.hint-text,
.placeholder-text {
  color: var(--text-muted) !important;
}

/* 强调文字 - 突出显示 */
.text-emphasis,
.highlight-text,
.important-text {
  color: var(--text-emphasis) !important;
  font-weight: 600;
}

/* 全局使用滚动条样式 */
* {
  /* scrollbar-width: thin !important; */
  scrollbar-color: #7dd3fc rgba(255, 255, 255, 0.05) !important;
}

/* 特殊元素颜色适配 - 更精确地指定选择器 */
:root[data-theme="light"] .main-content h1,
:root[data-theme="light"] .main-content h2,
:root[data-theme="light"] .main-content h3,
:root[data-theme="light"] .main-content h4,
:root[data-theme="light"] .main-content h5,
:root[data-theme="light"] .main-content h6,
:root[data-theme="light"] .main-content p,
:root[data-theme="light"] .main-content span:not([class*="icon"]):not([class*="status"]),
:root[data-theme="light"] .main-content div:not([class*="card"]):not([class*="container"]),
:root[data-theme="light"] .main-content a:not(.btn),
:root[data-theme="light"] .main-content button:not(.btn),
:root[data-theme="light"] .main-content input,
:root[data-theme="light"] .main-content select,
:root[data-theme="light"] .main-content label,
:root[data-theme="light"] .main-content li,
:root[data-theme="light"] .main-content td,
:root[data-theme="light"] .main-content th {
  color: var(--text-primary);
}

/* 保留指定颜色的元素 */
:root[data-theme="light"] .btn-primary,
:root[data-theme="light"] .btn-success,
:root[data-theme="light"] .btn-warning,
:root[data-theme="light"] .btn-danger,
:root[data-theme="light"] .text-success,
:root[data-theme="light"] .text-warning,
:root[data-theme="light"] .text-danger {
  color: inherit;
}

/* 导航栏文字颜色 */
.nav-links a,
.logo-text,
.username,
.page-title {
  color: var(--text-primary);
}

/* 卡片和面板 */
.card,
.panel,
.sidebar,
.top-bar,
.box {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}

/* 表格和列表 */
table,
.list-item {
  color: var(--text-primary);
}

/* 按钮和交互元素 */
button:not(.btn-primary):not(.btn-danger),
input,
select {
  color: var(--text-primary);
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
}

/* 图标颜色 */
.icon,
.fas,
.far,
.fab {
  color: var(--text-primary);
}

/* 主题切换按钮特殊处理 */
#themeToggleBtn {
  color: var(--text-primary);
}

/* 确保图表文字可见 */
.chart text {
  fill: var(--text-primary);
}

/* 表格头部 */
th {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

/* 导航栏特殊处理 */
.navbar {
  background-color: var(--bg-secondary);
}

.navbar a {
  color: var(--text-primary);
}

/* 确保警告和错误信息始终可见 */
.error {
  color: #ff6b6b !important;
}

.warning {
  color: #ffd93d !important;
}

.success {
  color: #4cd964 !important;
}

/* 强制白色文本在浅色主题下变为深色 - 更精确的选择器 */
:root[data-theme="light"] .main-content [style*="color: white"],
:root[data-theme="light"] .main-content [style*="color:#fff"],
:root[data-theme="light"] .main-content [style*="color: #fff"],
:root[data-theme="light"] .main-content [style*="color:#ffffff"],
:root[data-theme="light"] .main-content [style*="color: #ffffff"] {
  color: var(--text-primary) !important;
}

/* 主题切换过渡动画 */
* {
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* AI助手页面特定样式 */
:root[data-theme="light"] .info-subtitle,
:root[data-theme="light"] .suggestion-title,
:root[data-theme="light"] .suggestion-description,
:root[data-theme="light"] .action-btn span,
:root[data-theme="light"] .faq-question span,
:root[data-theme="light"] .faq-answer,
:root[data-theme="light"] .history-title,
:root[data-theme="light"] .knowledge-section h4,
:root[data-theme="light"] .knowledge-section li {
  color: var(--text-primary) !important;
}

/* 确保浅色主题下文本为深色 */
.light-theme .info-subtitle,
.light-theme .chat-card,
.light-theme .suggestions-card,
.light-theme .actions-card,
.light-theme .faq-card,
.light-theme .history-card,
.light-theme .knowledge-card,
.light-theme .suggestion-title,
.light-theme .suggestion-description,
.light-theme .action-btn span,
.light-theme .faq-question span,
.light-theme .faq-answer,
.light-theme .history-title,
.light-theme .knowledge-section h4,
.light-theme .knowledge-section li {
  color: #333 !important;
}

/* 增强浅色主题下的文字对比度 - 覆盖所有可能的文字元素 */
.light-theme,
.light-theme *:not(.status-dot):not(.bar):not(.chart):not([class*="icon"]):not([class*="gradient"]):not(.stats-body):not(.stats-body *):not(.custom-label):not(.amap-overlay-text-container) {
  color: #1e293b !important;
}

/* 确保侧边栏在浅色主题下的所有文字都有足够对比度 */
.light-theme .sidebar,
.light-theme .sidebar *:not(.status-dot):not(.bar) {
  color: #1e293b !important;
}

/* 保留某些特殊颜色的元素 */
.light-theme .traffic-status.high,
.light-theme .traffic-status.medium,
.light-theme .traffic-status.normal,
.light-theme .btn-primary,
.light-theme .btn-success,
.light-theme .btn-danger,
.light-theme .error,
.light-theme .warning,
.light-theme .success {
  color: inherit !important;
}

/* 确保白色或浅色背景上的文字为深色 */
.light-theme .sidebar-nav li.active a {
  color: white !important;
  /* 激活状态的导航保持白色 */
}