/* ============================================================
   论文精读中文版 - 样式表
   包含: 页面布局 / 字体 / 批注 / 图表 / 公式 / 目录 / 打印
   ============================================================ */

/* ---------- 变量定义 ---------- */
:root {
  --text-color: #1a1a1a;
  --text-secondary: #555;
  --bg-color: #ffffff;
  --bg-soft: #fafafa;
  --border-color: #ddd;
  --link-color: #2563eb;
  --content-width: 900px;
  --line-height: 1.85;
  --font-zh: "Noto Serif CJK SC", "Source Han Serif SC", "Microsoft YaHei", "PingFang SC", serif;
  --font-en: Georgia, "Times New Roman", serif;
  --font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;

  /* 批注配色（克制、低饱和） */
  --ann-concept-border: #60a5fa;       /* 概念解释 - 浅蓝 */
  --ann-concept-bg: #eff6ff;
  --ann-key-bg: #fefce8;               /* 关键结论 - 浅黄 */
  --ann-key-border: #fbbf24;
  --ann-method-border: #c084fc;        /* 方法理解 - 浅紫 */
  --ann-method-bg: #faf5ff;
  --ann-equation-border: #818cf8;      /* 公式解读 - 靛蓝 */
  --ann-equation-bg: #eef2ff;
  --ann-figure-border: #34d399;        /* 图表解读 - 浅绿 */
  --ann-figure-bg: #ecfdf5;
  --ann-experiment-border: #10b981;    /* 实验分析 - 绿 */
  --ann-experiment-bg: #f0fdf4;
  --ann-reading-bg: #fff7ed;           /* 阅读提醒 - 浅橙 */
  --ann-reading-border: #fb923c;
  --ann-critical-border: #f87171;      /* 批判性思考 - 浅红 */
  --ann-critical-bg: #fef2f2;
}

/* ---------- 全局重置 ---------- */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  background: var(--bg-soft);
  color: var(--text-color);
  font-family: var(--font-zh);
  font-size: 16px;
  line-height: var(--line-height);
  -webkit-font-smoothing: antialiased;
}

/* ---------- 论文容器 ---------- */
.paper {
  max-width: var(--content-width);
  margin: 2rem auto;
  padding: 3rem 3.5rem;
  background: var(--bg-color);
  box-shadow: 0 1px 8px rgba(0,0,0,0.08);
  border-radius: 4px;
}

/* ---------- 头部 ---------- */
.paper-header {
  text-align: center;
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 2px solid var(--border-color);
}
.paper-title {
  font-size: 1.7rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}
.paper-title-en {
  font-family: var(--font-en);
  font-style: italic;
  color: var(--text-secondary);
  font-size: 1.05rem;
  margin: 0 0 1rem 0;
}
.paper-authors { font-family: var(--font-en); margin: 0.3rem 0; }
.paper-affiliations { color: var(--text-secondary); font-size: 0.9rem; margin: 0.3rem 0; }
.paper-meta {
  margin-top: 1rem;
  font-size: 0.85rem;
  color: var(--text-secondary);
}
.paper-meta span { margin: 0 0.8rem; }

/* ---------- 标题层级 ---------- */
h2 {
  font-size: 1.35rem;
  margin: 2.5rem 0 1rem 0;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid #eee;
}
h3 { font-size: 1.15rem; margin: 1.8rem 0 0.8rem 0; }
h4 { font-size: 1rem; margin: 1.2rem 0 0.5rem 0; }

/* ---------- 正文段落 ---------- */
.translated-paragraph {
  margin: 0.8rem 0;
  text-align: justify;
  text-indent: 2em;
}
.translated-paragraph:first-of-type { text-indent: 2em; }

/* 英文/数字混排 */
.paper-section :is(code, .var) {
  font-family: var(--font-mono);
  font-size: 0.9em;
  background: #f3f4f6;
  padding: 0.1em 0.3em;
  border-radius: 3px;
}

/* ---------- 页码定位标记 ---------- */
.page-locator {
  font-family: var(--font-mono);
  font-size: 0.75em;
  color: #9ca3af;
  background: transparent;
  padding: 0 0.2em;
  vertical-align: super;
}
[data-source-page]::before {
  content: "原论文第 " attr(data-source-page) " 页";
  display: block;
  font-size: 0.8rem;
  color: #9ca3af;
  font-family: var(--font-mono);
  margin-bottom: 0.3rem;
}

/* ---------- 目录 ---------- */
.toc {
  background: var(--bg-soft);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 1.2rem 1.8rem;
  margin: 2rem 0;
}
.toc h2 {
  margin-top: 0;
  font-size: 1.1rem;
  border-bottom: none;
}
.toc ol { padding-left: 1.5rem; margin: 0.5rem 0; }
.toc li { margin: 0.25rem 0; }
.toc a { color: var(--link-color); text-decoration: none; }
.toc a:hover { text-decoration: underline; }

.back-to-toc {
  text-align: right;
  font-size: 0.85rem;
  margin: 1.5rem 0 0.5rem 0;
}
.back-to-toc a { color: var(--text-secondary); }

/* ============================================================
   批注样式（8 种类型）
   ============================================================ */
.annotation {
  margin: 1.2rem 0;
  padding: 0.8rem 1.2rem;
  border-radius: 6px;
  border-left: 4px solid;
  font-size: 0.92em;
  line-height: 1.7;
}
.annotation-label {
  display: inline-block;
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.03em;
  margin-bottom: 0.4rem;
  opacity: 0.85;
}
.annotation p { margin: 0.3rem 0; text-indent: 0; }

.concept            { border-color: var(--ann-concept-border);     background: var(--ann-concept-bg); }
.key-conclusion     { border-color: var(--ann-key-border);         background: var(--ann-key-bg); }
.method-understanding{ border-color: var(--ann-method-border);      background: var(--ann-method-bg); }
.equation-explanation{ border-color: var(--ann-equation-border);    background: var(--ann-equation-bg); }
.figure-analysis    { border-color: var(--ann-figure-border);      background: var(--ann-figure-bg); }
.experiment-analysis{ border-color: var(--ann-experiment-border);  background: var(--ann-experiment-bg); }
.reading-note       { border-color: var(--ann-reading-border);     background: var(--ann-reading-bg); }
.critical-thinking  { border-color: var(--ann-critical-border);    background: var(--ann-critical-bg); }

/* ============================================================
   图片 / 表格 / 公式
   ============================================================ */

/* 图片 */
.paper-figure {
  margin: 1.8rem 0;
  text-align: center;
  page-break-inside: avoid;
}
.paper-figure img {
  max-width: 100%;
  height: auto;
  border: 1px solid #eee;
  border-radius: 4px;
}
.paper-figure figcaption {
  margin-top: 0.6rem;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.6;
}
.fig-en-title {
  font-family: var(--font-en);
  font-style: italic;
  font-size: 0.88rem;
}

/* 表格 */
.table-wrapper {
  margin: 1.5rem 0;
  overflow-x: auto;
  page-break-inside: avoid;
}
.paper-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.paper-table caption {
  text-align: left;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  color: var(--text-secondary);
}
.paper-table th, .paper-table td {
  padding: 0.5rem 0.8rem;
  border: 1px solid #e5e7eb;
  text-align: center;
}
.paper-table thead th {
  background: #f9fafb;
  font-weight: 600;
}
.paper-table tbody tr:nth-child(even) { background: #fafafa; }
.paper-table tr.best { background: #fefce8; }

/* 公式 */
.equation-block {
  margin: 1.5rem 0;
  padding: 1rem 1.2rem;
  background: #f9fafb;
  border-radius: 4px;
  text-align: center;
  overflow-x: auto;
  page-break-inside: avoid;
}
.equation-context {
  text-align: justify;
  font-size: 0.95rem;
  margin-top: 0.5rem;
  text-indent: 2em;
}

/* 参考文献 */
.references .ref-list {
  padding-left: 1.5rem;
  font-size: 0.88rem;
  line-height: 1.6;
}
.references .ref-list li {
  margin: 0.3rem 0;
  font-family: var(--font-en);
  word-break: break-word;
}

/* ============================================================
   打印 / PDF 样式
   ============================================================ */
@page {
  size: A4;
  margin: 18mm 16mm 18mm 16mm;
}

@media print {
  body { background: white; }
  .paper {
    max-width: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    border-radius: 0;
  }
  .toc, .back-to-toc, .screen-only { display: none; }
  [data-source-page]::before { display: none; }

  h1, h2, h3, figure, table, .annotation, .equation-block {
    break-inside: avoid;
  }
  h2, h3 { break-after: avoid; }

  img { max-width: 100%; }
  a { color: inherit; text-decoration: none; }

  .annotation { background: transparent !important; border-left-width: 3px; }
}
