/* ============================================
   bogosort的书房 — 深夜书房 editorial 设计系统
   纸色 × 墨色 × 琥珀,与博客品牌同源(hue 36)
   ============================================ */

:root {
  --sh-paper: #f7f5f0;
  --sh-paper-2: #f1ede4;
  --sh-ink: #1c1917;
  --sh-ink-soft: #57534e;
  --sh-ink-faint: #a8a29e;
  --sh-amber: #b45309;
  --sh-amber-soft: #e8a33d;
  --sh-line: #e7e1d5;
  --sh-card: #fffdf9;
  --sh-shadow: 0 1px 2px rgba(28, 25, 23, .05), 0 8px 24px -12px rgba(28, 25, 23, .14);
}

/* ---------- 全局 ---------- */
.md-header {
  background: var(--sh-paper) !important;
  border-bottom: 1px solid var(--sh-line);
  box-shadow: none !important;
  position: sticky;
}
.md-header__inner { border-bottom: none; }
.md-header__title { font-weight: 800; letter-spacing: .02em; }
.md-header__button:hover { color: var(--sh-amber) !important; }
.md-search__form { background-color: var(--sh-paper-2) !important; }
.md-search__input::placeholder { color: var(--sh-ink-faint); }
.md-typeset a { color: var(--sh-amber); }
.md-typeset a:hover { color: var(--sh-amber-soft); }
.md-nav__link--active { color: var(--sh-amber) !important; font-weight: 700; }

/* 顶部琥珀细条(品牌线) */
.md-header::before {
  content: ""; display: block; height: 3px;
  background: linear-gradient(90deg, var(--sh-amber) 0%, var(--sh-amber-soft) 55%, transparent 100%);
}

/* ---------- 首页 Hero ---------- */
.sh-hero {
  position: relative;
  background: linear-gradient(180deg, var(--sh-paper) 0%, var(--sh-paper-2) 100%);
  border: 1px solid var(--sh-line);
  border-radius: 14px;
  box-shadow: var(--sh-shadow);
  padding: 3em 2.4em 2.6em;
  margin-bottom: 1.8em;
  overflow: hidden;
}
/* 半调圆点(轻量,右侧角落) */
.sh-hero::after {
  content: "";
  position: absolute; top: -40px; right: -40px;
  width: 220px; height: 220px;
  background-image: radial-gradient(var(--sh-amber) 1.4px, transparent 1.4px);
  background-size: 11px 11px;
  opacity: .10;
  pointer-events: none;
  transform: rotate(8deg);
}
.sh-hero .sh-kicker {
  display: inline-flex; align-items: center; gap: .5em;
  font-size: .72rem; font-weight: 700; letter-spacing: .3em;
  color: var(--sh-amber);
  text-transform: uppercase;
  margin-bottom: 1em;
}
.sh-hero .sh-kicker::before {
  content: ""; width: 26px; height: 2px; background: var(--sh-amber);
  display: inline-block;
}
.sh-hero h1 {
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  font-weight: 800; letter-spacing: -.01em;
  margin: 0 0 .35em;
  font-size: 2.6em; line-height: 1.2;
  color: var(--sh-ink);
}
.sh-hero h1 .red { color: var(--sh-amber); font-weight: 800; }
.sh-hero .sh-sub {
  color: var(--sh-ink-soft); font-weight: 500; margin: 0;
  font-size: 1rem;
}

/* ---------- 首页统计卡 ---------- */
.sh-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  margin: 0 0 2em;
}
.sh-stat {
  background: var(--sh-card);
  border: 1px solid var(--sh-line);
  border-radius: 12px;
  box-shadow: var(--sh-shadow);
  padding: 1.1em 1em 1em;
  text-align: center;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sh-stat:hover { transform: translateY(-3px); border-color: var(--sh-amber-soft); box-shadow: 0 12px 28px -12px rgba(180, 83, 9, .28); }
.sh-stat strong {
  display: block; font-size: 2em; font-weight: 800; line-height: 1.15;
  color: var(--sh-amber); font-variant-numeric: tabular-nums;
  font-family: "Noto Serif SC", Georgia, serif;
}
.sh-stat span {
  font-size: .78rem; color: var(--sh-ink-soft);
  font-weight: 600; letter-spacing: .14em;
}

/* ---------- 首页分区卡 ---------- */
.sh-sections { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }
.sh-card {
  display: block;
  background: var(--sh-card);
  border: 1px solid var(--sh-line);
  border-radius: 12px;
  box-shadow: var(--sh-shadow);
  padding: 1.5em 1.5em 1.4em;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  position: relative;
}
.sh-card:hover {
  transform: translateY(-3px);
  border-color: var(--sh-amber);
  box-shadow: 0 14px 32px -14px rgba(180, 83, 9, .3);
  text-decoration: none !important;
}
.sh-card .sh-card-emoji {
  font-size: 1.7em; display: block; margin-bottom: .45em;
  filter: grayscale(.15);
}
.sh-card h3 {
  margin: 0 0 .35em; font-weight: 800; font-size: 1.12em;
  font-family: "Noto Serif SC", "Source Han Serif SC", Georgia, serif;
  color: var(--sh-ink);
}
.sh-card p { margin: 0; font-size: .85rem; color: var(--sh-ink-soft); line-height: 1.65; }
/* 卡片右下角小箭头 */
.sh-card::after {
  content: "→";
  position: absolute; right: 1em; bottom: .8em;
  color: var(--sh-amber); font-size: 1.05rem;
  opacity: 0; transform: translateX(-4px);
  transition: opacity .18s ease, transform .18s ease;
}
.sh-card:hover::after { opacity: 1; transform: translateX(0); }

/* ---------- 正文阅读优化(衬线 + 舒适行距) ---------- */
.md-content .md-typeset {
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  font-size: 1.03rem;
  line-height: 1.95;
  color: var(--sh-ink);
}
.md-content .md-typeset h1,
.md-content .md-typeset h2,
.md-content .md-typeset h3,
.md-content .md-typeset h4 {
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  font-weight: 800;
  color: var(--sh-ink);
  letter-spacing: -.005em;
}
.md-content .md-typeset h1 { font-size: 1.9em; }
.md-content .md-typeset h2 {
  font-size: 1.45em;
  padding-bottom: .35em;
  border-bottom: 1px solid var(--sh-line);
}
.md-content .md-typeset h2::before { content: "◆ "; color: var(--sh-amber); font-size: .72em; }
.md-content .md-typeset code, .md-content .md-typeset pre {
  font-family: "SFMono-Regular", "JetBrains Mono", Consolas, monospace;
  font-size: .88em;
}
.md-content .md-typeset code {
  background: var(--sh-paper-2);
  border: 1px solid var(--sh-line);
  border-radius: 5px;
  padding: .1em .35em;
}
.md-content .md-typeset pre > code { background: transparent; border: none; }
.md-content .md-typeset blockquote {
  border-left: 3px solid var(--sh-amber);
  color: var(--sh-ink-soft);
}
.md-content .md-typeset table th { background: var(--sh-paper-2); color: var(--sh-ink); }
.md-content .md-typeset table td, .md-content .md-typeset table th { border-color: var(--sh-line); }

/* 文章目录 */
.md-sidebar .md-nav__title { color: var(--sh-amber); font-weight: 700; }

/* ---------- 页脚 ---------- */
.md-footer { background: var(--sh-ink); border-top: 3px solid var(--sh-amber); }
.md-footer__inner { color: var(--sh-paper); }
.md-footer a { color: var(--sh-amber-soft); }

/* ---------- 暗色适配 ---------- */
[data-md-color-scheme="slate"] {
  --sh-paper: #1c1917;
  --sh-paper-2: #26221d;
  --sh-ink: #ece8e0;
  --sh-ink-soft: #b5aea2;
  --sh-ink-faint: #7a736a;
  --sh-line: #3a342c;
  --sh-card: #211e1a;
  --sh-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -12px rgba(0, 0, 0, .5);
}
[data-md-color-scheme="slate"] .md-header { background: var(--sh-paper) !important; }
[data-md-color-scheme="slate"] .sh-hero {
  background: linear-gradient(180deg, var(--sh-paper) 0%, var(--sh-paper-2) 100%);
}
[data-md-color-scheme="slate"] .sh-hero h1 { color: var(--sh-ink); }
[data-md-color-scheme="slate"] .sh-hero .sh-sub { color: var(--sh-ink-soft); }
[data-md-color-scheme="slate"] .sh-stat strong,
[data-md-color-scheme="slate"] .sh-hero h1 .red { color: var(--sh-amber-soft); }
[data-md-color-scheme="slate"] .md-typeset code { background: #2a2620; border-color: var(--sh-line); }
[data-md-color-scheme="slate"] .md-content .md-typeset h2 { border-bottom-color: var(--sh-line); }
[data-md-color-scheme="slate"] .md-typeset table th { background: var(--sh-paper-2); }

/* ---------- 移动端 ---------- */
@media (max-width: 600px) {
  .sh-hero { padding: 2em 1.4em 1.8em; }
  .sh-hero h1 { font-size: 2em; }
  .sh-stat strong { font-size: 1.7em; }
}
