/* ============================================
   Bitseek Modern Theme — 偏向图 2 仪表板风格
   主色: 橙色 #F26B3A  背景: #F7F8FA  卡片: #FFF
   ============================================ */

/* ---------- CSS 变量 ---------- */
:root {
  --accent: #F26B3A;
  --accent-light: #FFF0EB;
  --accent-hover: #E05A2B;
  --bg: #F7F8FA;
  --sidebar-bg: #FFFFFF;
  --card-bg: #FFFFFF;
  --text-primary: #1A1A2E;
  --text-secondary: #6B7280;
  --text-muted: #9CA3AF;
  --border: #E5E7EB;
  --border-light: #F3F4F6;
  --code-bg: #F9FAFB;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.06);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.08);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC',
    'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial,
    sans-serif;
  --font-mono: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono', Menlo,
    Consolas, monospace;
}

/* ---------- 隐藏 HonKit 水印 ---------- */
.gitbook-footer,
.gitbook-link {
  display: none !important;
}

/* ---------- 隐藏字体/主题切换按钮 ---------- */
.book-header .btn.js-toolbar-action[aria-label="Font Settings"],
.book-header .font-settings,
.book-header .pull-right .btn:has(.fa-font),
.book-header .pull-right .btn:has(.fa-paint-brush),
a.btn[aria-label="Font Settings"] {
  display: none !important;
}
/* fontsettings 插件的下拉面板 */
.font-settings,
.dropdown-menu.font-settings {
  display: none !important;
}

/* ---------- 全局基础 ---------- */
body, html {
  background: var(--bg) !important;
  font-family: var(--font-sans) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---------- 侧边栏 ---------- */
.book-summary {
  background: var(--sidebar-bg) !important;
  border-right: 1px solid var(--border) !important;
  box-shadow: var(--shadow-sm);
  width: 280px !important;
  padding-top: 10px;
}

/* 侧边栏搜索框 */
#book-search-input {
  margin: 8px 16px 12px !important;
  padding: 0 !important;
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  background: transparent !important;
}

#book-search-input input {
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  color: var(--text-primary) !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}

#book-search-input input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-light) !important;
}

/* 侧边栏导航列表 */
.book-summary ul.summary {
  padding: 0 8px !important;
}

.book-summary ul.summary li a,
.book-summary ul.summary li span {
  color: var(--text-secondary) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 8px 16px !important;
  border-radius: var(--radius-sm) !important;
  margin: 1px 0 !important;
  transition: all 0.15s ease;
  border-bottom: none !important;
}

/* ===== 侧边栏分组标题（### 标记）===== */
.book-summary ul.summary li.header {
  color: var(--text-primary) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 20px 16px 8px !important;
  margin-top: 4px !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* 分组标题前图标 */
.book-summary ul.summary li.header::before {
  font-family: FontAwesome !important;
  font-weight: normal;
  font-style: normal;
  font-size: 14px;
  color: var(--accent);
}

/* WebSocket Gateway 图标 — plug */
.book-summary ul.summary li.header:nth-of-type(1)::before {
  content: "\f1e6";
}

/* HTTPS SSE 图标 — bolt */
.book-summary ul.summary li.header:nth-of-type(2)::before {
  content: "\f0e7";
}

/* ===== 侧边栏分割线 ===== */
.book-summary ul.summary li.divider {
  background: var(--border) !important;
  height: 1px !important;
  margin: 12px 16px !important;
  opacity: 0.6;
}

.book-summary ul.summary li a:hover {
  background: var(--accent-light) !important;
  color: var(--accent) !important;
  text-decoration: none !important;
}

.book-summary ul.summary li.active > a {
  background: var(--accent-light) !important;
  color: var(--accent) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* 子菜单缩进 */
.book-summary ul.summary li ul {
  padding-left: 12px !important;
}

/* ---------- 主体区域 ---------- */
.book-body {
  background: var(--bg) !important;
}

.book-body .body-inner {
  background: var(--bg) !important;
}

/* 主内容与侧边栏间距 */
@media screen and (min-width: 600px) {
  .book.with-summary .book-body {
    left: 280px !important;
  }
}

/* ---------- 页面内容卡片化 ---------- */
.page-wrapper {
  padding: 24px !important;
}

.page-inner {
  max-width: 900px !important;
  margin: 0 auto !important;
  background: var(--card-bg) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  padding: 40px 48px 48px !important;
  border: 1px solid var(--border-light);
}

/* ---------- 顶部导航栏 ---------- */
.book-header {
  background: transparent !important;
  border-bottom: none !important;
  height: 56px !important;
  padding: 0 24px !important;
}

.book-header .btn {
  color: var(--text-muted) !important;
  height: 56px !important;
  line-height: 56px !important;
  border-radius: var(--radius-sm) !important;
  transition: all 0.15s;
}

.book-header .btn:hover {
  color: var(--accent) !important;
  background: var(--accent-light) !important;
}

/* ---------- Markdown 内容排版 ---------- */
.markdown-section {
  color: var(--text-primary) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* 标题样式 */
.markdown-section h1 {
  font-size: 1.9em !important;
  font-weight: 800 !important;
  color: var(--text-primary) !important;
  margin-top: 0 !important;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--accent-light);
}

.markdown-section h2 {
  font-size: 1.5em !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  margin-top: 2em !important;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-light);
}

.markdown-section h3 {
  font-size: 1.25em !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
}

.markdown-section h4,
.markdown-section h5,
.markdown-section h6 {
  font-weight: 600 !important;
  color: var(--text-secondary) !important;
}

/* 链接 */
.markdown-section a {
  color: var(--accent) !important;
  font-weight: 500;
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s;
}

.markdown-section a:hover {
  color: var(--accent-hover) !important;
  border-bottom-color: var(--accent-hover);
  text-decoration: none !important;
}

/* 行内代码 */
.markdown-section code {
  background: var(--accent-light) !important;
  color: var(--accent) !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  font-family: var(--font-mono) !important;
  font-size: 0.85em !important;
  font-weight: 500;
  border: none !important;
}

.markdown-section code::before,
.markdown-section code::after {
  content: none !important;
}

/* 代码块 */
.markdown-section pre {
  background: #1A1A2E !important;
  color: #E5E7EB !important;
  border-radius: var(--radius-md) !important;
  padding: 20px 24px !important;
  margin: 16px 0 !important;
  border: none !important;
  box-shadow: var(--shadow-sm);
  overflow-x: auto;
}

.markdown-section pre > code {
  background: transparent !important;
  color: #E5E7EB !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 0.85em !important;
  line-height: 1.7;
}

/* 表格 */
.markdown-section table {
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
  border: 1px solid var(--border) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 16px 0 !important;
}

.markdown-section table th {
  background: var(--bg) !important;
  color: var(--text-primary) !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  border: none !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.markdown-section table td {
  padding: 12px 16px !important;
  border: none !important;
  border-bottom: 1px solid var(--border-light) !important;
  color: var(--text-secondary);
}

.markdown-section table tr:last-child td {
  border-bottom: none !important;
}

.markdown-section table tr:nth-child(2n) {
  background: var(--bg) !important;
}

.markdown-section table tr:hover {
  background: var(--accent-light) !important;
}

/* 列表 */
.markdown-section ul li,
.markdown-section ol li {
  margin-bottom: 6px;
}

.markdown-section ul li::marker {
  color: var(--accent);
}

/* 引用块 */
.markdown-section blockquote {
  border-left: 4px solid var(--accent) !important;
  background: var(--accent-light) !important;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
  padding: 12px 20px !important;
  margin: 16px 0 !important;
  color: var(--text-secondary) !important;
}

/* 水平分割线 */
.markdown-section hr {
  border: none !important;
  height: 1px !important;
  background: var(--border-light) !important;
  margin: 2em 0 !important;
}

/* ---------- 翻页导航 ---------- */
.navigation {
  color: var(--text-muted) !important;
  font-size: 36px !important;
}

.navigation:hover {
  color: var(--accent) !important;
}

/* 底部翻页按钮（移动端） */
@media screen and (max-width: 1240px) {
  .navigation {
    background: var(--card-bg) !important;
    border-radius: var(--radius-md) !important;
    margin: 12px 4px !important;
    box-shadow: var(--shadow-sm);
    padding: 12px 0 !important;
  }
}

/* ---------- 下拉菜单 ---------- */
.dropdown-menu {
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-lg) !important;
  overflow: hidden;
}

.dropdown-menu .buttons .button:hover {
  color: var(--accent) !important;
  background: var(--accent-light) !important;
}

/* ---------- 搜索结果 ---------- */
#book-search-results .search-results .has-results .search-results-item {
  padding: 16px !important;
  border-radius: var(--radius-sm) !important;
  margin-bottom: 8px;
  border: 1px solid var(--border-light);
  transition: box-shadow 0.15s;
}

#book-search-results .search-results .has-results .search-results-item:hover {
  box-shadow: var(--shadow-md);
}

/* ---------- 字体设置面板 ---------- */
.dropdown-menu .buttons {
  border-color: var(--border-light) !important;
}

.dropdown-menu .buttons .button {
  color: var(--text-muted) !important;
}

.dropdown-menu .buttons .button.active {
  color: var(--accent) !important;
}

/* ---------- 滚动条美化 ---------- */
.book-summary::-webkit-scrollbar,
.book-body .body-inner::-webkit-scrollbar {
  width: 6px;
}

.book-summary::-webkit-scrollbar-track,
.book-body .body-inner::-webkit-scrollbar-track {
  background: transparent;
}

.book-summary::-webkit-scrollbar-thumb,
.book-body .body-inner::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 3px;
}

.book-summary::-webkit-scrollbar-thumb:hover,
.book-body .body-inner::-webkit-scrollbar-thumb:hover {
  background: var(--text-muted);
}

/* ---------- 响应式优化 ---------- */
@media screen and (max-width: 600px) {
  .page-inner {
    padding: 24px 20px 32px !important;
    border-radius: var(--radius-md) !important;
    margin: 0 8px !important;
  }

  .page-wrapper {
    padding: 12px !important;
  }

  .book-summary {
    width: calc(100% - 60px) !important;
    box-shadow: var(--shadow-lg) !important;
  }
}

/* ---------- 高亮代码块主题优化 ---------- */
.hljs {
  background: #1A1A2E !important;
  color: #E5E7EB !important;
}

.hljs-keyword { color: #C792EA !important; }
.hljs-string { color: #C3E88D !important; }
.hljs-number { color: #F78C6C !important; }
.hljs-comment { color: #6B7280 !important; font-style: italic; }
.hljs-function { color: #82AAFF !important; }
.hljs-title { color: #82AAFF !important; }
.hljs-params { color: #E5E7EB !important; }
.hljs-built_in { color: #FFCB6B !important; }
.hljs-literal { color: #F78C6C !important; }
.hljs-attr { color: #FFCB6B !important; }
.hljs-selector-class { color: #FFCB6B !important; }
.hljs-selector-id { color: #82AAFF !important; }
.hljs-attribute { color: #C792EA !important; }

/* ---------- 打印优化 ---------- */
@media print {
  .page-inner {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
}
