/* 静室 · 32-reading.css —— 阅读排版定稿候选
   目标：长期阅读不累。只重定义令牌 + 少量组件微调，不改任何结构。
   方向：纸色偏暖白、正文宋体加大行距、标题无衬线分层、装饰退场。 */

:root {
  /* ---- 纸与墨：提高正文对比度，但不用纯黑，减少长时间阅读的刺眼感 ---- */
  --color-day-paper: #fdfdfc;
  --color-day-paper-deep: #f4f5f4;
  --color-day-ink: #1a1d1c;
  --color-day-ink-soft: #4a514e;
  --color-day-muted: #7a817d;
  --color-day-rule: #e5e8e6;
  --color-day-rule-strong: #c6cac7;
  --color-day-accent: #0f766e;
  --color-day-accent-soft: #d5ece8;

  --color-night-paper: #101312;
  --color-night-paper-deep: #181c1a;
  --color-night-ink: #e6e9e6;
  --color-night-ink-soft: #b0b7b3;
  --color-night-muted: #848b87;
  --color-night-rule: #252a28;
  --color-night-rule-strong: #3c423f;
  --color-night-accent: #63c9bc;
  --color-night-accent-soft: #10302c;

  /* ---- 正文：字号与行距是抗疲劳的第一要素 ---- */
  --font-size-reading: 19px;
  --font-size-prose: 19px;
  --line-height-prose: 1.9;

  /* 每行 33–35 个汉字，是中文长文最省力的区间 */
  --container-reading: 680px;
  --container-feature: 880px;
  --container-wide: 1120px;

  /* ---- 标题尺度：与正文拉开层级，但不制造巨大空隙 ---- */
  --publication-display: clamp(38px, 4.2vw, 50px);
  --publication-h1: clamp(29px, 3.2vw, 38px);
  --publication-h2: 22px;
  --publication-h3: 18px;
  --publication-leading-display: 1.2;
  --publication-leading-title: 1.5;
  --publication-leading-body: 1.9;
}

/* ============ 页眉：发丝分隔，去掉厚重色块 ============ */
.site-header {
  border-bottom: 1px solid var(--border-subtle);
  background: color-mix(in srgb, var(--surface-canvas) 92%, transparent);
  backdrop-filter: saturate(180%) blur(12px);
}
.masthead { border-bottom: 0; }

.primary-nav a,
.nav-secondary,
.top-nav-link {
  border: 0;
  background: transparent;
  font-family: var(--font-ui);
  font-size: 14px;
  letter-spacing: 0.01em;
}
.primary-nav a.active { color: var(--action-primary); }
.top-nav { gap: var(--space-5); }

/* ============ 首页：前言收窄，装饰退场，阅读入口前移 ============ */
.notebook-sub-main {
  max-width: 42ch;
  font-size: 15.5px;
  line-height: 1.85;
  color: var(--text-secondary);
}
.library-hall-head { padding-block: var(--space-8) var(--space-5); }
.long-table-hero-art { opacity: 0.6; }
.long-table-constellation { opacity: 0.35; }

/* 最近加入：行距放宽，分隔线只做极轻的提示 */
.recent-item {
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--border-subtle);
}
.recent-item:last-child { border-bottom: 0; }
.recent-link {
  font-family: var(--font-ui);
  font-size: 16.5px;
  letter-spacing: -0.005em;
}
.recent-date { font-variant-numeric: tabular-nums; }

/* ============ 文章页：正文成为唯一主线 ============ */
.article-body {
  font-family: var(--font-prose);
  font-size: var(--font-size-prose);
  line-height: var(--line-height-prose);
  letter-spacing: 0.01em;
  color: var(--text-primary);
}
.article-body p {
  margin-block: 0 var(--space-5);
  text-align: justify;
  text-justify: inter-ideograph;
  hanging-punctuation: allow-end;
}
/* 段首不缩进，靠段间距分辨段落：屏幕上比缩进更省力 */
.article-body > p:first-child { margin-block-start: 0; }

.article-body h2 {
  font-family: var(--font-ui);
  font-size: var(--publication-h2);
  font-weight: 500;
  line-height: 1.45;
  margin-block: var(--space-8) var(--space-4);
  letter-spacing: -0.008em;
}
.article-body h3 {
  font-family: var(--font-ui);
  font-size: var(--publication-h3);
  font-weight: 500;
  margin-block: var(--space-6) var(--space-3);
}

.article-body blockquote {
  border-left: 2px solid var(--action-primary);
  background: var(--surface-subtle);
  border-radius: 0 6px 6px 0;
  padding: var(--space-4) var(--space-5);
  margin-block: var(--space-6);
  font-style: normal;
  color: var(--text-secondary);
}
.article-body blockquote p:last-child { margin-block-end: 0; }

.article-body ul,
.article-body ol { margin-block: 0 var(--space-5); padding-inline-start: 1.6em; }
.article-body li { margin-block-end: var(--space-2); }

.article-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  margin-block: var(--space-6);
  border-radius: 4px;
}
.article-body figure figcaption,
.article-body .article-image-caption {
  font-family: var(--font-ui);
  font-size: 13px;
  line-height: 1.7;
  color: var(--text-muted);
  text-align: center;
  margin-block: calc(var(--space-2) * -1) var(--space-6);
}

.article-body hr {
  border: 0;
  border-top: 1px solid var(--border-subtle);
  margin-block: var(--space-8);
}

.article-body code {
  font-family: var(--font-mono);
  font-size: 0.9em;
  background: var(--surface-subtle);
  padding: 0.12em 0.4em;
  border-radius: 4px;
}
.article-body pre {
  background: var(--surface-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: var(--space-4) var(--space-5);
  overflow-x: auto;
  font-size: 14px;
  line-height: 1.7;
}
.article-body pre code { background: none; padding: 0; }

.article-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  margin-block: var(--space-6);
}
.article-body th,
.article-body td {
  border-bottom: 1px solid var(--border-subtle);
  padding: var(--space-3) var(--space-4);
  text-align: left;
}
.article-body th { font-weight: 500; background: var(--surface-subtle); }

/* 文章头：标题醒目，辅助信息退后 */
.essay-title-block h1 {
  font-family: var(--font-ui);
  font-weight: 500;
  letter-spacing: -0.012em;
  line-height: 1.35;
}
.essay-deck,
.essay-opening-greeting { color: var(--text-secondary); }

/* 辅助信息（批注、坐标、来源）压低视觉权重，不与正文争注意力 */
.librarian-note,
.reading-compass,
.provenance-note,
.collection-marker {
  font-size: 13.5px;
  color: var(--text-muted);
}

/* ============ 手机：字号略降，行距保持 ============ */
@media (max-width: 760px) {
  :root {
    --font-size-reading: 18px;
    --font-size-prose: 18px;
    --line-height-prose: 1.85;
    --space-page-start: 56px;
    --space-page-end: 64px;
  }
  .article-body p { text-align: left; }
  .long-table-hero-art,
  .long-table-constellation { display: none; }
}

/* ============ 打印：不抢纸面 ============ */
@media print {
  .article-body { font-size: 11pt; line-height: 1.7; }
  .article-body a { color: inherit; text-decoration: none; }
}
