@charset "utf-8";
/* CSS Document 初始化样式 */

/* ============ 设计令牌：语义化配色（集中管理，便于主题切换） ============ */
:root {
  /* 画布 / 墨色 / 抬升面 */
  --color-canvas: #fafafa;
  --color-ink: #171717;
  --color-ink-hover: #383838;
  --color-elevated: #ffffff;
  /* 发丝线（默认 / 强化） */
  --color-hairline: #ebebeb;
  --color-hairline-strong: #d6d6d6;
  /* 文字灰阶 */
  --color-body: #4d4d4d;
  --color-mute: #8f8f8f;
  --color-faint: #a1a1a1;
  /* 链接与反白文字 */
  --color-link: #0070f3;
  --color-on-primary: #ffffff;
}

/* 深色主题：仅覆盖语义令牌即可整体换肤 */
:root[data-theme="dark"] {
  --color-canvas: #000000;
  --color-ink: #ededed;
  --color-ink-hover: #a1a1a1;
  --color-elevated: #111111;
  --color-hairline: #2e2e2e;
  --color-hairline-strong: #444444;
  --color-body: #a1a1a1;
  --color-mute: #8f8f8f;
  --color-faint: #666666;
  --color-link: #3291ff;
  --color-on-primary: #000000;
}

/* 全局盒模型：border-box 让 padding/border 计入总宽度，
   避免 width:100% + padding 超出视口引发移动端横向滚动条 */
*, *::before, *::after {
  box-sizing: border-box;
}

html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, address, img, strong,
ol, ul, li, form, table, tr, th, td, aside, footer, header, nav, section, time {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

body {
  line-height: 1;
  font-size: 16px;
  font-family: Geist, "Source Han Sans SC", "Source Han Sans CN", "Noto Sans CJK SC", "Noto Sans SC", "Microsoft Yahei", sans-serif;
  /* 全页底色与默认文字色随主题切换（覆盖浏览器默认白底） */
  background: var(--color-canvas);
  color: var(--color-ink);
}

ol, ul, li {
  list-style: none;
}

/* 去除 strong 加粗 */
strong {
  font-weight: normal;
}

img {
  vertical-align: bottom;
}

a {
  text-decoration: none;
  /* 默认链接跟随墨色；hover 高亮为主题链接蓝（均走令牌，便于主题切换） */
  color: var(--color-ink);
}

a:hover {
  color: var(--color-link);
}

address {
  font-style: normal;
}

/* 初始化宽度，左右对齐 */
.pc_nav, .site, .footer {
  max-width: 62.5em;
  margin-left: auto;
  margin-right: auto;
}

header, main, footer {
  margin-left: auto;
  margin-right: auto;
}

p {
  line-height: 1.5em;
  text-indent: 2em;
}
