.page-faq{
  --faq-border: rgba(255,255,255,.16);
  --faq-border-strong: rgba(255,255,255,.45);
  --faq-card-bg: rgba(15,24,46,.88);
  --faq-muted:#8896A5;
  background:
    linear-gradient(180deg,var(--c-primary-bg) 0,var(--c-primary-bg) 60%,#0D1730 100%);
  color:var(--c-text-light);
  font-family:var(--font-body);
  line-height:1.75;
  overflow-x:hidden;
  min-width:0;
}

/* ===== Hero 区 ===== */
.page-faq .faq-hero{
  position:relative;
  border-bottom:4px solid var(--c-border-strong);
  background:
    linear-gradient(135deg,rgba(0,232,120,.07) 0,transparent 45%),
    linear-gradient(315deg,rgba(255,107,53,.05) 0,transparent 40%),
    var(--c-primary-bg);
  overflow:hidden;
}
.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:6px;
  background:linear-gradient(90deg,var(--c-primary-accent) 0 62%,var(--c-secondary-accent) 62% 100%);
  z-index:2;
}
.page-faq .faq-hero__inner{
  position:relative;
  z-index:1;
  max-width:1280px;
  margin:0 auto;
  padding:var(--space-3) var(--space-2) var(--space-4);
}
.page-faq .faq-breadcrumb{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.8rem;
  color:var(--c-text-muted);
  margin-bottom:var(--space-2);
}
.page-faq .faq-breadcrumb a{
  color:var(--c-primary-accent);
  text-decoration:none;
  transition:color .2s ease;
}
.page-faq .faq-breadcrumb a:hover{
  color:var(--c-text-light);
}
.page-faq .faq-breadcrumb__sep{
  color:var(--faq-muted);
}
.page-faq .faq-hero__content{
  display:flex;
  flex-direction:column;
  gap:var(--space-1);
  max-width:760px;
}
.page-faq .faq-hero__symbol{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:.4rem;
}
.page-faq .faq-hero__symbol-num{
  font-family:var(--font-data);
  font-size:2rem;
  font-weight:700;
  color:var(--c-primary-accent);
  line-height:1;
  letter-spacing:-.04em;
}
.page-faq .faq-hero__symbol-label{
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--faq-muted);
  border:2px solid var(--faq-border);
  border-radius:999px;
  padding:.15rem .6rem;
}
.page-faq .faq-hero__title{
  font-family:var(--font-headline);
  font-size:1.85rem;
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.02em;
  margin:0;
  color:var(--c-text-light);
  border-left:6px solid var(--c-secondary-accent);
  padding-left:var(--space-2);
}
.page-faq .faq-hero__lead{
  font-size:1rem;
  color:rgba(232,236,241,.85);
  margin:.6rem 0 0;
  max-width:640px;
}
.page-faq .faq-hero__status{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:.8rem;
  border:2px solid var(--faq-border);
  border-radius:999px;
  padding:.3rem .8rem;
  background:rgba(0,232,120,.05);
}
.page-faq .faq-hero__status-text{
  font-size:.8rem;
  color:var(--c-text-light);
}
.page-faq .faq-hero__pattern{
  position:absolute;
  right:-30px;
  bottom:-10px;
  width:190px;
  height:auto;
  opacity:.8;
  pointer-events:none;
}

/* ===== 双栏布局 ===== */
.page-faq .faq-layout{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-2);
  padding:var(--space-3) var(--space-2) var(--space-4);
  min-width:0;
}

/* ===== 左侧索引 ===== */
.page-faq .faq-index{
  min-width:0;
}
.page-faq .faq-index__inner{
  border:4px solid var(--faq-border-strong);
  border-radius:14px;
  background:rgba(16,26,51,.9);
  padding:var(--space-2);
  box-shadow:var(--shadow-panel);
}
.page-faq .faq-index__label{
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--faq-muted);
  margin:0 0 var(--space-1);
}
.page-faq .faq-index__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:.5rem;
  overflow-x:auto;
  padding-bottom:.6rem;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.page-faq .faq-index__item{
  flex:0 0 auto;
  scroll-snap-align:start;
}
.page-faq .faq-index__link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border:2px solid var(--faq-border);
  border-radius:999px;
  padding:.35rem .8rem;
  background:rgba(255,255,255,.04);
  color:var(--c-text-light);
  text-decoration:none;
  font-size:.84rem;
  white-space:nowrap;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.page-faq .faq-index__link:hover{
  border-color:var(--c-primary-accent);
  background:rgba(0,232,120,.07);
}
.page-faq .faq-index__link:focus-visible{
  outline:var(--focus-outline);
  outline-offset:2px;
  border-radius:999px;
}
.page-faq .faq-index__num{
  font-family:var(--font-data);
  font-size:.72rem;
  color:var(--c-primary-accent);
}
.page-faq .faq-index__note{
  margin-top:var(--space-2);
  padding:var(--space-2);
}
.page-faq .faq-index__note-title{
  font-family:var(--font-headline);
  font-weight:700;
  font-size:1rem;
  margin:0 0 .3rem;
  color:var(--c-text-light);
}
.page-faq .faq-index__note-text{
  font-size:.86rem;
  margin:0;
  color:rgba(232,236,241,.78);
}
.page-faq .faq-index__note-text a{
  color:var(--c-primary-accent);
  text-decoration:none;
  border-bottom:1px solid rgba(0,232,120,.35);
}
.page-faq .faq-index__note-meta{
  margin:.7rem 0 0;
  font-size:.75rem;
  color:var(--faq-muted);
  border-top:1px dashed var(--faq-border);
  padding-top:.6rem;
}

/* ===== 右侧内容区 ===== */
.page-faq .faq-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.page-faq .faq-section{
  scroll-margin-top:100px;
  min-width:0;
}
.page-faq .faq-section__header{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  padding:var(--space-2);
  border-radius:14px;
  border:3px solid var(--faq-border);
  margin-bottom:var(--space-2);
  position:relative;
  overflow:hidden;
}
.page-faq .faq-section__header::before{
  content:"";
  position:absolute;
  top:0;left:0;bottom:0;
  width:8px;
}
.page-faq .faq-section--account .faq-section__header{
  background:var(--c-section-bg-1);
}
.page-faq .faq-section--account .faq-section__header::before{
  background:var(--c-primary-accent);
}
.page-faq .faq-section--subscribe .faq-section__header{
  background:var(--c-section-bg-2);
}
.page-faq .faq-section--subscribe .faq-section__header::before{
  background:var(--c-secondary-accent);
}
.page-faq .faq-section--calendar .faq-section__header{
  background:var(--c-section-bg-3);
}
.page-faq .faq-section--calendar .faq-section__header::before{
  background:#7AD0FF;
}
.page-faq .faq-section--rules .faq-section__header{
  background:var(--c-section-bg-1);
}
.page-faq .faq-section--rules .faq-section__header::before{
  background:var(--c-primary-accent);
}
.page-faq .faq-section--feedback .faq-section__header{
  background:var(--c-section-bg-2);
}
.page-faq .faq-section--feedback .faq-section__header::before{
  background:var(--c-secondary-accent);
}
.page-faq .faq-section__header .section-symbol{
  font-size:1.6rem;
  font-weight:700;
  color:var(--c-primary-accent);
  line-height:1;
  flex-shrink:0;
}
.page-faq .faq-section__heading-wrap{
  min-width:0;
}
.page-faq .faq-section__title{
  font-family:var(--font-headline);
  font-size:1.25rem;
  font-weight:800;
  margin:0;
  line-height:1.3;
  color:var(--c-text-light);
}
.page-faq .faq-section__desc{
  font-size:.82rem;
  color:rgba(232,236,241,.68);
  margin:.15rem 0 0;
}
.page-faq .faq-section__items{
  display:flex;
  flex-direction:column;
  gap:var(--space-1);
  min-width:0;
}

/* ===== 折叠面板 ===== */
.page-faq .faq-item{
  border:3px solid var(--faq-border);
  border-radius:12px;
  background:var(--faq-card-bg);
  transition:border-color .28s ease,box-shadow .28s ease;
  min-width:0;
}
.page-faq .faq-item[open]{
  border-color:var(--c-primary-accent);
  box-shadow:0 0 0 1px rgba(0,232,120,.22),0 8px 0 rgba(0,0,0,.22);
}
.page-faq .faq-item__summary{
  list-style:none;
  display:flex;
  align-items:baseline;
  gap:.7rem;
  padding:var(--space-2);
  cursor:pointer;
  font-weight:600;
  font-size:.92rem;
  color:var(--c-text-light);
  user-select:none;
}
.page-faq .faq-item__summary::-webkit-details-marker{
  display:none;
}
.page-faq .faq-item__summary:hover{
  color:var(--c-primary-accent);
}
.page-faq .faq-item__summary:focus-visible{
  outline:var(--focus-outline);
  outline-offset:-3px;
  border-radius:10px;
}
.page-faq .faq-item__num{
  font-family:var(--font-data);
  font-size:.76rem;
  color:var(--c-primary-accent);
  flex-shrink:0;
  margin-top:.1rem;
}
.page-faq .faq-item__question{
  flex:1;
  min-width:0;
}
.page-faq .faq-item__toggle{
  position:relative;
  width:16px;
  height:16px;
  flex-shrink:0;
  margin-left:auto;
  align-self:center;
}
.page-faq .faq-item__toggle::before,
.page-faq .faq-item__toggle::after{
  content:"";
  position:absolute;
  background:var(--c-secondary-accent);
  transition:transform .28s ease,opacity .28s ease;
}
.page-faq .faq-item__toggle::before{
  width:16px;height:3px;top:6.5px;left:0;
  border-radius:2px;
}
.page-faq .faq-item__toggle::after{
  width:3px;height:16px;top:0;left:6.5px;
  border-radius:2px;
}
.page-faq .faq-item[open] .faq-item__toggle::after{
  transform:scaleY(0);
  opacity:0;
}
.page-faq .faq-item__answer{
  padding:0 var(--space-2) var(--space-2);
  font-size:.9rem;
  color:rgba(232,236,241,.82);
  border-top:1px solid var(--faq-border);
  margin-top:.2rem;
}
.page-faq .faq-item__answer p{
  margin:.8rem 0 0;
}
.page-faq .faq-item__answer p:first-child{
  margin-top:.8rem;
}

/* ===== 插图样式 ===== */
.page-faq .faq-img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:10px;
  border:3px solid var(--faq-border);
  object-fit:cover;
  margin-top:var(--space-2);
}

/* ===== 内联链接按钮 ===== */
.page-faq .faq-link-btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:.8rem;
  padding:.4rem .9rem;
  border:2px solid var(--c-primary-accent);
  border-radius:999px;
  color:var(--c-primary-accent);
  font-size:.82rem;
  font-weight:600;
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.page-faq .faq-link-btn:hover{
  background:var(--c-primary-accent);
  color:var(--c-primary-bg);
}

/* ===== 联系信息面板 ===== */
.page-faq .faq-contact{
  margin-top:var(--space-2);
  padding:var(--space-2);
  background:rgba(45,27,78,.55);
}
.page-faq .faq-contact__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-1);
  flex-wrap:wrap;
  margin-bottom:.6rem;
}
.page-faq .faq-contact__more{
  color:var(--c-primary-accent);
  font-size:.8rem;
  text-decoration:none;
  border-bottom:1px solid rgba(0,232,120,.35);
}
.page-faq .faq-contact__intro{
  font-size:.86rem;
  margin:0 0 .8rem;
  color:rgba(232,236,241,.72);
}
.page-faq .faq-contact__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.55rem;
}
.page-faq .faq-contact__item{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:.8rem;
  padding:.4rem .2rem;
  border-bottom:1px dashed var(--faq-border);
}
.page-faq .faq-contact__label{
  font-size:.76rem;
  color:var(--faq-muted);
  letter-spacing:.04em;
}
.page-faq .faq-contact__value{
  font-size:.88rem;
  color:var(--c-text-light);
  text-align:right;
  overflow-wrap:anywhere;
}

/* ===== 桌面端布局 ===== */
@media (min-width:900px){
  .page-faq .faq-hero__inner{
    padding:var(--space-4) var(--space-3) var(--space-4);
  }
  .page-faq .faq-hero__title{
    font-size:2.7rem;
  }
  .page-faq .faq-hero__symbol-num{
    font-size:2.6rem;
  }
  .page-faq .faq-hero__pattern{
    width:240px;
  }
  .page-faq .faq-layout{
    padding:var(--space-4) var(--space-3) var(--space-5);
    grid-template-columns:280px minmax(0,1fr);
    gap:var(--space-3);
    align-items:start;
  }
  .page-faq .faq-index{
    position:sticky;
    top:140px;
  }
  .page-faq .faq-index__list{
    display:block;
    overflow:visible;
    padding-bottom:0;
  }
  .page-faq .faq-index__item{
    margin-bottom:.15rem;
  }
  .page-faq .faq-index__link{
    display:flex;
    align-items:center;
    gap:.6rem;
    border:none;
    border-radius:0;
    background:transparent;
    white-space:normal;
    padding:.55rem .2rem;
    border-bottom:1px solid var(--faq-border);
    font-size:.9rem;
  }
  .page-faq .faq-index__link:hover{
    border-color:var(--c-primary-accent);
    background:transparent;
  }
  .page-faq .faq-index__link:focus-visible{
    border-radius:6px;
  }
  .page-faq .faq-section{
    scroll-margin-top:140px;
  }
  .page-faq .faq-section__header{
    padding:var(--space-2) var(--space-3);
  }
  .page-faq .faq-section__header .section-symbol{
    font-size:2rem;
  }
  .page-faq .faq-section__title{
    font-size:1.45rem;
  }
  .page-faq .faq-item__summary{
    padding:var(--space-2) var(--space-3);
  }
  .page-faq .faq-item__answer{
    padding:0 var(--space-3) var(--space-2);
    font-size:.92rem;
  }
  .page-faq .faq-contact{
    padding:var(--space-2) var(--space-3);
  }
}

@media (max-width:420px){
  .page-faq .faq-hero__title{
    font-size:1.55rem;
  }
  .page-faq .faq-section__header{
    padding:var(--space-1) var(--space-2);
  }
  .page-faq .faq-section__header .section-symbol{
    font-size:1.3rem;
  }
  .page-faq .faq-section__title{
    font-size:1.1rem;
  }
  .page-faq .faq-item__summary{
    gap:.5rem;
  }
  .page-faq .faq-contact__item{
    flex-direction:column;
    gap:.1rem;
  }
  .page-faq .faq-contact__value{
    text-align:left;
  }
}
