/* ==========================================================================
   VPNCW · deepdoc.css
   AI 加速手册页面专属：文档首屏、要点面板、正文排版、章节分隔、继续阅读
   颜色 / 圆角 / 阴影一律引用 base.css 的 :root 令牌，不出现硬编码色值。
   ========================================================================== */

/* ---------- 1. 文档首屏 ---------- */
.doc-hero{
  position:relative;
  overflow-x:clip;
  max-width:100%;
  padding-top:52px;
  padding-bottom:48px;
  background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg) 58%, var(--bg-bottom) 100%);
}
.doc-hero .hero-title{
  font-size:clamp(34px,4.6vw,56px);
  line-height:1.08;
}
.doc-hero .hero-lede{
  max-width:34em;
}
.doc-hero .trust-row{
  margin-top:18px;
}

/* 要点面板 */
.doc-facts .panel-body{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.doc-fact-list{
  display:flex;
  flex-direction:column;
  gap:1px;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  background:var(--border);
  overflow:hidden;
}
.doc-fact-list li{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:4px 14px;
  padding:9px 12px;
  background:var(--bg-panel);
  min-width:0;
}
.doc-fact-k{
  flex:0 0 auto;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.14em;
  color:var(--text-muted);
  white-space:nowrap;
}
.doc-fact-v{
  min-width:0;
  font-size:12.5px;
  line-height:1.45;
  color:var(--text);
  text-align:right;
}
.doc-fact-v b{
  font-family:var(--font-mono);
  font-weight:500;
  color:var(--accent-dark);
}

/* ---------- 2. 正文主列 ---------- */
.doc-article{
  max-width:940px;
}
.doc-intro{
  padding-bottom:26px;
}
.doc-intro p{
  font-size:16px;
  line-height:1.78;
  color:var(--text-muted);
}
.doc-intro p + p{
  margin-top:12px;
}
.doc-intro a,
.doc-section a{
  color:var(--accent-dark);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ---------- 3. 章节 ---------- */
.doc-section{
  min-width:0;
  padding-top:34px;
  margin-top:34px;
  border-top:1px solid var(--border);
  font-size:16px;
  line-height:1.78;
  color:var(--text);
}
.doc-section:first-of-type{
  padding-top:0;
  margin-top:0;
  border-top:0;
}
.doc-section > * + *{
  margin-top:15px;
}
.doc-section .sec-title{
  font-size:clamp(24px,2.8vw,32px);
  line-height:1.22;
  letter-spacing:-.022em;
}
.doc-section h3{
  margin-top:28px;
  font-size:18px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:-.008em;
}
.doc-section ul,
.doc-section ol{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-left:22px;
}
.doc-section ul{ list-style:disc; }
.doc-section ol{ list-style:decimal; }
.doc-section li{ min-width:0; }
.doc-section strong{ font-weight:500; }
.doc-section .table-scroll{ margin-top:18px; }
.doc-section pre{ margin-top:18px; }
.doc-section .callout{ margin-top:20px; }
.doc-section .small.muted{ margin-top:10px; }

/* ---------- 4. 继续阅读 ---------- */
.doc-next{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.doc-next a{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--bg-panel);
  box-shadow:var(--shadow-card);
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease;
}
.doc-next a:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
}
.doc-next .doc-next-k{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.14em;
  color:var(--text-muted);
}
.doc-next .doc-next-t{
  font-size:14px;
  line-height:1.45;
  color:var(--text);
}

/* ---------- 5. 文末推广块间距 ---------- */
.doc-article .promo-block{
  margin-top:40px;
}

/* ---------- 6. 响应式 ---------- */
@media (max-width:1040px){
  .doc-hero{
    padding-top:42px;
    padding-bottom:40px;
  }
}

@media (max-width:768px){
  .doc-section{
    padding-top:28px;
    margin-top:28px;
    font-size:15.5px;
  }
  .doc-section h3{
    margin-top:24px;
    font-size:17px;
  }
  .doc-next{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:640px){
  .doc-fact-list li{
    justify-content:flex-start;
  }
  .doc-fact-v{
    text-align:left;
  }
}

@media (prefers-reduced-motion:reduce){
  .doc-next a:hover{
    transform:none;
  }
}