/* ===== 卢慧数字人 — 基础变量 & 重置 ===== */
/* 设计方向：编辑/杂志风 — 暖色暗底，金棕强调，不像AI做的 */

@import url('https://fonts.googleapis.com/css2?family=ZCOOL+XiaoWei&family=Noto+Serif+SC:wght@400;600;700&family=DM+Mono:wght@400;500&display=swap');

:root {
  --bg: #0f0e0c;
  --surface: rgba(255, 255, 255, 0.025);
  --surface2: rgba(255, 255, 255, 0.04);
  --border: rgba(255, 255, 255, 0.07);
  --border2: rgba(255, 255, 255, 0.11);

  --text: #e6ddd0;
  --text-secondary: rgba(230, 221, 208, 0.58);
  --text-tertiary: rgba(230, 221, 208, 0.35);

  --accent: #c9a96e;
  --accent-hover: #d4b87a;
  --accent-soft: rgba(201, 169, 110, 0.1);
  --accent-glow: rgba(201, 169, 110, 0.18);

  --rose: #c47a5c;
  --rose-soft: rgba(196, 122, 92, 0.12);

  --green: #7a9c6b;
  --red: #c4665a;

  --font-display: 'ZCOOL XiaoWei', 'STKaiti', 'KaiTi', '楷体', serif;
  --font-body: 'Noto Serif SC', 'STSong', 'SimSun', '宋体', 'Georgia', serif;
  --font-mono: 'DM Mono', 'SF Mono', 'Consolas', monospace;

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

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

html, body {
  height: 100%;
  overflow: hidden;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.01em;
}

/* 暖色渐变背景 — 不像AI的紫蓝渐变 */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 45% at 20% 15%, rgba(196, 122, 92, 0.08) 0%, transparent 65%),
    radial-gradient(ellipse 50% 55% at 75% 80%, rgba(201, 169, 110, 0.06) 0%, transparent 65%),
    radial-gradient(ellipse 60% 35% at 50% 50%, rgba(180, 150, 120, 0.03) 0%, transparent 60%);
  animation: bgShift 30s ease-in-out infinite alternate;
}

@keyframes bgShift {
  0% { opacity: 1; filter: saturate(0.8); }
  50% { opacity: 0.7; filter: saturate(1.2); }
  100% { opacity: 1; filter: saturate(0.9); }
}

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

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.06); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.12); }

* { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,0.06) transparent; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

@media (prefers-reduced-motion: reduce) {
  body::before { animation: none !important; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
