/* themes.css - 主题样式 */

:root.theme-light {
  /* 主色调 */
  --primary: #4263EB;
  --primary-hover: #364FC7;
  --primary-light: #E5EAFF;
  
  /* 次级色调 */
  --secondary: #228BE6;
  --secondary-hover: #1971C2;
  --secondary-light: #E7F5FF;
  
  /* 中性色调 */
  --gray-50: #F8F9FA;
  --gray-100: #F1F3F5;
  --gray-200: #E9ECEF;
  --gray-300: #DEE2E6;
  --gray-400: #CED4DA;
  --gray-500: #ADB5BD;
  --gray-600: #868E96;
  --gray-700: #495057;
  --gray-800: #343A40;
  --gray-900: #212529;
  
  /* 背景和表面 */
  --background-light: var(--gray-50);
  --background-main: #FFFFFF;
  --surface-1: #FFFFFF;
  --surface-2: var(--gray-100);
  
  /* 文本颜色 */
  --text-primary: var(--gray-900);
  --text-secondary: var(--gray-700);
  --text-muted: var(--gray-600);
  --text-light: #FFFFFF;
}

:root.theme-dark {
  /* 主色调 */
  --primary: #5C7CFA;
  --primary-hover: #4C6EF5;
  --primary-light: rgba(92, 124, 250, 0.15);
  
  /* 次级色调 */
  --secondary: #339AF0;
  --secondary-hover: #228BE6;
  --secondary-light: rgba(51, 154, 240, 0.15);
  
  /* 中性色调 */
  --gray-50: #F8F9FA;
  --gray-100: #F1F3F5;
  --gray-200: #E9ECEF;
  --gray-300: #DEE2E6;
  --gray-400: #CED4DA;
  --gray-500: #ADB5BD;
  --gray-600: #868E96;
  --gray-700: #495057;
  --gray-800: #343A40;
  --gray-900: #212529;
  
  /* 背景和表面 */
  --background-light: #1E1E1E;
  --background-main: #252525;
  --surface-1: #2D2D2D;
  --surface-2: #383838;
  
  /* 文本颜色 */
  --text-primary: #E9ECEF;
  --text-secondary: #CED4DA;
  --text-muted: #ADB5BD;
  --text-light: #F8F9FA;
  
  /* 边框 */
  --border-color: #444444;
  --border-color-light: #333333;
  
  /* 功能色调整 */
  --success: #51CF66;
  --warning: #FFD43B;
  --error: #FF6B6B;
  
  /* 接地相关 */
  --grounding-bg: rgba(92, 124, 250, 0.1);
  --grounding-border: rgba(92, 124, 250, 0.25);
}

:root.theme-high-contrast {
  /* 高对比度主题 */
  --primary: #0050FF;
  --primary-hover: #0040CC;
  --primary-light: rgba(0, 80, 255, 0.2);
  
  /* 次级色调 */
  --secondary: #0070CC;
  --secondary-hover: #0060AA;
  --secondary-light: rgba(0, 112, 204, 0.2);
  
  /* 背景和表面 */
  --background-light: #FFFFFF;
  --background-main: #FFFFFF;
  --surface-1: #FFFFFF;
  --surface-2: #F0F0F0;
  
  /* 文本颜色 */
  --text-primary: #000000;
  --text-secondary: #333333;
  --text-muted: #666666;
  --text-light: #FFFFFF;
  
  /* 边框 */
  --border-color: #000000;
  --border-color-light: #666666;
  
  /* 功能色 */
  --success: #008000;
  --warning: #FF8000;
  --error: #FF0000;
  
  /* 其他调整 */
  --box-shadow-sm: 0 1px 3px rgba(0,0,0,0.2);
  --box-shadow-md: 0 4px 8px rgba(0,0,0,0.25);
  --box-shadow-lg: 0 10px 20px rgba(0,0,0,0.3);
}

/* 字体大小主题 */
:root.font-size-small {
  font-size: 14px;
}

:root.font-size-medium {
  font-size: 16px;
}

:root.font-size-large {
  font-size: 18px;
}

:root.font-size-extra-large {
  font-size: 20px;
}

/* 可打印样式 */
@media print {
  body {
    background-color: white;
    color: black;
    padding: 0;
    margin: 0;
  }
  
  .container {
    display: block;
    height: auto;
    max-height: none;
    box-shadow: none;
  }
  
  .sidebar {
    display: none;
  }
  
  .main {
    width: 100%;
    border: none;
    box-shadow: none;
    overflow: visible;
  }
  
  .chat-container {
    height: auto;
    overflow: visible;
  }
  
  .chat-input-container {
    display: none;
  }
  
  .user-message .message-content,
  .model-message .message-content {
    box-shadow: none;
    border: 1px solid #ccc;
    page-break-inside: avoid;
    background-color: white;
    color: black;
  }
  
  .user-message .message-content {
    border-color: #4263EB;
    color: black;
  }
  
  .message-toolbar {
    display: none;
  }
  
  .grounding-info {
    border: 1px solid #ccc;
    page-break-inside: avoid;
  }
}

/* 动画速度偏好设置 */
:root.reduce-motion {
  --transition-fast: 0s;
  --transition-normal: 0s;
}

:root.reduce-motion * {
  animation-duration: 0.001s !important;
  transition-duration: 0.001s !important;
}