.page-faq{
  --faq-login:#1E90FF;
  --faq-load:#8FBBFF;
  --faq-sync:#00C48C;
  --faq-save:#FF6B2C;
  --faq-stand:#FF6B2C;
  background:var(--c-black);
  color:var(--c-cloud);
}

/* ---------- 首屏 ---------- */
.page-faq .faq-hero{
  position:relative;
  overflow:hidden;
  padding:calc(var(--header-h) + 22px) 0 14px;
  background:
    radial-gradient(120% 88% at 84% -6%, rgba(30,144,255,.24), transparent 58%),
    linear-gradient(180deg, var(--c-night), var(--c-black) 82%);
}
.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:2px;
  background:linear-gradient(90deg, var(--faq-login), var(--faq-sync) 56%, var(--faq-save));
  opacity:.8;
}
.page-faq .faq-hero__grid{
  display:grid;
  gap:28px;
  align-items:center;
  margin-top:20px;
}
.page-faq .faq-h1{
  margin:0;
  font-size:clamp(1.85rem, 5.4vw, 3.1rem);
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:800;
  color:var(--c-white);
  max-width:16em;
}
.page-faq .faq-hero__text .lede{
  margin:16px 0 0;
  max-width:34em;
  font-size:1rem;
  line-height:1.78;
  color:var(--ink-soft);
}
.page-faq .faq-hero__stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px 18px;
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.page-faq .faq-stat{min-width:0;}
.page-faq .faq-stat__num{
  display:block;
  font-family:var(--font-mono);
  font-size:1.1rem;
  font-weight:600;
  letter-spacing:-.01em;
  color:var(--c-white);
}
.page-faq .faq-stat__label{
  display:block;
  margin-top:4px;
  font-size:.7rem;
  letter-spacing:.12em;
  color:var(--ink-soft);
}
.page-faq .faq-hero__media{margin:0;}
.page-faq .faq-hero__media img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  border-radius:var(--radius-lg);
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow-lift);
}

/* ---------- 工作台外壳 ---------- */
.page-faq .faq-shell{
  display:grid;
  gap:26px;
  padding-top:30px;
  padding-bottom:40px;
}
.page-faq .faq-rail{display:none;}
.page-faq .faq-rail__title{
  margin:0 0 12px;
  font-size:.68rem;
  letter-spacing:.18em;
  color:var(--ink-soft);
}
.page-faq .faq-rail__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:4px;
}
.page-faq .faq-rail__link{
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  border-radius:var(--radius-pill);
  border:1px solid transparent;
  font-size:.9rem;
  color:var(--ink-soft);
  text-decoration:none;
  transition:color .18s ease, background .18s ease, border-color .18s ease;
}
.page-faq .faq-rail__link:hover,
.page-faq .faq-rail__link:focus-visible{
  color:var(--c-white);
  background:rgba(30,144,255,.12);
  border-color:var(--line);
  outline:none;
}
.page-faq .faq-rail__link[data-current]{
  color:var(--c-white);
  background:rgba(30,144,255,.16);
  border-color:var(--line-strong);
}
.page-faq .faq-rail__dot{
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--dot, var(--c-sky));
  box-shadow:0 0 10px var(--dot, var(--c-sky));
}
.page-faq .faq-rail__dot--login{--dot:var(--faq-login);}
.page-faq .faq-rail__dot--load{--dot:var(--faq-load);}
.page-faq .faq-rail__dot--sync{--dot:var(--faq-sync);}
.page-faq .faq-rail__dot--save{--dot:var(--faq-save);}
.page-faq .faq-rail__dot--stand{--dot:var(--faq-stand);}

.page-faq .faq-body{
  display:grid;
  min-width:0;
}

/* ---------- 章节 ---------- */
.page-faq .faq-section{
  padding:34px 0 40px;
  border-top:1px solid var(--line);
  scroll-margin-top:calc(var(--header-h) + 20px);
}
.page-faq .faq-section:first-child{
  border-top:0;
  padding-top:6px;
}
.page-faq .faq-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:10px;
}
.page-faq .faq-head__no{
  font-family:var(--font-mono);
  font-size:1.5rem;
  font-weight:300;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--faq-login);
}
.page-faq .faq-head__label{
  font-size:.68rem;
  letter-spacing:.18em;
  color:var(--ink-soft);
}
.page-faq .faq-h2{
  margin:0;
  max-width:22em;
  font-size:clamp(1.35rem, 3.6vw, 2rem);
  line-height:1.26;
  letter-spacing:-.02em;
  font-weight:700;
  color:var(--c-white);
}
.page-faq .faq-section .lede{
  margin:12px 0 0;
  max-width:40em;
  font-size:.97rem;
  line-height:1.78;
  color:var(--ink-soft);
}

/* ---------- 四类索引 ---------- */
.page-faq .faq-cats{
  display:grid;
  gap:12px;
  margin-top:24px;
}
.page-faq .faq-cat{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px 18px 16px 20px;
  overflow:hidden;
  border-radius:var(--radius-md);
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(14,27,51,.96), rgba(11,15,26,.96));
  text-decoration:none;
  transition:transform .2s ease, border-color .2s ease;
}
.page-faq .faq-cat::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:var(--dot, var(--c-sky));
  opacity:.9;
}
.page-faq .faq-cat:hover{
  transform:translateY(-2px);
  border-color:var(--line-strong);
}
.page-faq .faq-cat:focus-visible{
  outline:2px solid var(--c-sky);
  outline-offset:3px;
}
.page-faq .faq-cat--login{--dot:var(--faq-login);}
.page-faq .faq-cat--load{--dot:var(--faq-load);}
.page-faq .faq-cat--sync{--dot:var(--faq-sync);}
.page-faq .faq-cat--save{--dot:var(--faq-save);}
.page-faq .faq-cat__top{
  display:flex;
  align-items:center;
  gap:9px;
}
.page-faq .faq-cat__dot{
  flex:0 0 auto;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--dot, var(--c-sky));
  box-shadow:0 0 12px var(--dot, var(--c-sky));
}
.page-faq .faq-cat__name{
  font-size:1rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--c-white);
}
.page-faq .faq-cat__desc{
  font-size:.88rem;
  line-height:1.66;
  color:var(--ink-soft);
}
.page-faq .faq-cat__go{
  margin-top:auto;
  padding-top:6px;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--dot, var(--c-sky));
}

/* ---------- 分组与手风琴 ---------- */
.page-faq .faq-group{
  margin-top:30px;
  scroll-margin-top:calc(var(--header-h) + 20px);
}
.page-faq .faq-group__title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  font-size:.98rem;
  font-weight:700;
  color:var(--c-white);
}
.page-faq .faq-group__title::before{
  content:"";
  flex:0 0 auto;
  width:24px;
  height:3px;
  border-radius:3px;
  background:var(--c-sky);
}
.page-faq .accordion{
  border-top:1px solid var(--line);
}
.page-faq .accordion__item{
  border-bottom:1px solid var(--line);
}
.page-faq .accordion__title{
  display:block;
  position:relative;
  padding:15px 40px 15px 0;
  list-style:none;
  cursor:pointer;
  font-size:.96rem;
  font-weight:600;
  line-height:1.55;
  color:var(--c-white);
  transition:color .18s ease;
}
.page-faq .accordion__title::-webkit-details-marker{display:none;}
.page-faq .accordion__title::after{
  content:"+";
  position:absolute;
  right:6px;
  top:12px;
  font-family:var(--font-mono);
  font-size:1.15rem;
  line-height:1.2;
  color:var(--faq-login);
  transition:color .18s ease;
}
.page-faq .accordion__item[open] .accordion__title::after{
  content:"−";
  color:var(--faq-stand);
}
.page-faq .accordion__title:hover{color:var(--c-sky-soft);}
.page-faq .accordion__title:focus-visible{
  outline:2px solid var(--c-sky);
  outline-offset:4px;
  border-radius:4px;
}
.page-faq .accordion__body{
  padding:0 6px 18px 0;
  font-size:.93rem;
  line-height:1.78;
  color:var(--ink-soft);
}
.page-faq .accordion__body p{margin:0 0 8px;}
.page-faq .accordion__body p:last-child{margin-bottom:0;}
.page-faq .faq-steps{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:7px;
}
.page-faq .faq-steps li{line-height:1.72;}
.page-faq .faq-steps li::marker{
  font-family:var(--font-mono);
  font-size:.85em;
  color:var(--c-sky-soft);
}
.page-faq .faq-note{
  margin-top:14px;
  padding:11px 14px;
  border-left:2px solid var(--c-timer);
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  background:rgba(0,196,140,.09);
  font-size:.87rem;
  line-height:1.68;
  color:var(--ink-soft);
}
.page-faq .faq-inline-link{
  display:inline-block;
  margin-top:18px;
  padding-bottom:2px;
  font-size:.9rem;
  color:var(--c-sky);
  text-decoration:none;
  border-bottom:1px solid rgba(30,144,255,.45);
}
.page-faq .faq-inline-link:hover,
.page-faq .faq-inline-link:focus-visible{
  color:var(--c-stand);
  border-color:var(--c-stand);
  outline:none;
}

/* ---------- 反馈清单 ---------- */
.page-faq .faq-checklist{
  list-style:none;
  margin:22px 0 0;
  padding:0;
  display:grid;
  gap:11px;
}
.page-faq .faq-checklist li{
  position:relative;
  padding-left:30px;
  font-size:.94rem;
  line-height:1.66;
  color:var(--ink-soft);
}
.page-faq .faq-checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:16px;
  height:16px;
  border-radius:5px;
  border:1px solid var(--line-strong);
  background:rgba(30,144,255,.14);
}
.page-faq .faq-checklist li::after{
  content:"";
  position:absolute;
  left:5px;
  top:8px;
  width:6px;
  height:3px;
  border-left:1.6px solid var(--c-timer);
  border-bottom:1.6px solid var(--c-timer);
  transform:rotate(-45deg);
}
.page-faq .faq-figure{margin:26px 0 0;}
.page-faq .faq-figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
}
.page-faq .faq-figure figcaption{
  margin-top:10px;
  font-size:.8rem;
  letter-spacing:.02em;
  color:var(--ink-soft);
}

/* ---------- 联系面板 ---------- */
.page-faq .faq-contact-card{
  margin-top:26px;
  padding:22px;
  border-radius:var(--radius-lg);
  border:1px solid var(--line-strong);
  background:
    linear-gradient(150deg, rgba(30,144,255,.16), rgba(11,15,26,0) 62%),
    var(--c-steel);
}
.page-faq .faq-contact-card__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
}
.page-faq .faq-contact-card__list li{
  display:grid;
  gap:3px;
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.page-faq .faq-contact-card__list li:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.page-faq .faq-contact-card__key{
  font-size:.7rem;
  letter-spacing:.12em;
  color:var(--c-sky-soft);
}
.page-faq .faq-contact-card__val{
  font-size:.94rem;
  line-height:1.6;
  color:var(--c-white);
  word-break:break-word;
}
.page-faq .faq-contact-card__hint{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px dashed var(--line);
  font-size:.85rem;
  line-height:1.68;
  color:var(--ink-soft);
}
.page-faq .faq-next{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

/* ---------- 响应式 ---------- */
@media (min-width:620px){
  .page-faq .faq-hero__stats{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }
  .page-faq .faq-contact-card__list li{
    grid-template-columns:100px minmax(0,1fr);
    gap:14px;
    align-items:baseline;
  }
}

@media (min-width:700px){
  .page-faq .faq-cats{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (min-width:960px){
  .page-faq .faq-hero__grid{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:46px;
  }
}

@media (min-width:1020px){
  .page-faq .faq-shell{
    grid-template-columns:248px minmax(0,1fr);
    gap:56px;
    align-items:start;
    padding-top:40px;
  }
  .page-faq .faq-rail{
    display:block;
    align-self:start;
    position:sticky;
    top:calc(var(--header-h) + 26px);
  }
  .page-faq .faq-section{
    padding:44px 0 50px;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-faq .faq-cat,
  .page-faq .faq-rail__link,
  .page-faq .accordion__title{
    transition:none;
  }
  .page-faq .faq-cat:hover{
    transform:none;
  }
}
