/* ============================================================
   base.css — 设计变量、重置、基础排版
   现代 AI 对话软件风格 · 医疗教育主题
   ============================================================ */

:root {
  /* 主题色 */
  --color-primary: #2563eb;
  --color-primary-dark: #1d4ed8;
  --color-primary-soft: #eff4ff;
  --color-accent: #0ea5a4;
  --color-accent-soft: #e6faf9;

  /* 语义色 */
  --color-success: #16a34a;
  --color-success-soft: #e8f7ed;
  --color-warning: #f59e0b;
  --color-warning-soft: #fef4e2;
  --color-danger: #dc2626;
  --color-danger-soft: #fdeaea;
  --color-info: #6366f1;
  --color-info-soft: #eef0fe;

  /* 中性色 —— 浅色主题 */
  --bg-page: #f5f7fb;
  --bg-card: #ffffff;
  --bg-sidebar: #0f172a;
  --bg-sidebar-hover: #1e293b;
  --bg-input: #f1f5f9;
  --bg-bubble-user: #2563eb;
  --bg-bubble-bot: #ffffff;

  --text-strong: #0f172a;
  --text-base: #334155;
  --text-muted: #64748b;
  --text-faint: #94a3b8;
  --text-on-dark: #e2e8f0;
  --text-on-dark-muted: #94a3b8;

  --border: #e2e8f0;
  --border-strong: #cbd5e1;

  /* 圆角 */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius-pill: 999px;

  /* 阴影 */
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 4px 16px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 12px 40px rgba(15, 23, 42, 0.12);

  /* 间距 */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;

  /* 布局尺寸 */
  --sidebar-width: 248px;
  --topbar-height: 60px;
  --max-content: 1080px;

  /* 字体 */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-sans);
  background: var(--bg-page);
  color: var(--text-base);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden; /* 禁止横向滚动 */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  color: var(--text-strong);
  font-weight: 650;
  line-height: 1.3;
}

p {
  margin: 0 0 var(--space-3);
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button {
  font-family: inherit;
}

img {
  max-width: 100%;
  display: block;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

textarea,
input,
select {
  font-family: inherit;
  font-size: 15px;
  color: var(--text-base);
}

code,
pre {
  font-family: var(--font-mono);
}

::selection {
  background: var(--color-primary-soft);
}

/* 滚动条 */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: var(--radius-pill);
  border: 2px solid transparent;
  background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--text-faint);
  background-clip: content-box;
}
