.page-disclaimer{
  --disc-rule:rgba(154,167,199,.22);
  --disc-rule-soft:rgba(154,167,199,.34);
  --disc-gold-line:rgba(245,193,108,.55);
  background:
    radial-gradient(900px 460px at 84% -10%, rgba(108,74,182,.32), transparent 62%),
    radial-gradient(560px 300px at 4% 2%, rgba(63,224,208,.10), transparent 60%),
    var(--ink);
  color:var(--paper);
  overflow-x:hidden;
}

.page-disclaimer .wrap{
  width:min(100% - 36px, var(--wrap));
  margin-inline:auto;
}

.page-disclaimer a:focus-visible,
.page-disclaimer .disc-index-list a:focus-visible{
  outline:2px solid var(--pulse);
  outline-offset:3px;
}

.page-disclaimer .index-label{
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--pulse);
  margin:0;
}

/* 面包屑 */
.page-disclaimer .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:24px 0 0;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sand);
}
.page-disclaimer .breadcrumb a{
  color:var(--sand);
  text-decoration:none;
}
.page-disclaimer .breadcrumb a:hover{
  color:var(--pulse);
}

/* 首屏 */
.page-disclaimer .disc-hero{
  padding:22px 0 42px;
}
.page-disclaimer .disc-hero-grid{
  display:grid;
  gap:28px;
}
.page-disclaimer h1{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(30px, 7.4vw, 58px);
  line-height:1.12;
  letter-spacing:-.02em;
  margin:14px 0 0;
  color:var(--paper);
}
.page-disclaimer .disc-lede{
  margin:18px 0 0;
  font-size:17px;
  line-height:1.85;
  color:rgba(244,241,233,.86);
  max-width:34em;
}
.page-disclaimer .disc-figure{
  margin:0;
  border:1px solid var(--disc-rule);
  border-radius:var(--radius);
  background:var(--ink-deep);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.page-disclaimer .disc-figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-disclaimer .disc-figure figcaption{
  padding:10px 14px;
  font-size:13px;
  line-height:1.7;
  color:var(--sand);
  border-top:1px solid var(--disc-rule);
}

/* 索引 + 正文 */
.page-disclaimer .disc-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  padding:14px 0 0;
}
.page-disclaimer .disc-index{
  padding:22px 0 14px;
  border-top:1px solid var(--disc-gold-line);
}
.page-disclaimer .disc-index-list{
  list-style:none;
  margin:12px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px 20px;
}
.page-disclaimer .disc-index-list a{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:6px 0;
  font-size:13px;
  color:var(--sand);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s ease, border-color .18s ease;
}
.page-disclaimer .disc-index-list a:hover{
  color:var(--paper);
  border-bottom-color:var(--gold);
}
.page-disclaimer .disc-index-list .mono{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--gold);
}

.page-disclaimer .disc-body{
  min-width:0;
}
.page-disclaimer .disc-item{
  padding:26px 0 28px;
  border-bottom:1px solid var(--disc-rule);
}
.page-disclaimer .disc-item:first-child{
  padding-top:8px;
}
.page-disclaimer .disc-item--soft{
  border-bottom-style:dashed;
}
.page-disclaimer .disc-item-head{
  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  gap:12px;
  align-items:start;
}
.page-disclaimer .disc-num{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.06em;
  color:var(--gold);
  padding-top:.45em;
}
.page-disclaimer .disc-item h2{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(20px, 3.6vw, 26px);
  line-height:1.35;
  margin:0;
  color:var(--paper);
}
.page-disclaimer .disc-text{
  margin:16px 0 0;
  display:grid;
  gap:14px;
  padding-left:50px;
}
.page-disclaimer .disc-text p{
  margin:0;
  font-size:16px;
  line-height:1.85;
  color:rgba(244,241,233,.88);
  max-width:36em;
}
.page-disclaimer .disc-text a{
  color:var(--pulse);
  text-decoration:none;
  border-bottom:1px solid rgba(63,224,208,.4);
}
.page-disclaimer .disc-text a:hover{
  border-bottom-color:var(--pulse);
}
.page-disclaimer .mono{
  font-family:var(--font-mono);
  font-size:.94em;
  letter-spacing:.02em;
  color:var(--paper);
}
.page-disclaimer .disc-mark{
  color:var(--paper);
  border-bottom:1px solid var(--gold);
}
.page-disclaimer .disc-keep{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
  max-width:36em;
}
.page-disclaimer .disc-keep li{
  position:relative;
  padding-left:22px;
  font-size:15px;
  line-height:1.75;
  color:rgba(244,241,233,.86);
}
.page-disclaimer .disc-keep li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:11px;
  height:1px;
  background:var(--gold);
}
.page-disclaimer .disc-subject{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  padding:12px 14px;
  border:1px dashed var(--disc-gold-line);
  border-radius:var(--radius);
  background:rgba(245,193,108,.06);
}
.page-disclaimer .disc-subject .index-label{
  color:var(--sand);
  letter-spacing:.2em;
}
.page-disclaimer .disc-subject strong{
  font-weight:400;
  font-size:14px;
  letter-spacing:.02em;
  color:var(--paper);
}

/* 修订刻度 */
.page-disclaimer .disc-timeline{
  margin-top:22px;
  padding:44px 0 62px;
  border-top:1px solid var(--disc-gold-line);
  background:linear-gradient(180deg, rgba(6,16,39,0), rgba(6,16,39,.62));
}
.page-disclaimer .disc-timeline-head h2{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(20px, 3.6vw, 26px);
  line-height:1.35;
  margin:10px 0 6px;
  color:var(--paper);
}
.page-disclaimer .disc-timeline-head p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:var(--sand);
}
.page-disclaimer .disc-axis{
  margin-top:26px;
}
.page-disclaimer .disc-axis-svg{
  display:none;
  width:100%;
  height:14px;
}
.page-disclaimer .disc-axis-svg .rail{
  stroke:var(--line-2);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.page-disclaimer .disc-axis-svg .tick{
  stroke:var(--pulse);
  stroke-width:1;
  opacity:.55;
  vector-effect:non-scaling-stroke;
}
.page-disclaimer .disc-axis-svg .tick-a{
  stroke:var(--nebula);
}
.page-disclaimer .disc-axis-svg .tick-z{
  stroke:var(--gold);
  opacity:1;
}
.page-disclaimer .disc-ticks{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 16px;
}
.page-disclaimer .disc-tick{
  border-top:1px solid var(--disc-rule);
  padding:12px 12px 0 0;
  transition:border-color .18s ease;
}
.page-disclaimer .disc-tick:hover{
  border-top-color:var(--gold);
}
.page-disclaimer .disc-tick-label{
  display:block;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--gold);
}
.page-disclaimer .disc-tick-text{
  margin:6px 0 0;
  font-size:13px;
  line-height:1.7;
  color:var(--sand);
}

/* 淡入 */
@keyframes discFade{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:none; }
}
.page-disclaimer [data-reveal].is-visible{
  animation:discFade .5s ease both;
}

@media (min-width:900px){
  .page-disclaimer .disc-hero{
    padding:30px 0 54px;
  }
  .page-disclaimer .disc-hero-grid{
    grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr);
    gap:48px;
    align-items:end;
  }
  .page-disclaimer .disc-layout{
    grid-template-columns:150px minmax(0, 1fr) 108px;
    column-gap:40px;
    padding-top:18px;
  }
  .page-disclaimer .disc-index{
    position:sticky;
    top:104px;
    align-self:start;
    padding:18px 0 0;
  }
  .page-disclaimer .disc-index-list{
    flex-direction:column;
    flex-wrap:nowrap;
    gap:0;
  }
  .page-disclaimer .disc-item{
    padding:30px 0 32px;
  }
  .page-disclaimer .disc-axis-svg{
    display:block;
  }
  .page-disclaimer .disc-ticks{
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:0;
    margin-top:8px;
  }
  .page-disclaimer .disc-tick{
    border-top:0;
    padding:8px 16px 0 0;
  }
  .page-disclaimer .disc-tick:hover .disc-tick-text{
    color:rgba(244,241,233,.92);
  }
}

@media (prefers-reduced-motion: reduce){
  .page-disclaimer [data-reveal].is-visible{
    animation:none;
  }
  .page-disclaimer .disc-index-list a,
  .page-disclaimer .disc-tick{
    transition:none;
  }
}
