/* ============================================================
   custom.css — 本站自定义样式（独立于上游 style.css）
   上游更新合并时不会冲突；所有变量随明暗主题自动适配。
   ============================================================ */

/* ---------- 顶部导航：更多（外链） ---------- */
.nav-sep {
  width: 1px; height: 18px; background: var(--grid);
  margin: 0 6px 0 12px; align-self: center; flex-shrink: 0;
}
.navlinks a.nav-more { font-weight: 600; color: var(--ink2); flex-shrink: 0; white-space: nowrap; }
.navlinks a.nav-more:hover { color: var(--c1); }

/* 宽屏下轻微压缩导航间距，保证新增「更多」后所有导航项（含主题键）
   仍在同一行；窄屏保持上游原有的换行策略不变 */
@media (min-width: 1100px) {
  .topnav-inner { padding-left: 16px; padding-right: 16px; }
  .navlinks a { padding-left: 8px; padding-right: 8px; margin-left: 1px; margin-right: 1px; }
  .nav-book { margin-left: 6px; padding-left: 8px; }
  .nav-sep { margin-left: 8px; }
}
/* 窄屏：导航单行横向滚动，避免折成 3–4 行挤占首屏 */
@media (max-width: 640px) {
  .topnav-inner { padding: 8px 12px; }
  .brand { font-size: 15px; margin-right: 0; }
  .navlinks {
    flex-wrap: nowrap; width: 100%; margin-left: 0;
    overflow-x: auto; overflow-y: hidden;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .navlinks::-webkit-scrollbar { display: none; }
  .navlinks a { padding: 6px 10px; white-space: nowrap; }
  .nav-book { margin-left: 4px; padding-left: 8px; white-space: nowrap; }
  .nav-sep { margin: 0 4px; }
  #themeBtn { flex-shrink: 0; }
}

/* ---------- 底部版权声明 ---------- */
footer.site-notice {
  max-width: 880px; margin: 0 auto;
  padding: 0 20px 32px;
  color: var(--muted); font-size: 12.5px; line-height: 1.9;
  letter-spacing: .02em; text-align: justify;
}

/* ---------- 返回顶部 ---------- */
#backToTop {
  position: fixed; right: 22px; bottom: 26px; z-index: 60;
  width: 42px; height: 42px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; line-height: 1; padding: 0;
  color: var(--ink2); background: var(--surface);
  border: 1px solid var(--border); box-shadow: var(--shadow);
  cursor: pointer; user-select: none;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s, border-color .15s ease, color .15s ease;
}
#backToTop.show { opacity: 1; visibility: visible; transform: translateY(0); }
#backToTop:hover { color: var(--c1); border-color: var(--c1); }
@media (max-width: 600px) {
  #backToTop { right: 14px; bottom: 16px; }
}

/* ============================================================
   首页排版优化（仅作用于 .home-* 元素，章节页不受影响）
   ============================================================ */

/* Hero：去掉副文案的硬换行孤行，收紧上下留白 */
.home-hero { padding-top: 40px; padding-bottom: 18px; }
.home-hero > div[style] { font-size: 38px !important; }
.home-hero h1 { font-size: 32px; }
.home-hero .sub { max-width: 680px; font-size: 16px; }
.home-hero .sub br { display: none; }

/* 分组容器：上游 60px 底内边距造成标题与卡网格间空洞，改由标题外边距控制节奏 */
.home-wrap { padding-bottom: 0; }
.home-wrap:last-child { padding-bottom: 44px; }

/* 册次分组标题：由"整张卡片"改为轻量分隔标题（标签 + 书名 + 细线） */
.home-wrap > .card.book-head {
  background: transparent; border: none; box-shadow: none; border-radius: 0;
  padding: 0; margin: 40px 0 16px !important;
}
.home-hero + .home-wrap > .card.book-head { margin-top: 10px !important; }
.home-wrap > .card.book-head h3 {
  display: flex; align-items: center; gap: 10px;
  margin: 0; font-size: 16.5px; font-weight: 700; white-space: nowrap;
}
.home-wrap > .card.book-head h3::after {
  content: ''; flex: 1; height: 1px; background: var(--border);
}
.home-wrap > .card.book-head .tag {
  color: var(--bc); background: var(--bt);
  margin-right: 0; vertical-align: baseline;
}
/* 五册配色（与章节序号同色系），明暗两套 */
.book-head.b1 { --bc: #2a78d6; --bt: rgba(42,120,214,.10); }
.book-head.b2 { --bc: #1baf7a; --bt: rgba(27,175,122,.10); }
.book-head.b3 { --bc: #4a3aa7; --bt: rgba(74,58,167,.10); }
.book-head.b4 { --bc: #d0568b; --bt: rgba(232,123,164,.12); }
.book-head.b5 { --bc: #c98500; --bt: rgba(237,161,0,.14); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .book-head.b1 { --bc: #3987e5; --bt: rgba(57,135,229,.16); }
  :root:not([data-theme="light"]) .book-head.b2 { --bc: #199e70; --bt: rgba(25,158,112,.16); }
  :root:not([data-theme="light"]) .book-head.b3 { --bc: #9085e9; --bt: rgba(144,133,233,.18); }
  :root:not([data-theme="light"]) .book-head.b4 { --bc: #d55181; --bt: rgba(213,81,129,.18); }
  :root:not([data-theme="light"]) .book-head.b5 { --bc: #eda100; --bt: rgba(201,133,0,.20); }
}
:root[data-theme="dark"] .book-head.b1 { --bc: #3987e5; --bt: rgba(57,135,229,.16); }
:root[data-theme="dark"] .book-head.b2 { --bc: #199e70; --bt: rgba(25,158,112,.16); }
:root[data-theme="dark"] .book-head.b3 { --bc: #9085e9; --bt: rgba(144,133,233,.18); }
:root[data-theme="dark"] .book-head.b4 { --bc: #d55181; --bt: rgba(213,81,129,.18); }
:root[data-theme="dark"] .book-head.b5 { --bc: #eda100; --bt: rgba(201,133,0,.20); }

/* 卡网格：收紧与分组标题之间的距离 */
.ch-grid { margin-top: 0; margin-bottom: 0; }
.ch-grid + .home-wrap { margin-top: 0 !important; }

@media (max-width: 640px) {
  .home-hero { padding-top: 28px; }
  .home-hero > div[style] { font-size: 34px !important; }
  .home-hero h1 { font-size: 26px; }
  .home-wrap > .card.book-head { margin-top: 30px !important; }
  .ch-grid { gap: 14px; }
  .ch-card { padding: 16px 18px; }
}
