/* =====================================================
   自定义样式 · Custom Styles
   目标：宽幅、优美字体、舒适排版
   ===================================================== */

/* ===== 宽幅布局 Wide Layout ===== */

/* 大屏（≥1200px）：1320px */
@media (min-width: 1200px) {
  .container {
    max-width: 1320px;
  }
}

/* 超大屏（≥1440px）：1440px */
@media (min-width: 1440px) {
  .container {
    max-width: 1440px;
  }
}

/* ===== 字体 Fonts ===== */

html,
body {
  font-family: 'LXGW WenKai Screen', 'PingFang SC', 'Hiragino Sans GB',
    'Microsoft YaHei', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 等宽字体：代码、键盘、预格式化 */
code,
kbd,
pre,
.highlight,
.code-area,
.markdown-body code,
.markdown-body pre {
  font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code',
    'Source Code Pro', ui-monospace, monospace !important;
}

/* ===== 文章正文排版 Post Typography ===== */

.markdown-body {
  line-height: 1.95;
  font-size: 1.0625rem;
  word-break: break-word;
}

.markdown-body p {
  margin-bottom: 1.4em;
}

/* 段落首行缩进（中文习惯，可选） */
/* .markdown-body p { text-indent: 2em; } */

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  letter-spacing: 0.04em;
  line-height: 1.45;
  font-weight: 700;
  margin-top: 2.2em;
  margin-bottom: 0.9em;
}

/* h2 加下划线分隔，视觉层次更清晰 */
.markdown-body h2 {
  border-bottom: 2px solid var(--line-color);
  padding-bottom: 0.4em;
}

/* 引用块 */
.markdown-body blockquote {
  border-left: 4px solid var(--post-link-color);
  margin: 1.6em 0;
  padding: 0.8em 1.2em;
  border-radius: 0 8px 8px 0;
  color: var(--sec-text-color);
  background: color-mix(in srgb, var(--post-link-color) 5%, transparent);
}

.markdown-body blockquote p {
  margin-bottom: 0;
}

/* 水平线 */
.markdown-body hr {
  border: none;
  border-top: 1px solid var(--line-color);
  margin: 2.5em 0;
}

/* 表格 */
.markdown-body table {
  font-size: 0.9375rem;
  width: 100%;
  border-collapse: collapse;
  border-radius: 8px;
  overflow: hidden;
}

.markdown-body th,
.markdown-body td {
  padding: 0.65em 1em;
}

/* 列表 */
.markdown-body ul,
.markdown-body ol {
  padding-left: 1.6em;
}

.markdown-body li {
  margin-bottom: 0.3em;
  line-height: 1.85;
}

/* 图片 */
.markdown-body img {
  border-radius: 8px;
  display: block;
  margin: 1.5em auto;
}

/* ===== 看板 / 内容卡片 Board ===== */

#board {
  border-radius: 14px;
  margin-top: 0 !important;
  padding-top: 2rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05),
              0 4px 20px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}

/* ===== 文章卡片 Post Cards ===== */

.card {
  border-radius: 10px;
  transition: box-shadow 0.22s ease;
}

.card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
}

/* ===== 导航栏 Navbar ===== */

.navbar-brand {
  letter-spacing: 0.06em;
  font-weight: 600;
}

/* ===== 滚动条 Scrollbar ===== */

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
}

/* ===== 行内代码 Inline Code ===== */

.markdown-body :not(pre) > code {
  padding: 0.18em 0.45em;
  border-radius: 5px;
  font-size: 0.875em;
}

/* ===== 外链图标间距 ===== */

.post-meta .iconfont {
  margin-right: 0.2em;
}

/* ===== 两栏布局：左目录 20% + 右文章 80% Two-Column Layout ===== */

@media (min-width: 992px) {
  .container-fluid.nopadding-x > .row.nomargin-x > .side-col:last-child {
    display: none !important;
  }

  .container-fluid.nopadding-x > .row.nomargin-x > .side-col:first-child {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .container-fluid.nopadding-x > .row.nomargin-x > .col-lg-8 {
    flex: 0 0 80%;
    max-width: 80%;
  }
}

/* ===== TOC 目录样式优化 ===== */

.toc-header {
  font-size: 0.85rem !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sec-text-color);
  border-bottom: 1px solid var(--line-color);
  padding-bottom: 0.5rem;
  margin-bottom: 0.8rem !important;
}

.tocbot-list a {
  font-size: 0.875rem !important;
  line-height: 1.5;
}

.tocbot-list ol a {
  font-size: 0.8125rem !important;
  color: var(--sec-text-color);
}

.tocbot-active-link {
  color: var(--post-link-color) !important;
  font-weight: 600;
}

.toc-list-item::before {
  background: var(--post-link-color) !important;
}

.toc-body::-webkit-scrollbar {
  display: none;
}

.sidebar {
  padding-top: 2rem !important;
  padding-right: 1.2rem;
}

.toc-list-item {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  -webkit-line-clamp: unset !important;
  padding: 0.1rem 0;
}

.toc-list-item > a {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.toc-list-item > ol {
  flex: 0 0 100%;
}

/* ===== 页脚 Footer ===== */

#footer {
  font-size: 0.875rem;
  letter-spacing: 0.02em;
}

/* ===== 深色模式微调 Dark Mode ===== */

html[data-user-color-scheme='dark'] #board {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25),
              0 4px 20px rgba(0, 0, 0, 0.30);
}

html[data-user-color-scheme='dark'] .card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}

html[data-user-color-scheme='dark'] .markdown-body blockquote {
  background: color-mix(in srgb, var(--post-link-color) 8%, transparent);
}
