.page-faq{
  --faq-gap:clamp(20px,3vw,36px);
  --faq-rule:2px solid var(--line);
  padding-bottom:clamp(48px,8vw,96px);
}
.page-faq img{max-width:100%;height:auto;display:block}
.page-faq .section{padding-block:clamp(34px,6vw,68px)}
.page-faq .lede{max-width:60ch;color:var(--text);line-height:1.75;margin:0}

/* 面包屑 */
.page-faq .faq-crumbs{padding-top:clamp(14px,3vw,26px)}
.page-faq .crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--mute)}
.page-faq .crumbs__link{color:var(--soft);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.page-faq .crumbs__link:hover,.page-faq .crumbs__link:focus-visible{color:var(--pulse);border-bottom-color:var(--pulse)}
.page-faq .crumbs__link[aria-current="page"]{color:var(--mute);pointer-events:none;border-bottom-color:transparent}
.page-faq .crumbs__sep{color:var(--line)}

/* 首屏 */
.page-faq .faq-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--faq-gap);
  padding-top:clamp(20px,4vw,40px);
  align-items:start;
}
.page-faq .faq-hero__kicker{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--soft);margin:0 0 14px;
}
.page-faq .faq-hero h1{
  font-family:var(--font-display);
  font-size:clamp(32px,6vw,56px);
  line-height:1.05;
  letter-spacing:-.01em;
  margin:0 0 16px;
  color:var(--paper);
}
.page-faq .faq-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.page-faq .faq-hero__facts{
  list-style:none;display:flex;flex-wrap:wrap;gap:clamp(14px,3vw,28px);
  margin:26px 0 0;padding:18px 0 0;border-top:var(--faq-rule);
}
.page-faq .faq-fact{display:flex;flex-direction:column;gap:2px;min-width:84px}
.page-faq .faq-fact__num{
  font-family:var(--font-mono);font-weight:700;
  font-size:clamp(24px,3.6vw,32px);line-height:1;color:var(--amber);
}
.page-faq .faq-fact__label{font-size:13px;color:var(--mute);letter-spacing:.04em}
.page-faq .faq-hero__media{
  aspect-ratio:14/10;
  overflow:hidden;
  border:var(--faq-rule);
  box-shadow:var(--hard);
  background:var(--pitch);
  margin:0;
}
.page-faq .faq-hero__media img{width:100%;height:100%;object-fit:cover}

/* 章节头 */
.page-faq .faq-head{
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:10px;margin-bottom:clamp(20px,3vw,34px);
}
.page-faq .faq-head .section__tag{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;
  color:var(--pulse);writing-mode:horizontal-tb;margin:0;
}
.page-faq .faq-head .section__title{
  font-family:var(--font-display);
  font-size:clamp(24px,3.4vw,38px);
  line-height:1.12;margin:0;color:var(--paper);
}

/* 三步路径 */
.page-faq .faq-steps__list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:clamp(14px,2.4vw,22px);
}
.page-faq .faq-step{
  position:relative;
  background:var(--pitch);
  border:var(--faq-rule);
  box-shadow:var(--hard);
  padding:clamp(18px,2.6vw,28px);
}
.page-faq .faq-step__num{
  display:block;
  font-family:var(--font-mono);font-weight:700;
  font-size:clamp(34px,5.4vw,54px);line-height:1;
  color:var(--pulse);margin-bottom:12px;
  letter-spacing:-.02em;
}
.page-faq .faq-step__title{
  font-family:var(--font-display);font-size:clamp(19px,2.4vw,23px);
  line-height:1.25;margin:0 0 8px;color:var(--paper);
}
.page-faq .faq-step__text{margin:0;color:var(--text);line-height:1.75;font-size:16px}
.page-faq .faq-step::after{
  display:none;
  content:"";
  position:absolute;top:50%;right:calc(-1 * clamp(14px,2.4vw,22px));
  width:0;height:0;transform:translateY(-50%);
  border-top:9px solid transparent;
  border-bottom:9px solid transparent;
  border-left:10px solid var(--pulse);
}

/* 赛前十分钟清单 */
.page-faq .faq-minutes__grid{
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:var(--faq-gap);align-items:start;
}
.page-faq .faq-minutes__media{
  aspect-ratio:1/1;overflow:hidden;margin:0;
  border:var(--faq-rule);box-shadow:var(--hard);background:var(--pitch);
}
.page-faq .faq-minutes__media img{width:100%;height:100%;object-fit:cover}
.page-faq .faq-checklist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.page-faq .faq-checklist__item{
  position:relative;
  border:var(--faq-rule);
  background:var(--ink);
  transition:border-color .22s var(--ease),background-color .22s var(--ease),box-shadow .22s var(--ease);
}
.page-faq .faq-check{
  position:absolute;top:20px;left:18px;
  width:20px;height:20px;margin:0;
  accent-color:var(--pulse);cursor:pointer;
}
.page-faq .faq-checklist__label{
  display:grid;grid-template-columns:34px minmax(0,1fr);
  gap:12px;align-items:start;
  padding:16px 18px 16px 14px;
  cursor:pointer;
}
.page-faq .faq-checklist__label::before{
  content:"";width:20px;height:20px;
}
.page-faq .faq-checklist__no{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;
  color:var(--mute);padding-top:3px;
}
.page-faq .faq-checklist__text{color:var(--text);line-height:1.72;font-size:16px}
.page-faq .faq-checklist__text strong{color:var(--paper);font-weight:600}
.page-faq .faq-checklist__item:hover{border-color:var(--soft)}
.page-faq .faq-checklist__item:has(.faq-check:checked){
  border-color:var(--pulse);
  box-shadow:var(--hard-sm);
  background:var(--pitch);
}
.page-faq .faq-checklist__item:has(.faq-check:checked) .faq-checklist__no{color:var(--amber)}
.page-faq .faq-checklist__item:has(.faq-check:checked) .faq-checklist__text{color:var(--soft)}
.page-faq .faq-check:focus-visible{outline:3px solid var(--pulse);outline-offset:3px}

/* 联赛导航说明 */
.page-faq .faq-league__grid{
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:clamp(14px,2.4vw,22px);
}
.page-faq .faq-league__card{
  border:var(--faq-rule);border-left:6px solid var(--amber);
  background:var(--pitch);
  padding:clamp(18px,2.4vw,26px);
}
.page-faq .faq-league__title{
  font-family:var(--font-display);font-size:clamp(18px,2.2vw,22px);
  line-height:1.3;margin:0 0 10px;color:var(--paper);
}
.page-faq .faq-league__card p{margin:0;color:var(--text);line-height:1.78;font-size:16px}

/* 术语速查 */
.page-faq .faq-glossary{
  list-style:none;margin:0;padding:0;
  border-top:var(--faq-rule);
}
.page-faq .faq-glossary__row{
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:6px;
  padding:16px 12px 16px 4px;
  border-bottom:var(--faq-rule);
  transition:background-color .2s var(--ease),box-shadow .2s var(--ease);
}
.page-faq .faq-glossary__term{
  font-family:var(--font-mono);font-weight:700;font-size:17px;
  letter-spacing:.02em;color:var(--soft);
}
.page-faq .faq-glossary__desc{color:var(--text);line-height:1.78;font-size:16px}
.page-faq .faq-glossary__row:hover,
.page-faq .faq-glossary__row:focus-within{
  background:var(--pitch);
  box-shadow:inset 6px 0 0 var(--pulse);
}
.page-faq .faq-glossary__row:hover .faq-glossary__term{color:var(--pulse)}

/* 分组索引折叠 */
.page-faq .faq-acc-list{display:grid;gap:10px}
.page-faq .faq-acc{
  border:var(--faq-rule);
  background:var(--pitch);
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease);
}
.page-faq .faq-acc[open]{border-color:var(--pulse);box-shadow:var(--hard-sm)}
.page-faq .faq-acc__head{
  display:flex;align-items:center;gap:14px;
  padding:15px 18px;
  cursor:pointer;list-style:none;
  font-family:var(--font-display);font-size:clamp(17px,2vw,20px);
  color:var(--paper);
}
.page-faq .faq-acc__head::-webkit-details-marker{display:none}
.page-faq .faq-acc__head::after{
  content:"+";
  margin-left:auto;
  font-family:var(--font-mono);font-size:20px;line-height:1;
  color:var(--pulse);
}
.page-faq .faq-acc[open] .faq-acc__head::after{content:"−";color:var(--amber)}
.page-faq .faq-acc__head:focus-visible{outline:3px solid var(--pulse);outline-offset:-3px}
.page-faq .faq-acc__no{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;
  color:var(--mute);
}
.page-faq .faq-acc[open] .faq-acc__no{color:var(--amber)}
.page-faq .faq-acc__label{min-width:0}
.page-faq .faq-acc__items{
  list-style:none;margin:0;
  padding:4px 18px 18px;
  border-top:1px dashed var(--line);
  display:grid;gap:9px;
}
.page-faq .faq-acc__items li{
  position:relative;
  padding-left:20px;
  color:var(--text);line-height:1.7;font-size:15.5px;
}
.page-faq .faq-acc__items li::before{
  content:"";
  position:absolute;left:4px;top:.68em;
  width:6px;height:6px;background:var(--line);
}

/* 联系收口 */
.page-faq .faq-help__card{
  border:var(--faq-rule);
  box-shadow:var(--hard);
  padding:clamp(20px,3.4vw,38px);
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:18px;
  color:var(--ink);
}
.page-faq .faq-help__title{
  font-family:var(--font-display);font-size:clamp(22px,3vw,30px);
  line-height:1.2;margin:0 0 10px;color:var(--ink);
}
.page-faq .faq-help__text{margin:0;color:#28433b;line-height:1.78;font-size:16px;max-width:62ch}
.page-faq .faq-help__list{
  list-style:none;margin:18px 0 0;padding:16px 0 0;
  border-top:2px solid rgba(11,33,28,.18);
  display:grid;gap:8px;
}
.page-faq .faq-help__list li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:baseline}
.page-faq .faq-help__label{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:#5a6f68;
}
.page-faq .faq-help__value{color:var(--ink);font-weight:500;word-break:break-word}
.page-faq .faq-help__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.page-faq .faq-help__card .btn--pulse{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:var(--hard-sm)}
.page-faq .faq-help__card .btn--ghost{color:var(--ink);border-color:var(--ink);background:transparent}

@media (min-width:640px){
  .page-faq .faq-hero__media{aspect-ratio:14/8}
  .page-faq .faq-glossary__row{padding-block:18px}
  .page-faq .faq-minutes__media{aspect-ratio:4/3}
}

@media (min-width:860px){
  .page-faq .faq-steps__list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-faq .faq-step::after{display:block}
  .page-faq .faq-league__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-faq .faq-glossary__row{
    grid-template-columns:minmax(0,4fr) minmax(0,7fr);
    gap:0;padding:18px 16px 18px 4px;
  }
  .page-faq .faq-glossary__term{font-size:18px;padding-right:20px}
  .page-faq .faq-glossary__desc{
    border-left:var(--faq-rule);
    padding-left:24px;
  }
}

@media (min-width:900px){
  .page-faq .faq-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .page-faq .faq-minutes__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .page-faq .faq-help__card{grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .page-faq .faq-help__actions{justify-content:flex-end}
}

@media (min-width:1100px){
  .page-faq .faq-hero{padding-top:clamp(28px,3.4vw,48px)}
  .page-faq .faq-checklist__label{padding:18px 22px 18px 16px}
}

@media (prefers-reduced-motion:reduce){
  .page-faq *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
</main>
