/* 定义全局变量 */ :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"] { --sidebar-background-color: #1f2937; --header-background-color: #111827; --content-background-color: #111827; --chat-container-bg: #111827; --chat-sender-bg: #1f2937; --chat-bubble-ai-bg: #374151; --text-color-primary: #f9fafb; --text-color-secondary: #e5e7eb; --text-color-tertiary: #9ca3af; --bg-color-primary: #111827; --bg-color-secondary: #1f2937; --bg-color-tertiary: #374151; --border-color-light: #374151; --border-color-default: #4b5563; --border-color-dark: #6b7280; } /* ========== 响应式断点 ========== */ @media (max-width: 768px) { :root { --content-padding: 12px; --container-padding: 12px; --sidebar-default-width: 100%; --sidebar-collapsed-width: 0px; } }