/* ============================================================
 * Timedecimal 文章排版样式
 * 文件：assets/css/article.css
 * 说明：用于 /learn/ 教程文章 + /blog/ 行业场景文章
 *       I-Language 五级结构 + UX01-07 参与度优化
 * ============================================================ */

.article {
  max-width: var(--container-narrow);
  margin: 0 auto;
  padding: var(--space-5) 0 var(--space-7);
}
.article-header {
  margin-bottom: var(--space-6);
}
.article-tag {
  display: inline-block;
  font-size: var(--fs-tiny);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
  font-weight: 700;
  margin-bottom: var(--space-2);
}
.article-title {
  margin: 0 0 var(--space-3);
  font-size: clamp(1.75rem, 5vw, 3rem);
  letter-spacing: -0.025em;
  line-height: 1.1;
}
.article-lead {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.55;
  color: var(--text-secondary);
  margin: 0 0 var(--space-5);
  max-width: 60ch;
}
.article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--fs-tiny);
  color: var(--text-tertiary);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: var(--space-3) 0;
  margin-bottom: var(--space-5);
}
.article-meta time { font-variant-numeric: tabular-nums; }
.article-meta .dot { color: var(--text-tertiary); }

/* ====== 正文 ====== */
.article-body { font-size: 1.0625rem; line-height: 1.75; }
.article-body p { margin-bottom: var(--space-4); max-width: 65ch; }
.article-body h2 {
  margin: var(--space-7) 0 var(--space-3);
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  scroll-margin-top: 80px;
}
.article-body h3 {
  margin: var(--space-5) 0 var(--space-2);
  font-size: 1.25rem;
  scroll-margin-top: 80px;
}
.article-body img,
.article-body figure { margin: var(--space-5) auto; }
.article-body figure img { border-radius: var(--r-md); border: 1px solid var(--border); }
.article-body figcaption {
  font-size: var(--fs-tiny);
  color: var(--text-tertiary);
  text-align: center;
  margin-top: var(--space-2);
}
.article-body ul, .article-body ol {
  margin-bottom: var(--space-4);
  padding-left: 1.5em;
}
.article-body li { margin-bottom: var(--space-2); line-height: 1.65; }
.article-body li > strong:first-child { color: var(--text-primary); }

/* 数据表（AI 引用 + 信息增量黄金格式） */
.article-body .data-table caption {
  text-align: left;
  padding: 0 0 var(--space-2);
  text-transform: none;
  font-weight: 600;
  font-size: var(--fs-small);
  color: var(--text-secondary);
  letter-spacing: 0;
}
.article-body .data-table th { background: var(--bg-soft); }

/* ====== 章节过渡语 (强制-UX02) ====== */
.section-transition {
  border-left: 4px solid var(--accent);
  padding: var(--space-3) var(--space-4);
  background: var(--accent-soft);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  color: var(--text-secondary);
  font-style: italic;
  font-size: var(--fs-small);
  margin: var(--space-5) 0;
  max-width: 65ch;
}

/* ====== 内容钩子（强制-UX03） ====== */
.content-hook {
  border: 1px dashed var(--border-strong);
  border-radius: var(--r-md);
  padding: var(--space-4) var(--space-5);
  margin: var(--space-6) 0;
  background: var(--bg-card);
  position: relative;
}
.content-hook::before {
  content: "Related";
  position: absolute;
  top: -10px;
  left: 16px;
  background: var(--bg-primary);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
  padding: 0 8px;
}
.content-hook p { margin: 0; }

/* ====== 关键句子（移动端扫描式阅读） ====== */
.key-sentence {
  display: block;
  font-weight: 600;
  margin: var(--space-4) 0;
  padding-left: var(--space-3);
  border-left: 3px solid var(--accent);
  color: var(--text-primary);
  font-size: 1.1em;
}

/* ====== Step 警告（HowTo 内的常见错误提示） ====== */
.step-warning {
  background: #FEF3C7;
  border-left: 3px solid var(--warning);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: var(--space-3) var(--space-4);
  margin: var(--space-3) 0;
  font-size: var(--fs-small);
}
.step-warning strong { color: var(--warning); }

/* ====== 案例研究块 ====== */
.case-study {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  padding: var(--space-5);
  margin: var(--space-6) 0;
}
.case-study h3 { margin-top: 0; }
.case-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-3);
  margin: var(--space-3) 0;
}
.case-metric {
  border-left: 3px solid var(--accent);
  padding-left: var(--space-3);
}
.case-metric .metric-value {
  display: block;
  font-family: var(--font-mono);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.case-metric .metric-label {
  font-size: var(--fs-tiny);
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ====== 内容总结块（强制-UX02 完读率优化） ====== */
.content-summary {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  padding: var(--space-5) var(--space-6);
  margin: var(--space-6) 0 var(--space-5);
}
.content-summary h2 { margin-top: 0; font-size: 1.25rem; }
.content-summary ul { margin: 0; padding-left: 1.4em; }

/* ====== Author byline 大版（文章顶部） ====== */
.author-byline {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  font-size: var(--fs-small);
  color: var(--text-secondary);
}
.author-byline img {
  width: 40px; height: 40px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
  background: var(--bg-soft);
}
.author-byline .author-name { font-weight: 700; color: var(--text-primary); display: block; }
.author-byline .author-bio  { display: block; font-size: var(--fs-tiny); color: var(--text-tertiary); }
.author-byline a { color: inherit; }

/* ====== CTA 区块（文末） ====== */
.cta-block {
  background: var(--bg-inverse);
  color: var(--text-on-dark);
  border-radius: var(--r-lg);
  padding: var(--space-6);
  margin: var(--space-7) 0;
  text-align: center;
}
.cta-block h2 { color: var(--text-on-dark); margin: 0 0 var(--space-3); }
.cta-block p { color: rgba(250,250,250,.7); margin-bottom: var(--space-4); }
.cta-block .btn-primary { background: #fff; color: var(--text-primary); }
.cta-block .btn-primary:hover { background: var(--bg-soft); color: var(--text-primary); }
