/* OpenHistory 设计令牌 —— 依据 docs/design/site-shell-v2.md。
   页面不得自行发明新色、新字号或新间距；需要新值时先在这里补充并复核对比度。
   色彩只有语义令牌一个来源：浅色为默认，html[data-theme="dark"] 提供深色覆盖。 */
:root {
  color-scheme: light;

  /* 色彩 */
  --color-bg: #F6F8F7;
  --color-surface: #FFFFFF;
  --color-ink: #172722;
  --color-ink-2: #52615C;
  --color-brand: #176A5B;
  --color-brand-hover: #105444;
  --color-accent: #A6533B;
  --color-line: #DCE5E1;
  --color-footer: #142925;
  --color-danger: #8C2F1F;    /* 危险操作与错误文字（AA） */
  --color-danger-bg: #FBEFEB;
  --color-ok-bg: #E8F3EF;
  --color-brand-soft: #E8F3EF;
  --color-on-brand: #FFFFFF;          /* 品牌底色上的文字与图标 */
  --color-header-bg: rgba(255, 255, 255, 0.97);
  --color-footer-ink: #C3D2CB;        /* 页脚正文与链接 */
  --color-footer-strong: #FFFFFF;     /* 页脚标题、悬停与品牌字标 */
  --color-footer-line: rgba(255, 255, 255, 0.17); /* 页脚内部分隔线（页脚两种主题下都是深底） */
  --color-tag-accent-bg: #F8EEE9;     /* 点睛标签底色 */
  --color-card-hover-line: #B6CEC4;   /* 卡片悬停边线 */
  --shadow-rgb: 20, 41, 37;           /* 阴影基色，配合 rgba(var(--shadow-rgb), alpha) */

  /* 字体 */
  --font-body: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-display: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;

  /* 字号（桌面 / 手机见 media queries） */
  --fs-hero: 48px;      /* 手机 34px */
  --fs-page-title: 40px;/* 手机 30px */
  --fs-section: 28px;    /* 手机 24px */
  --fs-card-title: 22px; /* 手机 20px */
  --fs-article: 18px;    /* 手机 17px */
  --fs-body: 16px;
  --fs-small: 14px;

  /* 行高 */
  --lh-tight: 1.25;
  --lh-heading: 1.35;
  --lh-body: 1.65;
  --lh-article: 1.85;

  /* 宽度 */
  --w-site: 1240px;
  --w-article: 720px;
  --w-narrow: 440px;     /* 登录/注册等窄表单 */
  --w-me-side: 220px;    /* 个人中心桌面侧栏 */
  --w-me-content: 760px; /* 个人中心内容栏 */

  /* 间距（4px 基准） */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-12: 48px;
  --sp-16: 64px;

  /* 页面左右留白：桌面 32 / 平板 24 / 手机 16 */
  --pad-x: 32px;

  /* 边线与圆角 */
  --radius: 10px;
  --radius-card: 14px;
  --border: 1px solid var(--color-line);

  /* 动效（遵循 prefers-reduced-motion） */
  --transition: 160ms ease;

  /* 焦点 */
  --focus-ring: 2px solid var(--color-accent);
}

/* 深色主题：仅覆盖色彩令牌，布局与字号不变。色值以正文对比度 ≥4.5:1 复核。 */
html[data-theme="dark"] {
  color-scheme: dark;
  --color-bg: #101614;
  --color-surface: #17221F;
  --color-ink: #E7EFEA;
  --color-ink-2: #B4C4BC;
  --color-brand: #63C5AD;
  --color-brand-hover: #8BD8C4;
  --color-accent: #F0A18D;
  --color-line: #33453E;
  --color-footer: #0B100E;
  --color-danger: #FFB4A8;
  --color-danger-bg: #3B1D19;
  --color-ok-bg: #143A31;
  --color-brand-soft: #173B32;
  --color-on-brand: #10211C;
  --color-header-bg: rgba(23, 34, 31, 0.97);
  --color-footer-ink: #B8C9C0;
  --color-footer-strong: #F4FBF7;
  --color-footer-line: rgba(244, 251, 247, 0.2);
  --color-tag-accent-bg: #3B2721;
  --color-card-hover-line: #4C675D;
  --shadow-rgb: 0, 0, 0;
}

@media (max-width: 767px) {
  :root {
    --pad-x: 16px;
    --fs-hero: 34px;
    --fs-page-title: 30px;
    --fs-section: 24px;
    --fs-card-title: 20px;
    --fs-article: 17px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  :root { --pad-x: 24px; }
}

/* 减少动态效果：关闭过渡与动画 */
@media (prefers-reduced-motion: reduce) {
  :root { --transition: none; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
