/* ======================================================================
   OpenAPI 文档查看器 · 独立设计（开发者文档主题：电蓝 + 方法色徽章）
   ====================================================================== */
.oa{
  --ink:#111a2e; --sub:#5a6a85; --faint:#94a3b8;
  --bg:#f3f6fc; --card:#ffffff; --card2:#eef2fa; --line:#dbe4f2; --line2:#e6edf8;
  --pri:#1d4ed8; --pri-2:#2563eb; --pri-soft:#e2eafc; --pri-ink:#1a3fb0;
  --code-bg:#0f172a; --code-ink:#93c5fd;
  --m-get:#16a34a; --m-post:#1d4ed8; --m-put:#ea580c; --m-delete:#dc2626; --m-patch:#7c3aed; --m-other:#64748b;
  --amber:#b45309; --amber-soft:#fdf3e2;
  --red:#b42323; --red-soft:#fdecec;
  --good:#15803d; --good-soft:#e5f5e9;
  --r:14px;
  --shadow:0 1px 2px rgba(17,26,46,.05),0 10px 26px rgba(17,26,46,.08);
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:15px; line-height:1.75;
  background:
    radial-gradient(900px 420px at 85% -140px, rgba(29,78,216,.09), transparent 60%),
    linear-gradient(180deg, rgba(29,78,216,.04), transparent 240px),
    var(--bg);
  padding:0 16px 56px;
}
:root[data-theme="dark"] .oa{
  --ink:#e6ecf8; --sub:#9db0cc; --faint:#5f7191;
  --bg:#0b1120; --card:#111a2e; --card2:#16223a; --line:#243352; --line2:#1d2a45;
  --pri:#60a5fa; --pri-2:#93c5fd; --pri-soft:rgba(96,165,250,.13); --pri-ink:#93c5fd;
  --code-bg:#070d1c; --code-ink:#93c5fd;
  --m-get:#4ade80; --m-post:#60a5fa; --m-put:#fb923c; --m-delete:#f87171; --m-patch:#a78bfa; --m-other:#94a3b8;
  --amber:#fbbf24; --amber-soft:rgba(251,191,36,.10);
  --red:#f87171; --red-soft:rgba(248,113,113,.12);
  --good:#4ade80; --good-soft:rgba(74,222,128,.12);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px rgba(0,0,0,.45);
}
.oa *{box-sizing:border-box;}
.oa b{font-weight:700;}
.oa-wrap{max-width:1140px;margin:0 auto;}
.oa-mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,"Courier New",monospace;}

/* ---------- 首屏：文档头 Hero ---------- */
.oa-hero{
  margin-top:22px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);
  background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 55%,#2563eb 100%);
  border:1px solid #172f6b;position:relative;
}
.oa-hero::after{content:"{ }";position:absolute;right:26px;top:14px;font-size:74px;font-weight:900;color:rgba(255,255,255,.10);font-family:ui-monospace,Consolas,monospace;}
.oa-hero-in{padding:28px 30px 26px;position:relative;z-index:1;}
.oa-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.2em;color:#bfdbfe;
  border:1px solid rgba(191,219,254,.45);border-radius:6px;padding:3px 12px;margin-bottom:12px;}
.oa-hero h1{margin:0 0 8px;font-size:clamp(24px,3.6vw,32px);font-weight:900;color:#eff6ff;line-height:1.3;}
.oa-hero p{margin:0;color:#b9cdf2;font-size:15px;max-width:780px;}
.oa-hero p em{font-style:normal;color:#dbeafe;font-weight:700;}

/* ---------- 输入卡 ---------- */
.oa-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 18px 16px;}
.oa-card h2{margin:0 0 4px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px;}
.oa-card h2 .oa-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:var(--pri);color:#fff;font-size:12px;font-weight:800;}
:root[data-theme="dark"] .oa-card h2 .oa-num{color:#0b1120;}
.oa-tip{font-size:12.5px;color:var(--sub);margin:0 0 10px;}
.oa-ta{
  width:100%;min-height:180px;resize:vertical;padding:12px 14px;border-radius:10px;
  border:1px solid var(--line);background:var(--code-bg);color:var(--code-ink);
  font-size:12.5px;line-height:1.7;outline:none;transition:border-color .15s;
  font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;
}
.oa-ta:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.oa-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;}
.oa-btn{border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;transition:all .15s;}
.oa-btn-go{background:var(--pri);color:#fff;}
:root[data-theme="dark"] .oa-btn-go{color:#0b1120;}
.oa-btn-go:hover{background:var(--pri-2);}
.oa-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1px solid var(--line);}
.oa-btn-ghost:hover{border-color:var(--pri-2);}
.oa-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:600;border-radius:8px;padding:6px 10px;}
.oa-msg:empty{display:none;}
.oa-msg.err{color:var(--red);background:var(--red-soft);}
.oa-msg.ok{color:var(--good);background:var(--good-soft);}
.oa-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;}
.oa-stat{font-size:12.5px;color:var(--sub);background:var(--card2);border:1px solid var(--line2);border-radius:8px;padding:4px 10px;}
.oa-stat b{color:var(--pri-ink);}

/* ---------- 文档渲染区 ---------- */
.oa-doc{margin-top:18px;}
.oa-doc-head{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px;}
.oa-doc-head h2{margin:0 0 4px;font-size:20px;font-weight:900;display:inline;}
.oa-ver{display:inline-block;vertical-align:2px;margin-left:10px;font-size:12px;font-weight:800;color:var(--pri);background:var(--pri-soft);border:1px solid var(--line);border-radius:999px;padding:1px 10px;}
.oa-doc-head p.oa-id{margin:6px 0 0;font-size:13.5px;color:var(--sub);}
.oa-servers{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.oa-srv{font-size:12px;font-weight:700;color:var(--pri-ink);background:var(--card2);border:1px dashed var(--pri-2);border-radius:8px;padding:3px 10px;font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;}
.oa-tag-sec{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;}
.oa-tag-h{margin:0;padding:12px 18px;font-size:15px;font-weight:900;background:var(--card2);border-bottom:1px solid var(--line2);display:flex;align-items:center;gap:8px;}
.oa-tag-h .oa-cnt{font-size:11.5px;font-weight:800;color:var(--sub);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 9px;}
.oa-op{border-bottom:1px solid var(--line2);}
.oa-op:last-child{border-bottom:none;}
.oa-op-h{display:flex;align-items:center;gap:12px;padding:10px 18px;cursor:pointer;transition:background .12s;}
.oa-op-h:hover{background:var(--pri-soft);}
.oa-m{flex:none;width:70px;text-align:center;font-size:11.5px;font-weight:900;letter-spacing:.04em;color:#fff;border-radius:6px;padding:3px 0;font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;}
:root[data-theme="dark"] .oa-m{color:#0b1120;}
.oa-m-get{background:var(--m-get);} .oa-m-post{background:var(--m-post);} .oa-m-put{background:var(--m-put);}
.oa-m-delete{background:var(--m-delete);} .oa-m-patch{background:var(--m-patch);} .oa-m-other{background:var(--m-other);}
.oa-path{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-size:13.5px;font-weight:700;color:var(--ink);word-break:break-all;}
.oa-sum{margin-left:auto;font-size:12.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34%;}
.oa-depr{font-size:11px;font-weight:800;color:var(--amber);background:var(--amber-soft);border-radius:6px;padding:1px 8px;flex:none;}
.oa-op-d{display:none;padding:4px 18px 16px;background:var(--card);}
.oa-op.open .oa-op-d{display:block;}
.oa-op-d h4{margin:14px 0 6px;font-size:13px;font-weight:900;color:var(--pri-ink);}
.oa-op-d table{width:100%;border-collapse:collapse;font-size:12.5px;}
.oa-op-d th,.oa-op-d td{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top;}
.oa-op-d th{background:var(--card2);font-weight:800;white-space:nowrap;}
.oa-op-d td.oa-nm{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-weight:700;}
.oa-req{color:var(--red);font-weight:800;}
.oa-resp-code{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-weight:800;color:var(--good);}
.oa-tryit{margin-top:14px;font-size:12.5px;color:var(--sub);background:var(--card2);border:1px solid var(--line2);border-radius:10px;padding:9px 13px;}
.oa-tryit b{color:var(--pri-ink);}
.oa-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--faint);font-size:14px;text-align:center;}

/* ---------- SEO 问答 ---------- */
.oa-faq{margin-top:34px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow);}
.oa-faq h2{margin:0 0 12px;font-size:19px;font-weight:900;}
.oa-faq h3{margin:18px 0 6px;font-size:15.5px;font-weight:800;color:var(--pri-ink);}
.oa-faq p{margin:0;color:var(--sub);font-size:14px;}
.oa-faq p b{color:var(--ink);}

/* ---------- 扩展：检索 / 分布图 / 请求示例 ---------- */
.oa2-ext{margin-top:16px;}
.oa2-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px;}
.oa2-tools input[type="search"]{flex:1 1 240px;min-width:180px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card2);color:var(--ink);font-size:13px;outline:none;}
.oa2-tools input[type="search"]:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.oa2-tools select{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card2);color:var(--ink);font-size:13px;outline:none;}
.oa2-tools select:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.oa2-tools .oa-btn{padding:8px 13px;font-size:12.5px;}
.oa2-count{font-size:12.5px;color:var(--sub);font-weight:700;margin:2px 0 6px;}
.oa2-chart{background:var(--card2);border:1px solid var(--line2);border-radius:10px;padding:8px;overflow-x:auto;}
.oa2-chart svg{display:block;width:100%;height:auto;}
.oa2-empty{color:var(--faint);font-size:13px;text-align:center;padding:28px 12px;}
.oa2-no{font-size:13px;color:var(--sub);background:var(--amber-soft);border:1px dashed var(--amber);border-radius:9px;padding:14px 16px;text-align:center;margin-top:10px;}
.oa2-ops{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;}
.oa2-mini{border:1px solid var(--line);background:var(--card2);color:var(--pri-ink);border-radius:7px;padding:4px 11px;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit;}
.oa2-mini:hover{border-color:var(--pri-2);background:var(--pri-soft);}
.oa2-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:11.5px;color:var(--sub);}
.oa2-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:1px;}
.oa-op-d{overflow-x:auto;-webkit-overflow-scrolling:touch;}
