.page-faq{
  --faq-index-w:236px;
  --faq-num-font:var(--font-num);
  background:var(--paper);
  color:var(--stone);
}

/* ---------- 首屏 ---------- */
.page-faq .breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--muted);
  padding-block:20px 0;
}
.page-faq .breadcrumbs a{
  color:var(--cyan-dark);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.page-faq .breadcrumbs a:hover{
  color:var(--red);
  border-bottom-color:var(--red);
}

.page-faq .faq-hero{
  position:relative;
  padding-block:20px clamp(26px,3.4vw,44px);
  border-top:1px solid var(--line);
  margin-top:14px;
}
.page-faq .faq-hero .idx{
  display:block;
  margin-bottom:12px;
}
.page-faq .faq-hero h1{
  font-size:clamp(28px,5vw,54px);
  line-height:1.16;
  letter-spacing:-.02em;
  font-weight:600;
  color:var(--navy);
  margin:0 0 20px;
  max-width:14em;
}
.page-faq .faq-lede{
  font-size:clamp(16px,1.4vw,18px);
  line-height:1.8;
  max-width:36em;
  color:var(--stone);
  margin:0;
}
.page-faq .faq-meta{
  list-style:none;
  margin:26px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.page-faq .faq-meta li{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  line-height:1.4;
  padding:7px 12px;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--stone);
  transition:border-color .2s var(--ease),background-color .2s var(--ease);
}
.page-faq .faq-meta li:hover{
  border-color:var(--navy);
  background:var(--paper-dark);
}
.page-faq .faq-hero::after{
  content:"";
  display:block;
  height:8px;
  margin-top:28px;
  background:repeating-conic-gradient(var(--red) 0 25%,var(--white) 0 50%) 0 0 / 16px 16px;
  opacity:.85;
}

/* ---------- 主体骨架 ---------- */
.page-faq .tutorial-shell{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
  padding-block:clamp(26px,3.4vw,48px) clamp(52px,7vw,96px);
}

/* ---------- 左侧问题索引 ---------- */
.page-faq .q-index{
  border-top:2px solid var(--navy);
  padding-top:16px;
}
.page-faq .q-index .idx{
  display:block;
  margin-bottom:14px;
  color:var(--navy);
}
.page-faq .q-list{
  list-style:none;
  margin:0;
  padding:0;
}
.page-faq .q-list li + li{
  margin-top:2px;
}
.page-faq .q-list a{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:11px 12px;
  border-left:2px solid var(--line);
  font-size:14px;
  line-height:1.5;
  color:var(--stone);
  text-decoration:none;
  transition:background-color .24s var(--ease),color .24s var(--ease),
             border-color .24s var(--ease),transform .24s var(--ease);
}
.page-faq .q-list a:hover,
.page-faq .q-list a:focus-visible{
  background:var(--red);
  color:var(--white);
  border-left-color:var(--cyan);
  transform:translateX(4px);
  outline:none;
}
.page-faq .q-code{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--muted);
  flex:0 0 auto;
}
.page-faq .q-list a:hover .q-code,
.page-faq .q-list a:focus-visible .q-code{
  color:var(--cyan);
}
.page-faq .q-foot{
  margin:18px 0 0;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:13px;
  line-height:1.7;
  color:var(--muted);
  max-width:26em;
}

/* ---------- 右侧答案流 ---------- */
.page-faq .qa-stream{
  min-width:0;
}
.page-faq .qa-block{
  padding-block:clamp(26px,3.2vw,44px);
  border-top:1px solid var(--line);
}
.page-faq .qa-block:first-child{
  border-top:2px solid var(--navy);
  padding-top:clamp(22px,2.6vw,34px);
}
.page-faq .qa-block .idx{
  display:block;
  margin-bottom:10px;
  color:var(--red);
}
.page-faq .qa-block h2{
  font-size:clamp(21px,2.5vw,32px);
  line-height:1.35;
  letter-spacing:-.01em;
  font-weight:600;
  color:var(--navy);
  margin:0 0 16px;
  max-width:24em;
}
.page-faq .qa-text{
  font-size:17px;
  line-height:1.8;
  max-width:36em;
  color:var(--stone);
  margin:0;
}
.page-faq .qa-text a{
  color:var(--cyan-dark);
  text-decoration:none;
  border-bottom:1px solid var(--line);
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.page-faq .qa-text a:hover{
  color:var(--red);
  border-bottom-color:var(--red);
}

/* ---------- 步骤列表 ---------- */
.page-faq .step-list{
  list-style:none;
  margin:26px 0 0;
  padding:0;
  display:grid;
  gap:22px;
}
.page-faq .step-list--tight{
  margin-top:22px;
  gap:16px;
}
.page-faq .step{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.page-faq .step-num{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid var(--red);
  background:var(--white);
  font-family:var(--faq-num-font);
  font-size:20px;
  line-height:1;
  letter-spacing:.04em;
  color:var(--red);
  text-decoration:none;
  transition:background-color .22s var(--ease),color .22s var(--ease),
             border-color .22s var(--ease);
}
.page-faq .step-num:hover,
.page-faq .step-num:focus-visible{
  background:var(--red);
  border-color:var(--red-dark);
  color:var(--white);
  outline:none;
}
.page-faq .step-body h3{
  font-size:17px;
  line-height:1.5;
  font-weight:600;
  color:var(--navy);
  margin:6px 0 8px;
}
.page-faq .step-body p{
  font-size:16px;
  line-height:1.78;
  color:var(--stone);
  margin:0;
  max-width:34em;
}
.page-faq .step-body a{
  color:var(--cyan-dark);
  text-decoration:none;
  border-bottom:1px solid var(--line);
}
.page-faq .step-body a:hover{
  color:var(--red);
  border-bottom-color:var(--red);
}

/* ---------- 图形容器 ---------- */
.page-faq .media-frame{
  margin:30px 0 0;
  aspect-ratio:auto;
  border:1px solid var(--line);
  background:var(--white);
  overflow:hidden;
}
.page-faq .media-frame img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

/* ---------- 来源行 ---------- */
.page-faq .source-line{
  display:block;
  margin-top:18px;
  text-align:right;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--muted);
}

/* ---------- 平板分栏示意 ---------- */
.page-faq .split-note{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:26px;
}
.page-faq .split-col{
  border:1px solid var(--line);
  background:var(--white);
  padding:18px;
}
.page-faq .split-col--b{
  border-color:var(--navy);
  background:var(--navy);
  color:var(--white);
}
.page-faq .split-col .idx{
  display:block;
  margin-bottom:10px;
  color:var(--muted);
}
.page-faq .split-col--b .idx--cyan{
  color:var(--cyan);
}
.page-faq .split-title{
  font-size:16px;
  font-weight:600;
  line-height:1.5;
  margin:0 0 8px;
  color:var(--navy);
}
.page-faq .split-col--b .split-title{
  color:var(--white);
}
.page-faq .split-desc{
  font-size:14px;
  line-height:1.7;
  margin:0;
  color:var(--stone);
}
.page-faq .split-col--b .split-desc{
  color:var(--paper-dark);
}

/* ---------- 口径表格 ---------- */
.page-faq .table-scroll{
  margin-top:24px;
  overflow-x:auto;
}
.page-faq .caliber-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  font-size:15px;
  background:var(--white);
}
.page-faq .caliber-table th{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  font-weight:400;
  text-align:left;
  padding:12px 14px;
  border-bottom:2px solid var(--navy);
  color:var(--navy);
  white-space:nowrap;
}
.page-faq .caliber-table td{
  padding:14px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  line-height:1.7;
  color:var(--stone);
  transition:background-color .2s var(--ease),color .2s var(--ease);
}
.page-faq .caliber-table tbody tr:nth-child(even) td{
  background:var(--paper-dark);
}
.page-faq .caliber-table tbody tr:hover td{
  background:var(--navy);
  color:var(--white);
}
.page-faq .caliber-table .cal-name{
  font-weight:600;
  color:var(--navy);
  white-space:nowrap;
}
.page-faq .caliber-table tbody tr:hover .cal-name{
  color:var(--cyan);
}

/* ---------- 问答小格 ---------- */
.page-faq .qa-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin-top:24px;
}
.page-faq .qa-cell{
  border:1px solid var(--line);
  border-top:3px solid var(--navy);
  background:var(--white);
  padding:20px;
  transition:border-top-color .24s var(--ease),background-color .24s var(--ease);
}
.page-faq .qa-cell:hover{
  border-top-color:var(--red);
  background:var(--paper-dark);
}
.page-faq .qa-cell h3{
  font-size:16px;
  font-weight:600;
  line-height:1.5;
  color:var(--navy);
  margin:0 0 10px;
}
.page-faq .qa-cell p{
  font-size:15px;
  line-height:1.78;
  margin:0;
  color:var(--stone);
  max-width:34em;
}
.page-faq .qa-cell a{
  color:var(--cyan-dark);
  text-decoration:none;
  border-bottom:1px solid var(--line);
}
.page-faq .qa-cell a:hover{
  color:var(--red);
  border-bottom-color:var(--red);
}

/* ---------- 纠错入口 ---------- */
.page-faq .qa-block--last{
  border-bottom:1px solid var(--line);
}
.page-faq .fix-callout{
  margin-top:24px;
  border:1px solid var(--line);
  border-left:3px solid var(--red);
  background:var(--white);
  padding:clamp(20px,2.6vw,30px);
}
.page-faq .fix-callout .idx{
  display:block;
  margin-bottom:14px;
  color:var(--navy);
}
.page-faq .fix-list{
  display:grid;
  grid-template-columns:1fr;
  gap:2px 16px;
  margin:0;
  padding:0;
}
.page-faq .fix-list dt{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--muted);
  padding-top:10px;
}
.page-faq .fix-list dd{
  margin:0;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
  font-size:16px;
  line-height:1.6;
  color:var(--stone);
  word-break:break-word;
}
.page-faq .fix-note{
  margin:18px 0 0;
  font-size:14px;
  line-height:1.75;
  color:var(--muted);
  max-width:40em;
}
.page-faq .fix-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:22px 0 0;
}

/* ---------- 窄屏修正 ---------- */
@media (max-width:719px){
  .page-faq .caliber-table{
    font-size:14px;
    min-width:520px;
  }
  .page-faq .caliber-table th{
    font-size:11px;
    letter-spacing:.04em;
    padding:10px 10px;
  }
  .page-faq .caliber-table td{
    padding:12px 10px;
    line-height:1.65;
  }
  .page-faq .step{
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
  }
  .page-faq .step-num{
    width:38px;
    height:38px;
    font-size:17px;
  }
  .page-faq .source-line{
    text-align:left;
  }
}

/* ---------- 平板 / 桌面 ---------- */
@media (min-width:720px){
  .page-faq .split-note{
    grid-template-columns:1fr 1fr;
  }
  .page-faq .qa-grid{
    grid-template-columns:1fr 1fr;
  }
  .page-faq .qa-cell:last-child{
    grid-column:1 / -1;
  }
  .page-faq .fix-list{
    grid-template-columns:auto minmax(0,1fr);
    align-items:baseline;
  }
  .page-faq .fix-list dt{
    padding:10px 0;
    border-bottom:1px solid var(--line);
  }
  .page-faq .fix-list dd{
    padding:10px 0;
  }
}

@media (min-width:960px){
  .page-faq .tutorial-shell{
    grid-template-columns:var(--faq-index-w) minmax(0,1fr);
    gap:0;
    align-items:start;
  }
  .page-faq .q-index{
    position:sticky;
    top:calc(var(--bar-h) + 24px);
    border-right:1px solid var(--line);
    padding-right:24px;
  }
  .page-faq .qa-stream{
    padding-left:clamp(28px,3.4vw,56px);
  }
  .page-faq .qa-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .page-faq .qa-cell:last-child{
    grid-column:auto;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-faq .q-list a,
  .page-faq .step-num,
  .page-faq .qa-cell,
  .page-faq .faq-meta li,
  .page-faq .caliber-table td{
    transition:none;
  }
  .page-faq .q-list a:hover,
  .page-faq .q-list a:focus-visible{
    transform:none;
  }
}
<<<END>>>
