.page-privacy {
  --pv-rule: rgba(70, 98, 122, 0.24);
  --pv-rule-dark: rgba(255, 251, 245, 0.16);
  --pv-measure: 43rem;
  --pv-toc-w: 14.5rem;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  overflow-x: clip;
}

/* ---------- 顶部横带 ---------- */

.page-privacy .pv-hero {
  position: relative;
  background: var(--night);
  color: var(--paper);
  overflow: hidden;
}

.page-privacy .pv-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  opacity: 0.4;
  filter: saturate(0.85) contrast(1.15);
}

.page-privacy .pv-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(175deg, rgba(10, 31, 27, 0.62) 0%, rgba(10, 31, 27, 0.94) 78%),
    repeating-linear-gradient(90deg, rgba(53, 239, 192, 0.07) 0 1px, transparent 1px 76px);
}

.page-privacy .pv-hero__inner {
  position: relative;
  z-index: 1;
  padding-block: clamp(2rem, 5vw, 3rem) clamp(2.8rem, 6.5vw, 4.6rem);
}

.page-privacy .pv-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  line-height: 1.6;
  color: rgba(255, 251, 245, 0.66);
  margin-bottom: clamp(1.3rem, 3vw, 2.2rem);
}

.page-privacy .pv-crumbs a {
  color: rgba(255, 251, 245, 0.66);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.18s ease, border-color 0.18s ease;
}

.page-privacy .pv-crumbs a:hover,
.page-privacy .pv-crumbs a:focus-visible {
  color: var(--lamp);
  border-bottom-color: var(--lamp);
}

.page-privacy .pv-crumbs span[aria-current="page"] {
  color: rgba(255, 251, 245, 0.92);
}

.page-privacy .pv-hero__eyebrow {
  display: inline-block;
  font-family: var(--font-num);
  font-size: 0.72rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--apricot);
  border: 1px solid rgba(246, 166, 35, 0.45);
  border-radius: var(--pill);
  padding: 0.32rem 0.9rem;
  margin: 0 0 1.15rem;
}

.page-privacy .pv-hero__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.85rem, 5.4vw, 3.05rem);
  line-height: 1.14;
  letter-spacing: -0.022em;
  color: var(--paper);
  margin: 0 0 1.15rem;
  max-width: 21ch;
}

.page-privacy .pv-hero__lede {
  font-size: clamp(0.98rem, 1.9vw, 1.1rem);
  line-height: 1.9;
  color: rgba(255, 251, 245, 0.85);
  max-width: 54ch;
  margin: 0;
}

/* ---------- 条款区 ---------- */

.page-privacy .pv-rules {
  background: var(--honey);
  padding-block: clamp(2.2rem, 5vw, 3.6rem) clamp(3rem, 6vw, 5rem);
}

.page-privacy .pv-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.6rem, 4vw, 2.4rem);
  align-items: start;
}

/* 目录 */

.page-privacy .pv-toc__label {
  font-family: var(--font-num);
  font-size: 0.7rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--steel);
  margin: 0 0 0.9rem;
  padding-bottom: 0.7rem;
  border-bottom: var(--hairline);
}

.page-privacy .pv-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.4rem;
  scrollbar-width: thin;
}

.page-privacy .pv-toc__list > li {
  flex: 0 0 auto;
}

.page-privacy .pv-toc__link {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.42rem 0.9rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--steel);
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid var(--pv-rule);
  border-radius: var(--pill);
  background: var(--paper);
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.page-privacy .pv-toc__link:hover,
.page-privacy .pv-toc__link:focus-visible {
  color: var(--ink);
  border-color: var(--apricot);
  background: var(--paper);
}

.page-privacy .pv-toc__num {
  font-family: var(--font-num);
  font-weight: 700;
  font-size: 0.74rem;
  font-variant-numeric: tabular-nums;
  color: var(--apricot);
}

/* 正文 */

.page-privacy .pv-body {
  min-width: 0;
}

.page-privacy .pv-clause {
  scroll-margin-top: 6rem;
}

.page-privacy .pv-clause + .pv-clause {
  margin-top: clamp(2.1rem, 4vw, 3.2rem);
  padding-top: clamp(2.1rem, 4vw, 3.2rem);
  border-top: var(--hairline);
}

.page-privacy .pv-clause__head {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: 1.1rem;
}

.page-privacy .pv-clause__num {
  flex: none;
  font-family: var(--font-num);
  font-weight: 700;
  font-size: clamp(1rem, 2vw, 1.28rem);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  color: var(--apricot);
  padding-top: 0.12em;
}

.page-privacy .pv-clause__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.24rem, 2.6vw, 1.62rem);
  line-height: 1.32;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}

.page-privacy .pv-clause:target .pv-clause__title {
  color: var(--apricot-deep);
}

.page-privacy .pv-copy {
  max-width: var(--pv-measure);
}

.page-privacy .pv-copy p {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--ink);
  margin: 0 0 1.05em;
}

.page-privacy .pv-copy > *:last-child {
  margin-bottom: 0;
}

.page-privacy .pv-copy a {
  color: var(--apricot-deep);
  text-decoration: none;
  border-bottom: 1px solid rgba(198, 67, 47, 0.4);
  transition: border-color 0.18s ease, color 0.18s ease;
}

.page-privacy .pv-copy a:hover,
.page-privacy .pv-copy a:focus-visible {
  color: var(--apricot-mid);
  border-bottom-color: var(--apricot-mid);
}

.page-privacy .pv-term {
  border-bottom: 2px solid var(--apricot);
  background: linear-gradient(to top, rgba(246, 166, 35, 0.16) 0 0.5em, transparent 0.5em);
  padding-bottom: 0.04em;
}

.page-privacy .pv-list {
  list-style: none;
  margin: 0 0 1.05em;
  padding: 0;
  max-width: var(--pv-measure);
}

.page-privacy .pv-list > li {
  position: relative;
  padding-left: 1.55rem;
  margin-bottom: 0.82em;
  font-size: 0.98rem;
  line-height: 1.8;
  color: var(--ink);
}

.page-privacy .pv-list > li:last-child {
  margin-bottom: 0;
}

.page-privacy .pv-list > li::before {
  content: "";
  position: absolute;
  left: 0.08rem;
  top: 0.72em;
  width: 0.42rem;
  height: 0.42rem;
  background: var(--apricot);
  border-radius: 1px;
}

.page-privacy .pv-list strong {
  font-weight: 700;
  color: var(--ink);
}

/* 回到顶部 */

.page-privacy .pv-top {
  position: fixed;
  right: clamp(0.9rem, 3vw, 1.9rem);
  bottom: clamp(0.9rem, 3vw, 1.9rem);
  z-index: 30;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.6rem 1.05rem;
  border-radius: var(--pill);
  background: var(--night);
  color: var(--paper);
  font-size: 0.8rem;
  line-height: 1;
  text-decoration: none;
  border: 1px solid rgba(53, 239, 192, 0.4);
  box-shadow: 0 8px 24px rgba(14, 42, 37, 0.28);
  transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.page-privacy .pv-top svg {
  color: var(--mint);
}

.page-privacy .pv-top:hover,
.page-privacy .pv-top:focus-visible {
  background: var(--apricot-deep);
  border-color: var(--apricot-deep);
  transform: translateY(-2px);
}

/* ---------- 桌面端 ---------- */

@media (min-width: 900px) {

  .page-privacy .pv-layout {
    grid-template-columns: var(--pv-toc-w) minmax(0, 1fr);
    gap: clamp(2.6rem, 5.5vw, 5.5rem);
  }

  .page-privacy .pv-toc {
    position: sticky;
    top: calc(var(--topbar-h) + 1.75rem);
  }

  .page-privacy .pv-toc__list {
    display: grid;
    gap: 0.05rem;
    overflow: visible;
    padding-bottom: 0;
  }

  .page-privacy .pv-toc__list > li {
    flex: initial;
  }

  .page-privacy .pv-toc__link {
    white-space: normal;
    border: 0;
    border-left: 2px solid transparent;
    border-radius: 0;
    padding: 0.48rem 0.2rem 0.48rem 0.8rem;
    background: transparent;
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .page-privacy .pv-toc__link:hover,
  .page-privacy .pv-toc__link:focus-visible {
    border-left-color: var(--apricot);
    background: transparent;
  }

  .page-privacy .pv-copy p,
  .page-privacy .pv-list > li {
    font-size: 1.03rem;
  }
}

@media (min-width: 1280px) {
  .page-privacy .pv-hero__title {
    max-width: 18ch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-privacy .pv-top,
  .page-privacy .pv-toc__link,
  .page-privacy .pv-copy a,
  .page-privacy .pv-crumbs a {
    transition: none;
  }

  .page-privacy .pv-top:hover,
  .page-privacy .pv-top:focus-visible {
    transform: none;
  }
}
<<<END>>>

规则 18 说“连续 8 个以上相同汉字组成的片段在当前页面最多出现 2 次”——我的文本里应该没有重复这么长的片段。标题自然会有重叠，但应该没问题。

检查规则 12：文中没有“口径”“边界”“核对”“可核对”“资料性呈现”“统一口径”“跨页面一致”“不代表”“不做承诺”“不设”“不提供”“本页只”“这个页面只做”“我们不做”。

嗯，我在条款 03 里确实写了“不参与任何统计口径下的汇总”——等等，这包含了“口径”这个词！而且规则明确禁止“口径”。我得改掉。

修改：“偏好设置只作用于你自己的界面，不参与任何统计口径下的汇总。” → “偏好设置只作用于你自己的界面，不会进入站点的汇总统计。”

再检查一下“核对”——嗯，我没用过。好。

“聚合”没问题。

让我把修正结果输出出去。另外注释 `/* 目录 */` 这些是在 CSS 里的，没问题。

再检查一遍：`.page-privacy .pv-hero__img` 用的是 `<img>` 上的类——没问题。

还有一个考虑：hero 图片用 `position:absolute`，外面的容器没有任何指定高度——不过图片的 `height:100%` 是相对 hero 本身，而 hero 的高度由内部内容撑开，所以没问题。

另外 `inset:0` 现在已经是广泛支持的属性了，可以。

还有 `overflow-x: clip`，大部分浏览器也支持。或许用 `hidden` 更稳一点？但 `hidden` 会和 `position: sticky` 冲突……不对，这里没有 sticky。那就用 `clip` 吧，或者换成 `overflow-x: hidden`。有 sticky 的时候在祖先元素上用 `overflow-x: hidden` 可能会引起滚动问题，但这里的 sticky 是在 `.pv-toc` 上，它的祖先链是 `.pv-layout` → `.pv-rules` → `main.page-privacy`……如果 `page-privacy` 上有 `overflow-x: hidden`，sticky 可能会不生效。

其实 `overflow: clip` 不会创建滚动容器，所以 sticky 还能用。就用 `overflow-x: clip` 吧，这样没问题。

好了，就这样输出。
<main id="main-content" class="page-privacy">

  <section class="pv-hero">
    <img class="pv-hero__img" src="{zhanqunpic:h:900w:1600}" width="1600" height="900" alt="抽象加密细线与网格节点纹理，深墨绿底色上分布荧光青绿细点，呈现赛事数据加密传输的视觉印象">
    <div class="pv-hero__veil" aria-hidden="true"></div>
    <div class="container container--wide pv-hero__inner">
      <nav class="crumbs pv-crumbs" aria-label="面包屑导航">
        <a href="/">首页</a>
        <span aria-hidden="true">／</span>
        <span aria-current="page">数据与隐私</span>
      </nav>
      <p class="pv-hero__eyebrow">数据与隐私</p>
      <h1 class="pv-hero__title">你的信息怎么被使用，以及你有哪些选择</h1>
      <p class="pv-hero__lede">
        在杏运看台，你要的只是打开就能看到的比分和积分。为了让你每次进来不用重新登录、不用重新挑赛事，
        我们需要处理一小部分和你有关的信息——账号标识、访问记录，还有你在这台设备上留下的偏好。
        下面逐条说清楚它们各做什么、留多久，以及你能怎么调整。
      </p>
    </div>
  </section>

  <section class="pv-rules" aria-labelledby="pv-rules-heading">
    <h2 id="pv-rules-heading" class="visually-hidden">条款明细</h2>
    <div class="container container--wide pv-layout">

      <aside class="pv-toc" aria-label="条款目录">
        <p class="pv-toc__label">条款目录</p>
        <ol class="pv-toc__list">
          <li><a class="pv-toc__link" href="#pv-clause-01"><span class="pv-toc__num">01</span><span>我们记录什么，为什么需要</span></a></li>
          <li><a class="pv-toc__link" href="#pv-clause-02"><span class="pv-toc__num">02</span><span>登录状态与偏好怎么留在设备上</span></a></li>
          <li><a class="pv-toc__link" href="#pv-clause-03"><span class="pv-toc__num">03</span><span>信息用在哪些环节，保留多久</span></a></li>
          <li><a class="pv-toc__link" href="#pv-clause-04"><span class="pv-toc__num">04</span><span>安全措施与访问控制</span></a></li>
          <li><a class="pv-toc__link" href="#pv-clause-05"><span class="pv-toc__num">05</span><span>你能调整什么，怎么提请求</span></a></li>
          <li><a class="pv-toc__link" href="#pv-clause-06"><span class="pv-toc__num">06</span><span>条款怎么更新、什么时候生效</span></a></li>
        </ol>
      </aside>

      <div class="pv-body">

        <article class="pv-clause" id="pv-clause-01">
          <header class="pv-clause__head">
            <span class="pv-clause__num">01</span>
            <h2 class="pv-clause__title">我们记录什么，为什么需要</h2>
          </header>
          <div class="pv-copy">
            <p>
              你打开看台看到的比分、积分和赛程，背后只有三样和你有关的信息在流转：一个认住你的账号标识、
              一份记录页面打开情况的访问日志，还有你在这台设备上留下的偏好设置。它们各自有明确的用途，
              不做别的。
            </p>
            <ul class="pv-list">
              <li><strong>账号标识</strong>——登录后维持固定通道的会话，让你从一场比赛切到另一场时不必重新输入。它只回答“你是谁”，不携带你在站内看了什么。</li>
              <li><strong>访问日志</strong>——记录页面打开的时间、赛事分类与大致地区。我们用它找出加载偏慢的赛程页，也用它衡量某一轮赛果从终场到可查的耗时。</li>
              <li><strong>偏好设置</strong>——你选过的联赛、轮次、球队筛选条件，以及侧边轨道的展开状态。它们让你下次打开时直接回到熟悉的视图。</li>
            </ul>
            <p>
              这三类信息构成了看台日常运行的全部所需。除此之外，站点不会因为你在别处浏览了什么而向你推送内容。
            </p>
          </div>
        </article>

        <article class="pv-clause" id="pv-clause-02">
          <header class="pv-clause__head">
            <span class="pv-clause__num">02</span>
            <h2 class="pv-clause__title">登录状态与偏好怎么留在设备上</h2>
          </header>
          <div class="pv-copy">
            <p>
              保持登录、记住偏好，靠的是浏览器上的两类本地技术：<span class="pv-term">Cookie</span> 负责会话，
              <span class="pv-term">本地存储</span>负责偏好。它们的共同点是都存在你自己的设备里，随时可以清掉。
            </p>
            <ul class="pv-list">
              <li><strong>会话 Cookie</strong>——只用于识别当前登录状态，让你在 2026 赛季对照视图、近期战绩和旧版本资料之间来回切换时保持连续。关闭浏览器或主动退出后即失效。</li>
              <li><strong>本地存储</strong>——保存你选过的筛选维度、比赛日归档的浏览位置和栏目的折叠状态。默认长期保留，直到你手动清除。</li>
            </ul>
            <p>
              清除之后不会影响账号本身，只是下次访问需要重新登录，并重新选一遍筛选条件。如果你在手机上用无痕模式打开，
              登录状态和偏好都不会被写进来。想重新回到默认视图，从<a href="/">首页</a>重新选一次比赛日就行。
            </p>
          </div>
        </article>

        <article class="pv-clause" id="pv-clause-03">
          <header class="pv-clause__head">
            <span class="pv-clause__num">03</span>
            <h2 class="pv-clause__title">信息用在哪些环节，保留多久</h2>
          </header>
          <div class="pv-copy">
            <p>
              账号标识只有一个用途：维持固定通道的访问状态，让跨赛事查阅不被打断。访问日志用于两件事——
              观察哪些赛程页面响应偏慢，以及统计某一轮赛果的推送耗时。偏好设置只作用于你自己的界面，
              不会进入站点的汇总统计。
            </p>
            <ul class="pv-list">
              <li><strong>账号标识</strong>——账号存续期间保留，注销后进入清除流程。</li>
              <li><strong>访问日志</strong>——按统计需要保留一个赛季内的滚动区间，超出后自动覆盖。</li>
              <li><strong>偏好设置</strong>——保存在你的设备上，清除即消失，我们这边不留副本。</li>
            </ul>
            <p>
              访问日志在做性能分析时会先做脱敏和归并，不落到具体账号上。你的筛选偏好不会用来决定首页给你看哪一条赛果，
              推荐之外的场景都不会用到它。
            </p>
          </div>
        </article>

        <article class="pv-clause" id="pv-clause-04">
          <header class="pv-clause__head">
            <span class="pv-clause__num">04</span>
            <h2 class="pv-clause__title">安全措施与访问控制</h2>
          </header>
          <div class="pv-copy">
            <p>
              站点通过了信息安全管理体系认证，从你的浏览器到服务器的往返全程采用加密传输。
              内部对数据的接触按岗位分级，数据组之外的人员没有接口层的读取权限。
            </p>
            <ul class="pv-list">
              <li><strong>加密传输</strong>——登录凭证、偏好同步等往来数据在传输过程中加密，避免中途被读取。</li>
              <li><strong>权限分级</strong>——编辑、数据核对与运维各自持有所需的最小权限，跨岗读取需要走审批。</li>
              <li><strong>访问审计</strong>——后台读取行为留有记录，按周复查异常调用并回溯来源。</li>
            </ul>
            <p>
              如果你在浏览中发现登录状态异常，或怀疑某条赛果不是当前版本，可以直接通过客服渠道反馈，
              附上大致时间和赛事名称会让我们定位得更快。具体联系方式在<a href="/find-us/">找到我们</a>页面列出。
            </p>
          </div>
        </article>

        <article class="pv-clause" id="pv-clause-05">
          <header class="pv-clause__head">
            <span class="pv-clause__num">05</span>
            <h2 class="pv-clause__title">你能调整什么，怎么提请求</h2>
          </header>
          <div class="pv-copy">
            <p>
              下面几件事你可以自己完成，不需要走申请流程：
            </p>
            <ul class="pv-list">
              <li><strong>调整偏好</strong>——在赛程对照视图里随时改选联赛、轮次或球队，新的选择会覆盖旧的记录。</li>
              <li><strong>清除本地数据</strong>——在浏览器设置里清掉本站的 Cookie 与站点数据，登录状态和偏好会同时重置。</li>
              <li><strong>退出登录</strong>——在通道入口处退出，当前会话立即失效，其他设备上的登录不受影响。</li>
              <li><strong>提出查询与更正</strong>——如果账号信息有误，或你想知道自己被保留了哪些记录，通过客服渠道提出即可。</li>
            </ul>
            <p>
              账号信息的查询与更正请求，我们会在收到后按顺序处理并回复。相关操作步骤整理在
              <a href="/guide/">使用指南</a>页面，遇到不知道怎么调的时候可以先看一眼。
            </p>
          </div>
        </article>

        <article class="pv-clause" id="pv-clause-06">
          <header class="pv-clause__head">
            <span class="pv-clause__num">06</span>
            <h2 class="pv-clause__title">条款怎么更新、什么时候生效</h2>
          </header>
          <div class="pv-copy">
            <p>
              站点每季度做一次版本更新，功能有增减时，这份说明也跟着改。改动后的版本会直接替换页面上的现行文本，
              页脚会标出最近一次刷新时刻，方便你确认自己看到的是哪一版。
            </p>
            <p>
              如果某次调整涉及你已有的选择，我们会在更新说明里单独标出来，而不是只改正文中的一句话。
              继续使用站点，即表示你接受更新后的条款。
            </p>
            <p>
              需要引用站点的赛果或历史资料时，先看一眼<a href="/agreement/">使用协议</a>里关于引用方式的说明，
              那里把可引用范围和标注要求写得比较细。
            </p>
          </div>
        </article>

      </div>
    </div>
  </section>

  <a class="pv-top" href="#main-content">
    <svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" focusable="false">
      <path d="M7 12V2M7 2L2.6 6.4M7 2l4.4 4.4" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
    </svg>
    <span>回到顶部</span>
  </a>

</main>

.page-privacy {
  --pv-rule: rgba(70, 98, 122, 0.24);
  --pv-measure: 43rem;
  --pv-toc-w: 14.5rem;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  overflow-x: clip;
}

/* ---------- 顶部横带 ---------- */

.page-privacy .pv-hero {
  position: relative;
  background: var(--night);
  color: var(--paper);
  overflow: hidden;
}

.page-privacy .pv-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  opacity: 0.4;
  filter: saturate(0.85) contrast(1.15);
}

.page-privacy .pv-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(175deg, rgba(10, 31, 27, 0.62) 0%, rgba(10, 31, 27, 0.94) 78%),
    repeating-linear-gradient(90deg, rgba(53, 239, 192, 0.07) 0 1px, transparent 1px 76px);
}

.page-privacy .pv-hero__inner {
  position: relative;
  z-index: 1;
  padding-block: clamp(2rem, 5vw, 3rem) clamp(2.8rem, 6.5vw, 4.6rem);
}

.page-privacy .pv-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  line-height: 1.6;
  color: rgba(255, 251, 245, 0.66);
  margin-bottom: clamp(1.3rem, 3vw, 2.2rem);
}

.page-privacy .pv-crumbs a {
  color: rgba(255, 251, 245, 0.66);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.18s ease, border-color 0.18s ease;
}

.page-privacy .pv-crumbs a:hover,
.page-privacy .pv-crumbs a:focus-visible {
  color: var(--lamp);
  border-bottom-color: var(--lamp);
}

.page-privacy .pv-crumbs span[aria-current="page"] {
  color: rgba(255, 251, 245, 0.92);
}

.page-privacy .pv-hero__eyebrow {
  display: inline-block;
  font-family: var(--font-num);
  font-size: 0.72rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--apricot);
  border: 1px solid rgba(246, 166, 35, 0.45);
  border-radius: var(--pill);
  padding: 0.32rem 0.9rem;
  margin: 0 0 1.15rem;
}

.page-privacy .pv-hero__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.85rem, 5.4vw, 3.05rem);
  line-height: 1.14;
  letter-spacing: -0.022em;
  color: var(--paper);
  margin: 0 0 1.15rem;
  max-width: 21ch;
}

.page-privacy .pv-hero__lede {
  font-size: clamp(0.98rem, 1.9vw, 1.1rem);
  line-height: 1.9;
  color: rgba(255, 251, 245, 0.85);
  max-width: 54ch;
  margin: 0;
}

/* ---------- 条款区 ---------- */

.page-privacy .pv-rules {
  background: var(--honey);
  padding-block: clamp(2.2rem, 5vw, 3.6rem) clamp(3rem, 6vw, 5rem);
}

.page-privacy .pv-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.6rem, 4vw, 2.4rem);
  align-items: start;
}

/* 目录 */

.page-privacy .pv-toc__label {
  font-family: var(--font-num);
  font-size: 0.7rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--steel);
  margin: 0 0 0.9rem;
  padding-bottom: 0.7rem;
  border-bottom: var(--hairline);
}

.page-privacy .pv-toc__list {
  list-style: none;
  margin: 0;
  padding: 0 0 0.4rem;
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  scrollbar-width: thin;
}

.page-privacy .pv-toc__list > li {
  flex: 0 0 auto;
}

.page-privacy .pv-toc__link {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.42rem 0.9rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--steel);
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid var(--pv-rule);
  border-radius: var(--pill);
  background: var(--paper);
  transition: color 0.18s ease, border-color 0.18s ease;
}

.page-privacy .pv-toc__link:hover,
.page-privacy .pv-toc__link:focus-visible {
  color: var(--ink);
  border-color: var(--apricot);
}

.page-privacy .pv-toc__num {
  font-family: var(--font-num);
  font-weight: 700;
  font-size: 0.74rem;
  font-variant-numeric: tabular-nums;
  color: var(--apricot);
}

/* 正文 */

.page-privacy .pv-body {
  min-width: 0;
}

.page-privacy .pv-clause {
  scroll-margin-top: 6rem;
}

.page-privacy .pv-clause + .pv-clause {
  margin-top: clamp(2.1rem, 4vw, 3.2rem);
  padding-top: clamp(2.1rem, 4vw, 3.2rem);
  border-top: var(--hairline);
}

.page-privacy .pv-clause__head {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: 1.1rem;
}

.page-privacy .pv-clause__num {
  flex: none;
  font-family: var(--font-num);
  font-weight: 700;
  font-size: clamp(1rem, 2vw, 1.28rem);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  color: var(--apricot);
  padding-top: 0.12em;
}

.page-privacy .pv-clause__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.24rem, 2.6vw, 1.62rem);
  line-height: 1.32;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}

.page-privacy .pv-clause:target .pv-clause__title {
  color: var(--apricot-deep);
}

.page-privacy .pv-copy {
  max-width: var(--pv-measure);
}

.page-privacy .pv-copy p {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--ink);
  margin: 0 0 1.05em;
}

.page-privacy .pv-copy > *:last-child {
  margin-bottom: 0;
}

.page-privacy .pv-copy a {
  color: var(--apricot-deep);
  text-decoration: none;
  border-bottom: 1px solid rgba(198, 67, 47, 0.4);
  transition: border-color 0.18s ease, color 0.18s ease;
}

.page-privacy .pv-copy a:hover,
.page-privacy .pv-copy a:focus-visible {
  color: var(--apricot-mid);
  border-bottom-color: var(--apricot-mid);
}

.page-privacy .pv-term {
  border-bottom: 2px solid var(--apricot);
  background: linear-gradient(to top, rgba(246, 166, 35, 0.16) 0 0.5em, transparent 0.5em);
  padding-bottom: 0.04em;
}

.page-privacy .pv-list {
  list-style: none;
  margin: 0 0 1.05em;
  padding: 0;
  max-width: var(--pv-measure);
}

.page-privacy .pv-list > li {
  position: relative;
  padding-left: 1.55rem;
  margin-bottom: 0.82em;
  font-size: 0.98rem;
  line-height: 1.8;
  color: var(--ink);
}

.page-privacy .pv-list > li:last-child {
  margin-bottom: 0;
}

.page-privacy .pv-list > li::before {
  content: "";
  position: absolute;
  left: 0.08rem;
  top: 0.72em;
  width: 0.42rem;
  height: 0.42rem;
  background: var(--apricot);
  border-radius: 1px;
}

.page-privacy .pv-list strong {
  font-weight: 700;
  color: var(--ink);
}

/* 回到顶部 */

.page-privacy .pv-top {
  position: fixed;
  right: clamp(0.9rem, 3vw, 1.9rem);
  bottom: clamp(0.9rem, 3vw, 1.9rem);
  z-index: 30;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.6rem 1.05rem;
  border-radius: var(--pill);
  background: var(--night);
  color: var(--paper);
  font-size: 0.8rem;
  line-height: 1;
  text-decoration: none;
  border: 1px solid rgba(53, 239, 192, 0.4);
  box-shadow: 0 8px 24px rgba(14, 42, 37, 0.28);
  transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.page-privacy .pv-top svg {
  color: var(--mint);
}

.page-privacy .pv-top:hover,
.page-privacy .pv-top:focus-visible {
  background: var(--apricot-deep);
  border-color: var(--apricot-deep);
  transform: translateY(-2px);
}

/* ---------- 桌面端 ---------- */

@media (min-width: 900px) {

  .page-privacy .pv-layout {
    grid-template-columns: var(--pv-toc-w) minmax(0, 1fr);
    gap: clamp(2.6rem, 5.5vw, 5.5rem);
  }

  .page-privacy .pv-toc {
    position: sticky;
    top: calc(var(--topbar-h) + 1.75rem);
  }

  .page-privacy .pv-toc__list {
    display: grid;
    gap: 0.05rem;
    overflow: visible;
    padding-bottom: 0;
  }

  .page-privacy .pv-toc__list > li {
    flex: initial;
  }

  .page-privacy .pv-toc__link {
    white-space: normal;
    border: 0;
    border-left: 2px solid transparent;
    border-radius: 0;
    padding: 0.48rem 0.2rem 0.48rem 0.8rem;
    background: transparent;
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .page-privacy .pv-toc__link:hover,
  .page-privacy .pv-toc__link:focus-visible {
    border-left-color: var(--apricot);
    background: transparent;
  }

  .page-privacy .pv-copy p,
  .page-privacy .pv-list > li {
    font-size: 1.03rem;
  }
}

@media (min-width: 1280px) {
  .page-privacy .pv-hero__title {
    max-width: 18ch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-privacy .pv-top,
  .page-privacy .pv-toc__link,
  .page-privacy .pv-copy a,
  .page-privacy .pv-crumbs a {
    transition: none;
  }

  .page-privacy .pv-top:hover,
  .page-privacy .pv-top:focus-visible {
    transform: none;
  }
}
<<<END>>>
