/* ============================================================
   接入文档页样式
   ============================================================ */
.docs-layout{display:flex;gap:0;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;align-items:flex-start;}

/* 左侧导航 */
.docs-side{
  width:268px;flex-shrink:0;border-right:1px solid var(--border2);background:#fbfcfe;
  padding:26px 12px 30px;position:sticky;top:var(--header-h);max-height:calc(100vh - var(--header-h));overflow-y:auto;
}
.docs-side .doc-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:18px;color:var(--text3);}
.docs-side .doc-search input{flex:1;background:none;border:none;outline:none;font-size:13.5px;color:var(--text);}
.docs-group{margin-bottom:14px;}
.docs-group-hd{font-size:12px;color:var(--text3);padding:8px 12px 8px;letter-spacing:.5px;display:flex;align-items:center;gap:8px;font-weight:600;}
.docs-group-hd .n{background:var(--panel3);border-radius:99px;padding:1px 8px;font-size:10.5px;color:var(--text3);}
.docs-link{display:flex;align-items:center;gap:8px;padding:10px 12px 10px 24px;border-radius:10px;color:var(--text2);font-size:13.5px;cursor:pointer;transition:all .15s;line-height:1.6;}
.docs-link:hover{background:var(--panel3);color:var(--text4);}
.docs-link.active{background:var(--primary-bg);color:var(--primary);font-weight:500;}
.docs-link i{font-size:14px;opacity:.7;}

/* 右侧正文 */
.docs-main{flex:1;min-width:0;padding:36px 52px 64px;}
.breadcrumb{font-size:12.5px;color:var(--text3);margin-bottom:18px;}
.breadcrumb a{color:var(--text3);}
.breadcrumb a:hover{color:var(--primary);}
.doc-title{font-size:28px;font-weight:600;color:var(--text4);letter-spacing:-.5px;margin-bottom:12px;}
.doc-desc{font-size:14.5px;color:var(--text2);line-height:1.9;margin-bottom:28px;}
.doc-body h2{font-size:19px;font-weight:600;color:var(--text4);margin:38px 0 16px;padding-top:24px;border-top:1px solid var(--border2);}
.doc-body h3{font-size:16px;font-weight:600;color:var(--text4);margin:26px 0 12px;}
.doc-body p{font-size:14.5px;color:var(--text2);line-height:2.1;margin-bottom:14px;}
.doc-body ul,.doc-body ol{margin:0 0 16px 24px;color:var(--text2);font-size:14.5px;line-height:2.2;}
.doc-body ul{list-style:disc;}
.doc-body ol{list-style:decimal;}
.doc-body li::marker{color:var(--primary);}
.doc-body table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:13.5px;}
.doc-body th{text-align:left;padding:12px 16px;color:var(--text3);font-weight:500;font-size:12.5px;background:var(--panel3);border-bottom:1px solid var(--border);}
.doc-body td{padding:12px 16px;border-bottom:1px solid var(--border2);color:var(--text2);}
.doc-body tr:hover td{background:var(--panel3);}
.doc-body .mono{font-family:Consolas,monospace;font-size:13px;color:#2549a8;}

/* 搜索结果 */
.doc-hit .dh-snip{font-size:13px;color:var(--text3);line-height:1.9;margin-bottom:8px;}
.doc-hit mark{background:rgba(41,114,233,.16);color:inherit;border-radius:3px;padding:0 2px;}

/* 提示框 */
.callout{display:flex;gap:12px;border-radius:12px;padding:15px 18px;margin:16px 0;font-size:14px;line-height:1.95;}
.callout i{font-size:17px;line-height:1.5;}
/* info 与 tip 同为「信息提示」;色板里没有单独的 info 色,所以合并到同一条规则 */
.callout.tip,.callout.info{background:var(--primary-bg);border:1px solid rgba(41,114,233,.22);color:#1c5fd0;}
.callout.note{background:var(--indigo-bg);border:1px solid rgba(81,75,253,.22);color:#4a3fd6;}
.callout.warn{background:var(--warn-bg);border:1px solid rgba(245,158,11,.3);color:#b45309;}

/* 代码块 */
.doc-code{background:#f8fafc;border:1px solid var(--border);border-radius:12px;margin:16px 0;overflow:hidden;}
/* 顶栏类名以正文模板(docCode)实际输出的 cb-hd / button.copy 为准;
   早先这里写成 .hd / .cp,选择器对不上,整条顶栏会退化成裸文字 + 原生按钮 */
.doc-code .cb-hd{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;background:var(--panel3);border-bottom:1px solid var(--border2);font-size:11.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;}
.doc-code .cb-hd .copy{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--border);border-radius:7px;padding:3px 11px;font-size:11.5px;color:var(--text2);cursor:pointer;text-transform:none;letter-spacing:0;}
.doc-code .cb-hd .copy:hover{color:var(--primary);border-color:var(--primary);}
.doc-code pre{padding:16px 18px;overflow-x:auto;font-family:"SF Mono",Consolas,monospace;font-size:12.5px;line-height:1.85;color:#24292f;white-space:pre;}

/* 上一篇/下一篇 */
.doc-nav{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--border2);}
.doc-nav .pn{flex:1;background:var(--panel3);border:1px solid var(--border);border-radius:14px;padding:16px 18px;cursor:pointer;transition:all .15s;}
.doc-nav .pn:hover{border-color:var(--primary);background:#fff;box-shadow:var(--shadow);}
.doc-nav .pn .dir{font-size:12px;color:var(--text3);margin-bottom:5px;display:flex;align-items:center;gap:5px;}
.doc-nav .pn .tt{font-size:14.5px;font-weight:600;color:var(--text4);}
.doc-nav .pn.next{text-align:right;}
.doc-nav .pn.next .dir{justify-content:flex-end;}

/* 1000~1200px 这一段左栏按 268px 固定宽 + 正文 52px 内边距,正文本区会掉到 620px 左右
   (1024 屏实测正文可用宽仅 642px,多列表格被压得很难读),所以收窄左栏与内边距 */
@media (max-width:1200px){
  .docs-side{width:236px;padding:22px 10px 26px;}
  .docs-main{padding:32px 30px 56px;}
}

@media (max-width:1000px){
  .docs-layout{flex-direction:column;align-items:stretch;}
  .docs-side{width:100%;position:static;max-height:none;border-right:none;border-bottom:1px solid var(--border2);}
  .docs-main{padding:28px 22px 48px;}
}
