/* ========================================
   Article pages — 长文正文排版（深色主题）
   仅文章页加载（head.njk 条件引入）
   ======================================== */

.article {
  padding-top: 120px;
  background: var(--color-deep);
  color: var(--color-warm-white);
}

.article-header {
  padding: 60px 0 50px;
  text-align: center;
}

.breadcrumb {
  font-size: 14px;
  color: var(--color-ink-muted);
  margin-bottom: 32px;
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.breadcrumb a { color: var(--color-gold); transition: color 0.2s var(--ease-out); }
.breadcrumb a:hover { color: var(--color-accent); }

.article-title {
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 auto 20px;
  max-width: 820px;
}

.article-lead {
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.5;
  color: var(--color-ink-muted);
  max-width: 680px;
  margin: 0 auto 24px;
  font-weight: 400;
}

.article-meta {
  font-size: 14px;
  color: var(--color-ink-muted);
}

/* ── 正文排版 ── */
.article-body { padding: 50px 0 80px; }

.prose {
  max-width: 720px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.8;
  color: var(--color-warm-white);
}
.prose > * + * { margin-top: 1.5em; }

.prose h2 {
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-top: 1.8em;
  line-height: 1.25;
}
.prose h3 {
  font-size: 22px;
  font-weight: 600;
  margin-top: 1.6em;
  line-height: 1.3;
}
.prose p { color: rgba(250, 250, 248, 0.88); }
.prose a {
  color: var(--color-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color 0.2s var(--ease-out);
}
.prose a:hover { color: var(--color-accent); }
.prose strong { color: var(--color-warm-white); font-weight: 600; }
.prose ul, .prose ol { padding-inline-start: 1.5em; }
.prose li { margin-top: 0.6em; }
.prose blockquote {
  border-inline-start: 3px solid var(--color-accent);
  padding-inline-start: 1.2em;
  font-style: italic;
  color: var(--color-ink-muted);
  font-size: 1.05em;
}
.prose code {
  background: rgba(255, 255, 255, 0.08);
  padding: 0.15em 0.4em;
  border-radius: 4px;
  font-size: 0.9em;
  font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;
}
.prose img { max-width: 100%; height: auto; border-radius: 12px; margin: 1.5em 0; }
.prose table { width: 100%; border-collapse: collapse; font-size: 0.95em; }
.prose th, .prose td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--color-glass-border);
  text-align: start;
}
.prose th { color: var(--color-warm-white); font-weight: 600; }

/* ── 底部 CTA ── */
.article-cta {
  padding: 80px 0 120px;
  text-align: center;
  background: linear-gradient(180deg, transparent, rgba(232, 77, 61, 0.06));
}
.article-cta h2 {
  font-size: clamp(28px, 3.5vw, 38px);
  font-weight: 700;
  margin-bottom: 14px;
}
.article-cta-sub { color: var(--color-ink-muted); margin-bottom: 40px; font-size: 18px; }
.article-cta .waitlist-card { max-width: 560px; margin: 0 auto; text-align: start; }

/* ── RTL ── */
html[dir="rtl"] .prose ul,
html[dir="rtl"] .prose ol { padding-inline-start: 0; padding-inline-end: 1.5em; }
html[dir="rtl"] .breadcrumb span[aria-hidden] { transform: scaleX(-1); }

/* ── 响应式 ── */
@media (max-width: 768px) {
  .article { padding-top: 90px; }
  .article-header { padding: 40px 0 30px; }
  .article-body { padding: 30px 0 60px; }
  .prose { font-size: 17px; line-height: 1.75; }
  .article-cta { padding: 60px 0 80px; }
}
