.page-faq{
  --faq-accent:#FF6B35;
  --faq-neon:#39FF14;
  --faq-amber:#FFD166;
  --faq-teal:#2EC4B6;
  --faq-wine:#8B2635;
  --faq-muted:#8AA0B0;
  --faq-line:rgba(242,245,244,0.10);
  --faq-line-teal:rgba(46,196,182,0.32);
  --faq-bg-panel:#112340;
  --faq-text:#F2F5F4;
  font-family:var(--font-body,"IBM Plex Mono","SF Mono",Menlo,Consolas,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",monospace);
  color:var(--faq-text);
  background:
    linear-gradient(135deg, rgba(139,38,53,0.14) 0%, rgba(139,38,53,0.0) 24%),
    linear-gradient(45deg, transparent 0%, transparent 98%, rgba(46,196,182,0.16) 100%),
    var(--bg-body,#0A192F);
}

.page-faq .faq-hero{
  padding-top:var(--sp-6,2rem);
  padding-bottom:var(--sp-5,1.5rem);
  position:relative;
}

.page-faq .faq-breadcrumb{
  font-size:0.75rem;
  letter-spacing:0.08em;
  color:var(--faq-muted);
  margin-bottom:var(--sp-5,1.5rem);
  display:flex;
  gap:var(--sp-2,0.5rem);
  align-items:center;
}
.page-faq .faq-breadcrumb a{
  color:var(--faq-teal);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color var(--ease,0.22s ease);
}
.page-faq .faq-breadcrumb a:hover,
.page-faq .faq-breadcrumb a:focus-visible{
  border-bottom-color:var(--faq-teal);
  outline:none;
}
.page-faq .faq-breadcrumb .sep{
  color:var(--faq-muted);
}

.page-faq .faq-hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--sp-5,1.5rem);
  align-items:start;
}

.page-faq .section-marker{
  font-size:0.68rem;
  letter-spacing:0.22em;
  color:var(--faq-accent);
  text-transform:uppercase;
  margin:0 0 var(--sp-3,0.75rem);
  display:inline-flex;
  align-items:center;
  gap:var(--sp-2,0.5rem);
}
.page-faq .section-marker::before{
  content:"";
  width:1.5rem;
  height:1px;
  background:var(--faq-accent);
  display:inline-block;
}

.page-faq h1{
  font-family:var(--font-title,'Archivo Black','DIN Condensed','Arial Black','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif);
  font-size:1.65rem;
  line-height:1.18;
  margin:0 0 var(--sp-4,1rem);
  color:var(--faq-text);
  letter-spacing:0.01em;
  max-width:42rem;
}

.page-faq .faq-hero-desc{
  font-size:0.82rem;
  line-height:1.75;
  color:var(--faq-muted);
  margin:0;
  max-width:44rem;
}

.page-faq .faq-search-panel{
  background:var(--faq-bg-panel);
  padding:var(--sp-5,1.5rem);
  position:relative;
  overflow:hidden;
}
.page-faq .faq-search-panel::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:2.5rem;
  height:2.5rem;
  background:linear-gradient(135deg, var(--faq-accent) 50%, transparent 50%);
  pointer-events:none;
}
.page-faq .faq-search-panel::after{
  content:"";
  position:absolute;
  left:-1.5rem;
  bottom:-1.5rem;
  width:5rem;
  height:5rem;
  border:1px solid var(--faq-line-teal);
  border-radius:50%;
  pointer-events:none;
}

.page-faq .faq-search-label{
  display:block;
  font-size:0.72rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--faq-teal);
  margin-bottom:var(--sp-3,0.75rem);
}

.page-faq .faq-search-box{
  display:flex;
  align-items:center;
  gap:var(--sp-3,0.75rem);
  background:rgba(10,25,47,0.65);
  border:1px solid var(--faq-line);
  padding:0 var(--sp-4,1rem);
  transition:border-color var(--ease,0.22s ease), box-shadow var(--ease,0.22s ease);
}
.page-faq .faq-search-box:focus-within{
  border-color:var(--faq-neon);
  box-shadow:0 0 0 2px rgba(57,255,20,0.18);
}

.page-faq .faq-search-mark{
  font-size:1rem;
  color:var(--faq-accent);
  font-weight:700;
}

.page-faq .faq-keyword{
  flex:1;
  min-width:0;
  background:transparent;
  border:none;
  padding:0.7rem 0;
  font-family:var(--font-body,'IBM Plex Mono','SF Mono',Menlo,Consolas,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',monospace);
  font-size:0.82rem;
  color:var(--faq-text);
  outline:none;
}
.page-faq .faq-keyword::placeholder{
  color:rgba(138,160,176,0.65);
}

.page-faq .faq-search-hint{
  font-size:0.68rem;
  color:var(--faq-muted);
  margin:var(--sp-3,0.75rem) 0 0;
  line-height:1.6;
}

.page-faq .faq-body{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--sp-6,2rem);
  padding-top:var(--sp-5,1.5rem);
  padding-bottom:var(--sp-8,4rem);
  align-items:start;
}

.page-faq .faq-index{
  position:sticky;
  top:calc(var(--header-h,4rem) + var(--sp-4,1rem));
  background:linear-gradient(180deg, var(--faq-bg-panel) 0%, rgba(17,35,64,0.92) 100%);
  padding:var(--sp-5,1.5rem);
  border:1px solid var(--faq-line);
  box-shadow:var(--shadow-2,0 8px 24px rgba(0,0,0,0.45));
  z-index:4;
}

.page-faq .faq-index-head{
  margin-bottom:var(--sp-4,1rem);
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.page-faq .faq-index-tag{
  background:rgba(46,196,182,0.14);
  color:var(--faq-teal);
  border:1px solid rgba(46,196,182,0.4);
  font-size:0.62rem;
  letter-spacing:0.14em;
  padding:0.22rem 0.5rem;
  text-transform:uppercase;
}

.page-faq .faq-index-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
}

.page-faq .faq-index-list li{
  border-bottom:1px solid var(--faq-line);
}
.page-faq .faq-index-list li:last-child{
  border-bottom:none;
}

.page-faq .faq-index-list a{
  display:block;
  padding:0.72rem 0.25rem;
  color:var(--faq-muted);
  text-decoration:none;
  font-size:0.76rem;
  line-height:1.5;
  position:relative;
  transition:color var(--ease,0.22s ease), padding-left var(--ease,0.22s ease);
}
.page-faq .faq-index-list a::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:0;
  height:1px;
  background:var(--faq-accent);
  transition:width var(--ease,0.22s ease);
}
.page-faq .faq-index-list a:hover,
.page-faq .faq-index-list a:focus-visible{
  color:var(--faq-text);
  padding-left:0.8rem;
  outline:none;
}
.page-faq .faq-index-list a:hover::before,
.page-faq .faq-index-list a:focus-visible::before{
  width:0.5rem;
}

.page-faq .faq-index-empty{
  font-size:0.76rem;
  color:var(--faq-amber);
  margin:var(--sp-3,0.75rem) 0 0;
  padding:var(--sp-3,0.75rem);
  border:1px dashed rgba(255,209,102,0.4);
  background:rgba(255,209,102,0.06);
}

.page-faq .faq-answers{
  display:flex;
  flex-direction:column;
  gap:var(--sp-5,1.5rem);
  min-width:0;
}

.page-faq .faq-item{
  background:var(--faq-bg-panel);
  padding:var(--sp-5,1.5rem);
  position:relative;
  scroll-margin-top:calc(var(--header-h,4rem) + var(--sp-4,1rem));
  border:1px solid var(--faq-line);
  box-shadow:var(--shadow-1,0 2px 8px rgba(0,0,0,0.35));
  transition:transform var(--ease,0.22s ease), box-shadow var(--ease,0.22s ease), border-color var(--ease,0.22s ease);
}
.page-faq .faq-item:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2,0 8px 24px rgba(0,0,0,0.45));
}
.page-faq .faq-item.card-panel::before,
.page-faq .faq-item.card-panel::after{
  content:"";
  position:absolute;
  width:0.6rem;
  height:0.6rem;
  border-color:var(--faq-teal);
  border-style:solid;
  pointer-events:none;
}
.page-faq .faq-item.card-panel::before{
  top:-1px;
  left:-1px;
  border-width:2px 0 0 2px;
}
.page-faq .faq-item.card-panel::after{
  bottom:-1px;
  right:-1px;
  border-width:0 2px 2px 0;
}

.page-faq .faq-item-head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--sp-3,0.75rem);
  margin-bottom:var(--sp-4,1rem);
}

.page-faq .faq-item-num{
  font-size:0.8rem;
  color:var(--faq-accent);
  background:rgba(255,107,53,0.10);
  border:1px solid rgba(255,107,53,0.35);
  width:2rem;
  height:2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  letter-spacing:0.05em;
}

.page-faq .faq-item-title-wrap h2{
  font-size:1.05rem;
  line-height:1.4;
  margin:0 0 var(--sp-2,0.5rem);
  color:var(--faq-text);
  font-weight:600;
}

.page-faq .faq-item-tags{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2,0.5rem);
  margin:0;
}

.page-faq .tag{
  font-size:0.62rem;
  letter-spacing:0.1em;
  padding:0.18rem 0.5rem;
  text-transform:uppercase;
  border:1px solid transparent;
}

.page-faq .faq-item-body{
  padding-left:calc(2rem + var(--sp-3,0.75rem));
}

.page-faq .faq-item-body p{
  font-size:0.82rem;
  line-height:1.8;
  color:rgba(242,245,244,0.88);
  margin:0 0 var(--sp-4,1rem);
}

.page-faq .faq-steps,
.page-faq .faq-list,
.page-faq .faq-checklist{
  margin:0 0 var(--sp-4,1rem);
  padding-left:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:var(--sp-3,0.75rem);
}

.page-faq .faq-steps li{
  position:relative;
  padding-left:1.6rem;
  font-size:0.8rem;
  line-height:1.7;
  color:rgba(242,245,244,0.86);
}
.page-faq .faq-steps li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.55rem;
  width:0.5rem;
  height:0.5rem;
  background:var(--faq-accent);
  transform:rotate(45deg);
}

.page-faq .faq-list li{
  position:relative;
  padding-left:1.2rem;
  font-size:0.8rem;
  line-height:1.7;
  color:rgba(242,245,244,0.86);
}
.page-faq .faq-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.65rem;
  width:0.4rem;
  height:1px;
  background:var(--faq-teal);
}

.page-faq .faq-checklist li{
  position:relative;
  padding-left:1.6rem;
  font-size:0.8rem;
  line-height:1.7;
  color:rgba(242,245,244,0.86);
  border-left:2px solid rgba(57,255,20,0.25);
}
.page-faq .faq-checklist li + li{
  margin-top:var(--sp-2,0.5rem);
}
.page-faq .faq-checklist strong{
  color:var(--faq-text);
}

.page-faq .alert{
  font-size:0.76rem;
  line-height:1.7;
  padding:var(--sp-3,0.75rem) var(--sp-4,1rem);
  margin:var(--sp-4,1rem) 0;
  position:relative;
  border-left-width:3px;
  border-left-style:solid;
}
.page-faq .alert-info{
  background:rgba(255,209,102,0.07);
  border-left-color:var(--faq-amber);
  color:rgba(242,245,244,0.88);
}
.page-faq .alert-warn{
  background:rgba(139,38,53,0.14);
  border-left-color:var(--faq-wine);
  color:rgba(242,245,244,0.9);
}
.page-faq .alert-ok{
  background:rgba(46,196,182,0.08);
  border-left-color:var(--faq-teal);
  color:rgba(242,245,244,0.9);
}

.page-faq .faq-media{
  margin:var(--sp-5,1.5rem) 0;
  border:1px solid var(--faq-line);
  background:rgba(10,25,47,0.5);
}
.page-faq .faq-media img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.page-faq .faq-media figcaption{
  font-size:0.7rem;
  color:var(--faq-muted);
  padding:var(--sp-3,0.75rem) var(--sp-4,1rem);
  line-height:1.6;
  border-top:1px solid var(--faq-line);
  font-family:var(--font-note,'Noto Serif SC','Songti SC',SimSun,Georgia,serif);
  font-style:italic;
}

.page-faq .faq-media-small{
  margin:var(--sp-5,1.5rem) 0 0;
  max-width:20rem;
  border:1px solid var(--faq-line);
}
.page-faq .faq-media-small img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

.page-faq .faq-rel-links{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2,0.5rem) var(--sp-3,0.75rem);
  align-items:center;
  margin-top:var(--sp-4,1rem);
  padding-top:var(--sp-3,0.75rem);
  border-top:1px solid var(--faq-line);
  font-size:0.76rem;
}
.page-faq .faq-rel-label{
  color:var(--faq-muted);
}
.page-faq .faq-rel-links a{
  color:var(--faq-teal);
  text-decoration:none;
  border-bottom:1px dotted rgba(46,196,182,0.45);
  transition:color var(--ease,0.22s ease), border-color var(--ease,0.22s ease);
}
.page-faq .faq-rel-links a:hover,
.page-faq .faq-rel-links a:focus-visible{
  color:var(--faq-accent);
  border-bottom-color:var(--faq-accent);
  outline:none;
}

.page-faq .faq-footnote{
  background:transparent;
  border:1px dashed var(--faq-line-teal);
  padding:var(--sp-5,1.5rem);
  position:relative;
}
.page-faq .faq-footnote::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(135deg, rgba(46,196,182,0.06) 0%, transparent 50%),
    repeating-linear-gradient(-45deg, transparent 0, transparent 6px, rgba(255,255,255,0.018) 6px, rgba(255,255,255,0.018) 7px);
  pointer-events:none;
}
.page-faq .faq-footnote-mark{
  font-size:0.62rem;
  letter-spacing:0.22em;
  color:var(--faq-teal);
  text-transform:uppercase;
  margin:0 0 var(--sp-3,0.75rem);
  position:relative;
}
.page-faq .faq-footnote p{
  margin:0;
  font-size:0.8rem;
  line-height:1.8;
  color:rgba(242,245,244,0.8);
  position:relative;
}
.page-faq .faq-footnote a{
  color:var(--faq-accent);
  text-decoration:none;
  border-bottom:1px dotted rgba(255,107,53,0.5);
}
.page-faq .faq-footnote a:hover,
.page-faq .faq-footnote a:focus-visible{
  color:var(--faq-neon);
  border-bottom-color:var(--faq-neon);
  outline:none;
}

.page-faq .img-frame{
  position:relative;
  overflow:hidden;
}
.page-faq .img-blur img{
  filter:contrast(1.1) saturate(0.85);
}
.page-faq .img-grain img{
  filter:contrast(1.15) grayscale(0.25);
}
.page-faq .img-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 3px);
  pointer-events:none;
}

@media (max-width: 39.99rem){
  .page-faq .faq-item-body{
    padding-left:0;
  }
  .page-faq .faq-item-head{
    grid-template-columns:1fr;
    gap:var(--sp-2,0.5rem);
  }
  .page-faq .faq-item-num{
    width:1.7rem;
    height:1.7rem;
    font-size:0.7rem;
  }
  .page-faq .faq-hero{
    padding-left:var(--sp-4,1rem);
    padding-right:var(--sp-4,1rem);
  }
  .page-faq .faq-body{
    padding-left:var(--sp-4,1rem);
    padding-right:var(--sp-4,1rem);
  }
}

@media (min-width: 62rem){
  .page-faq .faq-hero-grid{
    grid-template-columns:1.6fr 1fr;
    gap:var(--sp-7,3rem);
  }
  .page-faq .faq-body{
    grid-template-columns:19rem 1fr;
    gap:var(--sp-6,2rem);
  }
  .page-faq .faq-index{
    position:sticky;
  }
  .page-faq h1{
    font-size:2rem;
  }
  .page-faq .faq-item{
    padding:var(--sp-6,2rem);
  }
  .page-faq .faq-item-body{
    padding-left:calc(2rem + var(--sp-3,0.75rem));
  }
}
