/* ==========================================================================
   VPNBL · deepdoc.css
   深度指南页(reference.html)专属样式:页头 / 长文排版 / 有序步骤 / 结尾链接行
   颜色、圆角、阴影、字体一律引用 base.css 的设计令牌,不新增硬编码色值。
   ========================================================================== */

/* ==========================================================================
   1. 页头
   ========================================================================== */
.dd-head{
  position:relative;
  overflow-x:clip;
  max-width:100%;
  background:linear-gradient(180deg,var(--bg-hero-top) 0%,var(--bg-hero-bottom) 100%);
}
.dd-head::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(54% 66% at 18% 0%,var(--accent-halo),var(--accent-clear) 72%);
}
.dd-head__inner{position:relative;z-index:1;padding-block:44px 38px}
.dd-head__title{margin-top:12px;max-width:860px}
.dd-head__lead{margin-top:14px;max-width:860px}
.dd-head__meta{
  margin-top:14px;
  font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;
  color:var(--text-muted);
}
.dd-head__facts{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}

/* ==========================================================================
   2. 长文容器与开篇说明
   ========================================================================== */
.dd-doc{max-width:920px;margin-inline:auto;padding-block:6px 20px}

.dd-intro{
  margin-top:22px;padding:18px 20px;
  border-radius:var(--r-card);
  background:var(--bg-panel);
  border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
  font-size:15.5px;line-height:1.85;color:var(--text-muted);
}
.dd-intro a{
  color:var(--accent);font-weight:700;
  text-decoration:underline;text-underline-offset:3px;
}
.dd-intro a:hover{color:var(--accent-dark)}

/* ==========================================================================
   3. 正文排版
   ========================================================================== */
.prose{font-size:16px}
.prose h2{
  margin-top:54px;padding-top:6px;
  font-size:var(--fs-h2);line-height:1.2;letter-spacing:-.02em;
}
.prose h2:first-of-type{margin-top:36px}
.prose h3{margin-top:28px;font-size:var(--fs-h3);line-height:1.32}
.prose p{margin-top:14px;line-height:1.85;color:var(--text)}
.prose h2+p,.prose h3+p{margin-top:12px}
.prose p+p{margin-top:12px}

.prose ul,.prose ol{margin-top:14px;display:grid;gap:10px}
.prose li{position:relative;padding-left:22px;line-height:1.82;color:var(--text)}
.prose ul>li::before{
  content:"";position:absolute;left:4px;top:.72em;
  width:6px;height:6px;border-radius:50%;
  background:var(--accent);opacity:.45;flex:none;
}
.prose ol{counter-reset:ddstep;gap:12px}
.prose ol>li{counter-increment:ddstep;padding-left:38px}
.prose ol>li::before{
  content:counter(ddstep);
  position:absolute;left:0;top:.12em;
  width:24px;height:24px;display:grid;place-items:center;
  border-radius:50%;
  background:var(--accent-wash);
  border:1px solid var(--accent-edge);
  color:var(--accent);
  font-family:var(--font-mono);font-size:11.5px;font-weight:700;
  font-variant-numeric:tabular-nums;
}

.prose a:not(.btn){
  color:var(--accent);font-weight:600;
  text-decoration:underline;text-underline-offset:3px;
}
.prose a:not(.btn):hover{color:var(--accent-dark)}

/* 目录条是组件:正文链接规则(.prose a:not(.btn),同特异性且后加载)会把它一并染色,
   这里用更高特异性夺回组件自己的颜色,避免 is-active 的字色与 accent 底色同色不可读 */
.prose .toc-tabs a{color:var(--text-muted);font-weight:600;text-decoration:none}
.prose .toc-tabs a:hover{color:var(--accent)}
.prose .toc-tabs a.is-active{color:var(--bg-panel);background:var(--accent);border-color:var(--accent)}

.prose .table-scroll{margin-top:18px}
.prose .callout{margin-top:18px}
.prose .callout p{font-size:14.5px;line-height:1.78}
.prose .callout p:first-child{margin-top:0}
.prose pre{margin-top:18px}

.dd-note{
  margin-top:10px;
  font-size:13px;line-height:1.7;color:var(--text-muted);
}

/* ==========================================================================
   4. 结尾链接行
   ========================================================================== */
.dd-cta{
  margin-top:46px;padding-top:26px;
  border-top:1px dashed var(--border);
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
}

/* ==========================================================================
   5. 响应式
   ========================================================================== */
@media (max-width:768px){
  .dd-head__inner{padding-block:30px 26px}
  .prose h2{margin-top:42px}
  .prose h3{margin-top:24px}
}
@media (max-width:640px){
  .dd-doc{padding-block:2px 14px}
  .dd-intro{padding:16px}
  .dd-cta .btn{width:100%}
}