/* ============================================================================
   DataBull · 方案 A「机构终端」主题层
   ----------------------------------------------------------------------------
   为什么存在这一层：
   `site.css` 是 Tailwind 的预编译产物，仓库内没有构建配置，新增工具类不会
   生效。所以方案 A 的**新组件**全部写在这里，用语义类名（db-*）而不是工具类，
   这样以后要重编 Tailwind 也不会被冲掉。

   色板分两处：
   - 全局色阶映射（zinc → 墨蓝、emerald → 琥珀）由 tools/recolor_site_css.py
     作用在 site.css 上，老页面自动跟着变；
   - 本文件只定义组件与令牌，不再重复定义颜色工具类。
   ========================================================================== */

:root {
  --db-bg: #070a10;
  --db-bg2: #0a0e16;
  --db-panel: #0d121b;
  --db-panel2: #111825;
  --db-line: #1a2230;
  --db-line2: #252f40;
  --db-line3: #141b27;

  --db-txt: #e8ecf4;
  --db-txt2: #c2cad8;
  --db-mut: #8794a7;
  --db-dim: #67728a;

  --db-acc: #e9b646;
  --db-acc-dim: #8a6d2c;
  --db-up: #f04a3c;
  --db-down: #1eb47a;

  --db-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --db-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --db-r: 3px;
}

/* ── 全局微调 ─────────────────────────────────────────────────────────── */

body {
  font-feature-settings: "tnum" 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* 品牌字标前的琥珀色方块：用一个伪元素加上，避免动 header 模板结构 */
.site-brand {
  display: inline-flex;
  align-items: center;
  letter-spacing: -0.015em;
}
.site-brand::before {
  content: "";
  width: 13px;
  height: 13px;
  margin-right: 9px;
  background: var(--db-acc);
  /* 右下角挖缺，形成一个「行情块」记号 */
  clip-path: polygon(0 0, 100% 0, 100% 62%, 62% 100%, 0 100%);
  flex: 0 0 auto;
}
.site-brand > span {
  color: var(--db-dim);
  font-family: var(--db-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-left: 1px solid var(--db-line2);
  padding-left: 9px;
  margin-left: 3px;
  font-size: 10px !important;
}

/* 表头/正文里的中文标题收紧字距，接近机构报告的排版感 */
h1, h2, h3 { letter-spacing: -0.02em; }

/* 强调色由 emerald 换成琥珀后，原模板里的「琥珀底 + 白字」对比度只有约 2:1。
   全站 19 处 CTA 都走这条规则，统一改成墨色文字。 */
.bg-accent.text-white,
a.bg-accent.text-white,
button.bg-accent.text-white,
.bg-accent .text-white { color: #0a0c10 !important; }

/* 768~980px 之间：顶部导航还按 md 断点展开，但加上语言切换与注册按钮后
   整行会溢出、把语言切换裁掉。此区间提前收起主导航，改用汉堡菜单。 */
@media (max-width: 980px) {
  header nav { display: none !important; }
  header button[aria-controls="mobile-menu"] { display: inline-flex !important; }
  /* 展开态要被断点放行：菜单原本带 md:hidden，768~980px 点击后会被它藏掉 */
  #mobile-menu:not(.hidden) { display: block !important; }
  /* 这个区间主导航已收进汉堡菜单，语言切换也一并在菜单里，头部只留品牌与账号操作 */
  .site-account-nav .lang-switch { display: none !important; }
}

/* 窄屏头部只留「品牌 + 主 CTA + 汉堡」：收紧账号区间距，避免 390px 下互挤 */
@media (max-width: 640px) {
  .site-account-nav { gap: 8px; }
}

/* 圆角压平后阴影要更克制，否则像浮起来的卡片 */
.shadow-lg, .shadow-xl, .shadow-2xl {
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45) !important;
}

/* ── 容器 ─────────────────────────────────────────────────────────────── */

/* 页面容器：base.html 的 main 是 flex 行容器，首页必须只放一个子节点 */
.db-page {
  width: 100%;
  /* main 是 flex 行容器：flex 子项默认 min-width:auto，宽内容（如 .db-cov 的
     min-width:620px）会把整页顶宽，overflow-x:auto 的滚动容器便不再滚动而是撑开
     body。这里把 min-width 归零，把溢出交给 .db-tscroll。 */
  min-width: 0;
  max-width: 100%;
}

.db-wrap {
  width: 100%;
  max-width: 1280px;          /* 与页头/页脚的 max-w-7xl 对齐 */
  margin: 0 auto;
  padding: 0;                 /* 内边距交给 main 的 px-4，正文与页头 logo 对齐 */
}
@media (max-width: 640px) {
  .db-h1 { font-size: 29px; }
}
.db-num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.db-mono { font-family: var(--db-mono); }

/* ── Hero ─────────────────────────────────────────────────────────────── */

.db-hero {
  display: grid;
  grid-template-columns: 1.06fr 0.94fr;
  gap: 56px;
  align-items: start;
  padding: 68px 0 60px;
  position: relative;
}
/* 极淡的双色辉光：靠负 inset 扩到容器外，营造纵深而不抢内容 */
.db-hero::before {
  content: "";
  position: absolute;
  inset: -60px -100px -40px -100px;
  z-index: -1;
  background:
    radial-gradient(58% 68% at 78% 24%, rgba(233, 182, 70, 0.075), transparent 68%),
    radial-gradient(42% 52% at 10% 0%, rgba(62, 111, 168, 0.06), transparent 70%);
  pointer-events: none;
}

.db-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--db-mono);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--db-acc);
  border: 1px solid #2c2411;
  background: #151105;
  padding: 8px 11px;
}
.db-eyebrow .dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--db-down);
  display: inline-block;
}

.db-h1 {
  margin: 26px 0 0;
  font-size: clamp(36px, 4.5vw, 54px);
  line-height: 1.07;
  letter-spacing: -0.035em;
  font-weight: 700;
  color: var(--db-txt);
}
.db-h1 em { font-style: normal; color: var(--db-acc); }

.db-lead {
  margin: 22px 0 0;
  max-width: 34em;   /* 用 em 而不是 ch：ch 按数字 0 计宽，中文会窄掉近一半 */
  color: var(--db-mut);
  font-size: 15.5px;
  line-height: 1.78;
}

.db-actions { display: flex; gap: 11px; margin-top: 30px; flex-wrap: wrap; }

.db-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 22px;
  border-radius: var(--db-r);
  font-size: 13.5px;
  font-weight: 600;
  border: 1px solid transparent;
  transition: background 0.16s, border-color 0.16s, color 0.16s;
  text-decoration: none;
}
.db-btn-p { background: var(--db-acc); color: #0a0c10; }
.db-btn-p:hover { background: #f3c65c; }
.db-btn-s { border-color: var(--db-line2); color: var(--db-txt2); }
.db-btn-s:hover { border-color: #3a465b; color: var(--db-txt); background: #0f1520; }

.db-hint {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 18px;
  font-size: 11.5px;
  color: var(--db-dim);
}
.db-hint i { font-style: normal; color: var(--db-txt2); }

/* ── 行情/响应面板 ────────────────────────────────────────────────────── */

.db-panel {
  border: 1px solid var(--db-line);
  background: linear-gradient(180deg, #0e141e 0%, #0a0f18 100%);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.5);
}
.db-panel-hd,
.db-panel-ft {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 13px;
  font-family: var(--db-mono);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--db-dim);
}
.db-panel-hd { border-bottom: 1px solid var(--db-line); }
.db-panel-ft { border-top: 1px solid var(--db-line); letter-spacing: 0.06em; padding: 10px 13px; }
.db-panel-ft a { color: var(--db-acc); }
.db-panel-hd .live { color: var(--db-down); display: inline-flex; align-items: center; gap: 5px; }

.db-spark { display: block; width: 100%; height: 36px; border-bottom: 1px solid var(--db-line); }

/* 报价表：四列，代码用等宽琥珀色 */
.db-quote { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.db-quote th {
  font-family: var(--db-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--db-dim);
  font-weight: 400;
  text-align: right;
  padding: 8px 13px;
  border-bottom: 1px solid var(--db-line);
}
.db-quote th:first-child,
.db-quote td:first-child { text-align: left; }
.db-quote td {
  padding: 9px 13px;
  border-bottom: 1px solid var(--db-line3);
  text-align: right;
  color: var(--db-txt2);
  font-variant-numeric: tabular-nums;
}
.db-quote tr:last-child td { border-bottom: 0; }
.db-quote td b { color: var(--db-txt); font-weight: 600; }
.db-quote .code { font-family: var(--db-mono); font-size: 11.5px; color: var(--db-acc); }
.db-quote .mkt {
  display: inline-block;
  min-width: 26px;
  margin-right: 7px;
  font-family: var(--db-mono);
  font-size: 9.5px;
  letter-spacing: 0.06em;
  color: var(--db-dim);
  border: 1px solid var(--db-line2);
  padding: 1px 3px;
  text-align: center;
}

/* ── 全站行情条（A 股指数，接 /api/site/index-quotes）─────────────────── */

.db-ticker {
  background: var(--db-bg2);
  border-top: 1px solid var(--db-line);
  border-bottom: 1px solid var(--db-line);
  /* 通栏但不改变布局宽度：只把背景与描边向两侧延伸，内部仍与正文同宽 */
  box-shadow: 0 0 0 100vmax var(--db-bg2);
  clip-path: inset(0 -100vmax);
}
.db-ticker .db-wrap { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0; }
.db-ticker .cell { padding: 11px 16px 12px; border-left: 1px solid var(--db-line); }
.db-ticker .cell:first-child { border-left: 0; padding-left: 0; }
.db-ticker .k {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--db-mono);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--db-dim);
}
.db-ticker .v { display: flex; align-items: baseline; gap: 9px; margin-top: 6px; }
.db-ticker .v b { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; color: var(--db-txt); }
.db-ticker .v span { font-size: 11.5px; font-weight: 600; }

.db-up { color: var(--db-up) !important; }
.db-down { color: var(--db-down) !important; }
.db-flat { color: var(--db-mut) !important; }

/* ── 区块骨架 ─────────────────────────────────────────────────────────── */

.db-sec { padding: 54px 0 0; min-width: 0; }
.db-sec-hd {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--db-line2);
}
.db-sec-hd h2 {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 20px;
  font-weight: 650;
}
.db-sec-hd h2 .idx {
  font-family: var(--db-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--db-acc);
}
.db-sec-hd p {
  margin: 0;
  max-width: 680px;   /* 英文标题说明比中文长，560 会把末词挤成孤行 */
  text-align: right;
  font-size: 12.5px;
  color: var(--db-dim);
}

/* ── 规模条 ───────────────────────────────────────────────────────────── */

.db-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid var(--db-line);
  border-top: 0;
  background: var(--db-panel);
}
.db-stat { padding: 18px 16px; border-left: 1px solid var(--db-line); }
.db-stat:first-child { border-left: 0; }
.db-stat .v { font-size: 23px; font-weight: 650; letter-spacing: -0.02em; color: var(--db-txt); }
.db-stat .v small { margin-left: 3px; font-size: 12px; font-weight: 600; color: var(--db-acc); }
.db-stat .k { margin-top: 4px; font-size: 11px; letter-spacing: 0.04em; color: var(--db-dim); }

/* ── 三个市场 ─────────────────────────────────────────────────────────── */

.db-markets {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--db-line);
  border: 1px solid var(--db-line);
  border-top: 0;
}
.db-mkt { background: var(--db-panel); padding: 22px 20px 20px; }
.db-mkt h3 {
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15.5px;
  font-weight: 650;
}
.db-mkt .badge {
  font-family: var(--db-mono);
  font-size: 9.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--db-acc-dim);
  color: var(--db-acc);
  padding: 2px 5px;
}
.db-mkt .badge.pro { border-color: var(--db-line2); color: var(--db-dim); }
.db-mkt > p { margin: 6px 0 14px; color: var(--db-mut); font-size: 12.5px; line-height: 1.7; }
.db-mkt ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--db-line); }
.db-mkt li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid var(--db-line3);
  font-size: 12px;
  color: var(--db-txt2);
}
.db-mkt li:last-child { border-bottom: 0; }
.db-mkt li code { font-family: var(--db-mono); font-size: 10.5px; color: var(--db-dim); }

/* ── 数据域总表 ───────────────────────────────────────────────────────── */

.db-tscroll { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
.db-cov { width: 100%; border-collapse: collapse; }
.db-cov th {
  font-family: var(--db-mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--db-dim);
  font-weight: 400;
  text-align: left;
  padding: 11px 14px;
  border-bottom: 1px solid var(--db-line);
  background: #0a0f18;
  white-space: nowrap;
}
.db-cov td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--db-line3);
  vertical-align: top;
  font-size: 13px;
  color: var(--db-txt2);
}
.db-cov tr:hover td { background: #0b1119; }
.db-cov .nm { color: var(--db-txt); font-weight: 600; }
.db-cov .nm span { display: block; margin-top: 3px; font-weight: 400; font-size: 11.5px; color: var(--db-dim); }
.db-cov .ep { font-family: var(--db-mono); font-size: 11.5px; color: var(--db-acc); white-space: nowrap; }
.db-cov .ep span { color: var(--db-line2); }
.db-cov .sc { font-family: var(--db-mono); font-size: 11px; letter-spacing: 0.05em; color: var(--db-mut); white-space: nowrap; }

/* ── 接入方式 ─────────────────────────────────────────────────────────── */

.db-tools {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--db-line);
  border: 1px solid var(--db-line);
  border-top: 0;
}
.db-tool { position: relative; display: block; background: var(--db-panel); padding: 22px 20px 20px; transition: background 0.18s; }
.db-tool:hover { background: var(--db-panel2); }
.db-tool .n { font-family: var(--db-mono); font-size: 10px; letter-spacing: 0.13em; color: var(--db-dim); }
.db-tool h3 { margin: 12px 0 6px; font-size: 15px; font-weight: 650; color: var(--db-txt); }
.db-tool p { margin: 0; min-height: 64px; font-size: 12.5px; line-height: 1.7; color: var(--db-mut); }
.db-tool code {
  display: block;
  margin-top: 14px;
  padding: 9px 11px;
  border: 1px solid var(--db-line);
  background: #080c13;
  font-family: var(--db-mono);
  font-size: 11.5px;
  color: var(--db-txt2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.db-tool code b { color: var(--db-acc); font-weight: 400; }
.db-tool .arrow { position: absolute; right: 18px; top: 20px; color: var(--db-dim); transition: 0.18s; }
.db-tool:hover .arrow { color: var(--db-acc); transform: translateX(2px); }

/* ── 代码块 ───────────────────────────────────────────────────────────── */

.db-code { border: 1px solid var(--db-line); background: #080c13; }
.db-code .bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 14px;
  border-bottom: 1px solid var(--db-line);
  font-family: var(--db-mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  color: var(--db-dim);
}
.db-code .bar .f { color: var(--db-txt2); }
.db-code pre {
  margin: 0;
  padding: 18px 16px;
  overflow-x: auto;
  font-family: var(--db-mono);
  font-size: 12.5px;
  line-height: 1.95;
  color: var(--db-txt2);
}
.db-code .c { color: #6b788c; }
.db-code .k { color: #c08be8; }
.db-code .s { color: var(--db-acc); }
.db-code .fn { color: #6fb4f5; }
.db-code .n { color: #7fd8b4; }

/* ── 底部 CTA ─────────────────────────────────────────────────────────── */

.db-cta {
  margin: 54px 0 8px;
  padding: 32px 34px 32px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  border: 1px solid var(--db-line2);
  border-left: 2px solid var(--db-acc);
  background: radial-gradient(120% 140% at 8% 0%, #1a1508 0%, #0c1119 46%, #0a0f17 100%);
}
.db-cta h2 { margin: 0; font-size: 21px; font-weight: 650; letter-spacing: -0.02em; }
.db-cta p { margin: 8px 0 0; max-width: 34em; font-size: 13px; color: var(--db-mut); }

/* ── 页脚 ─────────────────────────────────────────────────────────────── */

footer { margin-top: 56px; }

/* ── 文档页正文版式 ───────────────────────────────────────────────────────
   接口文档正文由 docs_site/docs_render.py 生成。结构类（docs-*）由生成器给出，
   其余按元素选择器覆盖 Tailwind 工具类——`[data-docs-content] p`（0,1,1）的
   特异性高于 `.text-sm`（0,1,0），所以不需要 !important。
   目的：让「接口地址 / 请求参数 / 返回字段」这些章节有自己的层级，而不是
   全站只有 h1 与 h2 两级、且两者只差 2px。
   ────────────────────────────────────────────────────────────────────── */

[data-docs-content] { color: var(--db-txt2); }

[data-docs-content] h1 {
  font-size: 26px;
  line-height: 1.24;
  font-weight: 600;
  letter-spacing: -0.012em;
  color: var(--db-txt);
  margin: 0;
}

/* 分组标题：上方一道发丝线 + 大间距，作为二级节奏 */
[data-docs-content] h2 {
  margin: 34px 0 12px;
  padding-top: 14px;
  border-top: 1px solid var(--db-line);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--db-txt);
}

[data-docs-content] h3 {
  margin: 22px 0 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--db-txt2);
}

[data-docs-content] p { font-size: 13.5px; line-height: 1.78; }
[data-docs-content] p.text-xs { font-size: 11.5px; letter-spacing: 0.01em; color: var(--db-dim); }
[data-docs-content] li { font-size: 13.5px; line-height: 1.75; }
[data-docs-content] strong { color: var(--db-txt); font-weight: 600; }
[data-docs-content] a { color: var(--db-acc); text-decoration: none; }
[data-docs-content] a:hover { text-decoration: underline; text-underline-offset: 2px; }

/* 行内代码压成「底纹 + 常规文字色」：整页满屏琥珀反而看不出重点 */
[data-docs-content] code {
  font-family: var(--db-mono);
  font-size: 0.92em;
  padding: 1px 5px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--db-txt2);
}

[data-docs-content] .docs-pre code,
[data-docs-content] .docs-endpoint code { background: none; padding: 0; font-size: 12.5px; }

/* 表格里的字段名不加底纹：密集表格里满屏小灰块反而更难扫读 */
[data-docs-content] .docs-table code { background: none; padding: 0; }

/* 字段名 / 参数名保留琥珀色（上面的 code 规则会把颜色统一成常规文字色） */
[data-docs-content] code.text-accent { color: var(--db-acc); }

/* 接口地址条：左缘一道琥珀竖线，比整块底纹更像「规格行」 */
.docs-endpoint {
  border: 1px solid var(--db-line);
  border-left: 2px solid var(--db-acc-dim);
  background: var(--db-bg2);
}

.docs-endpoint code { color: var(--db-txt); }
.docs-endpoint .text-xs { font-size: 11.5px; color: var(--db-dim); }
.docs-endpoint .text-xs code { color: var(--db-mut); background: none; padding: 0; }

/* 参数表 / 字段表：去卡片边框，改上下横线 + 行间发丝线 */
.docs-table {
  margin: 0 0 20px;
  border-top: 1px solid var(--db-line2);
  border-bottom: 1px solid var(--db-line2);
}

.docs-thead {
  background: transparent;
  border-bottom: 1px solid var(--db-line2);
  font-family: var(--db-mono);
  font-size: 10.5px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--db-mut);   /* 用 dim 在这个字号下几乎读不出来 */
}

.docs-tbody > div { border-top: 1px solid var(--db-line3); }
.docs-tbody > div:first-child { border-top: 0; }
.docs-tbody > div:hover { background: rgba(255, 255, 255, 0.018); }

.docs-itab table { font-size: 12.5px; color: var(--db-txt2); }
.docs-itab tbody tr { border-top: 1px solid var(--db-line3); }
.docs-itab tbody tr:hover { background: rgba(255, 255, 255, 0.018); }
.docs-itab td { font-size: 12.5px; }

/* 类型 / 位置 / 必填等徽标：描边 + 提亮文字，不用灰底灰字 */
.docs-pill {
  font-family: var(--db-mono);
  font-size: 10.5px;
  line-height: 1.55;
  padding: 1px 6px;
  border-radius: 2px;
  border: 1px solid var(--db-line2);
  background: rgba(255, 255, 255, 0.04);
  color: var(--db-txt2);
}

.docs-pill.is-muted {
  border-color: var(--db-line);
  background: transparent;
  color: var(--db-mut);
}

.docs-pill.is-accent {
  border-color: rgba(233, 182, 70, 0.3);
  background: rgba(233, 182, 70, 0.08);
  color: var(--db-acc);
}

/* 表格正文字号统一到 12.5px（原来是 text-xs 12px，字段名再被 code 缩到 11px） */
[data-docs-content] .docs-table code { font-size: 12.5px; }
[data-docs-content] .docs-table .text-zinc-400 { color: var(--db-txt2); }

/* 代码块卡片 */
.docs-card { border: 1px solid var(--db-line); border-radius: 2px; background: var(--db-bg2); }
.docs-card-hd { padding: 6px 14px; border-bottom: 1px solid var(--db-line); }

.docs-card-label {
  font-family: var(--db-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--db-mut);
}

.docs-pre {
  margin: 0;
  padding: 13px 14px;
  font-family: var(--db-mono);
  font-size: 12.5px;
  line-height: 1.72;
  color: var(--db-txt2);
  background: transparent;
}

/* 左侧菜单：分组标签用等宽小字，条目收紧一档，跟正文密度对齐 */
.docs-nav-group {
  font-family: var(--db-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--db-dim);
}

.docs-nav-link { font-size: 12.5px; }

.docs-nav-link .docs-method {
  font-family: var(--db-mono);
  font-size: 9px;
  letter-spacing: 0.04em;
  border: 1px solid rgba(233, 182, 70, 0.28);
  background: rgba(233, 182, 70, 0.1);
  color: var(--db-acc);
  padding: 0 3px;
  border-radius: 2px;
}

/* ── 响应式 ───────────────────────────────────────────────────────────── */

@media (max-width: 1000px) {
  .db-hero { grid-template-columns: 1fr; gap: 34px; padding: 44px 0 40px; }
  /* 辉光原本左右各外扩 100px，窄屏上这部分会算进 scrollWidth，把整页顶宽
     撑出横向滚动条。单列布局里外扩也看不出来，直接归零。 */
  .db-hero::before { inset: -30px 0 -20px 0; }
  .db-ticker .db-wrap { grid-template-columns: repeat(2, 1fr); }
  .db-ticker .cell:nth-child(2n + 1) { border-left: 0; padding-left: 0; }
  .db-ticker .cell:first-child { padding-left: 0; }
  .db-stats { grid-template-columns: repeat(2, 1fr); }
  .db-stat:nth-child(2n + 1) { border-left: 0; }
  .db-markets,
  .db-tools { grid-template-columns: 1fr; }
  .db-sec-hd { flex-direction: column; align-items: flex-start; gap: 8px; }
  .db-sec-hd p { text-align: left; max-width: none; }
}

@media (max-width: 640px) {
  .db-h1 { font-size: 31px; }
  .db-lead { font-size: 14.5px; }
  .db-stats { grid-template-columns: 1fr 1fr; }
  .db-cta { padding: 24px 22px; }
  .db-cta h2 { font-size: 18px; }
  .db-cov { min-width: 620px; }
  .site-brand > span { display: none; }
}
