.page-disclaimer{
  --pd-serif: var(--font-serif);
  position: relative;
  background: var(--c-ink);
  color: var(--c-text);
  font-family: var(--font-body);
  overflow-wrap: break-word;
}
.page-disclaimer a:focus-visible{
  outline: 2px solid var(--c-lime);
  outline-offset: 3px;
}

/* ===== 首屏 ===== */
.page-disclaimer .terms-hero{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid var(--c-line);
  padding: clamp(26px, 5vw, 52px) 0 clamp(38px, 7vw, 86px);
}
.page-disclaimer .terms-hero__media{
  position: absolute;
  inset: 0;
  z-index: -2;
}
.page-disclaimer .terms-hero__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .3;
  filter: saturate(.85) contrast(1.08);
}
.page-disclaimer .terms-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(to right, var(--c-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--c-grid) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none;
}
.page-disclaimer .terms-hero::after{
  content: "";
  position: absolute;
  right: -80px;
  top: 18%;
  width: 340px;
  height: 340px;
  background: linear-gradient(135deg, rgba(91,190,63,.22), rgba(27,73,101,0));
  transform: rotate(18deg);
  z-index: -1;
  pointer-events: none;
}
.page-disclaimer .terms-hero__inner{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.page-disclaimer .terms-hero__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.page-disclaimer .terms-hero__badge{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--c-lime);
  border: 1px solid rgba(215,255,63,.45);
  padding: 5px 10px;
  line-height: 1;
}
.page-disclaimer .terms-hero__kicker{
  margin: 0;
}
.page-disclaimer .terms-hero__title{
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(46px, 12vw, 108px);
  line-height: .92;
  letter-spacing: .01em;
  color: var(--c-bone);
}
.page-disclaimer .terms-hero__lede{
  margin: 0;
  max-width: 60ch;
  font-size: clamp(15px, .5vw + 13px, 18px);
  line-height: 1.8;
  color: var(--c-text);
}
.page-disclaimer .terms-hero__lede::first-letter{
  color: var(--c-kiwi);
  font-weight: 700;
}

/* ===== 版式骨架 ===== */
.page-disclaimer .terms-layout-wrap{
  padding: clamp(32px, 6vw, 72px) 0 clamp(46px, 8vw, 96px);
}
.page-disclaimer .terms-layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(26px, 5vw, 58px);
}

/* ===== 目录 ===== */
.page-disclaimer .terms-toc{
  border-top: 2px solid var(--c-kiwi);
  padding-top: 14px;
}
.page-disclaimer .terms-toc__title{
  margin: 0 0 12px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--c-moss);
}
.page-disclaimer .terms-toc__list{
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: pd-toc;
  display: flex;
  flex-direction: column;
}
.page-disclaimer .terms-toc__list li{
  counter-increment: pd-toc;
  border-bottom: 1px solid var(--c-line-soft);
}
.page-disclaimer .terms-toc__link{
  display: grid;
  grid-template-columns: 2.4em minmax(0, 1fr);
  gap: 6px;
  padding: 10px 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-text-dim);
  text-decoration: none;
  transition: color .2s var(--ease), padding-left .2s var(--ease);
}
.page-disclaimer .terms-toc__link::before{
  content: counter(pd-toc, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--c-moss);
  padding-top: 3px;
}
.page-disclaimer .terms-toc__link:hover,
.page-disclaimer .terms-toc__link:focus-visible{
  color: var(--c-lime);
  padding-left: 4px;
}
.page-disclaimer .terms-back{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 18px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--c-kiwi);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s var(--ease), border-color .2s var(--ease);
}
.page-disclaimer .terms-back:hover,
.page-disclaimer .terms-back:focus-visible{
  color: var(--c-lime);
  border-bottom-color: var(--c-lime);
}

/* ===== 条款正文 ===== */
.page-disclaimer .terms-body{
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.page-disclaimer .terms-section{
  padding: clamp(22px, 4vw, 34px) 0;
  border-top: 1px solid var(--c-line);
  scroll-margin-top: calc(var(--bar-h) + 60px);
  max-width: 72ch;
}
.page-disclaimer .terms-section:first-child{
  border-top: 0;
  padding-top: 0;
}
.page-disclaimer .terms-section__head{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.page-disclaimer .terms-section__idx{
  flex: none;
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .12em;
  line-height: 1;
  padding: 5px 8px;
  background: var(--c-wine);
  color: var(--c-bone);
}
.page-disclaimer .terms-section__title{
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(21px, 2vw + 12px, 30px);
  line-height: 1.2;
  letter-spacing: .01em;
  color: var(--c-bone);
}
.page-disclaimer .terms-section p{
  margin: 0 0 12px;
  font-size: clamp(15px, .35vw + 13px, 17px);
  line-height: 1.8;
  color: var(--c-text);
}
.page-disclaimer .terms-section p:last-child{
  margin-bottom: 0;
}
.page-disclaimer .terms-list{
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.page-disclaimer .terms-list li{
  position: relative;
  padding-left: 22px;
  font-size: clamp(14.5px, .3vw + 13px, 16px);
  line-height: 1.78;
  color: var(--c-text);
}
.page-disclaimer .terms-list li::before{
  content: "";
  position: absolute;
  left: 2px;
  top: .72em;
  width: 7px;
  height: 7px;
  background: var(--c-kiwi);
  transform: rotate(45deg);
}
.page-disclaimer .terms-list strong{
  color: var(--c-bone);
  font-weight: 700;
}
.page-disclaimer .terms-section a{
  color: var(--c-lime);
  text-decoration: none;
  border-bottom: 1px solid rgba(215,255,63,.4);
  transition: border-color .2s var(--ease);
}
.page-disclaimer .terms-section a:hover,
.page-disclaimer .terms-section a:focus-visible{
  border-bottom-color: var(--c-lime);
}
.page-disclaimer .terms-note{
  margin: 14px 0;
  padding: 13px 16px;
  border-left: 3px solid var(--c-orange);
  background: rgba(255,122,47,.07);
  font-size: 14.5px;
  line-height: 1.72;
  color: var(--c-bone);
}

/* ===== 联系信息块 ===== */
.page-disclaimer .terms-contact{
  margin: 16px 0;
  border: 1px solid var(--c-line);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  background: var(--c-seed);
}
.page-disclaimer .terms-contact__item{
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 13px 16px;
  border-top: 1px solid var(--c-line-soft);
}
.page-disclaimer .terms-contact__item:first-child{
  border-top: 0;
}
.page-disclaimer .terms-contact__label{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--c-moss);
}
.page-disclaimer .terms-contact__value{
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-bone);
  word-break: break-word;
}
.page-disclaimer .terms-contact__note{
  margin: 0 0 12px;
  font-family: var(--pd-serif);
  font-size: 14px;
  line-height: 1.8;
  color: var(--c-moss);
  border-left: 1px solid var(--c-line);
  padding-left: 14px;
}

/* ===== 平板 ===== */
@media (min-width: 640px){
  .page-disclaimer .terms-contact{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-disclaimer .terms-contact__item:nth-child(2){
    border-top: 0;
    border-left: 1px solid var(--c-line-soft);
  }
  .page-disclaimer .terms-contact__item--wide{
    grid-column: 1 / -1;
    border-left: 0;
  }
}

/* ===== 桌面：粘性目录 + 窄幅正文 ===== */
@media (min-width: 900px){
  .page-disclaimer .terms-layout{
    grid-template-columns: minmax(190px, 238px) minmax(0, 1fr);
    align-items: start;
  }
  .page-disclaimer .terms-toc{
    position: sticky;
    top: calc(var(--bar-h) + 22px);
  }
  .page-disclaimer .terms-section{
    padding: clamp(30px, 3vw, 44px) 0;
  }
  .page-disclaimer .terms-hero__lede{
    max-width: 56ch;
  }
}

/* ===== 动效 ===== */
@media (prefers-reduced-motion: no-preference){
  .page-disclaimer [data-reveal]{
    opacity: 1;
  }
  .page-disclaimer .terms-hero__badge,
  .page-disclaimer .terms-hero__title,
  .page-disclaimer .terms-hero__lede{
    animation: pd-rise .6s var(--ease) both;
  }
  .page-disclaimer .terms-hero__title{ animation-delay: .06s; }
  .page-disclaimer .terms-hero__lede{ animation-delay: .12s; }
}
@keyframes pd-rise{
  from{ opacity: 0; transform: translateY(14px); }
  to{ opacity: 1; transform: translateY(0); }
}
</style>
<<<END>>>

等一下——我上面在 CSS 块里多加了一个 `</style>`。要撤掉。直接干净地输出。

还有一点要考虑：我在 `<main>` 上用了一个 `data-reveal`，但 `<main>` 本身没有应用这个类。这没问题——`data-reveal` 用在 `<article>` 元素上，而 site.js 会给它们加 `.is-visible`。不过我写了 `.page-disclaimer [data-reveal]{opacity:1}`，这样即使 JS 没跑，内容也保持可见。好。

我重新干净地输出一遍。没有 `</style>`。
<main id="main-content" class="page-disclaimer">
  <section class="terms-hero" id="terms-top">
    <div class="terms-hero__media">
      <img src="{zhanqunpic:h:900w:1600}" width="1600" height="900" alt="墨绿与炭黑渐变上的抽象条款网格纹理，不含文字和人物">
    </div>
    <div class="wrap terms-hero__inner">
      <div class="terms-hero__top">
        <nav class="breadcrumbs" aria-label="面包屑">
          <a class="breadcrumbs__link" href="/">首页</a>
          <span class="breadcrumbs__sep">/</span>
          <span aria-current="page">使用条款</span>
        </nav>
        <span class="terms-hero__badge">共 8 条</span>
      </div>
      <p class="eyebrow terms-hero__kicker">网站使用规则</p>
      <h1 class="terms-hero__title">使用条款</h1>
      <p class="terms-hero__lede">当你在奇异果体育翻看赛事战报、查询球员数据，或者为周末约球调取北京场馆信息时，下面八条规则说明我们能提供什么、你需要留意什么，以及内容出错或服务中断时如何处理。</p>
    </div>
  </section>

  <section class="section terms-layout-wrap" aria-label="条款正文">
    <div class="wrap terms-layout">
      <aside class="terms-toc" aria-label="条款目录">
        <p class="terms-toc__title">条款目录</p>
        <ol class="terms-toc__list">
          <li><a class="terms-toc__link" href="#terms-accept">条款接受与适用</a></li>
          <li><a class="terms-toc__link" href="#terms-service">我们提供的内容</a></li>
          <li><a class="terms-toc__link" href="#terms-conduct">使用规范</a></li>
          <li><a class="terms-toc__link" href="#terms-freshness">内容更新与场馆变动</a></li>
          <li><a class="terms-toc__link" href="#terms-ip">知识产权</a></li>
          <li><a class="terms-toc__link" href="#terms-third">第三方链接</a></li>
          <li><a class="terms-toc__link" href="#terms-liability">责任范围</a></li>
          <li><a class="terms-toc__link" href="#terms-change">条款变更与联系我们</a></li>
        </ol>
        <a class="terms-back" href="#terms-top">回到顶部</a>
      </aside>

      <div class="terms-body">
        <article class="terms-section" id="terms-accept" data-reveal>
          <header class="terms-section__head">
            <span class="terms-section__idx">01</span>
            <h2 class="terms-section__title">条款接受与适用</h2>
          </header>
          <p>只要你打开 doorway-qiyiguo.com.cn 下的任一页面，无论是查一场比赛的战报、比两名球员的同场数据，还是看一眼场馆的开放时段，都表示你已阅读并接受本条款。不需要注册账号，同样适用。</p>
          <p>如果你代表一支球队、一个联赛组委会或场馆运营方使用我们公开的内容，本条款同样约束这些使用行为。若你不同意其中任何一条，停止使用即可，不必另行通知我们。</p>
        </article>

        <article class="terms-section" id="terms-service" data-reveal>
          <header class="terms-section__head">
            <span class="terms-section__idx">02</span>
            <h2 class="terms-section__title">我们提供的内容</h2>
          </header>
          <p>奇异果体育面向北京的球友、球队组织者和赛事观众提供四类内容，本赛季已覆盖 32 个联赛与杯赛、480 支球队：</p>
          <ul class="terms-list">
            <li><strong>赛事战报</strong>——本赛季收录超过 2000 场，按联赛和球队两条线归档，累计归档超过 1.2 万场，覆盖足球、篮球、排球、网球、羽毛球等 9 类联赛与杯赛。</li>
            <li><strong>球员数据</strong>——现役球员 3600 余名，设 28 项技术字段；同场对比最多可并置 4 名球员，位置、得分、篮板、助攻、命中率等指标自动对齐。</li>
            <li><strong>北京场馆信息</strong>——已整理 86 个场馆，覆盖朝阳、海淀、东城、西城、丰台、通州等 12 个城区，每个场馆包含地址、场地类型、开放时段、预约方式和交通提示五类字段。</li>
            <li><strong>球队订阅</strong>——最多同时关注 20 支球队，推送分为开赛提醒、战报更新和场馆变更三类。</li>
          </ul>
          <p>这些内容以帮助你赛前做判断、赛后复盘和安排约球为目的。涉及临场判罚、赛程临时调整和场馆现场规则，以联赛组委会与场馆运营方的现场通知为准。</p>
        </article>

        <article class="terms-section" id="terms-conduct" data-reveal>
          <header class="terms-section__head">
            <span class="terms-section__idx">03</span>
            <h2 class="terms-section__title">使用规范</h2>
          </header>
          <p>浏览、收藏和分享我们公开的内容都没有问题。以下行为会直接影响其他球友正常使用，请不要做：</p>
          <ul class="terms-list">
            <li>用脚本或爬虫批量抓取战报、球员数据和场馆信息，用于搭建同类站点、商业数据库或对外售卖。</li>
            <li>成规模复制站内战报与数据后去掉署名、抹去来源再发布，或汇编成对外收费的资料包。</li>
            <li>以高频请求、注入代码、压力测试等方式干扰服务器，影响他人访问速度。</li>
            <li>绕过页面上的访问控制，尝试获取未公开的数据或后台内容。</li>
            <li>冒用他人身份提交内容纠错，或者用不属于自己的球队名义批量订阅推送。</li>
            <li>截取同场对比结果并配上误导性说明传播，让读者误以为某名球员的表现来自其他场次。</li>
          </ul>
          <p>发现上述行为，我们可以限制相应访问，并保留追究责任的权利。如果你想批量使用我们的数据做研究或媒体合作，请通过<a href="/reach-us/">联系入口</a>先行沟通。</p>
        </article>

        <article class="terms-section" id="terms-freshness" data-reveal>
          <header class="terms-section__head">
            <span class="terms-section__idx">04</span>
            <h2 class="terms-section__title">内容更新与场馆变动</h2>
          </header>
          <p>每轮比赛结束后 24 小时内，我们会更新战报与关键数据；重点赛事在赛后 6 小时内发布快报。赛季高峰期的战报拆解与场馆运营笔记每周更新 12 篇以上，平时每周至少 5 篇。</p>
          <p>场馆信息是另一回事。开放时段、预约方式、场地维护和交通管制都可能临时变化，我们按回访节奏更新，但无法与现场实时同步。</p>
          <p class="terms-note">出发前请给场馆打个电话确认当天的开放时段和入场要求。因场馆临时调整、赛事取消或场地维护造成的时间损失，我们无法承担。</p>
          <p>历史赛季的战报与数据会长期保留，页面结构与展示方式可能随功能升级调整，但已发布的比赛结果与技术统计不会因改版而改写。</p>
        </article>

        <article class="terms-section" id="terms-ip" data-reveal>
          <header class="terms-section__head">
            <span class="terms-section__idx">05</span>
            <h2 class="terms-section__title">知识产权</h2>
          </header>
          <p>站内的战报文字、数据图表、场馆资料、页面版式设计以及“奇异果体育”名称与标识，归我们或相应权利人所有，受著作权法和商标法保护。</p>
          <ul class="terms-list">
            <li>个人阅读、球队内部复盘、非商业性的文章引用，可以直接使用，注明来源并附上原页面链接即可。</li>
            <li>媒体转载、公众号发布、视频二次创作，请先取得书面许可，并在显著位置保留出处。</li>
            <li>把站内数据整批镜像到其他域名，或用于训练商业模型、制作付费产品，需要单独授权。</li>
            <li>在引用球员数据时，请保留原始统计出处，不要把我们的统计结果包装成自有数据发布。</li>
          </ul>
        </article>

        <article class="terms-section" id="terms-third" data-reveal>
          <header class="terms-section__head">
            <span class="terms-section__idx">06</span>
            <h2 class="terms-section__title">第三方链接</h2>
          </header>
          <p>为了方便你直接找到入口，某些页面会指向联赛组委会、场馆运营方或球队的站点。这些站点由各自的运营方维护，内容、支付流程和隐私处理方式都由他们负责，我们无法控制，也无法为其内容作担保。</p>
          <p>点击离开我们的页面后，本条款不再适用于你与第三方之间的交互。涉及订场付款、报名参赛这类动作，请仔细阅读对方页面上的规则再操作。</p>
        </article>

        <article class="terms-section" id="terms-liability" data-reveal>
          <header class="terms-section__head">
            <span class="terms-section__idx">07</span>
            <h2 class="terms-section__title">责任范围</h2>
          </header>
          <p>我们会尽力让页面稳定可用，但服务器维护、网络故障、设备兼容问题以及不可抗力，都可能造成短时无法访问，我们不承诺服务时刻不中断。</p>
          <ul class="terms-list">
            <li>赛事战报与球员数据供参考和复盘使用，不能替代联赛官方的裁判判罚与官方技术统计。</li>
            <li>场馆信息用于帮你缩小选择范围，最终的场地条件、收费标准和入场规则以场馆现场公示为准。</li>
            <li>因你自身的设备、网络环境或账号保管不当造成的损失，由你自行承担。</li>
            <li>在法律允许的范围内，因使用站内信息产生的间接损失，我们不承担赔偿责任。</li>
          </ul>
        </article>

        <article class="terms-section" id="terms-change" data-reveal>
          <header class="terms-section__head">
            <span class="terms-section__idx">08</span>
            <h2 class="terms-section__title">条款变更与联系我们</h2>
          </header>
          <p>功能升级或服务范围调整时，本条款会同步修订，更新后的版本直接发布在本页面。修订发布后你继续使用网站，即视为接受新的条款。如果你不接受变更，可以在修订生效前停止使用。</p>
          <p>对条款有疑问、发现内容错误，或者想沟通授权与合作，可以通过下面任一渠道找到我们：</p>
          <div class="terms-contact">
            <div class="terms-contact__item">
              <span class="terms-contact__label">客服邮箱</span>
              <span class="terms-contact__value">kefu@doorway-qiyiguo.com.cn</span>
            </div>
            <div class="terms-contact__item">
              <span class="terms-contact__label">客服电话</span>
              <span class="terms-contact__value">400-9945-8841</span>
            </div>
            <div class="terms-contact__item terms-contact__item--wide">
              <span class="terms-contact__label">联系地址</span>
              <span class="terms-contact__value">北京市朝阳区望京街9号望京国际商业中心C座12层</span>
            </div>
          </div>
          <p class="terms-contact__note">客服邮箱在工作日 9:00-18:00 内回复。涉及具体页面上的战报数据或场馆信息，请把页面链接一并附上，便于我们定位。</p>
          <p>与本条款相关的内容，还可以继续阅读<a href="/personal-data/">个人信息说明</a>了解我们如何处理你的信息，或前往<a href="/reach-us/">联系入口</a>查看完整的反馈与对接方式。</p>
        </article>
      </div>
    </div>
  </section>
</main>

.page-disclaimer{
  --pd-serif: var(--font-serif);
  position: relative;
  background: var(--c-ink);
  color: var(--c-text);
  font-family: var(--font-body);
  overflow-wrap: break-word;
}
.page-disclaimer a:focus-visible{
  outline: 2px solid var(--c-lime);
  outline-offset: 3px;
}

/* ===== 首屏 ===== */
.page-disclaimer .terms-hero{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid var(--c-line);
  padding: clamp(26px, 5vw, 52px) 0 clamp(38px, 7vw, 86px);
}
.page-disclaimer .terms-hero__media{
  position: absolute;
  inset: 0;
  z-index: -2;
}
.page-disclaimer .terms-hero__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .3;
  filter: saturate(.85) contrast(1.08);
}
.page-disclaimer .terms-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(to right, var(--c-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--c-grid) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none;
}
.page-disclaimer .terms-hero::after{
  content: "";
  position: absolute;
  right: -90px;
  top: 14%;
  width: 340px;
  height: 340px;
  background: linear-gradient(135deg, rgba(91,190,63,.24), rgba(27,73,101,0));
  transform: rotate(18deg);
  z-index: -1;
  pointer-events: none;
}
.page-disclaimer .terms-hero__inner{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.page-disclaimer .terms-hero__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.page-disclaimer .terms-hero__badge{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  line-height: 1;
  color: var(--c-lime);
  border: 1px solid rgba(215,255,63,.45);
  padding: 5px 10px;
}
.page-disclaimer .terms-hero__kicker{
  margin: 0;
}
.page-disclaimer .terms-hero__title{
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(46px, 12vw, 108px);
  line-height: .92;
  letter-spacing: .01em;
  color: var(--c-bone);
}
.page-disclaimer .terms-hero__lede{
  margin: 0;
  max-width: 60ch;
  font-size: clamp(15px, .5vw + 13px, 18px);
  line-height: 1.8;
  color: var(--c-text);
}
.page-disclaimer .terms-hero__lede::first-letter{
  color: var(--c-kiwi);
  font-weight: 700;
}

/* ===== 版式骨架 ===== */
.page-disclaimer .terms-layout-wrap{
  padding: clamp(32px, 6vw, 72px) 0 clamp(46px, 8vw, 96px);
}
.page-disclaimer .terms-layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(26px, 5vw, 58px);
}

/* ===== 目录 ===== */
.page-disclaimer .terms-toc{
  border-top: 2px solid var(--c-kiwi);
  padding-top: 14px;
}
.page-disclaimer .terms-toc__title{
  margin: 0 0 12px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--c-moss);
}
.page-disclaimer .terms-toc__list{
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: pd-toc;
  display: flex;
  flex-direction: column;
}
.page-disclaimer .terms-toc__list li{
  counter-increment: pd-toc;
  border-bottom: 1px solid var(--c-line-soft);
}
.page-disclaimer .terms-toc__link{
  display: grid;
  grid-template-columns: 2.4em minmax(0, 1fr);
  gap: 6px;
  padding: 10px 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-text-dim);
  text-decoration: none;
  transition: color .2s var(--ease), padding-left .2s var(--ease);
}
.page-disclaimer .terms-toc__link::before{
  content: counter(pd-toc, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--c-moss);
  padding-top: 3px;
}
.page-disclaimer .terms-toc__link:hover,
.page-disclaimer .terms-toc__link:focus-visible{
  color: var(--c-lime);
  padding-left: 4px;
}
.page-disclaimer .terms-back{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 18px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--c-kiwi);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s var(--ease), border-color .2s var(--ease);
}
.page-disclaimer .terms-back:hover,
.page-disclaimer .terms-back:focus-visible{
  color: var(--c-lime);
  border-bottom-color: var(--c-lime);
}

/* ===== 条款正文 ===== */
.page-disclaimer .terms-body{
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.page-disclaimer .terms-section{
  padding: clamp(22px, 4vw, 34px) 0;
  border-top: 1px solid var(--c-line);
  scroll-margin-top: calc(var(--bar-h) + 60px);
  max-width: 72ch;
}
.page-disclaimer .terms-section:first-child{
  border-top: 0;
  padding-top: 0;
}
.page-disclaimer .terms-section__head{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.page-disclaimer .terms-section__idx{
  flex: none;
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .12em;
  line-height: 1;
  padding: 5px 8px;
  background: var(--c-wine);
  color: var(--c-bone);
}
.page-disclaimer .terms-section__title{
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(21px, 2vw + 12px, 30px);
  line-height: 1.2;
  letter-spacing: .01em;
  color: var(--c-bone);
}
.page-disclaimer .terms-section p{
  margin: 0 0 12px;
  font-size: clamp(15px, .35vw + 13px, 17px);
  line-height: 1.8;
  color: var(--c-text);
}
.page-disclaimer .terms-section p:last-child{
  margin-bottom: 0;
}
.page-disclaimer .terms-list{
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.page-disclaimer .terms-list li{
  position: relative;
  padding-left: 22px;
  font-size: clamp(14.5px, .3vw + 13px, 16px);
  line-height: 1.78;
  color: var(--c-text);
}
.page-disclaimer .terms-list li::before{
  content: "";
  position: absolute;
  left: 2px;
  top: .72em;
  width: 7px;
  height: 7px;
  background: var(--c-kiwi);
  transform: rotate(45deg);
}
.page-disclaimer .terms-list strong{
  color: var(--c-bone);
  font-weight: 700;
}
.page-disclaimer .terms-section a{
  color: var(--c-lime);
  text-decoration: none;
  border-bottom: 1px solid rgba(215,255,63,.4);
  transition: border-color .2s var(--ease);
}
.page-disclaimer .terms-section a:hover,
.page-disclaimer .terms-section a:focus-visible{
  border-bottom-color: var(--c-lime);
}
.page-disclaimer .terms-note{
  margin: 14px 0;
  padding: 13px 16px;
  border-left: 3px solid var(--c-orange);
  background: rgba(255,122,47,.07);
  font-size: 14.5px;
  line-height: 1.72;
  color: var(--c-bone);
}

/* ===== 联系信息块 ===== */
.page-disclaimer .terms-contact{
  margin: 16px 0;
  border: 1px solid var(--c-line);
  background: var(--c-seed);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.page-disclaimer .terms-contact__item{
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 13px 16px;
  border-top: 1px solid var(--c-line-soft);
}
.page-disclaimer .terms-contact__item:first-child{
  border-top: 0;
}
.page-disclaimer .terms-contact__label{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--c-moss);
}
.page-disclaimer .terms-contact__value{
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-bone);
  word-break: break-word;
}
.page-disclaimer .terms-contact__note{
  margin: 0 0 12px;
  padding-left: 14px;
  border-left: 1px solid var(--c-line);
  font-family: var(--pd-serif);
  font-size: 14px;
  line-height: 1.8;
  color: var(--c-moss);
}

/* ===== 平板 ===== */
@media (min-width: 640px){
  .page-disclaimer .terms-contact{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-disclaimer .terms-contact__item:nth-child(2){
    border-top: 0;
    border-left: 1px solid var(--c-line-soft);
  }
  .page-disclaimer .terms-contact__item--wide{
    grid-column: 1 / -1;
    border-left: 0;
  }
}

/* ===== 桌面：粘性目录 + 窄幅正文 ===== */
@media (min-width: 900px){
  .page-disclaimer .terms-layout{
    grid-template-columns: minmax(190px, 238px) minmax(0, 1fr);
    align-items: start;
  }
  .page-disclaimer .terms-toc{
    position: sticky;
    top: calc(var(--bar-h) + 22px);
  }
  .page-disclaimer .terms-section{
    padding: clamp(30px, 3vw, 44px) 0;
  }
  .page-disclaimer .terms-hero__lede{
    max-width: 56ch;
  }
}

/* ===== 动效 ===== */
@media (prefers-reduced-motion: no-preference){
  .page-disclaimer .terms-hero__badge,
  .page-disclaimer .terms-hero__title,
  .page-disclaimer .terms-hero__lede{
    animation: pd-rise .6s var(--ease) both;
  }
  .page-disclaimer .terms-hero__title{ animation-delay: .06s; }
  .page-disclaimer .terms-hero__lede{ animation-delay: .12s; }
}
@keyframes pd-rise{
  from{ opacity: 0; transform: translateY(14px); }
  to{ opacity: 1; transform: translateY(0); }
}
