/* ==========================================================================
   VPNQF · deepdoc.css
   故障排查长文档页专属:文档列节奏、章节分隔、步骤序号、勾选清单。
   只补 components.css 未覆盖的排版细节,不重复定义公共组件。
   ========================================================================== */

.doc{
  padding-block:clamp(28px,3vw,44px) clamp(48px,6vw,80px);
}

.doc .toc-tabs{
  margin-bottom:clamp(22px,3vw,34px);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--bg-panel);
}

.doc-intro{
  margin:0 0 clamp(26px,3vw,38px);
  padding:18px 20px;
  border:1px solid var(--border);
  border-left:3px solid var(--accent);
  border-radius:0 var(--r-md) var(--r-md) 0;
  background:var(--bg-panel);
  font-size:15px;
  line-height:1.8;
  color:var(--text-muted);
}
.doc-intro a{
  color:var(--accent-dark);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}

.doc-sec{
  margin-top:clamp(34px,4vw,52px);
  padding-top:clamp(28px,3.4vw,44px);
  border-top:1px dashed var(--border);
}
.doc-sec:first-of-type{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.doc-sec > h2{
  margin:0 0 16px;
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.22;
  letter-spacing:-.024em;
}

.doc-sec h3{
  margin:clamp(22px,2.4vw,30px) 0 10px;
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.35;
  letter-spacing:-.014em;
}

.doc-sec p{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.85;
  color:var(--text-muted);
}
.doc-sec p strong{color:var(--text);}

.doc-sec a{
  color:var(--accent-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}

.doc-sec .table-scroll{margin:0 0 20px;}
.doc-sec .data-table{font-size:13.5px;}
.doc-sec pre{margin:0 0 18px;}
.doc-sec .callout{margin-block:18px;}

.doc-list{
  margin:0 0 18px;
  padding-left:1.25em;
  list-style:disc;
  font-size:15px;
  line-height:1.8;
  color:var(--text-muted);
}
.doc-list li{margin-bottom:7px;}
.doc-list li::marker{color:var(--accent);}
.doc-list strong{color:var(--text);}

.steps{
  counter-reset:step;
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0 0 18px;
  padding:0;
  list-style:none;
}
.steps > li{
  position:relative;
  padding-left:38px;
  font-size:15px;
  line-height:1.8;
  color:var(--text-muted);
}
.steps > li::before{
  counter-increment:step;
  content:counter(step,decimal-leading-zero);
  position:absolute;
  left:0;
  top:2px;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border:1px solid var(--accent-24);
  border-radius:50%;
  background:var(--accent-08);
  color:var(--accent-dark);
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:700;
  line-height:1;
}
.steps > li strong{color:var(--text);}

.checklist{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0 0 18px;
  padding:0;
  list-style:none;
}
.checklist li{
  position:relative;
  padding-left:24px;
  font-size:14.5px;
  line-height:1.75;
  color:var(--text-muted);
}
.checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.5em;
  width:11px;
  height:11px;
  border:1.5px solid var(--border-strong);
  border-radius:var(--r-xs);
}

@media (max-width:640px){
  .doc-intro{padding:14px 16px;font-size:14.5px;}
  .doc-sec p,
  .doc-list,
  .steps > li{font-size:14.5px;}
  .doc-sec .data-table{font-size:13px;}
  .steps > li{padding-left:34px;}
}