/* 内页长文排版：图表、速查表、FAQ */

.part-break{margin:58px 0 0;padding-top:28px;border-top:1px solid rgba(23,22,20,.28)}
/* 与 Part I 的 hero kicker 完全一致：5×16 竖线 + 2px 圆角 + 主题色 */
.part-break .kicker{
  margin-bottom:12px;
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:#4c473e;
}
.part-break .kicker::before{
  content:"";flex:0 0 auto;
  width:5px;height:16px;border-radius:2px;background:var(--accent);
}
.body h2.part-title{
  display:block;margin:0 0 14px;
  font-family:var(--serif);font-size:clamp(26px,3.6vw,34px);
  font-weight:500;line-height:1.15;letter-spacing:-.015em;
  text-transform:none;color:var(--ink);
}

/* ---------- on-page contents ---------- */
.toc{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;
  margin:4px var(--pad) 6px;padding:13px 0;
  border-top:1px solid rgba(23,22,20,.16);
  border-bottom:1px solid rgba(23,22,20,.16);
}
.toc-label{
  flex:0 0 auto;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:#6b6559;
}
.toc-group{display:flex;align-items:center;gap:14px;min-width:0}
.toc-group + .toc-group{padding-left:20px;border-left:1px solid rgba(23,22,20,.2)}
.toc-part{
  flex:0 0 auto;font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);opacity:.75;
}
.toc a{
  font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;
  color:#2f2c27;text-decoration:none;white-space:nowrap;
  padding-bottom:2px;border-bottom:1px solid transparent;
  transition:color .18s,border-color .18s;
}
.toc a:hover,.toc a:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}
.toc a:focus-visible{outline:none}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

@media (max-width:760px){
  .toc{
    flex-wrap:nowrap;overflow-x:auto;gap:14px;
    scrollbar-width:none;-ms-overflow-style:none;padding:11px 0;
  }
  .toc::-webkit-scrollbar{display:none}
  .toc-group{flex-wrap:nowrap}
  .toc-group + .toc-group{padding-left:14px}
}

/* ---------- reading list ---------- */
.reading{margin:4px 0 0;padding:0;list-style:none}
.reading li{padding:14px 0;border-top:1px solid rgba(23,22,20,.14)}
.reading li:last-child{padding-bottom:0}
.reading .rk{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.reading strong{font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.2}
.reading .by{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
  text-transform:uppercase;color:#6b6559;
}
.reading p{margin:4px 0 0;font-size:14px;line-height:1.65;color:#4c473e}

/* ---------- figures ---------- */
.figure{margin:20px 0 10px}
.figure svg{display:block;width:100%;height:auto}
.figure figcaption{
  margin-top:8px;max-width:640px;
  font-family:var(--mono);font-size:10px;line-height:1.8;
  letter-spacing:.04em;color:#6b6559;
}

.table-wrap{margin:18px 0 4px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{
  border-collapse:collapse;width:100%;min-width:620px;
  font-size:13px;line-height:1.55;
}
.table-wrap th{
  padding:9px 12px;text-align:left;vertical-align:bottom;
  border-bottom:1px solid rgba(23,22,20,.35);
  font-family:var(--mono);font-size:9px;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;color:#4c473e;
}
.table-wrap td{
  padding:10px 12px;vertical-align:top;
  border-bottom:1px solid rgba(23,22,20,.13);color:#2f2c27;
}
.table-wrap tbody tr:last-child td{border-bottom:0}
.table-wrap td:first-child{
  font-family:var(--serif);font-size:15px;white-space:nowrap;color:var(--ink);
}

.body .faq-q{
  margin:22px 0 6px;font-family:var(--serif);font-size:19px;
  font-weight:500;line-height:1.25;color:var(--ink);
}
.body .faq-q + p{margin-bottom:2px}

@media (max-width:760px){
  .figure{margin:16px 0 8px}
  .figure figcaption{font-size:9.5px}
  .table-wrap table{min-width:560px;font-size:12px}
  .table-wrap th,.table-wrap td{padding:8px 10px}
  .body .faq-q{font-size:17.5px;margin-top:18px}
}
