/* ============================================================
   接口详情页 / 在线调试台
   —— 仅在 is_singular('apihub_api') 时加载
   ============================================================ */

/* ---------- 面包屑 ---------- */
.apihub-breadcrumb{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    font-size:12px;color:var(--apihub-faint);padding:4px 0 18px;
}
.apihub-breadcrumb a{color:var(--apihub-muted)}
.apihub-breadcrumb a:hover{color:var(--apihub-ink)}
.apihub-breadcrumb em{font-style:normal;color:var(--apihub-ink);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- 接口头 ---------- */
.apihub-doc-head{
    background:transparent;border:none;border-bottom:1px solid var(--apihub-line-soft);
    border-radius:0;padding:2px 0 22px;margin-bottom:22px;
}
.apihub-doc-head-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.apihub-doc-title{
    font-size:25px;font-weight:400;letter-spacing:1px;color:var(--apihub-ink);
    line-height:1.4;margin-bottom:8px;
}
.apihub-doc-subtitle{font-size:13.5px;color:var(--apihub-muted);line-height:1.75;margin-bottom:16px;max-width:880px}
.apihub-doc-head-meta{font-size:12px;color:var(--apihub-muted);margin-bottom:18px;display:flex;align-items:center;flex-wrap:wrap}
.apihub-doc-head-meta .apihub-dot{margin:0 6px;color:var(--apihub-faint)}
.apihub-param-meta{display:block;font-size:11px;color:var(--apihub-faint);margin-top:4px;font-family:var(--apihub-mono);letter-spacing:.3px}

/* 调用统计：紧凑横向条（信息保留，布局精简，不再用四张独立卡片） */
.apihub-stats-strip{
    display:flex;flex-wrap:wrap;
    border:1px solid var(--apihub-line);border-radius:var(--apihub-radius);
    overflow:hidden;background:var(--apihub-surface);
}
.apihub-stat{
    flex:1 1 0;min-width:120px;padding:18px 20px;
    display:flex;flex-direction:column;gap:5px;
    border-right:1px solid var(--apihub-line-soft);
}
.apihub-stat:last-child{border-right:none}
.apihub-stat strong{font-size:22px;font-weight:700;color:var(--apihub-ink);font-family:var(--apihub-mono);line-height:1.1}
.apihub-stat strong i{font-style:normal;font-size:13px;color:var(--apihub-faint);margin-left:2px}
.apihub-stat span{font-size:12px;color:var(--apihub-muted)}
.apihub-stats-trend-label{margin:20px 0 10px}

.apihub-endpoint{
    display:flex;align-items:center;gap:0;flex-wrap:wrap;
    border:1px solid var(--apihub-line);border-radius:var(--apihub-radius);
    overflow:hidden;background:#fafafa;
}
.apihub-endpoint-method{
    padding:10px 14px;background:var(--apihub-ink);color:#fff;
    font-family:var(--apihub-mono);font-size:11.5px;font-weight:700;letter-spacing:1px;
}
.apihub-endpoint-url{
    flex:1 1 auto;min-width:0;padding:10px 14px;font-family:var(--apihub-mono);
    font-size:12.5px;color:var(--apihub-ink);overflow:auto;white-space:nowrap;
}
.apihub-endpoint-copy{
    border:none;border-left:1px solid var(--apihub-line);background:#fff;
    padding:10px 16px;font-size:12px;color:var(--apihub-muted);cursor:pointer;
    font-family:inherit;transition:all .2s;align-self:stretch;
}
.apihub-endpoint-copy:hover{background:var(--apihub-ink);color:#fff}

/* ---------- 单栏布局（调试台移至文档下方，避免超出单卡片容器） ---------- */
.apihub-doc-layout{
    display:block;
    padding-bottom:20px;
}
.apihub-doc-main{min-width:0;margin-bottom:16px}
.apihub-doc-side{position:static;margin-top:0}

/* ---------- 文档正文（去卡片化：以留白与标题下划线区隔，减少边框噪声） ---------- */
.apihub-doc-section{
    background:transparent;border:none;border-radius:0;
    padding:4px 0 22px;margin-bottom:18px;
}
.apihub-doc-h2{
    font-size:15px;font-weight:600;letter-spacing:.5px;color:var(--apihub-ink);
    margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--apihub-line-soft);
    display:flex;align-items:center;gap:10px;
}
.apihub-doc-h2-note{
    font-size:11px;font-weight:400;color:var(--apihub-faint);
    letter-spacing:0;background:#f5f5f5;border-radius:20px;padding:2px 10px;
}
.apihub-doc-muted{font-size:13px;color:var(--apihub-muted);line-height:1.75}
.apihub-doc-hint{
    margin-top:16px;padding:12px 16px;background:#fafafa;
    border-left:3px solid var(--apihub-ink);border-radius:0 4px 4px 0;
    font-size:12.5px;color:var(--apihub-muted);line-height:1.8;
}
.apihub-doc-hint code{
    font-size:12px;background:#fff;border:1px solid var(--apihub-line);
    padding:1px 6px;border-radius:3px;color:var(--apihub-ink);
}

.apihub-doc-prose{font-size:14px;line-height:1.85;color:var(--apihub-text)}
.apihub-doc-prose p{margin-bottom:14px}
.apihub-doc-prose h2,.apihub-doc-prose h3,.apihub-doc-prose h4{
    margin:22px 0 12px;color:var(--apihub-ink);font-weight:600;
}
.apihub-doc-prose h2{font-size:16px}
.apihub-doc-prose h3{font-size:15px}
.apihub-doc-prose h4{font-size:14px}
.apihub-doc-prose strong{color:var(--apihub-ink);font-weight:600}
.apihub-doc-prose code{
    font-size:12.5px;background:#fafafa;border:1px solid var(--apihub-line-soft);
    padding:1px 6px;border-radius:3px;color:#a63d00;
}
.apihub-doc-prose a{color:var(--apihub-link);text-decoration:underline}
.apihub-doc-prose .apihub-doc-list{margin:0 0 14px;padding-left:0}
.apihub-doc-prose .apihub-doc-list li{
    position:relative;padding-left:16px;margin-bottom:7px;font-size:13.5px;color:var(--apihub-muted);
}
.apihub-doc-prose .apihub-doc-list li::before{
    content:"";position:absolute;left:2px;top:9px;width:4px;height:4px;
    border-radius:50%;background:var(--apihub-faint);
}
.apihub-doc-prose .apihub-code{margin:14px 0}
.apihub-doc-prose .apihub-table{margin:14px 0}

/* ---------- Tabs ---------- */
.apihub-tabs{border:1px solid var(--apihub-line);border-radius:var(--apihub-radius);overflow:hidden}
.apihub-tabs-nav{
    display:flex;gap:2px;background:#fafafa;border-bottom:1px solid var(--apihub-line);
    padding:8px 8px 0;flex-wrap:wrap;
}
.apihub-tab{
    border:none;background:transparent;padding:8px 16px;
    font-size:12.5px;font-family:inherit;color:var(--apihub-muted);
    cursor:pointer;border-radius:4px 4px 0 0;transition:all .2s;
    border-bottom:2px solid transparent;margin-bottom:-1px;
}
.apihub-tab:hover{color:var(--apihub-ink);background:#f1f5f9}
.apihub-tab.is-active{
    color:var(--apihub-ink);font-weight:600;background:#fff;
    border-bottom-color:var(--apihub-ink);
}
.apihub-tab-panel{display:none}
.apihub-tab-panel.is-active{display:block}
.apihub-tab-panel .apihub-code{border-radius:0;border:none}
.apihub-tab-panel .apihub-code pre{max-height:360px}

/* ---------- 调试台 ---------- */
.apihub-debug{
    background:var(--apihub-surface);border:1px solid var(--apihub-line);
    border-radius:var(--apihub-radius);overflow:hidden;
    box-shadow:var(--apihub-shadow-sm);
}
.apihub-debug-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;border-bottom:1px solid var(--apihub-line-soft);
    background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%);
}
.apihub-debug-title{font-size:14px;font-weight:600;letter-spacing:.5px;color:var(--apihub-ink)}
.apihub-debug-badge{
    font-size:11px;padding:3px 10px;border-radius:20px;
    background:#f5f5f5;color:var(--apihub-faint);letter-spacing:.3px;
}
.apihub-debug-badge.is-ok{background:rgba(27,127,75,.09);color:var(--apihub-free)}
.apihub-debug-badge.is-fail{background:rgba(198,40,40,.09);color:var(--apihub-err)}
.apihub-debug-badge.is-running{background:rgba(34,113,177,.09);color:var(--apihub-get)}

.apihub-debug-form{padding:16px 18px 18px}
.apihub-field{margin-bottom:14px}
.apihub-field label{
    display:flex;align-items:center;gap:5px;flex-wrap:wrap;
    font-size:12px;color:var(--apihub-muted);margin-bottom:6px;
}
.apihub-field label code{
    font-size:12px;color:var(--apihub-ink);background:#fafafa;
    border:1px solid var(--apihub-line-soft);padding:1px 6px;border-radius:3px;
}
.apihub-field-req{color:var(--apihub-err);font-style:normal;font-weight:700;font-size:12px}
.apihub-field-in{
    font-size:9.5px;letter-spacing:.8px;color:var(--apihub-faint);
    border:1px solid var(--apihub-line);border-radius:3px;padding:0 5px;
}
.apihub-field input,.apihub-field select{
    width:100%;padding:9px 12px;border:1px solid var(--apihub-line);
    border-radius:var(--apihub-radius);font-size:13px;font-family:inherit;
    color:var(--apihub-ink);background:#fff;outline:none;transition:all .2s;
}
.apihub-field input:focus,.apihub-field select:focus{
    border-color:var(--apihub-ink);box-shadow:0 0 0 3px rgba(33,33,33,.06);
}
.apihub-field input.is-invalid{border-color:var(--apihub-err);background:#fdf7f7}
.apihub-field-help{font-size:11px;color:var(--apihub-faint);margin-top:4px;line-height:1.6}
.apihub-field-key{background:#fafaf7;border:1px solid var(--apihub-line-soft);border-radius:var(--apihub-radius);padding:10px 12px;margin-bottom:18px}
.apihub-field-key label{margin-bottom:8px}
.apihub-field-key .apihub-field-help{margin-top:6px;margin-bottom:0}
.apihub-field-key input{background:#fff}

.apihub-debug-meta{
    display:flex;justify-content:space-between;align-items:center;gap:10px;
    font-size:11.5px;color:var(--apihub-faint);
    padding:10px 0 14px;border-top:1px dashed var(--apihub-line);
    margin-top:4px;
}
.apihub-debug-cost{color:#b34d00;font-weight:500}
.apihub-debug-cost.is-free{color:var(--apihub-free)}
.apihub-debug-login{
    margin-top:10px;font-size:11.5px;color:var(--apihub-muted);text-align:center;
}
.apihub-debug-login a{color:var(--apihub-link);font-weight:500}

.apihub-debug-foot{
    padding:10px 18px;border-top:1px solid var(--apihub-line-soft);
    background:#fafbfc;text-align:right;font-size:11.5px;
}
.apihub-debug-foot a{color:var(--apihub-muted)}
.apihub-debug-foot a:hover{color:var(--apihub-ink)}

/* ---------- 响应面板 ---------- */
.apihub-response{border-top:1px solid var(--apihub-line-soft);background:#fafbfc}
.apihub-response-bar{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:10px 18px;font-size:11.5px;
}
.apihub-response-status{
    font-family:var(--apihub-mono);font-size:11.5px;font-weight:700;
    padding:3px 9px;border-radius:3px;background:#eee;color:#666;
}
.apihub-response-status.is-ok{background:rgba(27,127,75,.1);color:var(--apihub-free)}
.apihub-response-status.is-fail{background:rgba(198,40,40,.1);color:var(--apihub-err)}
.apihub-response-meta{color:var(--apihub-faint);margin-left:auto;text-align:right}

.apihub-tabs-sm{border:none;border-top:1px solid var(--apihub-line-soft);border-radius:0}
.apihub-tabs-sm .apihub-tabs-nav{background:#f4f5f7;padding:6px 8px 0}
.apihub-tabs-sm .apihub-tab{font-size:11.5px;padding:6px 12px}
.apihub-res-pre{
    margin:0;padding:14px 16px;background:#1b1b26;color:#d4d4d4;
    font-family:var(--apihub-mono);font-size:12px;line-height:1.7;
    max-height:340px;overflow:auto;white-space:pre-wrap;word-break:break-word;
}
.apihub-res-pre::-webkit-scrollbar{width:8px;height:8px}
.apihub-res-pre::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px}

/* ---------- 响应式 ---------- */
@media (max-width:768px){
    .apihub-doc-head{padding:0 0 18px}
    .apihub-doc-title{font-size:21px;letter-spacing:.5px}
    .apihub-doc-subtitle{font-size:12.5px}
    .apihub-doc-section{padding:4px 0 18px}
    .apihub-doc-h2{font-size:15px;margin-bottom:14px}
    .apihub-endpoint{flex-wrap:nowrap}
    .apihub-endpoint-method{flex:0 0 auto;padding:9px 10px}
    .apihub-endpoint-url{font-size:11px;flex:1 1 auto;border-top:none;min-width:0}
    .apihub-endpoint-copy{flex:0 0 auto;border-left:1px solid var(--apihub-line);border-top:none;padding:9px 12px}
    .apihub-debug-form{padding:14px}
    .apihub-debug-head{padding:12px 14px}
    .apihub-breadcrumb{font-size:11.5px}
    .apihub-tab-panel .apihub-code pre{max-height:280px}
    .apihub-res-pre{max-height:260px;font-size:11.5px}
}

/* ---------- 调试工具行：示例填充 / 清空 ---------- */
.apihub-debug-tools{
    display:flex;gap:8px;margin:4px 0 14px;flex-wrap:wrap;
}
.apihub-debug-tools .apihub-btn{font-size:11.5px;padding:6px 14px;letter-spacing:.3px}

/* ---------- 复制响应按钮 ---------- */
.apihub-res-copy{
    margin-left:10px;border:1px solid var(--apihub-line);background:#fff;
    color:var(--apihub-muted);border-radius:3px;padding:4px 12px;font-size:11px;
    font-family:inherit;cursor:pointer;transition:all .2s;flex-shrink:0;
}
.apihub-res-copy:hover{color:var(--apihub-ink);border-color:var(--apihub-ink);background:#fff}
.apihub-res-copy:active{transform:scale(.96)}

/* ---------- 调试历史 ---------- */
.apihub-history{
    border-top:1px solid var(--apihub-line-soft);background:#fafbfc;
    padding:14px 18px 16px;
}
.apihub-history-head{
    display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;
}
.apihub-history-head > span{font-size:12px;font-weight:600;color:var(--apihub-ink);letter-spacing:.5px}
.apihub-history-clear{
    border:none;background:none;color:var(--apihub-faint);font-size:11px;cursor:pointer;
    font-family:inherit;padding:2px 4px;
}
.apihub-history-clear:hover{color:var(--apihub-err)}
.apihub-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.apihub-history-item{
    display:flex;align-items:center;gap:8px;padding:7px 10px;
    background:#fff;border:1px solid var(--apihub-line-soft);border-radius:var(--apihub-radius);
    font-size:11.5px;cursor:pointer;transition:all .18s;
}
.apihub-history-item:hover{border-color:var(--apihub-ink);box-shadow:var(--apihub-shadow-sm)}
.apihub-history-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--apihub-faint)}
.apihub-history-dot.is-ok{background:var(--apihub-free)}
.apihub-history-dot.is-fail{background:var(--apihub-err)}
.apihub-history-sum{
    flex:1 1 auto;color:var(--apihub-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-family:var(--apihub-mono);font-size:11px;
}
.apihub-history-when{color:var(--apihub-faint);flex-shrink:0;font-size:10.5px}

/* ---------- 详情页目录（横向胶囊导航，替代竖向盒子，更简约） ---------- */
.apihub-doc-toc{
    position:static;top:auto;background:transparent;border:none;border-radius:0;
    padding:0;margin-bottom:22px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;
}
.apihub-doc-toc-title{
    display:inline-block;font-size:11px;font-weight:600;letter-spacing:1.5px;
    text-transform:uppercase;color:var(--apihub-faint);margin:0 4px 0 0;
}
.apihub-doc-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;flex-direction:row}
.apihub-doc-toc a{
    display:inline-block;font-size:12.5px;color:var(--apihub-muted);text-decoration:none;
    padding:5px 12px;border-radius:20px;background:var(--apihub-surface);
    border:1px solid var(--apihub-line-soft);transition:background .15s,color .15s;
}
.apihub-doc-toc a:hover{background:var(--apihub-line-soft);color:var(--apihub-ink)}
.apihub-doc-toc a.is-active{background:var(--apihub-ink);color:#fff;border-color:var(--apihub-ink)}

/* ---------- 调用统计：窄屏改为 2 列网格，避免挤压 ---------- */
@media (max-width:640px){
    .apihub-stats-strip{display:grid;grid-template-columns:repeat(2,1fr)}
    .apihub-stat{border-right:1px solid var(--apihub-line-soft);border-bottom:1px solid var(--apihub-line-soft);min-width:0}
    .apihub-stat:nth-child(2n){border-right:none}
    .apihub-stat:nth-last-child(-n+2){border-bottom:none}
}
