/* =====================================================================
   VKINGING 主题 — Doxygen 1.9.8 覆盖层 (HTML_EXTRA_STYLESHEET)
   品牌色：青绿 #0E7C7B。加载在 doxygen.css 之后，覆盖其配色与组件样式。
   ===================================================================== */

/* ---------- 原有：参数表（改用 VKINGING 配色）---------- */
.doxygen-param-table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0;
  font-size: 14px;
  line-height: 1.55;
  box-shadow: 0 1px 3px rgba(16, 40, 46, .05);
  border-radius: 8px;
  overflow: hidden;
}
.doxygen-param-table th {
  background-color: #E6F2F2;
  padding: 11px 15px;
  text-align: left;
  border-bottom: 2px solid #0E7C7B;
  font-weight: 600;
  color: #0A5C5B;
}
.doxygen-param-table td {
  padding: 11px 15px;
  border-bottom: 1px solid #E3E9EB;
  vertical-align: top;
  color: #15262B;
}
.doxygen-param-table tr:nth-child(even) td { background-color: #FAFCFC; }
.doxygen-param-table tr:hover td { background-color: #E6F2F2; transition: background-color .15s ease; }
.doxygen-param-table code {
  background-color: #F2F5F6;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;
  border: 1px solid #E3E9EB;
  font-size: .9em;
  color: #b3306f;
}

/* =====================================================================
   1. 重定义 Doxygen 颜色变量（高效整体换肤）
   ===================================================================== */
:root {
  --primary-color: #0E7C7B;
  --primary-dark-color: #0A5C5B;
  --primary-light-color: #E6F2F2;
  --primary-lighter-color: #F0F7F7;
  --primary-lightest-color: #F7FAFA;

  --secondary-color: #41545B;
  --secondary-dark-color: #15262B;
  --secondary-light-color: #7A8A90;

  --page-background-color: #FFFFFF;
  --page-foreground-color: #15262B;
  --page-secondary-foreground-color: #41545B;
  --page-link-color: #0A5C5B;
  --page-link-visited-color: #0A5C5B;

  --separator-color: #E3E9EB;
  --side-nav-background: #FFFFFF;
  --side-nav-foreground: #41545B;
  --side-nav-arrow-color: #7A8A90;

  --header-background: #FFFFFF;
  --header-foreground: #15262B;
  --nav-gradient-color: #FFFFFF;
}

html, body {
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, "PingFang SC",
    "Microsoft YaHei", Roboto, Helvetica, Arial, sans-serif !important;
  color: #15262B;
  background: #FFFFFF;
}

/* =====================================================================
   2. 顶部 header（NI 式全宽）— FULL_SIDEBAR=NO 下 titlearea 横跨顶部
   projectrow = [logo] [项目名+副标题] [搜索框]，单行布局
   ===================================================================== */
#top {
  background: #FFFFFF !important;
  border-bottom: 1px solid #E3E9EB !important;
  box-shadow: 0 1px 3px rgba(16, 40, 46, .04);
}
#titlearea {
  width: 100% !important;
  height: 60px !important;
  padding: 0 28px !important;
  margin: 0 !important;
  border: none !important;
  position: relative !important;
}
#titlearea table { width: 100%; height: 60px; border-spacing: 0; }
#titlearea tbody, #titlearea tr { height: 60px; }
#titlearea td { vertical-align: middle; }
#projectlogo { width: 1%; white-space: nowrap; padding: 0 10px 0 0 !important; }
#projectlogo img { height: 36px; width: auto; vertical-align: middle; }
#projectalign { padding: 0 !important; vertical-align: middle !important; }
#projectname {
  color: #0A5C5B !important;
  font-weight: 700 !important;
  font-size: 19px !important;
  letter-spacing: .4px;
  margin: 0 !important;
  line-height: 1.2;
}
#projectname a { color: inherit !important; }
#projectbrief {
  color: #7A8A90 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin: 2px 0 0 !important;
}
/* 搜索框水平居中 header（绝对定位脱离 table 靠右布局） */
#projectrow > td:last-child {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: auto !important;
  padding: 0 !important;
}
#main-nav { box-shadow: none !important; }

/* =====================================================================
   3. 左侧导航树
   ===================================================================== */
#side-nav {
  background: #FFFFFF !important;
  border-right: 1px solid #E3E9EB !important;
}
#nav-tree {
  background: transparent !important;
  padding: 12px 6px 60px !important;
}
#nav-tree .label, #nav-tree .item {
  font-family: inherit !important;
  font-size: 13.5px;
  color: #41545B;
}
#nav-tree .item { padding: 5px 10px; border-radius: 6px; margin: 1px 4px; }
#nav-tree .item:hover { background: #F0F7F7; }
#nav-tree .selected > .item,
#nav-tree .selected {
  background: #E6F2F2 !important;
  color: #0A5C5B !important;
  font-weight: 600;
  border-left: 3px solid #0E7C7B;
}
#nav-tree .selected .label { color: #0A5C5B !important; }
#nav-tree a { color: #41545B !important; }
#nav-tree a:hover { color: #0A5C5B !important; }
#nav-sync { top: 14px !important; right: 8px; }
#nav-tree .arrow { color: #7A8A90; }

/* =====================================================================
   4. 主内容 / 标题 / 链接
   ===================================================================== */
#doc-content { padding-top: 8px; }
.header { border-bottom: none !important; }
.header .headertitle .title,
div.header .title {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #15262B !important;
  letter-spacing: -.005em;
  padding-bottom: 9px;
  border-bottom: 1px solid #E3E9EB;
  margin-bottom: 4px;
}
.contents { padding: 6px 0 0 !important; }
.contents a, a.el, a.code, a.codeRef, a.memberdecls_link {
  color: #0A5C5B !important;
  text-decoration: none;
}
.contents a:hover, a.el:hover { text-decoration: underline; }
.textblock { line-height: 1.68 !important; color: #15262B; }
.textblock h1 { font-size: 24px; color: #15262B; border-bottom: 1px solid #E3E9EB; padding-bottom: 8px; }
.textblock h2 { font-size: 20px; color: #15262B; margin-top: 28px; }
.textblock h3 { font-size: 16px; color: #41545B; }
.textblock p, .textblock li { color: #15262B; }
.textblock strong { color: #0A5C5B; }

/* =====================================================================
   5. 函数 / 成员卡片（详情块 div.memitem）
   ===================================================================== */
.memitem {
  border: 1px solid #E3E9EB !important;
  border-radius: 0 0 10px 10px !important;
  margin: 0 0 18px !important;
  box-shadow: 0 1px 3px rgba(16, 40, 46, .05) !important;
  background: #FFFFFF !important;
  overflow: hidden;
}
/* memtitle 是 <h2>，位于 .memitem 之外（其前）；二者边框合并成一张连贯卡片 */
.memtitle {
  background: #E6F2F2 !important;
  background-image: none !important;
  color: #0A5C5B !important;
  border: 1px solid #E3E9EB !important;
  border-bottom: none !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  padding: 9px 16px !important;
  margin: 18px 0 0 0 !important;
  border-top-left-radius: 10px !important;
  border-top-right-radius: 10px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.memproto, dl.reflist dt {
  background: #F6F9FA !important;
  background-image: none !important;
  border: none !important;
  border-bottom: 1px solid #E3E9EB !important;
  padding: 12px 16px !important;
  color: #15262B !important;
  font-weight: 600;
}
.memproto a { color: #0A5C5B !important; }
.memdoc { padding: 10px 16px 16px !important; }
.memdoc dl, .memdoc p { color: #15262B; }
.memTemplParams {
  background: #F6F9FA !important;
  color: #41545B !important;
  border-bottom: 1px solid #E3E9EB !important;
}

/* =====================================================================
   6. 表格
   - 列表型(memberdecls / directory / fieldtable)：保持 Doxygen 清爽列表风格，
     仅统一配色与轻量 hover；不加边框/阴影/圆角/斑马纹。
   - 正文数据表(参数表/规格表等 .textblock / .memdoc / markdownTable)：才加边框。
   ===================================================================== */
table.memberdecls, table.directory, table.fieldtable {
  border-spacing: 0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 10px 0;
}
.memberdecls td, .memberdecls th,
table.directory td, table.directory th,
.fieldtable td, .fieldtable th {
  border: none !important;
  padding: 4px 8px;
}
/* 列表项浅底统一为 VKINGING 浅色（覆盖 doxygen 默认 #F9FAFC） */
.mdescLeft, .mdescRight, .memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
  background-color: #F0F7F7 !important;
  font-family: ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;
}
.memSeparator { border-bottom-color: #E3E9EB !important; }
.memberdecls tr:hover td,
.directory tr:hover td { background-color: #E6F2F2 !important; }
/* 分组标题 */
.memberdecls .heading, .groupheader, h2.groupheader {
  color: #0A5C5B !important;
  border-bottom: 1px solid #E3E9EB !important;
  font-weight: 700 !important;
}

/* —— 正文数据表：带边框、圆角、斑马纹、悬停（排除 doxygen-param-table，它有专属样式）—— */
.textblock table:not(.doxygen-param-table), .memdoc table:not(.doxygen-param-table), table.markdownTable {
  border-collapse: collapse !important;
  margin: 14px 0;
  font-size: 14px;
  box-shadow: 0 1px 3px rgba(16, 40, 46, .05);
  border-radius: 8px;
  overflow: hidden;
}
.textblock table:not(.doxygen-param-table) th, .memdoc table:not(.doxygen-param-table) th, table.markdownTable th {
  background: #F6F9FA !important;
  color: #15262B !important;
  font-weight: 600;
  border: 1px solid #E3E9EB !important;
  padding: 9px 13px;
  text-align: left;
}
.textblock table:not(.doxygen-param-table) td, .memdoc table:not(.doxygen-param-table) td, table.markdownTable td {
  border: 1px solid #E3E9EB !important;
  padding: 8px 13px;
  color: #15262B;
  vertical-align: top;
}
.textblock table:not(.doxygen-param-table) tbody tr:nth-child(even),
.memdoc table:not(.doxygen-param-table) tbody tr:nth-child(even),
table.markdownTable tbody tr:nth-child(even) { background: #FAFCFC; }
.textblock table:not(.doxygen-param-table) tbody tr:hover,
.memdoc table:not(.doxygen-param-table) tbody tr:hover,
table.markdownTable tbody tr:hover { background: #E6F2F2 !important; }

/* =====================================================================
   7. 代码块（浅色，保留 Doxygen token 着色可读性）
   ===================================================================== */
pre.fragment, div.fragment {
  background: #F2F5F6 !important;
  border: 1px solid #E3E9EB !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  font-family: ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  overflow-x: auto;
}
.fragment .line { color: #15262B; }
code, span.code {
  font-family: ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace !important;
  background: #F2F5F6;
  border: 1px solid #E3E9EB;
  padding: 1px 5px;
  border-radius: 4px;
  font-size: .9em;
  color: #b3306f;
}
span.keyword { color: #0A5C5B; font-weight: 600; }
span.keywordtype { color: #8B5A00; }
span.comment { color: #7A8A90; font-style: italic; }
span.stringliteral { color: #1E7A47; }
span.numberliteral { color: #E8821E; }

/* =====================================================================
   8. Admonitions（注意/警告/参见/段落）
   ===================================================================== */
dl.note, dl.warning, dl.see, dl.section, dl.retval, dl.params, dl.todo, dl.deprecated,
dl.bug, dl.invariant, dl.remark, dl.throws, dl.exception {
  border-radius: 8px !important;
  padding: 10px 14px 10px 16px !important;
  margin: 14px 0 !important;
  border: 1px solid !important;
  border-left-width: 4px !important;
}
dl.note dt, dl.warning dt, dl.see dt, dl.section dt, dl.retval dt, dl.params dt,
dl.todo dt, dl.deprecated dt {
  font-weight: 700;
  padding: 0 !important;
  margin-bottom: 2px;
}
dl.note { background: #EAF3FB !important; border-color: #BCD7EE !important; color: #0d3f63; }
dl.note dt { color: #155A8A; }
dl.warning { background: #FBEAE8 !important; border-color: #F2BDB6 !important; color: #7d1d14; }
dl.warning dt { color: #B53023; }
dl.see, dl.remark { background: #E8F6EE !important; border-color: #B7E2C8 !important; color: #134d2e; }
dl.see dt, dl.remark dt { color: #1E7A47; }
dl.section { background: #F6F9FA !important; border-color: #E3E9EB !important; color: #15262B; }
dl.section dt { color: #0A5C5B; }
dl.todo { background: #FBF1E0 !important; border-color: #F0D9A8 !important; color: #6e3f00; }
dl.todo dt { color: #A86200; }
dl.deprecated { background: #FBEAE8 !important; border-color: #F2BDB6 !important; color: #7d1d14; }

/* =====================================================================
   9. 顶部搜索框（NI 式统一容器：图标+输入+关闭 融为一体）
   覆盖 search/search.css 默认的凹陷内阴影与拼接样式
   ===================================================================== */
#MSearchBox {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  background: #F6F9FA !important;
  border: 1px solid #E3E9EB !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: 36px;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
#MSearchBox:focus-within {
  border-color: #0E7C7B !important;
  box-shadow: 0 0 0 3px rgba(14, 124, 123, .15) !important;
  background: #FFFFFF !important;
}
#MSearchBox .left {
  display: inline-flex !important;
  align-items: center;
  height: 36px;
  padding-left: 10px;
  vertical-align: middle !important;
}
#MSearchSelect {
  width: 15px !important;
  height: 15px !important;
  margin: 0 6px 0 0 !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
#MSearchField {
  border: none !important;
  background: none !important;
  outline: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 36px !important;
  width: 9em;
  margin: 0 !important;
  padding: 0 6px !important;
  color: #15262B !important;
  font-family: inherit !important;
  font-size: 14px;
  vertical-align: middle !important;
}
.MSearchBoxInactive #MSearchField { color: #7A8A90 !important; }
.MSearchBoxActive #MSearchField { color: #15262B !important; }
#MSearchBox .right {
  display: inline-flex !important;
  align-items: center;
  height: 36px;
  padding-right: 8px;
  vertical-align: middle !important;
}
#MSearchCloseImg { width: 13px; height: 13px; padding: 0 !important; margin: 0 !important; opacity: .55; }

/* 搜索结果弹窗 */
#MSearchResultsWindow {
  border-radius: 10px !important;
  border: 1px solid #E3E9EB !important;
  background: #FFFFFF !important;
  box-shadow: 0 12px 32px rgba(16, 40, 46, .16) !important;
}
#MSearchSelectWindow {
  border-radius: 8px !important;
  border-color: #E3E9EB !important;
  box-shadow: 0 6px 18px rgba(16, 40, 46, .12) !important;
}
a.SelectItem:hover { background-color: #0E7C7B !important; color: #fff !important; }
.SRSymbol { color: #0A5C5B !important; }
.SRResult a { color: #0A5C5B !important; }

/* =====================================================================
   9b. 搜索下拉结果（VKINGING 客户端子串搜索）
   ===================================================================== */
.vk-search-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 240px;
  max-width: 80vw;
  max-height: 360px;
  overflow-y: auto;
  background: #FFFFFF;
  border: 1px solid #E3E9EB;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(16, 40, 46, .16);
  z-index: 1000;
  padding: 6px;
}
.vk-search-item {
  display: block;
  padding: 9px 12px;
  border-radius: 7px;
  text-decoration: none !important;
  color: #15262B !important;
  font-size: 14px;
  line-height: 1.4;
}
.vk-search-item:hover { background: #E6F2F2; }
.vk-search-item:hover .vk-search-title { color: #0A5C5B; }
.vk-search-title { font-weight: 500; }
.vk-search-empty { padding: 16px; color: #7A8A90; font-size: 13px; text-align: center; }

/* =====================================================================
   10. 图片 / 说明 / 分隔
   ===================================================================== */
.image { text-align: center; margin: 16px 0; }
.image img, .caption img {
  border: 1px solid #E3E9EB;
  border-radius: 8px;
  max-width: 100%;
}
.caption { font-size: 13px; color: #7A8A90; margin-top: 6px; }
hr, .separator { border: 0; border-top: 1px solid #E3E9EB; margin: 22px 0; }

/* =====================================================================
   11. 页脚
   ===================================================================== */
.vk-dox-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  justify-content: space-between;
  padding: 16px 0 0;
  margin-top: 24px;
  border-top: 1px solid #E3E9EB;
  color: #7A8A90;
  font-size: 13px;
}
.vk-dox-footer a { color: #0A5C5B; text-decoration: none; }
address.footer, .footer {
  color: #7A8A90 !important;
  font-size: 12px !important;
  padding-top: 12px !important;
}

/* =====================================================================
   12. 面包屑 / 目录
   ===================================================================== */
.navpath {
  background: #F6F9FA !important;
  border-bottom: 1px solid #E3E9EB !important;
  padding: 6px 14px !important;
  font-size: 13px;
  color: #7A8A90;
}
.navpath a { color: #0A5C5B !important; }
.letter { font-weight: 700; color: #0A5C5B; }

/* =====================================================================
   13. 响应式
   ===================================================================== */
@media (max-width: 760px) {
  #titlearea { padding: 8px 14px !important; }
  #projectname { font-size: 16px !important; }
  .header .headertitle .title { font-size: 22px !important; }
}
