.page-disclaimer {
  position: relative;
  background-color: var(--c-paper);
  color: var(--c-ink);
  min-height: 100vh;
  padding-bottom: 48px;
}

.page-disclaimer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, rgba(212, 175, 55, 0.08) 0, rgba(212, 175, 55, 0.08) 1px, transparent 1px, transparent 18px);
  pointer-events: none;
  z-index: 0;
}

.page-disclaimer .container,
.page-disclaimer .disclaimer-layout,
.page-disclaimer .stamp-inner,
.page-disclaimer .backtop-wrap {
  position: relative;
  z-index: 1;
}

.page-disclaimer .corner-stamp {
  position: absolute;
  top: 44px;
  right: 3%;
  width: 100px;
  color: rgba(230, 57, 70, 0.18);
  pointer-events: none;
  z-index: 0;
}

.page-disclaimer .disclaimer-strip {
  position: relative;
  z-index: 1;
  display: flex;
  height: 8px;
}

.page-disclaimer .strip-line {
  flex: 1;
}

.page-disclaimer .strip-line--red {
  background: var(--c-blood);
}

.page-disclaimer .strip-line--gold {
  background: var(--c-gold);
}

.page-disclaimer .strip-line--neon {
  background: var(--c-neon);
}

.page-disclaimer .disclaimer-top {
  padding-top: 28px;
}

.page-disclaimer .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 0.875rem;
  color: var(--c-silver);
}

.page-disclaimer .breadcrumb-link {
  color: var(--c-night);
  text-decoration: none;
  font-weight: 500;
}

.page-disclaimer .breadcrumb-link:hover,
.page-disclaimer .breadcrumb-link:focus-visible {
  color: var(--c-blood);
}

.page-disclaimer .breadcrumb-sep {
  color: var(--c-silver);
}

.page-disclaimer .breadcrumb-current {
  color: var(--c-ink);
  font-weight: 700;
}

.page-disclaimer .section-kicker {
  display: inline-block;
  padding: 6px 14px;
  margin-bottom: 14px;
  border: 1px solid rgba(230, 57, 70, 0.25);
  border-radius: 100px;
  background: rgba(230, 57, 70, 0.1);
  color: var(--c-blood);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}

.page-disclaimer .disclaimer-heading h1 {
  position: relative;
  margin: 0;
  color: var(--c-night);
  font-size: clamp(2.4rem, 7vw, 4.6rem);
  font-style: italic;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.page-disclaimer .disclaimer-heading h1::after {
  content: "";
  display: block;
  width: 100%;
  height: 12px;
  margin-top: 10px;
  background: linear-gradient(100deg, transparent 0 8%, var(--c-blood) 8% 32%, transparent 32% 40%, var(--c-gold) 40% 64%, transparent 64% 72%, var(--c-night) 72% 88%, transparent 88%);
  clip-path: polygon(0 45%, 100% 0, calc(100% - 10px) 100%, 10px 100%);
  opacity: 0.9;
}

.page-disclaimer .disclaimer-lead {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--c-ink);
  font-size: 1.125rem;
  line-height: 1.8;
}

.page-disclaimer .heading-rule {
  width: min(560px, 100%);
  height: 6px;
  margin-top: 24px;
  border-radius: 100px;
  background: linear-gradient(90deg, var(--c-blood) 0 25%, var(--c-gold) 25% 45%, transparent 45%);
}

.page-disclaimer .disclaimer-layout {
  margin-top: 40px;
}

.page-disclaimer .disclaimer-index {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 28px;
  background: linear-gradient(145deg, var(--c-night) 0%, var(--c-ink) 100%);
  box-shadow: var(--shadow-card);
  color: var(--c-paper);
}

.page-disclaimer .disclaimer-index::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 90px;
  height: 90px;
  background: linear-gradient(135deg, transparent 42%, rgba(230, 57, 70, 0.8) 42%);
  opacity: 0.5;
}

.page-disclaimer .index-label {
  margin: 0 0 12px;
  color: var(--c-gold);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.2em;
}

.page-disclaimer .disclaimer-index ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-disclaimer .disclaimer-index li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(241, 233, 210, 0.14);
  color: var(--c-paper);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 700;
  transition: background 0.2s ease, color 0.2s ease;
}

.page-disclaimer .disclaimer-index li a:hover,
.page-disclaimer .disclaimer-index li a:focus-visible {
  background: rgba(230, 57, 70, 0.18);
  color: var(--c-white);
}

.page-disclaimer .index-note {
  display: flex;
  gap: 10px;
  margin-top: 18px;
  padding: 14px;
  border-left: 4px solid var(--c-neon);
  border-radius: 14px;
  background: rgba(57, 255, 20, 0.08);
}

.page-disclaimer .index-note p {
  margin: 0;
  color: var(--c-paper);
  font-size: 0.85rem;
  line-height: 1.7;
}

.page-disclaimer .live-dot {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--c-neon);
  box-shadow: 0 0 0 0 rgba(57, 255, 20, 0.6);
  animation: disclaimer-pulse 1.8s infinite;
}

@keyframes disclaimer-pulse {
  0% { box-shadow: 0 0 0 0 rgba(57, 255, 20, 0.6); }
  70% { box-shadow: 0 0 0 8px rgba(57, 255, 20, 0); }
  100% { box-shadow: 0 0 0 0 rgba(57, 255, 20, 0); }
}

.page-disclaimer .disclaimer-content {
  min-width: 0;
}

.page-disclaimer .clause {
  position: relative;
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 40, 0.12);
  border-left: 6px solid var(--c-gold);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 6px 18px rgba(10, 17, 40, 0.08);
  transition: box-shadow 0.25s ease;
}

.page-disclaimer .clause[open] {
  box-shadow: 0 12px 32px rgba(10, 17, 40, 0.14);
}

.page-disclaimer .clause::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 8px;
  background: repeating-linear-gradient(135deg, rgba(212, 175, 55, 0.35) 0 10px, transparent 10px 18px);
  opacity: 0.8;
  pointer-events: none;
}

.page-disclaimer .clause summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 20px 18px;
  list-style: none;
  cursor: pointer;
  color: var(--c-night);
  font-size: 1.15rem;
  font-weight: 900;
}

.page-disclaimer .clause summary::-webkit-details-marker {
  display: none;
}

.page-disclaimer .clause summary::marker {
  content: "";
}

.page-disclaimer .clause summary:focus-visible {
  border-radius: 20px;
  outline: 3px solid var(--c-gold);
  outline-offset: -3px;
}

.page-disclaimer .clause-num {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 2px solid var(--c-gold);
  border-radius: 16px;
  background: var(--c-night);
  color: var(--c-gold);
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 900;
}

.page-disclaimer .clause-title {
  flex: 1;
  margin: 0;
  color: var(--c-night);
  font-size: inherit;
  font-weight: 900;
  line-height: 1.4;
}

.page-disclaimer .clause-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(10, 17, 40, 0.08);
  color: var(--c-blood);
}

.page-disclaimer .clause-toggle::before {
  content: "＋";
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.page-disclaimer .clause[open] .clause-toggle::before {
  content: "−";
}

.page-disclaimer .clause-body {
  padding: 4px 22px 28px;
}

.page-disclaimer .clause-body p {
  margin: 14px 0 0;
  color: var(--c-ink);
  font-size: 0.975rem;
  line-height: 1.9;
}

.page-disclaimer .clause-body p + p {
  margin-top: 12px;
}

.page-disclaimer .hl {
  padding: 0 4px;
  border-radius: 2px;
  background: linear-gradient(180deg, transparent 55%, rgba(255, 215, 0, 0.55) 55%);
  color: var(--c-night);
  font-weight: 700;
}

.page-disclaimer .clause-body a {
  color: var(--c-blood);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(230, 57, 70, 0.45);
  text-underline-offset: 3px;
}

.page-disclaimer .clause-body a:hover,
.page-disclaimer .clause-body a:focus-visible {
  color: var(--c-gold);
  text-decoration-color: var(--c-gold);
}

.page-disclaimer .contact-body strong {
  color: var(--c-night);
  font-weight: 900;
}

.page-disclaimer .stamp-section {
  position: relative;
  margin-top: 48px;
  padding: 34px 0;
  background: linear-gradient(135deg, rgba(10, 17, 40, 0.06) 0%, rgba(26, 26, 46, 0.14) 100%);
}

.page-disclaimer .stamp-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(-45deg, rgba(230, 57, 70, 0.05) 0 2px, transparent 2px 14px);
  pointer-events: none;
}

.page-disclaimer .stamp-inner {
  display: flex;
  justify-content: center;
}

.page-disclaimer .stamp-figure {
  max-width: 360px;
  margin: 0;
  text-align: center;
}

.page-disclaimer .stamp-figure img {
  display: inline-block;
  width: min(260px, 70vw);
  max-width: 100%;
  height: auto;
  border: 6px solid rgba(212, 175, 55, 0.35);
  border-radius: 50%;
  box-shadow: 0 16px 40px rgba(10, 17, 40, 0.18);
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.page-disclaimer .stamp-figure figcaption {
  max-width: 320px;
  margin: 18px auto 0;
  color: var(--c-silver);
  font-size: 0.9rem;
  line-height: 1.7;
}

.page-disclaimer .backtop-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 32px;
}

.page-disclaimer .back-top {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border: 1px solid var(--c-gold);
  border-radius: 100px;
  background: var(--c-night);
  color: var(--c-paper);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 700;
  box-shadow: 0 8px 24px rgba(10, 17, 40, 0.18);
  transition: transform 0.2s ease, background 0.2s ease;
}

.page-disclaimer .back-top:hover,
.page-disclaimer .back-top:focus-visible {
  background: var(--c-blood);
  color: var(--c-white);
  outline: 3px solid var(--c-neon);
  outline-offset: 3px;
  transform: translateY(-2px);
}

.page-disclaimer .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 860px) {
  .page-disclaimer .disclaimer-top {
    padding-top: 48px;
  }

  .page-disclaimer .corner-stamp {
    width: 200px;
  }

  .page-disclaimer .disclaimer-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 42px;
    align-items: start;
    margin-top: 48px;
  }

  .page-disclaimer .disclaimer-index {
    position: sticky;
    top: 32px;
  }

  .page-disclaimer .disclaimer-content {
    max-width: 820px;
  }

  .page-disclaimer .clause summary {
    padding: 26px 28px 20px;
    font-size: 1.3rem;
  }

  .page-disclaimer .clause-body {
    padding: 6px 28px 30px;
  }

  .page-disclaimer .clause-body p {
    font-size: 1rem;
  }

  .page-disclaimer .stamp-figure img {
    width: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-disclaimer .live-dot {
    animation: none;
  }

  .page-disclaimer .clause,
  .page-disclaimer .back-top {
    transition: none;
  }
}

Wait, I mistakenly included closing `` at end? The instruction says "每个标记只能出现一次" and "content until next tag". I wrote `` both opening and closing? Actually I wrote at beginning and at end same tag. That violates "markers must be only once" and no closing tag. Need correct final: only opening `` at start of CSS, no closing. The final answer currently in my mind includes `` then CSS then `` again. Need not include second. I as AI need ensure final output omits the second ``. In final, after CSS ends, stop. Since no closing. Also ensure no extra text after. Good.

Need maybe if final answer includes `` in MAIN_HTML? no.

Let's adjust final answer now with correct no closing. Also because the user's instruction says "每个标记只能出现一次" meaning MAIN_HTML and PAGE_CSS each once. So final should have exactly two marker tags. Good.

Need maybe final output no code fences. Great.
<main id="main-content" class="page-disclaimer">
  <svg class="corner-stamp" viewBox="0 0 200 200" aria-hidden="true">
    <circle cx="100" cy="100" r="88" fill="none" stroke="currentColor" stroke-width="3" stroke-dasharray="12 10"/>
    <circle cx="100" cy="100" r="70" fill="none" stroke="currentColor" stroke-width="1" opacity="0.6"/>
    <path d="M100 18 L118 82 L152 122 L100 182 L48 122 L82 82 Z" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/>
    <circle cx="100" cy="100" r="12" fill="currentColor"/>
  </svg>
  <div id="page-start" class="disclaimer-strip">
    <span class="strip-line strip-line--red"></span>
    <span class="strip-line strip-line--gold"></span>
    <span class="strip-line strip-line--neon"></span>
  </div>

  <div class="container disclaimer-top">
    <nav class="breadcrumbs" aria-label="面包屑">
      <a class="breadcrumb-link" href="/">首页</a>
      <span class="breadcrumb-sep" aria-hidden="true">/</span>
      <span class="breadcrumb-current" aria-current="page">使用说明</span>
    </nav>
    <header class="disclaimer-heading">
      <span class="section-kicker">官方公告</span>
      <h1>使用说明与免责声明</h1>
      <p class="disclaimer-lead">访问华体会赛，即表示您已知晓并同意以下条款；请在使用比赛入口、比分更新记录和会员功能前仔细阅读。</p>
      <div class="heading-rule" aria-hidden="true"></div>
    </header>
  </div>

  <div class="container disclaimer-layout">
    <aside class="disclaimer-index" aria-labelledby="index-title">
      <h2 id="index-title" class="sr-only">条款目录</h2>
      <p class="index-label">条款目录</p>
      <ol>
        <li><a href="#acceptance">01 条款接受</a></li>
        <li><a href="#accuracy">02 内容准确性</a></li>
        <li><a href="#ip-rights">03 知识产权</a></li>
        <li><a href="#disclaimers">04 免责声明</a></li>
        <li><a href="#contact">05 联系我们</a></li>
      </ol>
      <div class="index-note">
        <span class="live-dot" aria-hidden="true"></span>
        <p>本说明以官方公告形式发布，随平台功能调整更新。</p>
      </div>
    </aside>

    <div class="disclaimer-content">
      <details class="clause" id="acceptance" open>
        <summary>
          <span class="clause-num" aria-hidden="true">01</span>
          <h2 class="clause-title">条款接受</h2>
          <span class="clause-toggle" aria-hidden="true"></span>
        </summary>
        <div class="clause-body">
          <p>当您访问、浏览或使用<span class="hl">华体会赛</span>网站及其功能，即视为已阅读、理解并同意本使用说明与免责声明的全部内容。若您不同意本条款，应停止使用本平台。</p>
          <p>本条款适用于本站全部页面与服务，包括联赛专题、比分更新记录、重点场次会员、电脑稳定版华体会及相关数据工具。您对平台的使用同时受<a href="/data-privacy/">隐私政策</a>的约束。本说明的解释、效力与争议解决均适用中华人民共和国法律。</p>
        </div>
      </details>

      <details class="clause" id="accuracy" open>
        <summary>
          <span class="clause-num" aria-hidden="true">02</span>
          <h2 class="clause-title">内容准确性</h2>
          <span class="clause-toggle" aria-hidden="true"></span>
        </summary>
        <div class="clause-body">
          <p>华体会赛自2018年上线，目前覆盖全球30多个主流体育联赛，编辑与开发团队共30人，其中包含10位资深编辑、8位数据分析师和12位技术人员。平台每日更新比分超过2000场次，核心赛事在开赛前10分钟确认阵容，比分更新记录持续同步，平均延迟不超过2分钟。</p>
          <p>我们尽力保证上述信息的准确与及时，但赛程变更、数据源波动、网络传输等因素可能导致延迟或偏差。平台对因信息时效性产生的使用后果不承担责任，请您在关键决策前以赛事官方或现场信息为准。</p>
        </div>
      </details>

      <details class="clause" id="ip-rights" open>
        <summary>
          <span class="clause-num" aria-hidden="true">03</span>
          <h2 class="clause-title">知识产权</h2>
          <span class="clause-toggle" aria-hidden="true"></span>
        </summary>
        <div class="clause-body">
          <p>华体会赛品牌名称、图形标识、页面设计、文字编排、数据汇编、标签体系与视觉元素均受著作权法及相关法律保护。未经书面许可，任何单位或个人不得以商业目的复制、修改、传播或镜像本站内容。</p>
          <p>平台与多家专业数据服务商和赛事资讯机构建立合作，但不在本站具名；相关数据来源的版权归各自权利人所有。赛事名称、标志及其他商标信息归其权利人所有，本站仅用于信息索引与说明。</p>
        </div>
      </details>

      <details class="clause" id="disclaimers" open>
        <summary>
          <span class="clause-num" aria-hidden="true">04</span>
          <h2 class="clause-title">免责声明</h2>
          <span class="clause-toggle" aria-hidden="true"></span>
        </summary>
        <div class="clause-body">
          <p>本平台按“现状”和“现有”基础提供服务，不对信息的完整性、准确性、及时性或适用性作出明示或暗示的担保。因使用或依赖本站内容而产生的直接、间接、附带或后续损失，华体会赛不承担相应责任。</p>
          <p>本页面出现的站内跳转仅用于功能导航，<span class="hl">第三方链接内容由第三方负责</span>。华体会赛不对任何第三方网站的内容、隐私政策或可用性承担责任，访问第三方链接的风险由您自行判断。</p>
        </div>
      </details>

      <details class="clause" id="contact" open>
        <summary>
          <span class="clause-num" aria-hidden="true">05</span>
          <h2 class="clause-title">联系我们</h2>
          <span class="clause-toggle" aria-hidden="true"></span>
        </summary>
        <div class="clause-body contact-body">
          <p>如对上述条款有任何疑问，可通过官方客服邮箱 <strong>email@hua-ti-hui-match.com.cn</strong> 联络，我们将在24小时内回复。</p>
          <p>也可通过服务电话 17623122651 与我们取得联系。如需获取完整联系渠道，请访问<a href="/reach-us/">联系入口</a>；如需了解个人信息处理方式，请查看<a href="/data-privacy/">隐私政策</a>。本网站联系地址为甘肃省兰州市城关区雁滩路188号（联系地址，非总部或注册地址）。</p>
        </div>
      </details>
    </div>
  </div>

  <section class="stamp-section" aria-labelledby="stamp-title">
    <div class="container stamp-inner">
      <h2 id="stamp-title" class="sr-only">条款生效说明</h2>
      <figure class="stamp-figure">
        <img src="{zhanqunpic:h:600w:600}" width="600" height="600" alt="圆形印章轮廓，文字已模糊处理，代表认证" loading="lazy" decoding="async">
        <figcaption>条款以本公告版本为准，不构成对第三方平台内容的背书。</figcaption>
      </figure>
    </div>
  </section>

  <div class="container backtop-wrap">
    <a class="back-top" href="#page-start">返回顶部</a>
  </div>
</main>

.page-disclaimer {
  position: relative;
  background-color: var(--c-paper);
  color: var(--c-ink);
  min-height: 100vh;
  padding-bottom: 48px;
}

.page-disclaimer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, rgba(212, 175, 55, 0.08) 0, rgba(212, 175, 55, 0.08) 1px, transparent 1px, transparent 18px);
  pointer-events: none;
  z-index: 0;
}

.page-disclaimer .container,
.page-disclaimer .disclaimer-layout,
.page-disclaimer .stamp-inner,
.page-disclaimer .backtop-wrap {
  position: relative;
  z-index: 1;
}

.page-disclaimer .corner-stamp {
  position: absolute;
  top: 44px;
  right: 3%;
  width: 100px;
  color: rgba(230, 57, 70, 0.18);
  pointer-events: none;
  z-index: 0;
}

.page-disclaimer .disclaimer-strip {
  position: relative;
  z-index: 1;
  display: flex;
  height: 8px;
}

.page-disclaimer .strip-line {
  flex: 1;
}

.page-disclaimer .strip-line--red {
  background: var(--c-blood);
}

.page-disclaimer .strip-line--gold {
  background: var(--c-gold);
}

.page-disclaimer .strip-line--neon {
  background: var(--c-neon);
}

.page-disclaimer .disclaimer-top {
  padding-top: 28px;
}

.page-disclaimer .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 0.875rem;
  color: var(--c-silver);
}

.page-disclaimer .breadcrumb-link {
  color: var(--c-night);
  text-decoration: none;
  font-weight: 500;
}

.page-disclaimer .breadcrumb-link:hover,
.page-disclaimer .breadcrumb-link:focus-visible {
  color: var(--c-blood);
}

.page-disclaimer .breadcrumb-sep {
  color: var(--c-silver);
}

.page-disclaimer .breadcrumb-current {
  color: var(--c-ink);
  font-weight: 700;
}

.page-disclaimer .section-kicker {
  display: inline-block;
  padding: 6px 14px;
  margin-bottom: 14px;
  border: 1px solid rgba(230, 57, 70, 0.25);
  border-radius: 100px;
  background: rgba(230, 57, 70, 0.1);
  color: var(--c-blood);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}

.page-disclaimer .disclaimer-heading h1 {
  position: relative;
  margin: 0;
  color: var(--c-night);
  font-size: clamp(2.4rem, 7vw, 4.6rem);
  font-style: italic;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.page-disclaimer .disclaimer-heading h1::after {
  content: "";
  display: block;
  width: 100%;
  height: 12px;
  margin-top: 10px;
  background: linear-gradient(100deg, transparent 0 8%, var(--c-blood) 8% 32%, transparent 32% 40%, var(--c-gold) 40% 64%, transparent 64% 72%, var(--c-night) 72% 88%, transparent 88%);
  clip-path: polygon(0 45%, 100% 0, calc(100% - 10px) 100%, 10px 100%);
  opacity: 0.9;
}

.page-disclaimer .disclaimer-lead {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--c-ink);
  font-size: 1.125rem;
  line-height: 1.8;
}

.page-disclaimer .heading-rule {
  width: min(560px, 100%);
  height: 6px;
  margin-top: 24px;
  border-radius: 100px;
  background: linear-gradient(90deg, var(--c-blood) 0 25%, var(--c-gold) 25% 45%, transparent 45%);
}

.page-disclaimer .disclaimer-layout {
  margin-top: 40px;
}

.page-disclaimer .disclaimer-index {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 28px;
  background: linear-gradient(145deg, var(--c-night) 0%, var(--c-ink) 100%);
  box-shadow: var(--shadow-card);
  color: var(--c-paper);
}

.page-disclaimer .disclaimer-index::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 90px;
  height: 90px;
  background: linear-gradient(135deg, transparent 42%, rgba(230, 57, 70, 0.8) 42%);
  opacity: 0.5;
}

.page-disclaimer .index-label {
  margin: 0 0 12px;
  color: var(--c-gold);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.2em;
}

.page-disclaimer .disclaimer-index ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-disclaimer .disclaimer-index li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(241, 233, 210, 0.14);
  color: var(--c-paper);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 700;
  transition: background 0.2s ease, color 0.2s ease;
}

.page-disclaimer .disclaimer-index li a:hover,
.page-disclaimer .disclaimer-index li a:focus-visible {
  background: rgba(230, 57, 70, 0.18);
  color: var(--c-white);
}

.page-disclaimer .index-note {
  display: flex;
  gap: 10px;
  margin-top: 18px;
  padding: 14px;
  border-left: 4px solid var(--c-neon);
  border-radius: 14px;
  background: rgba(57, 255, 20, 0.08);
}

.page-disclaimer .index-note p {
  margin: 0;
  color: var(--c-paper);
  font-size: 0.85rem;
  line-height: 1.7;
}

.page-disclaimer .live-dot {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--c-neon);
  box-shadow: 0 0 0 0 rgba(57, 255, 20, 0.6);
  animation: disclaimer-pulse 1.8s infinite;
}

@keyframes disclaimer-pulse {
  0% { box-shadow: 0 0 0 0 rgba(57, 255, 20, 0.6); }
  70% { box-shadow: 0 0 0 8px rgba(57, 255, 20, 0); }
  100% { box-shadow: 0 0 0 0 rgba(57, 255, 20, 0); }
}

.page-disclaimer .disclaimer-content {
  min-width: 0;
}

.page-disclaimer .clause {
  position: relative;
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 40, 0.12);
  border-left: 6px solid var(--c-gold);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 6px 18px rgba(10, 17, 40, 0.08);
  transition: box-shadow 0.25s ease;
}

.page-disclaimer .clause[open] {
  box-shadow: 0 12px 32px rgba(10, 17, 40, 0.14);
}

.page-disclaimer .clause::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 8px;
  background: repeating-linear-gradient(135deg, rgba(212, 175, 55, 0.35) 0 10px, transparent 10px 18px);
  opacity: 0.8;
  pointer-events: none;
}

.page-disclaimer .clause summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 20px 18px;
  list-style: none;
  cursor: pointer;
  color: var(--c-night);
  font-size: 1.15rem;
  font-weight: 900;
}

.page-disclaimer .clause summary::-webkit-details-marker {
  display: none;
}

.page-disclaimer .clause summary::marker {
  content: "";
}

.page-disclaimer .clause summary:focus-visible {
  border-radius: 20px;
  outline: 3px solid var(--c-gold);
  outline-offset: -3px;
}

.page-disclaimer .clause-num {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 2px solid var(--c-gold);
  border-radius: 16px;
  background: var(--c-night);
  color: var(--c-gold);
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 900;
}

.page-disclaimer .clause-title {
  flex: 1;
  margin: 0;
  color: var(--c-night);
  font-size: inherit;
  font-weight: 900;
  line-height: 1.4;
}

.page-disclaimer .clause-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(10, 17, 40, 0.08);
  color: var(--c-blood);
}

.page-disclaimer .clause-toggle::before {
  content: "＋";
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.page-disclaimer .clause[open] .clause-toggle::before {
  content: "−";
}

.page-disclaimer .clause-body {
  padding: 4px 22px 28px;
}

.page-disclaimer .clause-body p {
  margin: 14px 0 0;
  color: var(--c-ink);
  font-size: 0.975rem;
  line-height: 1.9;
}

.page-disclaimer .clause-body p + p {
  margin-top: 12px;
}

.page-disclaimer .hl {
  padding: 0 4px;
  border-radius: 2px;
  background: linear-gradient(180deg, transparent 55%, rgba(255, 215, 0, 0.55) 55%);
  color: var(--c-night);
  font-weight: 700;
}

.page-disclaimer .clause-body a {
  color: var(--c-blood);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(230, 57, 70, 0.45);
  text-underline-offset: 3px;
}

.page-disclaimer .clause-body a:hover,
.page-disclaimer .clause-body a:focus-visible {
  color: var(--c-gold);
  text-decoration-color: var(--c-gold);
}

.page-disclaimer .contact-body strong {
  color: var(--c-night);
  font-weight: 900;
}

.page-disclaimer .stamp-section {
  position: relative;
  margin-top: 48px;
  padding: 34px 0;
  background: linear-gradient(135deg, rgba(10, 17, 40, 0.06) 0%, rgba(26, 26, 46, 0.14) 100%);
}

.page-disclaimer .stamp-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(-45deg, rgba(230, 57, 70, 0.05) 0 2px, transparent 2px 14px);
  pointer-events: none;
}

.page-disclaimer .stamp-inner {
  display: flex;
  justify-content: center;
}

.page-disclaimer .stamp-figure {
  max-width: 360px;
  margin: 0;
  text-align: center;
}

.page-disclaimer .stamp-figure img {
  display: inline-block;
  width: min(260px, 70vw);
  max-width: 100%;
  height: auto;
  border: 6px solid rgba(212, 175, 55, 0.35);
  border-radius: 50%;
  box-shadow: 0 16px 40px rgba(10, 17, 40, 0.18);
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.page-disclaimer .stamp-figure figcaption {
  max-width: 320px;
  margin: 18px auto 0;
  color: var(--c-silver);
  font-size: 0.9rem;
  line-height: 1.7;
}

.page-disclaimer .backtop-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 32px;
}

.page-disclaimer .back-top {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border: 1px solid var(--c-gold);
  border-radius: 100px;
  background: var(--c-night);
  color: var(--c-paper);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 700;
  box-shadow: 0 8px 24px rgba(10, 17, 40, 0.18);
  transition: transform 0.2s ease, background 0.2s ease;
}

.page-disclaimer .back-top:hover,
.page-disclaimer .back-top:focus-visible {
  background: var(--c-blood);
  color: var(--c-white);
  outline: 3px solid var(--c-neon);
  outline-offset: 3px;
  transform: translateY(-2px);
}

.page-disclaimer .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 860px) {
  .page-disclaimer .disclaimer-top {
    padding-top: 48px;
  }

  .page-disclaimer .corner-stamp {
    width: 200px;
  }

  .page-disclaimer .disclaimer-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 42px;
    align-items: start;
    margin-top: 48px;
  }

  .page-disclaimer .disclaimer-index {
    position: sticky;
    top: 32px;
  }

  .page-disclaimer .disclaimer-content {
    max-width: 820px;
  }

  .page-disclaimer .clause summary {
    padding: 26px 28px 20px;
    font-size: 1.3rem;
  }

  .page-disclaimer .clause-body {
    padding: 6px 28px 30px;
  }

  .page-disclaimer .clause-body p {
    font-size: 1rem;
  }

  .page-disclaimer .stamp-figure img {
    width: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-disclaimer .live-dot {
    animation: none;
  }

  .page-disclaimer .clause,
  .page-disclaimer .back-top {
    transition: none;
  }
}
