.page-disclaimer{
  --notice-line:rgba(157,180,196,.16);
  --notice-soft:rgba(244,248,251,.8);
  padding-bottom:clamp(3rem,7vw,6rem);
}

.page-disclaimer .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:clamp(1.2rem,3vw,2rem) 0 clamp(1rem,2.4vw,1.6rem);
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.08em;
  color:var(--haze);
}
.page-disclaimer .breadcrumb a{
  color:var(--haze);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.page-disclaimer .breadcrumb a:hover,
.page-disclaimer .breadcrumb a:focus-visible{
  color:var(--cyan);
  border-bottom-color:var(--cyan);
}

/* ---------- 封面 ---------- */
.page-disclaimer .notice-cover{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-bottom:clamp(2.2rem,5vw,4rem);
  padding:clamp(1.4rem,4vw,3.4rem);
  border:1px solid rgba(31,111,158,.35);
  background:linear-gradient(155deg,rgba(14,48,72,.96),rgba(7,28,46,.98) 55%,rgba(42,30,66,.94));
}
.page-disclaimer .cover-bg{
  position:absolute;
  inset:0;
  z-index:0;
}
.page-disclaimer .cover-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.2;
  filter:saturate(.7);
}
.page-disclaimer .notice-cover::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(32,56,74,.5) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(32,56,74,.5) 1px,transparent 1px);
  background-size:72px 72px;
  opacity:.55;
}
.page-disclaimer .cover-inner{
  position:relative;
  z-index:2;
  max-width:60rem;
}
.page-disclaimer h1{
  margin:.6rem 0 1rem;
  max-width:15ch;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2.4rem,7vw,5rem);
  line-height:1.03;
  letter-spacing:-.025em;
  color:var(--paper);
}
.page-disclaimer .lede{
  margin:0;
  max-width:48ch;
  font-size:var(--step-body);
  line-height:1.85;
  color:var(--notice-soft);
}
.page-disclaimer .cover-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:clamp(1.1rem,3vw,1.7rem);
}

/* ---------- 三步指引 ---------- */
.page-disclaimer .steps-block{
  scroll-margin-top:calc(var(--topbar) + 1rem);
  margin-bottom:clamp(2.4rem,6vw,4.6rem);
}
.page-disclaimer .steps-head{
  display:grid;
  gap:.7rem;
  max-width:64ch;
  margin-bottom:clamp(1.2rem,3vw,2rem);
}
.page-disclaimer .steps-head .section-title{
  margin:0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:var(--step-title);
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--paper);
}
.page-disclaimer .steps-sub{
  margin:0;
  font-size:var(--step-body);
  line-height:1.8;
  color:var(--haze);
}
.page-disclaimer .step-list{
  list-style:none;
  display:grid;
  gap:1px;
  margin:0;
  padding:0;
  border:1px solid var(--notice-line);
  background:var(--notice-line);
}
.page-disclaimer .step{
  display:grid;
  grid-template-columns:3.2rem minmax(0,1fr);
  gap:clamp(.7rem,2vw,1.4rem);
  padding:clamp(1.1rem,2.6vw,1.8rem);
  background:rgba(14,48,72,.55);
  transition:background .25s var(--ease);
}
.page-disclaimer .step:hover{
  background:rgba(14,48,72,.85);
}
.page-disclaimer .step-num{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.9rem,5vw,3.2rem);
  line-height:.92;
  letter-spacing:-.03em;
  color:var(--cyan);
  font-variant-numeric:tabular-nums;
}
.page-disclaimer .step-content{
  min-width:0;
}
.page-disclaimer .step-content h3{
  margin:0 0 .5rem;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.15rem,2.4vw,1.5rem);
  letter-spacing:.01em;
  color:var(--paper);
}
.page-disclaimer .step-content p{
  margin:0 0 .6rem;
  font-size:var(--step-body);
  line-height:1.78;
  color:var(--notice-soft);
}
.page-disclaimer .step-content .step-tip{
  padding-left:.7rem;
  border-left:2px solid var(--lake);
  font-size:.82rem;
  line-height:1.7;
  color:var(--haze);
}
.page-disclaimer .step-check{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin-top:.7rem;
}
.page-disclaimer .step-box{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  width:1.15rem;
  height:1.15rem;
  position:relative;
  border:1px solid rgba(157,180,196,.5);
  background:rgba(7,28,46,.7);
  cursor:pointer;
  transition:background .2s var(--ease),border-color .2s var(--ease);
}
.page-disclaimer .step-box:checked{
  background:var(--cyan);
  border-color:var(--cyan);
}
.page-disclaimer .step-box:checked::after{
  content:"";
  position:absolute;
  left:.33rem;
  top:.12rem;
  width:.3rem;
  height:.62rem;
  border-right:2px solid var(--night);
  border-bottom:2px solid var(--night);
  transform:rotate(42deg);
}
.page-disclaimer .step-box:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:2px;
}
.page-disclaimer .step-check label{
  padding-block:.55rem;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.04em;
  color:var(--haze);
  cursor:pointer;
  transition:color .2s var(--ease);
}
.page-disclaimer .step-box:checked + label{
  color:var(--cyan);
}

/* ---------- 条款区 ---------- */
.page-disclaimer .notice-body{
  display:grid;
  gap:clamp(1.6rem,4vw,3rem);
}
.page-disclaimer .clause-rail{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:clamp(1rem,2.4vw,1.3rem);
  border:1px solid var(--notice-line);
  background:rgba(14,48,72,.42);
}
.page-disclaimer .rail-title{
  margin:0;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--sand);
}
.page-disclaimer .rail-list{
  list-style:none;
  display:grid;
  gap:.1rem;
  margin:0;
  padding:0;
}
.page-disclaimer .rail-list a{
  display:flex;
  align-items:baseline;
  gap:.6rem;
  padding:.55rem .2rem;
  font-size:.86rem;
  line-height:1.5;
  color:var(--haze);
  text-decoration:none;
  border-bottom:1px solid rgba(32,56,74,.75);
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.page-disclaimer .rail-list a:hover,
.page-disclaimer .rail-list a:focus-visible{
  color:var(--cyan);
  border-bottom-color:var(--cyan);
}
.page-disclaimer .rail-idx{
  font-family:var(--font-mono);
  font-size:.72rem;
  color:var(--lake);
}
.page-disclaimer .version-stamp{
  display:grid;
  gap:.15rem;
  margin-top:.4rem;
  padding:.8rem;
  border:1px dashed rgba(216,180,106,.55);
  transform:rotate(-1.2deg);
}
.page-disclaimer .stamp-label{
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.18em;
  color:var(--sand);
}
.page-disclaimer .stamp-num{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.6rem;
  line-height:1.1;
  color:var(--paper);
}
.page-disclaimer .stamp-note{
  font-family:var(--font-mono);
  font-size:.66rem;
  line-height:1.5;
  color:var(--haze);
}

.page-disclaimer .clause-stack{
  counter-reset:clause;
  min-width:0;
}
.page-disclaimer .clause{
  counter-increment:clause;
  position:relative;
  scroll-margin-top:calc(var(--topbar) + 1rem);
  padding:clamp(1.3rem,2.8vw,2rem) 0 clamp(1.3rem,2.8vw,2rem) 2.4rem;
  border-top:1px solid var(--notice-line);
}
.page-disclaimer .clause:last-child{
  border-bottom:1px solid var(--notice-line);
}
.page-disclaimer .clause::before{
  content:counter(clause,decimal-leading-zero);
  position:absolute;
  left:0;
  top:calc(clamp(1.3rem,2.8vw,2rem) + .15rem);
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.12em;
  color:var(--sand);
}
.page-disclaimer .clause h2{
  margin:0 0 .6rem;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.3rem,2.8vw,1.9rem);
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-disclaimer .clause p{
  margin:0 0 .7rem;
  font-size:var(--step-body);
  line-height:1.82;
  color:var(--notice-soft);
}
.page-disclaimer .clause-list{
  list-style:none;
  display:grid;
  gap:.55rem;
  margin:.9rem 0 0;
  padding:0;
}
.page-disclaimer .clause-list li{
  position:relative;
  padding-left:1.15rem;
  font-size:var(--step-body);
  line-height:1.75;
  color:var(--haze);
}
.page-disclaimer .clause-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:.5rem;
  height:1px;
  background:var(--lake);
}
.page-disclaimer .clause-note{
  margin:.95rem 0 0;
  padding:.75rem .9rem;
  border-left:2px solid var(--sand);
  background:rgba(75,58,107,.34);
  font-family:var(--font-mono);
  font-size:.76rem;
  line-height:1.72;
  color:var(--paper);
  overflow-wrap:anywhere;
}

/* ---------- 支持面板 ---------- */
.page-disclaimer .support-panel{
  display:grid;
  gap:.45rem;
  margin-top:1.2rem;
  padding:clamp(1.1rem,2.6vw,1.7rem);
  background:var(--paper);
  color:var(--ink);
  box-shadow:5px 5px 0 rgba(75,58,107,.65),10px 10px 0 rgba(75,58,107,.3);
}
.page-disclaimer .support-line{
  display:grid;
  grid-template-columns:5.2rem minmax(0,1fr);
  gap:.6rem;
  margin:0;
  padding-bottom:.45rem;
  border-bottom:1px solid rgba(16,24,32,.12);
  font-size:.85rem;
  line-height:1.6;
  color:var(--ink);
}
.page-disclaimer .support-line span{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.06em;
  color:#4b5563;
  padding-top:.16rem;
}
.page-disclaimer .support-line strong{
  font-weight:500;
  color:var(--ink);
  overflow-wrap:anywhere;
}
.page-disclaimer .support-note{
  margin:.35rem 0 0;
  font-size:.78rem;
  line-height:1.7;
  color:#3d4a55;
}
.page-disclaimer .support-icp{
  margin:.15rem 0 0;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.06em;
  color:#5b6670;
}

@media (min-width:700px){
  .page-disclaimer .step{
    grid-template-columns:4.6rem minmax(0,1fr);
  }
}

@media (min-width:900px){
  .page-disclaimer .notice-body{
    grid-template-columns:200px minmax(0,1fr);
    align-items:start;
  }
  .page-disclaimer .clause-rail{
    position:sticky;
    top:calc(var(--topbar) + 1.5rem);
  }
  .page-disclaimer .clause{
    padding-left:3.6rem;
  }
  .page-disclaimer .clause::before{
    font-size:.82rem;
  }
}

@media (min-width:1100px){
  .page-disclaimer .clause{
    padding-left:4.4rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-disclaimer .step,
  .page-disclaimer .rail-list a,
  .page-disclaimer .breadcrumb a{
    transition:none;
  }
  .page-disclaimer .version-stamp{
    transform:none;
  }
}
</main>
