/* 公开内容页（服务、示例、为什么写回忆录、使用帮助、隐私、条款、404）：与访客首页同一套视觉规则（landing-page-design）。
 * 必须是这些页面最后加载的样式表，覆盖 film-pages / public-type / public-documents / why-memoir / public-extras。
 * 全部在 @media screen 内；打印沿用旧文件里的白纸黑字规则，只补充隐藏新增的顶栏、菜单和页脚。
 * 规则：单一字体；字号只用 Tailwind 字阶；间距 2/4/8/12/16/24/32/40/48/64/80/96；Tailwind 圆角；背景纯色（渐变只用在首屏标题文字）；
 * 动效只动 transform / opacity，缓动 cubic-bezier(.22,1,.36,1)。中文标题行高 1.2 到 1.3，正文 18/28。
 */
@media print {
  .pg-header, .pg-menu, .pg-footer, .pg-skip { display: none !important; }
}

@media screen {
.film-page {
  --pg-font: Geist, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --pg-bg: #faf2e6; --pg-paper: #fff9ef; --pg-soft: #f2e3d0; --pg-sunlit: #f8ead2; --pg-folio: #e4c6a4;
  --pg-ink: #392922; --pg-ink2: #6b5143; --pg-line: #e1cfb9; --pg-line-strong: #ad8569;
  --pg-seal: #994732; --pg-seal-dk: #763323; --pg-seal-soft: #f6dfd3; --pg-on-seal: #fff5e5;
  --pg-night: #2b1b13; --pg-on-night: #fff1d8; --pg-on-night-dim: #eedbc0;
  --pg-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --pg-focus: var(--pg-seal);
  /* 旧组件读的变量：映射到暖色 */
  --hf-bg: var(--pg-bg); --hf-deep: var(--pg-night); --hf-paper: var(--pg-ink); --hf-muted: var(--pg-ink2);
  --hf-accent: var(--pg-seal); --hf-seal: var(--pg-seal); --hf-line: #d6c0a6;
  --hf-gutter: 24px; --fp-section: 64px;
  /* public-type.css 的字号变量：落到字阶上 */
  --pub-size-body: 1.125rem; --pub-size-control: 1rem; --pub-size-caption: .875rem; --pub-size-heading: 1.5rem;
  --pub-size-section: 1.875rem; --pub-size-title: 2.25rem; --pub-leading-body: 1.75rem; --pub-leading-title: 1.25;
  margin: 0; background: var(--pg-bg); color: var(--pg-ink); font: 400 1rem/1.5rem var(--pg-font); color-scheme: light;
  scroll-behavior: auto;
}
@media (min-width: 48rem) { .film-page { --hf-gutter: 32px; --fp-section: 80px; --pub-size-section: 2.25rem; --pub-size-title: 3rem; } }
@media (min-width: 64rem) { .film-page { --hf-gutter: 48px; --fp-section: 96px; } }
@media (min-width: 72rem) { .film-page { --pub-size-title: 3.75rem; } }
@media (prefers-reduced-motion: no-preference) { html:has(.film-page) { scroll-behavior: smooth; } }

.film-page :where(a, button, summary, [tabindex]):focus-visible { outline: 2px solid var(--pg-focus); outline-offset: 4px; }
.film-page [tabindex="-1"]:focus-visible { outline: none; }
.film-page :where(h1, h2, h3, h4) { font-family: var(--pg-font); font-weight: 600; letter-spacing: 0; text-wrap: balance; }
.film-page :where(p, li, blockquote, dd, figcaption, summary) { text-wrap: pretty; line-break: strict; }
.film-page.pg-phrased :is(p, li, blockquote, dd, dt, figcaption, summary, h1, h2, h3) { word-break: keep-all; overflow-wrap: anywhere; }
.film-page img { border-radius: 12px; }
.film-page i.ph { flex: none; line-height: 1; }
.pg-visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ───────── 文字样式（与首页同名），尺寸全部落在 Tailwind 字阶上 ───────── */
.film-page .heading-1, .film-page h1 { font: 600 2.25rem/1.25 var(--pg-font); }
.film-page .heading-2 { font: 600 1.875rem/1.3 var(--pg-font); }
.film-page .heading-3, .film-page h2 { font: 600 1.875rem/1.3 var(--pg-font); }
.film-page .heading-5, .film-page h3 { font: 600 1.5rem/2rem var(--pg-font); }
.film-page .heading-6 { font: 600 1.25rem/1.75rem var(--pg-font); }
.film-page .title-2 { font: 500 1.125rem/1.75rem var(--pg-font); }
.film-page .title-3 { font: 500 1rem/1.5rem var(--pg-font); }
.film-page .title-4 { font: 500 .875rem/1.25rem var(--pg-font); }
.film-page .body-6 { font: 400 .875rem/1.5rem var(--pg-font); }
.film-page .body-7 { font: 400 1.125rem/1.75rem var(--pg-font); }
.film-page .button-md { font: 600 1rem/1.5rem var(--pg-font); }
.film-page .button-sm { font: 600 .875rem/1.25rem var(--pg-font); }
.film-page .caption-2 { font: 400 .875rem/1.25rem var(--pg-font); }
.film-page .caption-3 { font: 600 .75rem/1rem var(--pg-font); }
.film-page .caption-4 { font: 500 .75rem/1rem var(--pg-font); }
@media (min-width: 48rem) {
  .film-page .heading-1, .film-page h1 { font-size: 3rem; line-height: 1.2; }
  .film-page .heading-2 { font-size: 2.25rem; line-height: 1.25; }
  .film-page .heading-3, .film-page h2 { font-size: 2.25rem; line-height: 1.3; }
}
@media (min-width: 72rem) { .film-page .heading-1, .film-page h1 { font-size: 3.75rem; line-height: 1.2; } }
/* 文档页（示例、帮助、隐私、条款）的页首标题用 Heading 2，正文区的章节标题用 Heading 5 */
.film-page.document-page h1, .film-page .nf h1 { font-size: 1.875rem; line-height: 1.3; }
@media (min-width: 48rem) { .film-page.document-page h1, .film-page .nf h1 { font-size: 2.25rem; line-height: 1.25; } }
@media (min-width: 72rem) { .film-page.document-page h1, .film-page .nf h1 { font-size: 3rem; line-height: 1.2; } }
.film-page .fp-legal h2, .film-page .fp-help-section > h2, .film-page .fp-digest > h2, .film-page .fp-book h2 { font-size: 1.5rem; line-height: 2rem; }
@media (min-width: 48rem) { .film-page .fp-help-section > h2, .film-page .fp-digest > h2 { font-size: 1.875rem; line-height: 2.25rem; } }
.film-page .fp-book h2 { font-size: 1.875rem; line-height: 1.3; }
.film-page .fp-service--text blockquote, .film-page .wm-prompts dd { font: 500 1.5rem/2.25rem var(--pg-font); }
.film-page .fp-digest-grid strong, .film-page .fp-steps strong, .film-page .fp-facts-grid h3, .film-page .wm-scenario h3 { font: 600 1.25rem/1.75rem var(--pg-font); }
.film-page .fp-digest-group > h3 { font: 600 .875rem/1.25rem var(--pg-font); letter-spacing: .08em; }

/* 小字：eyebrow、图注、标签统一成 Caption；正文段落统一成 Body 7 / Body 6 */
.film-page :is(.fp-eyebrow, .wm-eyebrow, .fp-book-no) { font: 600 .75rem/1rem var(--pg-font); letter-spacing: .08em; text-transform: none; color: var(--pg-seal); }
.film-page :is(.fp-caption, .fp-service figcaption, .wm-figure figcaption, .wm-figure figcaption span, .fp-compare figcaption, .fp-book-figure figcaption, .fp-hero-foot, .fp-footer p, .wm-prompts dt, .fp-tag) { font: 500 .75rem/1rem var(--pg-font); letter-spacing: 0; }
.film-page :is(.fp-opening > p:last-child, .fp-service-copy > p:not(.fp-eyebrow):not(.fp-caption), .fp-principles p, .wm-intro-text, .wm-lead, .wm-note p, .wm-scenario p, .wm-chapter > .wm-chapter-lead, .wm-start > p:not(.wm-eyebrow), .fp-hero-copy > p:not(.fp-eyebrow), .fp-help-lead, .fp-document-subtitle, .fp-book p, .fp-legal :is(p, li), .fp-faq details > div, .fp-qa details > div, .fp-contact-grid p, .nf p:not(.nf-no)) { font: 400 1.125rem/1.75rem var(--pg-font); letter-spacing: 0; }
.film-page :is(.fp-digest-grid span, .fp-steps span, .fp-facts-grid p, .fp-document-meta, .fp-contact-grid p:last-child, .fp-book .fp-book-meta, [lang="en"]) { font: 400 .875rem/1.5rem var(--pg-font); }
.film-page :is(.fp-faq summary, .fp-qa summary) { font: 500 1.125rem/1.75rem var(--pg-font); }
.film-page :is(.fp-textlink, .fp-button, .wm-toc a, .fp-document-nav a, .fp-example-toc a, .fp-example-toc button, .fp-directory summary) { font: 600 1rem/1.5rem var(--pg-font); }
.film-page .fp-steps li::before { font: 600 .75rem/1rem var(--pg-font); letter-spacing: .08em; }
.film-page .fp-legal .en, .film-page .fp-legal span.en { font: 400 .875rem/1.5rem var(--pg-font); }
.film-page .nf-no { font: 600 3.75rem/1.2 var(--pg-font); color: var(--pg-seal); letter-spacing: 0; }

/* ───────── 页面骨架：悬浮胶囊顶栏、跳到正文、页脚 ───────── */
.film-page .pg-skip, .film-page .fp-skip, .film-page .wm-skip {
  position: absolute; z-index: 40; inset: 8px auto auto 8px; padding: 8px 12px; border-radius: 8px;
  background: var(--pg-ink); color: var(--pg-on-seal); transform: translateY(-200%);
}
.film-page :is(.pg-skip, .fp-skip, .wm-skip):focus { transform: none; }
.pg-header { position: fixed; z-index: 20; inset: max(16px, env(safe-area-inset-top)) 0 auto; display: flex; justify-content: center; pointer-events: none; }
.pg-nav {
  pointer-events: auto; display: flex; align-items: center; gap: 24px; max-inline-size: calc(100% - 2 * var(--hf-gutter));
  padding: 4px 4px 4px 16px; border: 1px solid var(--pg-line); border-radius: 9999px;
  background: rgb(250 242 230 / 82%); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 8px 24px rgb(76 43 27 / 14%);
}
.pg-brand { display: inline-flex; align-items: center; min-block-size: 44px; color: var(--pg-ink); transition: color .3s var(--pg-ease); }
.pg-brand:hover { color: var(--pg-seal); }
.pg-logo { display: block; inline-size: auto; block-size: 32px; }
.pg-nav-links, .pg-nav-actions { display: flex; align-items: center; gap: 4px; }
.pg-nav-links a {
  display: flex; align-items: center; min-block-size: 44px; padding-inline: 12px; border-radius: 9999px; color: var(--pg-ink);
  transition: background-color .3s var(--pg-ease), color .3s var(--pg-ease), transform .5s var(--pg-ease);
}
.pg-nav-links a:hover { background: var(--pg-seal-soft); color: var(--pg-seal-dk); }
.pg-nav-links a[aria-current] { color: var(--pg-seal); }
.pg-nav-links a:active, .pg-button:active, .pg-icon-button:active { transform: scale(.98); }
.pg-button, .pg-icon-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-block-size: 44px; padding: 8px 16px; border: 1px solid var(--pg-line-strong);
  border-radius: 9999px; background: var(--pg-paper); color: var(--pg-ink); cursor: pointer;
  transition: background-color .3s var(--pg-ease), border-color .3s var(--pg-ease), color .3s var(--pg-ease), transform .5s var(--pg-ease);
}
.pg-button:hover, .pg-icon-button:hover { background: var(--pg-seal-soft); border-color: var(--pg-seal); color: var(--pg-seal-dk); }
.pg-icon-button { inline-size: 44px; padding: 0; font: inherit; }
.pg-menu-toggle { display: none; }
.pg-menu-icon { position: relative; display: block; inline-size: 16px; block-size: 16px; }
.pg-menu-icon::before, .pg-menu-icon::after { content: ""; position: absolute; inset: 50% 0 auto; block-size: 2px; border-radius: 2px; background: currentColor; transition: transform .5s var(--pg-ease); }
.pg-menu-icon::before { transform: translateY(-4px); }
.pg-menu-icon::after { transform: translateY(4px); }
.pg-menu-toggle[aria-expanded="true"] .pg-menu-icon::before, .pg-menu-close .pg-menu-icon::before { transform: rotate(45deg); }
.pg-menu-toggle[aria-expanded="true"] .pg-menu-icon::after, .pg-menu-close .pg-menu-icon::after { transform: rotate(-45deg); }
.pg-menu {
  position: fixed; inset: 0; inline-size: 100%; max-inline-size: none; block-size: 100%; max-block-size: none; margin: 0; border: 0; border-radius: 0;
  padding: max(16px, env(safe-area-inset-top)) var(--hf-gutter) max(24px, env(safe-area-inset-bottom));
  background: rgb(250 242 230 / 96%); color: var(--pg-ink); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); overflow: auto;
}
.pg-menu::backdrop { background: transparent; }
.pg-menu-head, .pg-menu-links a { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pg-menu-links { margin-block-start: 64px; border-block-start: 1px solid var(--pg-line-strong); }
.pg-menu-links a { padding-block: 16px; border-block-end: 1px solid var(--pg-line-strong); color: var(--pg-ink); transition: color .3s var(--pg-ease); }
.pg-menu-links a:hover, .pg-menu-links a[aria-current] { color: var(--pg-seal); }
.pg-menu-links i { font-size: 1.25rem; color: var(--pg-seal); }
@media (max-width: 47.99rem) {
  .pg-nav { inline-size: calc(100% - 2 * var(--hf-gutter)); justify-content: space-between; gap: 8px; }
  .pg-nav-links, .pg-nav-actions .pg-button { display: none; }
  .pg-nav-actions { margin-inline-start: auto; }
  .pg-menu-toggle { display: inline-flex; }
}

.pg-wrap { inline-size: min(80rem, calc(100% - 2 * var(--hf-gutter))); margin-inline: auto; }
.pg-footer { padding-block: 32px; background: var(--pg-bg); color: var(--pg-ink); border-block-start: 1px solid var(--pg-line); }
.pg-footer-inner { display: grid; gap: 24px; }
.pg-footer-brand { display: flex; align-items: center; gap: 16px; }
.pg-footer-brand p, .pg-footer-legal { color: var(--pg-ink2); }
.pg-footer-links { display: flex; flex-wrap: wrap; gap: 0 24px; }
.pg-footer-links a, .pg-footer-legal a { display: inline-flex; align-items: center; min-block-size: 44px; color: var(--pg-ink); transition: color .3s var(--pg-ease); }
.pg-footer-legal a { color: var(--pg-ink2); }
.pg-footer-links a:hover, .pg-footer-legal a:hover { color: var(--pg-seal); text-decoration: underline; text-underline-offset: 4px; }
.pg-footer-links a[aria-current] { color: var(--pg-seal); }
.pg-footer-legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block-start: 16px; border-block-start: 1px solid var(--pg-line); }
@media (min-width: 48rem) {
  .pg-footer-inner { grid-template-columns: auto 1fr; align-items: center; }
  .pg-footer-links { justify-content: flex-end; }
  .pg-footer-legal { grid-column: 1 / -1; }
}
@media (max-width: 47.99rem) { .pg-footer-legal { flex-direction: column; } }

/* ───────── 版心与首屏 ───────── */
.film-page .fp-content, .film-page .fp-wrap, .film-page .sc-wrap { max-inline-size: 80rem; margin-inline: auto; padding-inline: var(--hf-gutter); }
.film-page .fp-hero { min-block-size: 40rem; padding: 128px var(--hf-gutter) 96px; color: var(--pg-on-night); background: var(--pg-night);
  --hf-paper: var(--pg-on-night); --hf-muted: var(--pg-on-night-dim); --hf-accent: var(--pg-on-night); --hf-line: rgb(255 241 216 / 35%); --pg-focus: var(--pg-on-night); }
.film-page .fp-hero::before { background: rgb(43 27 19 / 56%); }
.film-page .fp-hero-media img { border-radius: 0; }
.film-page .fp-hero-copy { max-inline-size: 680px; }
.film-page .fp-hero-copy h1 { margin-block-start: 24px; background: linear-gradient(90deg, #fff9ef, #e8d3b6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.film-page .fp-hero-copy > p:not(.fp-eyebrow) { margin-block-start: 24px; color: var(--pg-on-night-dim); }
.film-page .fp-hero .fp-eyebrow { color: var(--pg-on-night); }
.film-page .fp-hero-foot { inset: auto var(--hf-gutter) 16px; color: var(--pg-on-night-dim); }
.film-page .fp-hero .fp-textlink { color: var(--pg-on-night); border-color: rgb(255 241 216 / 50%); }
.film-page .fp-hero .fp-textlink:hover { border-color: var(--pg-on-night); }
@media (max-width: 47.99rem) { .film-page .fp-hero { padding-block: 112px 96px; } }

/* 按钮与文字链接 */
.film-page .fp-button {
  min-block-size: 48px; padding: 8px 16px; gap: 24px; border-radius: 9999px; background: var(--pg-seal); color: var(--pg-on-seal);
  transition: background-color .3s var(--pg-ease), transform .5s var(--pg-ease);
}
.film-page .fp-button:hover { background: var(--pg-seal-dk); color: var(--pg-on-seal); transform: none; }
.film-page .fp-button:active { transform: scale(.98); }
.film-page .fp-textlink { gap: 8px; border-block-end: 0; color: var(--pg-seal); text-decoration: underline; text-underline-offset: 4px; transition: color .3s var(--pg-ease), transform .5s var(--pg-ease); }
.film-page .fp-textlink:hover { color: var(--pg-seal-dk); border: 0; }
.film-page .fp-textlink:active { transform: scale(.98); }
.film-page :is(.fp-legal, .fp-faq, .fp-qa, .fp-facts-grid, .fp-help-lead, .fp-document-subtitle) a { color: var(--pg-seal); text-decoration: underline; text-underline-offset: 4px; }
.film-page :is(.fp-legal, .fp-faq, .fp-qa, .fp-facts-grid) a:hover { color: var(--pg-seal-dk); }
.film-page a:active { opacity: 1; }

/* ───────── 段落与间距（取代旧的 clamp 和 28 / 56 / 72 这类间距） ───────── */
.film-page .fp-opening { gap: 24px 64px; }
.film-page .fp-opening > p:last-child { color: var(--pg-ink2); }
.film-page .fp-service { gap: 64px; padding-block: 64px; border-block-start: 1px solid var(--pg-line-strong); }
.film-page .fp-service-copy > h2 { margin-block-start: 16px; max-inline-size: 540px; }
.film-page .fp-service-copy > p:not(.fp-eyebrow):not(.fp-caption) { margin-block-start: 16px; color: var(--pg-ink2); line-height: 1.75rem; }
.film-page .fp-service figure img { filter: none; border-radius: 16px; }
.film-page .fp-service figcaption, .film-page .fp-caption { margin-block-start: 12px; color: var(--pg-ink2); }
.film-page .fp-service--text blockquote { color: var(--pg-seal); }
.film-page .fp-boundaries { padding-block: var(--fp-section); border-block-start: 1px solid var(--pg-line-strong); }
.film-page .fp-principles { gap: 32px; margin-block-start: 48px; }
.film-page .fp-principles > div { padding: 24px; border: 1px solid var(--pg-line-strong); border-radius: 16px; background: var(--pg-paper); }
.film-page .fp-principles p { margin-block-start: 8px; color: var(--pg-ink2); }
.film-page .fp-cta { padding-block: var(--fp-section); background: var(--pg-sunlit); border-block-start: 1px solid var(--pg-line-strong); border-radius: 0; }
.film-page .fp-cta h2 { margin-block-start: 16px; }
.film-page .fp-actions { gap: 16px 24px; margin-block: 32px 24px; }
.film-page .fp-digest { padding-block: 48px; border-block-start: 1px solid var(--pg-line-strong); }
.film-page .fp-digest > h2 { margin-block-start: 16px; }
.film-page .fp-digest-group > h3 { margin-block: 32px 16px; color: var(--pg-seal); font-family: var(--pg-font); }
.film-page .fp-digest-grid { gap: 16px; margin-block-start: 16px; }
.film-page .fp-digest-grid li { padding: 24px; border: 1px solid var(--pg-line-strong); border-radius: 16px; background: var(--pg-paper); }
.film-page .fp-digest-grid strong { color: var(--pg-ink); }
.film-page .fp-digest-grid span, .film-page .fp-steps span { color: var(--pg-ink2); }
.film-page .fp-ico { stroke: var(--pg-seal); }
.film-page i.fp-ico { font-size: 2rem; line-height: 1; color: var(--pg-seal); flex: none; }
.film-page .fp-steps { margin-block-start: 48px; border-block-start: 1px solid var(--pg-line-strong); }
.film-page .fp-steps li { padding: 24px 24px 8px 0; }
.film-page .fp-steps li::before { color: var(--pg-seal); }
.film-page .fp-steps li::after { inset-block-start: -4px; background: var(--pg-seal); }
.film-page .fp-steps strong { color: var(--pg-ink); }
.film-page .fp-compare { padding-block: 48px; border-block-start: 1px solid var(--pg-line-strong); }
.film-page .fp-compare-grid { gap: 24px; margin-block-start: 32px; }
.film-page .fp-compare figure img { border-radius: 16px; }
.film-page .fp-compare .fp-tag { inset: 12px auto auto 12px; padding: 4px 12px; border-radius: 9999px; background: var(--pg-night); color: var(--pg-on-night); }
.film-page .fp-compare figure:last-child .fp-tag { background: var(--pg-seal); color: var(--pg-on-seal); }
.film-page .fp-compare figcaption { color: var(--pg-ink2); }
.film-page .fp-qa { padding-block: var(--fp-section); border-block-start: 1px solid var(--pg-line-strong); gap: 24px 64px; }
.film-page .fp-facts { padding-block: 48px; border-block-start: 1px solid var(--pg-line-strong); }
.film-page .fp-facts-grid { gap: 32px; margin-block-start: 40px; }
.film-page .fp-facts-grid > div { padding: 24px; border: 1px solid var(--pg-line-strong); border-radius: 16px; background: var(--pg-paper); }
.film-page .fp-facts-grid p { color: var(--pg-ink2); margin-block-start: 8px; }

/* 问答与折叠：加号用遮罩画出，展开时旋转 */
.film-page :is(.fp-faq, .fp-qa) details { border-color: var(--pg-line-strong); }
.film-page :is(.fp-faq, .fp-qa) details:first-child { border-block-start-color: var(--pg-line-strong); }
.film-page :is(.fp-faq, .fp-qa) summary { padding-block: 12px; transition: color .3s var(--pg-ease); }
.film-page :is(.fp-faq, .fp-qa) summary:hover { color: var(--pg-seal); }
.film-page :is(.fp-faq, .fp-qa, .fp-directory) summary::after {
  content: ""; flex: none; inline-size: 16px; block-size: 16px; background: var(--pg-seal); font-size: 0;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M2 8h12' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M2 8h12' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .5s var(--pg-ease);
}
.film-page :is(.fp-faq, .fp-qa) details[open] summary::after { content: ""; transform: rotate(45deg); }
.film-page .fp-directory summary { color: var(--pg-seal); }
.film-page .fp-directory summary > span { display: none; }
.film-page .fp-directory[open] summary::after { transform: rotate(45deg); }
.film-page :is(.fp-faq, .fp-qa) details > div { color: var(--pg-ink2); }

/* ───────── 文档页：示例、帮助、隐私、条款 ───────── */
.film-page.document-page .fp-document-header { padding-block: 96px 48px; border-block-end: 1px solid var(--pg-line-strong); }
.film-page.document-page .fp-document-header h1 { margin-block-start: 16px; }
.film-page.document-page .fp-document-subtitle { margin-block-start: 16px; color: var(--pg-ink2); }
.film-page.document-page .fp-document-meta { margin-block-start: 24px; color: var(--pg-ink2); }
.film-page.document-page .fp-document-layout { gap: 64px; padding-block: 64px var(--fp-section); }
.film-page.document-page .fp-document-nav a { color: var(--pg-ink2); transition: color .3s var(--pg-ease); }
.film-page.document-page .fp-document-nav a:hover { color: var(--pg-seal); }
.film-page.document-page .fp-legal :is(p, li) { color: var(--pg-ink2); }
.film-page.document-page .fp-legal strong { color: var(--pg-ink); }
.film-page.document-page .fp-legal h2 { margin: 48px 0 24px; padding-block-start: 24px; border-block-start: 1px solid var(--pg-line-strong); }
.film-page.document-page .fp-legal h3 { margin: 32px 0 16px; }
.film-page.document-page .fp-legal li + li { margin-block-start: 16px; }
.film-page.document-page .fp-help-lead { max-inline-size: 820px; margin-block-start: 32px; color: var(--pg-ink2); }
.film-page.document-page .fp-contact-grid { gap: 24px; margin-block: 48px 64px; }
.film-page.document-page .fp-contact-grid > :is(a, div) { padding: 32px; border: 1px solid var(--pg-line-strong); border-radius: 16px; background: var(--pg-paper); color: var(--pg-ink); transition: border-color .3s var(--pg-ease), background-color .3s var(--pg-ease); }
.film-page.document-page .fp-contact-grid > a:hover { border-color: var(--pg-seal); background: var(--pg-seal-soft); }
.film-page.document-page .fp-contact-grid p { color: var(--pg-ink2); }
.film-page.document-page .fp-help-steps { padding-block: 48px 24px; border-block-start: 1px solid var(--pg-line-strong); }
.film-page.document-page .fp-help-section { gap: 16px 64px; padding-block: 64px; border-block-start: 1px solid var(--pg-line-strong); }
.film-page.document-page .fp-digest--doc { border-block-start: 0; padding-block-end: 24px; }
.film-page.document-page .fp-document-nav { top: 96px; }

/* 示例回忆录：一本纸质书 */
.example-page .fp-example-toc { gap: 8px 32px; margin-block: 32px; padding-block: 12px; border-block: 1px solid var(--pg-line-strong); }
.example-page .fp-example-toc a, .example-page .fp-example-toc button { color: var(--pg-seal); gap: 8px; transition: color .3s var(--pg-ease); }
.example-page .fp-example-toc button { border-block-end: 0; color: var(--pg-seal); text-decoration: underline; text-underline-offset: 4px; }
.example-page .fp-example-toc a:hover, .example-page .fp-example-toc button:hover { color: var(--pg-seal-dk); }
.film-page .fp-book { max-inline-size: 820px; margin: 40px auto 0; padding: 24px; border-radius: 4px; background: var(--pg-paper); color: var(--pg-ink); box-shadow: 4px 4px 0 -1px var(--pg-soft), 4px 4px 0 var(--pg-line-strong), 8px 8px 0 -1px var(--pg-soft), 8px 8px 0 var(--pg-line-strong); }
@media (min-width: 48rem) { .film-page .fp-book { padding: 48px; } }
@media (min-width: 64rem) { .film-page .fp-book { padding: 64px; } }
.film-page .fp-book section + section { margin-block-start: 64px; padding-block-start: 48px; border-block-start: 1px solid var(--pg-line); }
.film-page .fp-book :is(h2, h3) { color: var(--pg-ink); }
.film-page .fp-book h3 { margin-block-start: 24px; }
.film-page .fp-book p { color: var(--pg-ink); }
.film-page .fp-book-no, .film-page .fp-book .fp-book-meta, .film-page .fp-book-figure figcaption { color: var(--pg-ink2); }
.film-page .fp-book-figure img { filter: none; border-radius: 8px; }
.example-page .fp-cta { margin-block: var(--fp-section) 0; }

/* ───────── 为什么写回忆录 ───────── */
.why-memoir .wm-intro { gap: 48px 64px; padding-block: 96px 64px; }
.why-memoir .wm-eyebrow { margin-block-end: 16px; }
.why-memoir .wm-lead { margin-block-start: 24px; color: var(--pg-ink2); letter-spacing: 0; }
.why-memoir .wm-intro-text { max-inline-size: 780px; margin: 24px auto 0; color: var(--pg-ink2); }
.why-memoir .wm-intro-text p + p { margin-block-start: 24px; }
.why-memoir .wm-figure img { filter: none; border-radius: 4px; }
.why-memoir .wm-figure--opening { padding: 12px 12px 0; border-radius: 4px; background: var(--pg-paper); color: var(--pg-ink); box-shadow: 0 24px 64px rgb(76 43 27 / 20%); }
.why-memoir .wm-figure--opening figcaption { padding: 0 8px 16px; color: var(--pg-ink); font-family: var(--pg-font); font-size: .875rem; line-height: 1.25rem; }
.why-memoir .wm-figure figcaption { color: var(--pg-ink2); }
.why-memoir .wm-figure--opening figcaption span { font-family: var(--pg-font); }
.why-memoir .wm-toc { padding-block: 12px; border-block: 1px solid var(--pg-line-strong); gap: 8px 24px; }
.why-memoir .wm-toc a { color: var(--pg-seal); gap: 16px; transition: color .3s var(--pg-ease); }
.why-memoir .wm-toc a:hover { color: var(--pg-seal-dk); }
.why-memoir .wm-chapter { gap: 24px 64px; padding-block: var(--fp-section); }
.why-memoir .wm-chapter + .wm-chapter { border-block-start: 1px solid var(--pg-line-strong); }
.why-memoir .wm-chapter > .wm-chapter-lead { color: var(--pg-ink2); }
.why-memoir .wm-note { padding-block-start: 24px; margin-block-start: 16px; border-block-start: 1px solid var(--pg-line-strong); }
.why-memoir .wm-note p { margin-block-start: 8px; color: var(--pg-ink2); }
.why-memoir .wm-scenario { padding: 24px 32px; border: 1px solid var(--pg-line-strong); border-radius: 16px; background: var(--pg-sunlit); gap: 32px; }
.why-memoir .wm-scenario p { color: var(--pg-ink2); }
.why-memoir .wm-start { max-inline-size: 820px; padding-block: var(--fp-section); border-block-start: 1px solid var(--pg-line-strong); }
.why-memoir .wm-start > p:not(.wm-eyebrow) { margin-block-start: 24px; color: var(--pg-ink2); }
.why-memoir .wm-prompts { margin-block-start: 40px; }
.why-memoir .wm-prompts > div { padding-block: 24px; border-block-start: 1px solid var(--pg-line-strong); }
.why-memoir .wm-prompts dt { color: var(--pg-ink2); }
.why-memoir .wm-prompts dd { margin-block-start: 8px; }
.why-memoir .wm-actions { gap: 16px 24px; margin-block-start: 40px; }

/* ───────── 404 ───────── */
.film-page .nf { display: grid; justify-content: start; justify-items: start; align-content: center; gap: 16px; min-block-size: 70vh; padding-block: 128px var(--fp-section); }
.film-page .nf .fp-actions { justify-content: flex-start; margin-block: 16px 0; }
.film-page .nf p:not(.nf-no) { max-inline-size: 30rem; color: var(--pg-ink2); }

/* ───────── 滚动出现：只在允许动态时，由 js/pages.js 加类 ───────── */
@media (prefers-reduced-motion: no-preference) {
  .film-page .pg-reveal { transition: opacity .7s var(--pg-ease), transform .7s var(--pg-ease); }
  .film-page .pg-reveal:not(.is-visible):not(:focus-within) { opacity: 0; transform: translateY(32px); }
  .pg-menu[open] .pg-menu-links a { animation: pg-menu-link .22s var(--pg-ease) both; }
  .pg-menu[open] .pg-menu-links a:nth-child(2) { animation-delay: 60ms; }
  .pg-menu[open] .pg-menu-links a:nth-child(3) { animation-delay: 120ms; }
  .pg-menu[open] .pg-menu-links a:nth-child(4) { animation-delay: 180ms; }
  .pg-menu[open] .pg-menu-close .pg-menu-icon::before { animation: pg-cross-top .5s var(--pg-ease); }
  .pg-menu[open] .pg-menu-close .pg-menu-icon::after { animation: pg-cross-bottom .5s var(--pg-ease); }
}
@media (prefers-reduced-motion: reduce) {
  .film-page *, .film-page *::before, .film-page *::after { animation: none !important; scroll-behavior: auto !important; }
  .film-page :is(.pg-button, .pg-icon-button, .fp-button, .pg-nav-links a) { transition-property: background-color, color, border-color !important; transition-duration: .2s !important; }
}
@keyframes pg-menu-link { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pg-cross-top { from { transform: translateY(-4px); } }
@keyframes pg-cross-bottom { from { transform: translateY(4px); } }
@media (forced-colors: active) { .film-page .fp-hero-copy h1 { background: none; color: CanvasText; } .pg-nav, .pg-button { border-color: ButtonText; } }
}
