/* ===== 法律声明页 · page-disclaimer ===== */
.page-disclaimer{
  --dl-text:rgba(237,234,227,.84);
  --dl-muted:rgba(124,147,168,.96);
  --dl-hair:rgba(124,147,168,.2);
  display:block;
  background:var(--bb-void);
  color:var(--bb-paper);
  padding-block:clamp(1.1rem,2.6vw,2rem) clamp(3rem,7vw,5.5rem);
  overflow-wrap:break-word;
}

.page-disclaimer .bb-breadcrumb{
  margin-bottom:clamp(1rem,2.4vw,1.8rem);
}

.page-disclaimer a:focus-visible{
  outline:2px solid var(--bb-lime);
  outline-offset:3px;
  border-radius:6px;
}

/* —— 首屏 —— */
.page-disclaimer .dl-hero{
  display:grid;
  gap:clamp(.75rem,2vw,1.1rem);
  max-width:60rem;
}

.page-disclaimer .dl-hero__eyebrow{
  margin:0;
  font-family:var(--bb-mono);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--bb-lime);
}

.page-disclaimer .dl-hero__title{
  margin:0;
  font-family:var(--bb-serif);
  font-weight:800;
  font-size:clamp(2rem,5.6vw,3.3rem);
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--bb-paper);
}

.page-disclaimer .dl-hero__lead{
  margin:0;
  max-width:58ch;
  font-size:clamp(.95rem,2.1vw,1.06rem);
  line-height:1.78;
  color:var(--dl-text);
}

.page-disclaimer .dl-facts{
  list-style:none;
  margin:.6rem 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.6rem;
}

.page-disclaimer .dl-facts li{
  border:1px solid var(--bb-line);
  border-radius:var(--bb-radius-sm);
  padding:.72rem .85rem;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,0));
}

.page-disclaimer .dl-facts__num{
  display:block;
  font-family:var(--bb-mono);
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:-.01em;
  color:var(--bb-paper);
}

.page-disclaimer .dl-facts__label{
  display:block;
  margin-top:.24rem;
  font-size:.74rem;
  letter-spacing:.04em;
  color:var(--dl-muted);
}

/* —— 页首横幅 —— */
.page-disclaimer .dl-banner{
  margin:clamp(1.6rem,4vw,2.8rem) 0 0;
}

.page-disclaimer .dl-banner .bb-media__frame{
  aspect-ratio:16 / 6;
  overflow:hidden;
  border:1px solid var(--bb-line);
  border-radius:var(--bb-radius);
  background:linear-gradient(120deg,#12171B 0%,#1B2228 46%,#0E1216 100%);
}

.page-disclaimer .dl-banner img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
}

/* —— 双栏骨架 —— */
.page-disclaimer .dl-layout{
  display:grid;
  gap:clamp(1.5rem,4vw,3.2rem);
  margin-top:clamp(1.8rem,4.5vw,3rem);
  min-width:0;
}

/* —— 条文目录 —— */
.page-disclaimer .dl-toc{
  min-width:0;
  border:1px solid var(--bb-line);
  border-radius:var(--bb-radius);
  background:var(--bb-carbon);
  padding:clamp(.9rem,2.2vw,1.15rem);
}

.page-disclaimer .dl-toc__label{
  margin:0 0 .7rem;
  font-family:var(--bb-mono);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--dl-muted);
}

.page-disclaimer .dl-toc__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:.45rem;
  overflow-x:auto;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

.page-disclaimer .dl-toc__list > li{
  flex:0 0 auto;
}

.page-disclaimer .dl-toc__link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.5rem .72rem;
  border:1px solid var(--bb-line);
  border-radius:999px;
  font-size:.8rem;
  line-height:1.2;
  color:var(--dl-text);
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--bb-dur) ease,border-color var(--bb-dur) ease,background-color var(--bb-dur) ease;
}

.page-disclaimer .dl-toc__link:hover{
  color:var(--bb-paper);
  border-color:rgba(183,245,66,.52);
  background-color:var(--bb-lime-dim);
}

.page-disclaimer .dl-toc__no{
  font-family:var(--bb-mono);
  font-size:.7rem;
  font-weight:700;
  color:var(--bb-lime);
}

.page-disclaimer .dl-toc__links{
  margin-top:.9rem;
  padding-top:.85rem;
  border-top:1px solid var(--bb-hair);
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .9rem;
}

.page-disclaimer .dl-toc__links a{
  font-size:.78rem;
  color:var(--bb-cyan);
  text-decoration:none;
}

.page-disclaimer .dl-toc__links a:hover{
  text-decoration:underline;
}

/* —— 正文 —— */
.page-disclaimer .dl-body{
  min-width:0;
}

.page-disclaimer .dl-clause{
  padding-block:clamp(1.5rem,3.6vw,2.4rem);
  border-top:1px solid var(--bb-line);
  scroll-margin-top:6.5rem;
}

.page-disclaimer .dl-clause:first-child{
  border-top:0;
  padding-top:0;
}

.page-disclaimer .dl-clause__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.66rem;
}

.page-disclaimer .dl-clause__num{
  flex:0 0 auto;
  display:inline-block;
  padding:.3rem .6rem;
  border:1px solid rgba(183,245,66,.34);
  border-radius:999px;
  font-family:var(--bb-mono);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.1;
  color:var(--bb-lime);
  text-decoration:none;
  transition:background-color var(--bb-dur) ease,color var(--bb-dur) ease,border-color var(--bb-dur) ease;
}

.page-disclaimer .dl-clause__num:hover{
  background-color:var(--bb-lime);
  border-color:var(--bb-lime);
  color:var(--bb-void);
}

.page-disclaimer .dl-clause__title{
  margin:0;
  font-family:var(--bb-serif);
  font-weight:700;
  font-size:clamp(1.2rem,2.8vw,1.62rem);
  line-height:1.28;
  letter-spacing:-.015em;
  color:var(--bb-paper);
}

.page-disclaimer .dl-clause__body{
  margin-top:.95rem;
  font-size:.94rem;
  line-height:1.82;
  color:var(--dl-text);
}

.page-disclaimer .dl-clause__body p{
  margin:0 0 .9rem;
  max-width:66ch;
}

.page-disclaimer .dl-clause__body p:last-child{
  margin-bottom:0;
}

.page-disclaimer .dl-list{
  list-style:none;
  margin:0 0 .95rem;
  padding:0;
  display:grid;
  gap:.58rem;
  max-width:66ch;
}

.page-disclaimer .dl-list li{
  position:relative;
  padding-left:1.15rem;
}

.page-disclaimer .dl-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.82em;
  width:.52rem;
  height:2px;
  border-radius:2px;
  background:var(--bb-lime);
}

.page-disclaimer .dl-quote{
  margin:0 0 .95rem;
  padding:.9rem 1.05rem;
  border-left:3px solid var(--bb-score);
  border-radius:0 var(--bb-radius-sm) var(--bb-radius-sm) 0;
  background:linear-gradient(90deg,rgba(124,147,168,.18),rgba(124,147,168,.04));
  max-width:66ch;
}

.page-disclaimer .dl-quote p{
  margin:0;
  font-size:.92rem;
  line-height:1.75;
  color:var(--bb-paper);
}

.page-disclaimer .dl-inline-link{
  color:var(--bb-cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(55,214,196,.4);
}

.page-disclaimer .dl-inline-link:hover{
  border-bottom-color:var(--bb-cyan);
}

/* —— 数据来源示意 —— */
.page-disclaimer .dl-flow{
  margin:0 0 1rem;
  padding:.9rem 1rem 1rem;
  border:1px solid var(--bb-line);
  border-radius:var(--bb-radius);
  background:linear-gradient(160deg,var(--bb-carbon-2),var(--bb-carbon));
  max-width:66ch;
}

.page-disclaimer .dl-flow__svg{
  display:block;
  width:100%;
  height:auto;
}

.page-disclaimer .dl-flow__line{
  fill:none;
  stroke:var(--bb-steel);
  stroke-opacity:.5;
  stroke-width:1.6;
  stroke-linecap:round;
}

.page-disclaimer .dl-flow__node{
  fill:var(--bb-lime);
}

.page-disclaimer .dl-flow__out{
  fill:none;
  stroke:url(#dlFlowGrad);
  stroke-width:2.4;
  stroke-linecap:round;
}

.page-disclaimer .dl-flow__arrow{
  fill:var(--bb-lime);
}

.page-disclaimer .dl-flow__note{
  margin:.6rem 0 0;
  font-family:var(--bb-mono);
  font-size:.72rem;
  letter-spacing:.04em;
  line-height:1.6;
  color:var(--dl-muted);
}

/* —— 尾部延伸 —— */
.page-disclaimer .dl-tail{
  margin-top:clamp(2rem,5vw,3.2rem);
  padding-top:clamp(1.4rem,3vw,2rem);
  border-top:1px solid var(--bb-line);
}

.page-disclaimer .dl-tail__title{
  margin:0 0 1rem;
  font-family:var(--bb-serif);
  font-weight:700;
  font-size:clamp(1.05rem,2.4vw,1.3rem);
  letter-spacing:-.01em;
  color:var(--bb-paper);
}

.page-disclaimer .dl-tail__grid{
  display:grid;
  gap:.8rem;
}

.page-disclaimer .dl-tail__card{
  display:block;
  padding:1rem 1.1rem;
  border:1px solid var(--bb-line);
  border-radius:var(--bb-radius);
  background:var(--bb-carbon);
  color:inherit;
  text-decoration:none;
  transition:border-color var(--bb-dur) ease,background-color var(--bb-dur) ease,transform var(--bb-dur) ease;
}

.page-disclaimer .dl-tail__card:hover{
  border-color:rgba(183,245,66,.5);
  background-color:var(--bb-carbon-2);
  transform:translateY(-2px);
}

.page-disclaimer .dl-tail__card h3{
  margin:0 0 .34rem;
  font-family:var(--bb-serif);
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:-.01em;
  color:var(--bb-paper);
}

.page-disclaimer .dl-tail__card p{
  margin:0;
  font-size:.83rem;
  line-height:1.65;
  color:var(--dl-muted);
}

/* —— 桌面端 —— */
@media (min-width:760px){
  .page-disclaimer .dl-facts{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .page-disclaimer .dl-tail__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (min-width:1000px){
  .page-disclaimer .dl-layout{
    grid-template-columns:268px minmax(0,1fr);
    align-items:start;
  }

  .page-disclaimer .dl-toc{
    position:sticky;
    top:6.4rem;
  }

  .page-disclaimer .dl-toc__list{
    display:grid;
    gap:.18rem;
    overflow:visible;
  }

  .page-disclaimer .dl-toc__list > li{
    flex:none;
  }

  .page-disclaimer .dl-toc__link{
    display:flex;
    width:100%;
    border:0;
    border-radius:var(--bb-radius-sm);
    padding:.55rem .6rem;
    font-size:.84rem;
    white-space:normal;
  }

  .page-disclaimer .dl-toc__links{
    display:grid;
    gap:.4rem;
  }

  .page-disclaimer .dl-clause{
    scroll-margin-top:7.5rem;
  }
}

/* —— 动效偏好 —— */
@media (prefers-reduced-motion: reduce){
  .page-disclaimer .dl-toc__link,
  .page-disclaimer .dl-clause__num,
  .page-disclaimer .dl-tail__card{
    transition:none;
  }

  .page-disclaimer .dl-tail__card:hover{
    transform:none;
  }
}
</main>

.page-disclaimer {
  --bb-hair: currentColor;
}
