/*
 * 静态卫星页（捐助 / 反馈等）排版：与 webui/page.css 中 #fuzi-body、助手答复正文同源。
 * 改 token 时请与 page.css「FUZI DESIGN TOKENS」段对齐。
 */
:root {
  --fuzi-font-serif: "Source Han Serif SC", "Noto Serif SC", serif;

  --fuzi-ts-body: 1rem;
  --fuzi-ts-section: 1.54rem;
  --fuzi-ts-caption: 0.9375rem;
  --fuzi-ts-footnote: 0.8125rem;

  --fuzi-type-section-weight: 600;
  --fuzi-type-question-size: calc(var(--fuzi-ts-body) * 1.125);
  --fuzi-type-question-weight: 560;
  --fuzi-type-question-lh: 1.36;

  --fuzi-lh-read: 1.8;
  --fuzi-lh-snug: 1.55;

  --fuzi-track-caption: 0.04em;
  --fuzi-track-subtle: 0.03em;

  --fuzi-read-p-para: 0.74em;
  --fuzi-section-title-margin-top: 3rem;
  --fuzi-section-title-margin-bottom: 1.25rem;
  --fuzi-read-section-before: 1.42em;
  --fuzi-read-section-after: 0.55em;

  --fuzi-flow-md: 1rem;

  --fuzi-ink-body: #2f2a24;
  --fuzi-ink-section: #2f2a24;
  --fuzi-ink-footer-muted: #91897e;
  --fuzi-ink-footer-action: #6f675c;

  --fuzi-body-size: var(--fuzi-ts-body);
}

@media (min-width: 1024px) {
  :root {
    --fuzi-ts-body: 1.0625rem;
    --fuzi-body-size: var(--fuzi-ts-body);
  }
}

body.fuzi-satellite {
  font-family: var(--fuzi-font-serif);
  font-size: var(--fuzi-body-size);
  font-weight: 400;
  line-height: var(--fuzi-lh-read);
  color: var(--fuzi-ink-body);
  letter-spacing: var(--fuzi-track-subtle);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fuzi-satellite-page-title {
  font-family: var(--fuzi-font-serif);
  font-size: var(--fuzi-type-question-size);
  font-weight: var(--fuzi-type-question-weight);
  line-height: var(--fuzi-type-question-lh);
  color: var(--fuzi-ink-body);
  letter-spacing: -0.01em;
  margin: 0;
  font-synthesis: none;
}

.fuzi-satellite-prose p {
  margin-top: max(0px, var(--fuzi-read-p-para));
  margin-bottom: var(--fuzi-read-p-para);
  font-size: var(--fuzi-body-size);
  font-weight: 400;
  line-height: var(--fuzi-lh-read);
  color: var(--fuzi-ink-body);
  letter-spacing: var(--fuzi-track-subtle);
}

.fuzi-satellite-prose p:first-child {
  margin-top: 0;
}

.fuzi-satellite-prose p:last-child {
  margin-bottom: 0;
}

.fuzi-satellite-prose h2,
.fuzi-satellite-prose h3 {
  font-family: var(--fuzi-font-serif);
  font-size: var(--fuzi-ts-section);
  font-weight: var(--fuzi-type-section-weight);
  color: var(--fuzi-ink-section);
  letter-spacing: var(--fuzi-track-caption);
  line-height: 1.45;
  margin-top: var(--fuzi-section-title-margin-top);
  margin-bottom: var(--fuzi-section-title-margin-bottom);
  font-synthesis: none;
}

.fuzi-satellite-prose h2:first-child,
.fuzi-satellite-prose h3:first-child {
  margin-top: 0;
}

.fuzi-satellite-prose h2 + h3 {
  margin-top: var(--fuzi-flow-md);
}

.fuzi-satellite-prose ul {
  margin-top: max(0px, var(--fuzi-read-p-para));
  margin-bottom: var(--fuzi-read-p-para);
  padding-left: 1.25rem;
  font-size: var(--fuzi-body-size);
  font-weight: 400;
  line-height: var(--fuzi-lh-read);
  color: var(--fuzi-ink-body);
}

.fuzi-satellite-prose ul:last-child {
  margin-bottom: 0;
}

.fuzi-satellite-prose li {
  margin-bottom: var(--fuzi-read-p-para);
}

.fuzi-satellite-prose li:last-child {
  margin-bottom: 0;
}

.fuzi-satellite-prose a {
  color: var(--fuzi-ink-footer-action);
  text-decoration: underline;
  text-underline-offset: 0.14em;
  font-weight: 500;
}

.fuzi-satellite-prose a:hover,
.fuzi-satellite-prose a:focus-visible {
  color: var(--fuzi-ink-body);
}

.fuzi-satellite-prose strong {
  font-weight: 500;
}

.fuzi-satellite-signoff {
  margin-top: var(--fuzi-section-title-margin-bottom) !important;
  color: var(--fuzi-ink-footer-muted) !important;
  font-size: var(--fuzi-ts-caption) !important;
  line-height: var(--fuzi-lh-read) !important;
}

.fuzi-satellite-footnote {
  font-size: var(--fuzi-ts-footnote);
  font-weight: 400;
  line-height: var(--fuzi-lh-snug);
  color: var(--fuzi-ink-footer-muted);
  letter-spacing: var(--fuzi-track-subtle);
  margin: 0;
}

.fuzi-satellite-pagefoot {
  font-family: var(--fuzi-font-serif);
  font-size: var(--fuzi-ts-caption);
  line-height: var(--fuzi-lh-read);
  color: var(--fuzi-ink-footer-muted);
  letter-spacing: var(--fuzi-track-subtle);
}

.fuzi-satellite-pagefoot a {
  color: var(--fuzi-ink-footer-muted);
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.fuzi-satellite-pagefoot a:hover,
.fuzi-satellite-pagefoot a:focus-visible {
  color: var(--fuzi-ink-body);
}
