.page-privacy {
  display: block;
  background: var(--paper);
  color: var(--ink);
}

/* ===== 首屏 ===== */
.page-privacy .pp-hero {
  padding: clamp(28px, 5vw, 56px) 0 0;
}

.page-privacy .pp-hero__title {
  margin: 18px 0 16px;
  max-width: 22ch;
}

.page-privacy .pp-hero__lede {
  max-width: 62ch;
}

.page-privacy .pp-hero__figure {
  margin: clamp(28px, 4vw, 44px) 0 0;
  border: var(--line) solid var(--ink);
  box-shadow: var(--shadow-hard);
  background: var(--green-ink);
  overflow: hidden;
}

.page-privacy .pp-hero__figure img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: cover;
}

/* ===== 四类记录概览 ===== */
.page-privacy .pp-facts {
  padding: clamp(44px, 6vw, 80px) 0;
}

.page-privacy .pp-facts .section-head {
  margin-bottom: clamp(22px, 3vw, 34px);
}

.page-privacy .pp-facts__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
}

.page-privacy .pp-fact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 20px;
  background: var(--wheat);
  border: var(--line) solid var(--ink);
  box-shadow: var(--shadow-soft);
  color: inherit;
  text-decoration: none;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}

.page-privacy .pp-fact:hover,
.page-privacy .pp-fact:focus-visible {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hard);
}

.page-privacy .pp-fact__icon {
  display: block;
  width: 34px;
  height: 34px;
  margin-bottom: 6px;
  color: var(--purple);
}

.page-privacy .pp-fact__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.page-privacy .pp-fact__label {
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}

.page-privacy .pp-fact__desc {
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
}

/* ===== 正文与目录 ===== */
.page-privacy .pp-body {
  padding: 0 0 clamp(48px, 7vw, 96px);
}

.page-privacy .pp-body__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.page-privacy .pp-article {
  min-width: 0;
  border-top: var(--line) solid var(--ink);
}

/* 章节 */
.page-privacy .pp-sec {
  padding: clamp(28px, 4vw, 44px) 0;
  border-bottom: 2px dashed rgba(26, 26, 26, .22);
}

.page-privacy .pp-sec:last-child {
  border-bottom: none;
}

.page-privacy .pp-sec__head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}

.page-privacy .pp-sec__num {
  position: relative;
  flex: none;
  padding-bottom: 12px;
  font-family: var(--font-mono);
  font-size: clamp(26px, 3.6vw, 38px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  color: var(--purple);
  font-variant-numeric: tabular-nums;
}

.page-privacy .pp-sec__num::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 54px;
  height: 3px;
  background: var(--gold);
}

.page-privacy .pp-sec__title {
  margin: 0;
  padding-top: 2px;
  font-family: var(--font-serif);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  line-height: 1.25;
}

/* 条目列表 */
.page-privacy .pp-rows {
  border-top: 1px solid rgba(26, 26, 26, .16);
}

.page-privacy .pp-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(26, 26, 26, .16);
}

.page-privacy .pp-row:last-child {
  border-bottom: none;
}

.page-privacy .pp-row__key {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--green);
}

.page-privacy .pp-row__val {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.8;
  color: var(--ink);
}

/* 重点句 */
.page-privacy .pp-callout {
  margin: 22px 0 0;
  padding: 16px 18px;
  background: var(--wheat);
  border-left: 4px solid var(--purple);
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink);
}

/* 折叠说明 */
.page-privacy .pp-sec__disclosure {
  margin-top: 18px;
  background: var(--wheat);
}

.page-privacy .pp-sec__disclosure .disclosure__summary {
  font-size: 14px;
  color: var(--green-ink);
}

.page-privacy .pp-sec__disclosure .disclosure__body p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.8;
  color: var(--ink);
}

/* 联系通道 */
.page-privacy .pp-channels {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: var(--line) solid var(--ink);
}

.page-privacy .pp-channel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(26, 26, 26, .18);
}

.page-privacy .pp-channel__key {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--muted);
}

.page-privacy .pp-channel__val {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink);
  word-break: break-word;
}

/* ===== 目录 ===== */
.page-privacy .pp-toc {
  padding: 20px 18px;
  background: var(--wheat);
  border: var(--line) solid var(--ink);
  box-shadow: var(--shadow-soft);
}

.page-privacy .pp-toc__title {
  margin: 0 0 14px;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  color: var(--purple);
}

.page-privacy .pp-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}

.page-privacy .pp-toc__list li {
  border-bottom: 1px solid rgba(26, 26, 26, .14);
}

.page-privacy .pp-toc__list li:last-child {
  border-bottom: none;
}

.page-privacy .pp-toc__list a {
  display: block;
  padding: 9px 0 9px 14px;
  position: relative;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink);
  text-decoration: none;
  transition: color .18s var(--ease);
}

.page-privacy .pp-toc__list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: rgba(26, 26, 26, .22);
  transition: background .18s var(--ease), height .18s var(--ease);
}

.page-privacy .pp-toc__list a:hover,
.page-privacy .pp-toc__list a:focus-visible {
  color: var(--purple);
}

.page-privacy .pp-toc__list a:hover::before,
.page-privacy .pp-toc__list a:focus-visible::before {
  background: var(--gold);
  height: 16px;
}

/* ===== 页尾速览 ===== */
.page-privacy .pp-quick {
  background: var(--green);
  color: var(--paper);
  padding: clamp(44px, 6vw, 76px) 0;
}

.page-privacy .pp-quick__title {
  margin: 0 0 clamp(22px, 3vw, 34px);
  font-family: var(--font-serif);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  line-height: 1.25;
  color: var(--paper);
}

.page-privacy .pp-quick__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
}

.page-privacy .pp-quick__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  border: var(--line) solid rgba(245, 241, 232, .5);
  background: rgba(20, 64, 42, .35);
  color: var(--paper);
  text-decoration: none;
  transition: border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}

.page-privacy .pp-quick__item:hover,
.page-privacy .pp-quick__item:focus-visible {
  border-color: var(--gold);
  background: rgba(20, 64, 42, .6);
  transform: translateY(-3px);
}

.page-privacy .pp-quick__key {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--gold);
}

.page-privacy .pp-quick__desc {
  font-size: 15px;
  line-height: 1.75;
  color: rgba(245, 241, 232, .88);
}

/* ===== 响应式 ===== */
@media (min-width: 640px) {
  .page-privacy .pp-facts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-privacy .pp-row {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 20px;
    align-items: baseline;
  }

  .page-privacy .pp-channel {
    grid-template-columns: 120px minmax(0, 1fr);
    align-items: baseline;
    gap: 18px;
  }

  .page-privacy .pp-quick__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1000px) {
  .page-privacy .pp-facts__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-privacy .pp-body__grid {
    grid-template-columns: minmax(0, 1fr) 258px;
  }

  .page-privacy .pp-toc {
    position: sticky;
    top: 104px;
  }

  .page-privacy .pp-article {
    padding-right: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-privacy .pp-fact,
  .page-privacy .pp-quick__item {
    transition: none;
  }

  .page-privacy .pp-fact:hover,
  .page-privacy .pp-fact:focus-visible,
  .page-privacy .pp-quick__item:hover,
  .page-privacy .pp-quick__item:focus-visible {
    transform: none;
  }
}
<<<END>>>

第二个标记只有 PAGE_CSS，然后是 CSS，接着是 END。我确实有 END 标记吗？提示里说标记是三个尖括号，而且每个只能出现一次。指令说输出 MAIN_HTML 然后 PAGE_CSS。有提到 END 吗？没有。所以我应该删除 <<<END>>>。

等一下，要我直接看原文吗？原文就是用户消息。对，我确实有原文。

其实，最后那条“END”标记有问题。我重新输出一遍，不要它。

另一个问题：我用了一个 `.pp-fact__label`，但 `<a>` 用的是 `<span>` 元素。没问题。

但等等——`.pp-toc__list a::before` 用的是绝对定位，而 `<a>` 上有内边距。这没问题。

另外，嗯，我在 hero 里加了一个 `.pp-hero__figure`，里面放了一张图片，没问题。

概览卡片用的是 `.pp-fact`，里面有 `.pp-fact__icon`、`.pp-fact__label`、`.pp-fact__desc`。只有 `.pp-fact` 定义了悬停效果。没问题。

但我意识到应该删掉最后一个 `<<<END>>>`。

页面的 CSS 现在看是完整的。让我再扫一眼有没有漏掉的类：

- pp-hero ✓
- pp-hero__title ✓
- pp-hero__lede ✓
- pp-hero__figure ✓
- pp-facts ✓
- pp-facts__grid ✓
- pp-fact ✓
- pp-fact__icon ✓
- pp-fact__label ✓
- pp-fact__desc ✓
- pp-body ✓
- pp-body__grid ✓
- pp-article ✓
- pp-sec ✓
- pp-sec__head ✓
- pp-sec__num ✓
- pp-sec__title ✓
- pp-rows ✓
- pp-row ✓
- pp-row__key ✓
- pp-row__val ✓
- pp-callout ✓
- pp-sec__disclosure ✓
- pp-channels ✓
- pp-channel ✓
- pp-channel__key ✓
- pp-channel__val ✓
- pp-toc ✓
- pp-toc__title ✓
- pp-toc__list ✓
- pp-quick ✓
- pp-quick__title ✓
- pp-quick__grid ✓
- pp-quick__item ✓
- pp-quick__key ✓
- pp-quick__desc ✓

都覆盖了，没问题。

再看面包屑、lede、title-xl、title-md、label、num、container、section-head、disclosure、disclosure__summary、disclosure__body 这些全局类，都没问题。

`.pp-channel__val.num` 里的 `.num` 是等宽字体，可以。

现在检查一下 hero 的标题 `.title-xl` —— 那是全局字号阶梯。在 60-72px 区间。可以。

都检查完了。最后输出时把 <<<END>>> 去掉。
