/* ============================================
   主题系统 - Theme System
   ============================================ */

/* ========== 默认主题变量 (后备值，在 data-theme 设置前生效) ========== */
:root {
  /* 背景色 */
  --color-bg-primary: #1a1a1f;
  --color-bg-secondary: #212127;
  --color-bg-card: #27272f;
  --color-bg-card-solid: #2d2d37;
  --color-bg-sidebar: linear-gradient(180deg, #212127 0%, #1a1a1f 100%);
  --color-bg-navbar: rgba(33, 33, 39, 0.85);
  --color-bg-input: #33333d;
  --color-bg-table-header: #212127;
  --color-bg-table-row-alt: rgba(60, 60, 70, 0.3);
  --color-bg-table-hover: rgba(2, 132, 199, 0.12);
  --color-bg-module-hover: rgba(2, 132, 199, 0.15);

  /* 文字色 */
  --color-text-primary: #f1f5f9;
  --color-text-secondary: #cbd5e1;
  --color-text-muted: #94a3b8;
  --color-sidebar-text: #f8fafc;
  --color-sidebar-text-muted: rgba(203, 213, 225, 0.85);
  --color-navbar-text: #e2e8f0;

  /* 边框色 */
  --color-border: rgba(71, 85, 105, 0.5);
  --color-border-light: rgba(71, 85, 105, 0.2);
  --color-border-lighter: rgba(148, 163, 184, 0.08);
  --color-border-subtle: rgba(148, 163, 184, 0.15);
  --color-sidebar-border: rgba(71, 85, 105, 0.4);

  /* 状态色 */
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;
  --color-accent: #8b5cf6;

  /* 阴影 */
  --color-shadow-soft: rgba(0, 0, 0, 0.04);

  /* 下拉菜单 */
  --color-sidebar-bg-dropdown: #27272f;

  /* 兼容旧变量名 */
  --bg-primary: var(--color-bg-primary);
  --bg-secondary: var(--color-bg-secondary);
  --bg-card: var(--color-bg-card);
  --bg-card-solid: var(--color-bg-card-solid);
  --bg-sidebar: var(--color-bg-sidebar);
  --bg-navbar: var(--color-bg-navbar);
  --bg-input: var(--color-bg-input);
  --bg-table-header: var(--color-bg-table-header);
  --bg-table-row-alt: var(--color-bg-table-row-alt);
  --bg-table-hover: var(--color-bg-table-hover);
  --bg-module-hover: var(--color-bg-module-hover);

  --text-primary: var(--color-text-primary);
  --text-secondary: var(--color-text-secondary);
  --text-muted: var(--color-text-muted);
  --sidebar-text: var(--color-sidebar-text);
  --sidebar-text-muted: var(--color-sidebar-text-muted);
  --sidebar-bg-dropdown: var(--color-sidebar-bg-dropdown);
  --navbar-text: var(--color-navbar-text);

  --border-color: var(--color-border);
  --border-light: var(--color-border-light);
  --sidebar-border: var(--color-sidebar-border);

  /* 主题特定补充变量 */
  --color-bg-tertiary: #1e293b;
  --color-bg-hover: #334155;

  /* 字体大小后备值 */
  --base-font-size: 14px;
}

/* ========== 浅色主题 - Light Theme ========== */
[data-theme="light"] {
  /* 背景色 */
  --color-bg-primary: #f1f0eb;
  --color-bg-secondary: #e8e6df;
  --color-bg-card: #fdfcfb;
  --color-bg-card-solid: #f8f7f5;
  --color-bg-sidebar: linear-gradient(180deg, #fdfcfb 0%, #f1f0eb 100%);
  --color-bg-navbar: rgba(253, 252, 251, 0.9);
  --color-bg-input: #edebe4;
  --color-bg-table-header: #ebe9e4;
  --color-bg-table-row-alt: rgba(120, 113, 108, 0.03);
  --color-bg-table-hover: rgba(14, 165, 233, 0.06);
  --color-bg-module-hover: rgba(14, 165, 233, 0.08);

  /* 文字色 */
  --color-text-primary: #0f172a;
  --color-text-secondary: #334155;
  --color-text-muted: #64748b;
  --color-sidebar-text: #1e293b;
  --color-sidebar-text-muted: rgba(51, 65, 85, 0.85);
  --color-navbar-text: #1e293b;

  /* 边框色 */
  --color-border: rgba(148, 163, 184, 0.25);
  --color-border-light: rgba(148, 163, 184, 0.12);
  --color-border-lighter: rgba(148, 163, 184, 0.06);
  --color-border-subtle: rgba(148, 163, 184, 0.1);
  --color-sidebar-border: rgba(148, 163, 184, 0.2);

  /* 状态色 */
  --color-success: #059669;
  --color-warning: #d97706;
  --color-error: #dc2626;
  --color-info: #2563eb;
  --color-accent: #7c3aed;

  /* 阴影 */
  --color-shadow-soft: rgba(0, 0, 0, 0.03);

  /* 下拉菜单 */
  --color-sidebar-bg-dropdown: #fdfcfb;

  /* ========== 兼容旧变量名 ========== */
  --bg-primary: var(--color-bg-primary);
  --bg-secondary: var(--color-bg-secondary);
  --bg-card: var(--color-bg-card);
  --bg-card-solid: var(--color-bg-card-solid);
  --bg-sidebar: var(--color-bg-sidebar);
  --bg-navbar: var(--color-bg-navbar);
  --bg-input: var(--color-bg-input);
  --bg-table-header: var(--color-bg-table-header);
  --bg-table-row-alt: var(--color-bg-table-row-alt);
  --bg-table-hover: var(--color-bg-table-hover);
  --bg-module-hover: var(--color-bg-module-hover);

  --text-primary: var(--color-text-primary);
  --text-secondary: var(--color-text-secondary);
  --text-muted: var(--color-text-muted);
  --sidebar-text: var(--color-sidebar-text);
  --sidebar-text-muted: var(--color-sidebar-text-muted);
  --sidebar-bg-dropdown: var(--color-sidebar-bg-dropdown);
  --navbar-text: var(--color-navbar-text);

  --border-color: var(--color-border);
  --border-light: var(--color-border-light);
  --sidebar-border: var(--color-sidebar-border);

  /* ========== 主题特定补充变量 ========== */
  --color-bg-tertiary: #f8fafc;
  --color-bg-hover: #f1f5f9;
}

/* ========== 深色主题 - Dark Theme ========== */
[data-theme="dark"] {
  /* 背景色 */
  --color-bg-primary: #1a1a1f;
  --color-bg-secondary: #212127;
  --color-bg-card: #27272f;
  --color-bg-card-solid: #2d2d37;
  --color-bg-sidebar: linear-gradient(180deg, #212127 0%, #1a1a1f 100%);
  --color-bg-navbar: rgba(33, 33, 39, 0.85);
  --color-bg-input: #33333d;
  --color-bg-table-header: #212127;
  --color-bg-table-row-alt: rgba(60, 60, 70, 0.3);
  --color-bg-table-hover: rgba(2, 132, 199, 0.12);
  --color-bg-module-hover: rgba(2, 132, 199, 0.15);

  /* 文字色 */
  --color-text-primary: #f1f5f9;
  --color-text-secondary: #cbd5e1;
  --color-text-muted: #94a3b8;
  --color-sidebar-text: #f8fafc;
  --color-sidebar-text-muted: rgba(203, 213, 225, 0.85);
  --color-navbar-text: #e2e8f0;

  /* 边框色 */
  --color-border: rgba(71, 85, 105, 0.5);
  --color-border-light: rgba(71, 85, 105, 0.2);
  --color-border-lighter: rgba(148, 163, 184, 0.08);
  --color-border-subtle: rgba(148, 163, 184, 0.15);
  --color-sidebar-border: rgba(71, 85, 105, 0.4);

  /* 状态色 */
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;
  --color-accent: #8b5cf6;

  /* 阴影 */
  --color-shadow-soft: rgba(0, 0, 0, 0.04);

  /* 下拉菜单 */
  --color-sidebar-bg-dropdown: #27272f;

  /* ========== 兼容旧变量名 ========== */
  --bg-primary: var(--color-bg-primary);
  --bg-secondary: var(--color-bg-secondary);
  --bg-card: var(--color-bg-card);
  --bg-card-solid: var(--color-bg-card-solid);
  --bg-sidebar: var(--color-bg-sidebar);
  --bg-navbar: var(--color-bg-navbar);
  --bg-input: var(--color-bg-input);
  --bg-table-header: var(--color-bg-table-header);
  --bg-table-row-alt: var(--color-bg-table-row-alt);
  --bg-table-hover: var(--color-bg-table-hover);
  --bg-module-hover: var(--color-bg-module-hover);

  --text-primary: var(--color-text-primary);
  --text-secondary: var(--color-text-secondary);
  --text-muted: var(--color-text-muted);
  --sidebar-text: var(--color-sidebar-text);
  --sidebar-text-muted: var(--color-sidebar-text-muted);
  --sidebar-bg-dropdown: var(--color-sidebar-bg-dropdown);
  --navbar-text: var(--color-navbar-text);

  --border-color: var(--color-border);
  --border-light: var(--color-border-light);
  --sidebar-border: var(--color-sidebar-border);

  /* ========== 主题特定补充变量 ========== */
  --color-bg-tertiary: #1e293b;
  --color-bg-hover: #334155;
}

/* ========== 系统主题跟随 ========== */
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    --color-bg-primary: #f1f0eb;
    --color-bg-secondary: #e8e6df;
    --color-bg-card: #fdfcfb;
    --color-bg-card-solid: #f8f7f5;
    --color-bg-sidebar: linear-gradient(180deg, #fdfcfb 0%, #f1f0eb 100%);
    --color-bg-navbar: rgba(253, 252, 251, 0.9);
    --color-bg-input: #edebe4;
    --color-bg-table-header: #ebe9e4;
    --color-bg-table-row-alt: rgba(120, 113, 108, 0.03);
    --color-bg-table-hover: rgba(14, 165, 233, 0.06);
    --color-bg-module-hover: rgba(14, 165, 233, 0.08);

    --color-text-primary: #0f172a;
    --color-text-secondary: #334155;
    --color-text-muted: #64748b;
    --color-sidebar-text: #1e293b;
    --color-sidebar-text-muted: rgba(51, 65, 85, 0.85);
    --color-navbar-text: #1e293b;

    --color-border: rgba(148, 163, 184, 0.25);
    --color-border-light: rgba(148, 163, 184, 0.12);
    --color-sidebar-border: rgba(148, 163, 184, 0.2);

    --color-sidebar-bg-dropdown: #fdfcfb;

    /* ========== 主题特定补充变量 ========== */
    --color-bg-tertiary: #f8fafc;
    --color-bg-hover: #f1f5f9;
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-bg-primary: #1a1a1f;
    --color-bg-secondary: #212127;
    --color-bg-card: #27272f;
    --color-bg-card-solid: #2d2d37;
    --color-bg-sidebar: linear-gradient(180deg, #212127 0%, #1a1a1f 100%);
    --color-bg-navbar: rgba(33, 33, 39, 0.85);
    --color-bg-input: #33333d;
    --color-bg-table-header: #212127;
    --color-bg-table-row-alt: rgba(60, 60, 70, 0.3);
    --color-bg-table-hover: rgba(2, 132, 199, 0.12);
    --color-bg-module-hover: rgba(2, 132, 199, 0.15);

    --color-text-primary: #f1f5f9;
    --color-text-secondary: #cbd5e1;
    --color-text-muted: #94a3b8;
    --color-sidebar-text: #f8fafc;
    --color-sidebar-text-muted: rgba(203, 213, 225, 0.85);
    --color-navbar-text: #e2e8f0;

    --color-border: rgba(71, 85, 105, 0.5);
    --color-border-light: rgba(71, 85, 105, 0.2);
    --color-sidebar-border: rgba(71, 85, 105, 0.4);

    --color-sidebar-bg-dropdown: #27272f;

    /* ========== 主题特定补充变量 ========== */
    --color-bg-tertiary: #1e293b;
    --color-bg-hover: #334155;
  }
}
