/* ============================================================
   主题 token 唯一权威来源（浅色 / 深色）
   页面与登录页统一引用本文件；所有组件只使用 var(--*)，
   不允许在组件样式中硬编码色值。
   ============================================================ */

:root,
[data-theme="light"] {
  /* 基础纸张 */
  --bg: #FAF7F3;
  --bg-elevated: #FFFFFF;
  --bg-hover: #F5F0E8;
  --bg-active: #EDE7DD;

  /* 面板与卡片 */
  --panel: #FFFFFF;
  --panel-border: #E8E0D5;
  --panel-border-hover: #DDD2C0;

  /* 文字 */
  --text: #1A1A18;
  --text-secondary: #6B6573;
  --text-tertiary: #9A9590;
  --subtext: #6B6573;

  /* 强调 - 陶土 */
  --accent-from: #D97757;
  --accent-to: #C96442;
  --accent: #C96442;
  --accent-hover: #B25334;
  --accent-active: #9E4A2E;
  --accent-glow: rgba(201, 100, 66, 0.14);
  --accent-soft-bg: #FFF0EB;
  --accent-soft-border: #E8B7A8;
  --accent-soft-text: #8A3326;

  /* 成功 - 鼠尾草 */
  --success-from: #6B7C6E;
  --success-to: #5A6E5D;
  --success: #5A6E5D;
  --success-glow: rgba(90, 110, 93, 0.15);
  --success-soft-bg: #EEF4EC;
  --success-soft-border: #C8D8C6;
  --success-soft-text: #3E5A42;

  --danger: #B9382A;
  --danger-glow: rgba(185, 56, 42, 0.12);
  --danger-soft-bg: #FFF5F2;
  --danger-soft-border: #EBD0C8;
  --danger-soft-border-hover: #E8B7A8;
  --danger-soft-bg-hover: #FBE8E2;
  --danger-soft-text: #8A3326;

  --warning: #A67C2E;
  --warning-glow: rgba(166, 124, 46, 0.12);

  --border: #E8E0D5;

  /* 滚动条 */
  --scrollbar-track: transparent;
  --scrollbar-thumb: #DDD2C0;
  --scrollbar-thumb-hover: #C9BFB0;

  /* 阴影 */
  --shadow-sm: 0 1px 2px rgba(28, 20, 12, 0.06);
  --shadow-md: 0 4px 12px rgba(28, 20, 12, 0.07);
  --shadow-lg: 0 12px 32px rgba(28, 20, 12, 0.10);
  --glow-accent: 0 0 0 rgba(0, 0, 0, 0);
  --glow-success: 0 0 0 rgba(0, 0, 0, 0);
  --glow-danger: 0 0 0 rgba(0, 0, 0, 0);

  /* 遮罩 / 浮层 */
  --overlay-bg: rgba(26, 20, 16, 0.42);
  --backdrop-bg: rgba(3, 7, 12, 0.62);
  --sheet-bg: #FFFFFF;
  --sheet-handle-bg: #C9BFB0;
  --sheet-item-bg: rgba(28, 20, 12, 0.03);
  --menu-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);

  /* 边框弱化（内部分隔线） */
  --hairline: rgba(28, 20, 12, 0.10);
  --hairline-strong: rgba(28, 20, 12, 0.16);

  /* 状态色（浅色下用低饱和柔和） */
  --status-on-bg: #EEF4EC;
  --status-on-border: #C8D8C6;
  --status-on-text: #3E5A42;
  --status-off-bg: #FFF0EB;
  --status-off-border: #E8B7A8;
  --status-off-text: #8A3326;

  --focus-ring: #58a6ff;
  --spinner-border: rgba(88, 166, 255, 0.22);
  --spinner-top: #58a6ff;

  --transition-fast: 150ms cubic-bezier(0.2, 0, 0, 1);
  --transition-base: 220ms cubic-bezier(0.2, 0, 0, 1);
  --transition-slow: 320ms cubic-bezier(0.2, 0, 0, 1);
}

[data-theme="dark"] {
  /* 基础纸张 - 暖深色 */
  --bg: #201B17;
  --bg-elevated: #2A241E;
  --bg-hover: #322A23;
  --bg-active: #3A312A;

  /* 面板与卡片 */
  --panel: #2A241E;
  --panel-border: #453A30;
  --panel-border-hover: #5A4C3F;

  /* 文字 */
  --text: #EDE6DC;
  --text-secondary: #B4A898;
  --text-tertiary: #8A7F71;
  --subtext: #B4A898;

  /* 强调 - 陶土（深色下提亮） */
  --accent-from: #E08A6A;
  --accent-to: #D97757;
  --accent: #D97757;
  --accent-hover: #E08A6A;
  --accent-active: #EA9A7C;
  --accent-glow: rgba(217, 119, 87, 0.18);
  --accent-soft-bg: rgba(217, 119, 87, 0.12);
  --accent-soft-border: rgba(217, 119, 87, 0.35);
  --accent-soft-text: #F0B09A;

  /* 成功 - 鼠尾草 */
  --success-from: #8FA893;
  --success-to: #7D9A82;
  --success: #8FA893;
  --success-glow: rgba(143, 168, 147, 0.15);
  --success-soft-bg: rgba(143, 168, 147, 0.12);
  --success-soft-border: rgba(143, 168, 147, 0.32);
  --success-soft-text: #BFD3C3;

  --danger: #E57262;
  --danger-glow: rgba(229, 114, 98, 0.16);
  --danger-soft-bg: rgba(229, 114, 98, 0.12);
  --danger-soft-border: rgba(229, 114, 98, 0.35);
  --danger-soft-border-hover: rgba(229, 114, 98, 0.5);
  --danger-soft-bg-hover: rgba(229, 114, 98, 0.18);
  --danger-soft-text: #E57262;

  --warning: #D4A44B;
  --warning-glow: rgba(212, 164, 75, 0.16);

  --border: #453A30;

  /* 滚动条 */
  --scrollbar-track: transparent;
  --scrollbar-thumb: #4A4036;
  --scrollbar-thumb-hover: #5C5144;

  /* 阴影（深色下更重） */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.30);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.45);
  --glow-accent: 0 0 0 rgba(0, 0, 0, 0);
  --glow-success: 0 0 0 rgba(0, 0, 0, 0);
  --glow-danger: 0 0 0 rgba(0, 0, 0, 0);

  /* 遮罩 / 浮层 */
  --overlay-bg: rgba(0, 0, 0, 0.55);
  --backdrop-bg: rgba(0, 0, 0, 0.62);
  --sheet-bg: #2A241E;
  --sheet-handle-bg: #5C5144;
  --sheet-item-bg: rgba(255, 255, 255, 0.05);
  --menu-shadow: 0 16px 40px rgba(0, 0, 0, 0.6);

  /* 边框弱化 */
  --hairline: rgba(255, 255, 255, 0.10);
  --hairline-strong: rgba(255, 255, 255, 0.16);

  /* 状态色 */
  --status-on-bg: rgba(143, 168, 147, 0.14);
  --status-on-border: rgba(143, 168, 147, 0.4);
  --status-on-text: #BFD3C3;
  --status-off-bg: rgba(217, 119, 87, 0.14);
  --status-off-border: rgba(217, 119, 87, 0.4);
  --status-off-text: #F0B09A;

  --focus-ring: #E08A6A;
  --spinner-border: rgba(224, 138, 106, 0.25);
  --spinner-top: #E08A6A;

  --transition-fast: 150ms cubic-bezier(0.2, 0, 0, 1);
  --transition-base: 220ms cubic-bezier(0.2, 0, 0, 1);
  --transition-slow: 320ms cubic-bezier(0.2, 0, 0, 1);
}
