/* ===== API 文档公共样式 ===== */
.docs-wrap{max-width:960px;margin:0 auto;padding:28px 16px 60px;}
.docs-title{font-size:26px;font-weight:700;margin:8px 0 4px;}
.docs-sub{color:var(--muted);margin-bottom:24px;line-height:1.7;}
.docs-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin-bottom:18px;overflow:hidden;}
.docs-card h2{font-size:19px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.docs-card h3{font-size:15px;margin:18px 0 8px;color:var(--text);}
.docs-card h4{font-size:13.5px;margin:14px 0 6px;}
.docs-card p,.docs-card li{line-height:1.75;font-size:13.5px;color:var(--text);}
.docs-card ul,.docs-card ol{padding-left:20px;margin:6px 0;}
.docs-card code{background:rgba(127,127,127,.12);padding:1px 6px;border-radius:4px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.docs-card pre{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:14px 16px;overflow-x:auto;font-size:12.5px;line-height:1.6;margin:10px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.docs-card pre code{background:none;padding:0;color:inherit;font-size:inherit;}
.docs-card table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13px;}
.docs-card th,.docs-card td{border:1px solid var(--border);padding:8px 10px;text-align:left;line-height:1.6;}
.docs-card th{background:rgba(127,127,127,.08);font-weight:600;}
.docs-card td code{white-space:nowrap;}
.docs-tag{display:inline-block;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:600;margin-right:8px;vertical-align:2px;}
.tag-get{background:rgba(34,197,94,.15);color:#16a34a;}
.tag-post{background:rgba(59,130,246,.15);color:#2563eb;}
.endpoint{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;font-weight:600;}
.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;background:rgba(127,127,127,.15);color:var(--muted);margin-left:6px;font-weight:500;}
.toc a{color:var(--primary);text-decoration:none;font-size:13.5px;line-height:2;}
.toc a:hover{text-decoration:underline;}
code.k{color:#f59e0b;}
code.s{color:#34d399;}
code.c{color:#64748b;}
.req{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:700;}
.req-yes{background:rgba(239,68,68,.12);color:#dc2626;}
.req-no{background:rgba(127,127,127,.12);color:var(--muted);}
/* 面包屑返回链接 */
.doc-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:13px;margin-bottom:6px;}
.doc-back:hover{color:var(--primary);}
.doc-back svg{width:15px;height:15px;}
/* 文档索引页: API 卡片网格 */
.api-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:14px 0 4px;}
.api-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;text-decoration:none;display:block;transition:border-color .15s, transform .15s;}
.api-card:hover{border-color:var(--primary);transform:translateY(-2px);}
.api-card .api-method{display:inline-block;padding:2px 9px;border-radius:6px;font-size:11.5px;font-weight:700;margin-bottom:8px;}
.api-card .api-path{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;font-weight:600;color:var(--text);word-break:break-all;}
.api-card .api-desc{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.6;}
.api-card .api-params{font-size:11.5px;color:var(--muted);margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);}
/* 窄屏: 参数表卡片化 */
@media (max-width:640px){
  .docs-wrap{padding:18px 10px 50px;}
  .docs-card{padding:14px 12px;}
  .api-grid{grid-template-columns:1fr;}
  .docs-card table{display:block;overflow-x:auto;white-space:nowrap;}
}
