/* 定义全局变量 */
:root {

  /* ========== 颜色系统 ========== */
  /* 主色调 */
  --color-primary: #3b82f6;
  --color-primary-light: #60a5fa;
  --color-primary-lighter: #93c5fd;
  --color-primary-dark: #2563eb;
  --color-primary-darker: #1d4ed8;

  /* 辅助色 */
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;
  --color-info: #6b7280;

  /* 中性色 */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;

  /* ========== 头部区域 ========== */
  --header-container-default-height: 60px;
  --header-background-color: #ffffff;
  --header-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  --header-text-color: #191919;
  --header-icon-color: #666666;
  --header-border: 1px solid var(--color-gray-300);

  /* ========== 侧边栏区域 ========== */
  --sidebar-background-color: #f3f4f6;
  --sidebar-default-width: 240px;
  --sidebar-collapsed-width: 64px;
  --sidebar-active-bg-color: #e5e7eb;
  --sidebar-active-text-color: #111827;
  --sidebar-hover-bg-color: #e5e7eb;
  --sidebar-text-color: #374151;
  --sidebar-icon-color: #6b7280;
  --sidebar-border-color: rgba(0, 0, 0, 0.08);

  /* ========== 主要内容区域 ========== */
  --content-background-color: #ffffff;
  --content-padding: 20px;
  --content-max-width: 1200px;

  /* ========== 聊天区域 ========== */
  --chat-container-bg: #ffffff;
  --chat-sender-bg: #ffffff;
  --chat-sender-border: 1px solid #e5e7eb;
  --chat-bubble-user-bg: #3b82f6;
  --chat-bubble-user-text: #ffffff;
  --chat-bubble-ai-bg: #f3f4f6;
  --chat-bubble-ai-text: #374151;
  --chat-typing-indicator-color: #9ca3af;

  /* ========== 登录弹框 ========== */
  --login-dialog-width: 738px;
  --login-dialog-height: 416px;
  --login-dialog-padding: 0px;
  --login-dialog-section-padding: 0px;
  --login-dialog-border-radius: 24px;
  --login-dialog-mode-toggle-color: #409eff;
  --login-dialog-logo-background: #ffffff;
  --login-dialog-logo-text-color: #191919;
  --login-dialog-form-bg: #ffffff;
  --login-dialog-form-padding: 40px;
  --login-dialog-input-border: 1px solid #e5e7eb;
  --login-dialog-input-focus-border: 1px solid #3b82f6;


  /* 文字颜色 */
  --text-color-primary: #111827;
  --text-color-secondary: #374151;
  --text-color-tertiary: #6b7280;
  --text-color-placeholder: #9ca3af;
  --text-color-disabled: #d1d5db;
  --text-color-inverse: #ffffff;

  /* 背景颜色 */
  --bg-color-primary: #ffffff;
  --bg-color-secondary: #f9fafb;
  --bg-color-tertiary: #f3f4f6;
  --bg-color-overlay: rgba(0, 0, 0, 0.5);
  --bg-color-mask: rgba(0, 0, 0, 0.45);

  /* ========== 间距系统 ========== */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 20px;
  --spacing-2xl: 24px;
  --spacing-3xl: 32px;
  --spacing-4xl: 40px;
  --spacing-5xl: 48px;
  --spacing-6xl: 64px;

  /* ========== 边框 ========== */
  --border-radius-none: 0px;
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-2xl: 24px;
  --border-radius-full: 9999px;

  --border-width-thin: 1px;
  --border-width-thick: 2px;

  --border-color-light: #e5e7eb;
  --border-color-default: #d1d5db;
  --border-color-dark: #9ca3af;

  /* ========== 阴影系统 ========== */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

  /* ========== 字体系统 ========== */
  --font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-mono: 'SF Mono', Monaco, 'Cascadia Mono', 'Segoe UI Mono', 'Roboto Mono', monospace;

  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;
  --font-size-4xl: 36px;
  --font-size-5xl: 48px;

  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;

  /* ========== 动效 ========== */
  --transition-fast: 150ms;
  --transition-normal: 250ms;
  --transition-slow: 350ms;
  --transition-very-slow: 500ms;

  --transition-timing-linear: cubic-bezier(0, 0, 1, 1);
  --transition-timing-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-timing-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --transition-timing-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --transition-timing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

  /* ========== Z-index 层级 ========== */
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-fixed: 1030;
  --z-index-modal-backdrop: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;
  --z-index-toast: 1080;
  --z-index-max: 9999;

  /* ========== 其他 ========== */
  --container-max-width: 1200px;
  --container-padding: 16px;

  --input-height: 40px;
  --input-padding: 12px;
  --button-height: 40px;
  --button-padding: 12px 24px;

  /* ========== 覆盖 element-plus 样式 ========== */
  --el-border-radius-base: 12px !important;
  --el-messagebox-border-radius: 16px !important;
  --el-color-primary: var(--color-primary) !important;
  --el-color-success: var(--color-success) !important;
  --el-color-warning: var(--color-warning) !important;
  --el-color-danger: var(--color-danger) !important;
  //--el-color-info: var(--color-info) !important;
  --el-font-size-base: var(--font-size-base) !important;
  --el-font-family: var(--font-family-sans) !important;

  /* Element Plus 组件特定变量 */
  --el-menu-item-height: 48px;
  //--el-menu-bg-color: var(--sidebar-background-color);
  //--el-menu-text-color: var(--text-color-secondary);
  --el-menu-active-color: var(--color-primary);
  //--el-menu-hover-bg-color: var(--color-gray-100);

  /* 表单相关 */
  --el-form-label-font-size: var(--font-size-sm);
  --el-input-height: var(--input-height);
  --el-input-border-color: var(--border-color-light);
  --el-input-hover-border-color: var(--color-primary-light);
  --el-input-focus-border-color: var(--color-primary);

  /* 按钮相关 */
  --el-button-border-radius-base: var(--border-radius-md);
  --el-button-hover-bg-color: var(--color-primary-dark);
  --el-button-active-bg-color: var(--color-primary-darker);
}

/* ========== 暗色模式变量 ========== */
[data-theme="dark"] {
  /* ========== 颜色系统 ========== */
  /* 主色调 - 绿色系 */
  --color-primary: #00ff88;
  --color-primary-light: #00d36e;
  --color-primary-lighter: #00ff88;
  --color-primary-dark: #00c060;
  --color-primary-darker: #00a850;

  /* 辅助色 */
  --color-success: #00d36e;
  --color-warning: #fbbf24;
  --color-danger: #f87171;
  --color-info: #9ca3af;

  /* 中性色 */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-50: #111827;
  --color-gray-100: #1f2937;
  --color-gray-200: #374151;
  --color-gray-300: #4b5563;
  --color-gray-400: #6b7280;
  --color-gray-500: #9ca3af;
  --color-gray-600: #d1d5db;
  --color-gray-700: #e5e7eb;
  --color-gray-800: #f3f4f6;
  --color-gray-900: #f9fafb;

  /* ========== 头部区域 ========== */
  --header-background-color: rgba(10, 10, 10, 0.9);
  --header-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  --header-text-color: #ffffff;
  --header-icon-color: #9ca3af;
  --header-border: 1px solid rgba(0, 255, 136, 0.1);

  /* ========== 侧边栏区域 ========== */
  --sidebar-background-color: #04080b;
  --sidebar-active-bg-color: rgba(0, 255, 136, 0.15);
  --sidebar-active-text-color: #00ff88;
  --sidebar-hover-bg-color: rgba(0, 255, 136, 0.08);
  --sidebar-text-color: #a0a0a0;
  --sidebar-icon-color: #9ca3af;
  --sidebar-border-color: rgba(0, 255, 136, 0.15);

  /* ========== 主要内容区域 ========== */
  --content-background-color: transparent;

  /* ========== 聊天区域 ========== */
  --chat-container-bg: transparent;
  --chat-sender-bg: #04080b;
  --chat-sender-border: 1px solid rgba(0, 255, 136, 0.2);
  --chat-bubble-user-bg: #00d36e;
  --chat-bubble-user-text: #000000;
  --chat-bubble-ai-bg: #04080b;
  --chat-bubble-ai-text: #a0a0a0;
  --chat-typing-indicator-color: #666;

  /* ========== 登录弹框 ========== */
  --login-dialog-logo-background: #1f2937;
  --login-dialog-logo-text-color: #f3f4f6;
  --login-dialog-form-bg: #1f2937;
  --login-dialog-input-border: 1px solid #374151;
  --login-dialog-input-focus-border: 1px solid #60a5fa;

  /* 文字颜色 */
  --text-color-primary: #ffffff;
  --text-color-secondary: #a0a0a0;
  --text-color-tertiary: #666;
  --text-color-placeholder: #6b7280;
  --text-color-disabled: #4b5563;
  --text-color-inverse: #000000;

  /* 背景颜色 */
  --bg-color-primary: transparent;
  --bg-color-secondary: #04080b;
  --bg-color-tertiary: #0a0a0a;
  --bg-color-overlay: rgba(0, 0, 0, 0.8);
  --bg-color-mask: rgba(0, 0, 0, 0.7);

  /* ========== 边框 ========== */
  --border-color-light: rgba(0, 255, 136, 0.15);
  --border-color-default: rgba(0, 255, 136, 0.2);
  --border-color-dark: rgba(0, 255, 136, 0.3);

  /* ========== 阴影系统 ========== */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 10px 25px rgba(0, 255, 136, 0.3);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3);

  /* 脉冲动画（主要按钮） */
  --pulse-color: rgba(0, 255, 136, 0.4);
}

/* ========== 响应式断点 ========== */
@media (max-width: 768px) {
  :root {
    --content-padding: 12px;
    --container-padding: 12px;
    --sidebar-default-width: 100%;
    --sidebar-collapsed-width: 0px;
  }
}
