/* 静室 · 40-catalog-modern.css
   目录现代化（2026-10，方向 A「修而不并」）：只做三件事——
   1) 长列表渲染性能：行级 content-visibility（组级在真实分布下高度失准，已弃用）；
   2) archive 细行与馆藏厅密档的行样统一（排版/悬停/日期同一种呼吸）；
   3) 手账语言的轻注入（贴纸按钮、精选行微暖底、空状态、锚点避让）。
   不改任何页面结构约定与 URL；旧规则冲突时以本文件为准（按序加载在最末）。 */

/* ===== 1. 行级按需渲染 =====
   行高稳定（约 36–50px），逐行占位误差极小，滚动条与锚点落点都准。
   组级/年级整体 CV 已验证会在大组（8000px+）上严重失准，勿改回。 */
.catalog-body .index-post {
  content-visibility: auto;
  contain-intrinsic-size: auto 38px;
}
/* 馆藏厅：疏档带摘要约 110px，密档约 46px，随密度切换修正占位 */
.library-list .library-entry {
  content-visibility: auto;
  contain-intrinsic-size: auto 115px;
}
body[data-density="compact"] .library-list .library-entry {
  contain-intrinsic-size: auto 50px;
}
/* 锚点跳转避开固定页头与吸顶组标题 */
.catalog-group,
.year-group {
  scroll-margin-top: 92px;
}

/* ===== 2. 行样统一（archive 细行 ≈ 馆藏厅密档） ===== */
.index-post-link {
  transition: background-color 150ms ease;
  border-radius: 6px;
}
.index-post-link:hover {
  background: color-mix(in srgb, var(--paper-deep, #f0eee7) 55%, transparent);
}
.index-post-link:hover .index-post-title {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.index-post-number,
.index-post-date {
  font-variant-numeric: tabular-nums;
}
/* 精选行：图书馆抽屉里垫一张暖纸的感觉；夜间走同一令牌自动变深 */
.catalog-body .index-post--starred .index-post-link {
  background: color-mix(in srgb, var(--illus-wash-warm, #fff1e8) 42%, transparent);
}
.catalog-body .index-post--starred .index-post-link:hover {
  background: color-mix(in srgb, var(--illus-wash-warm, #fff1e8) 72%, transparent);
}
/* 键盘可达性：行内链接与侧栏的可见焦点 */
.index-post-link:focus-visible,
.catalog-nav-link:focus-visible,
.year-jump a:focus-visible {
  outline: 2px solid var(--color-day-accent, #315c66);
  outline-offset: 2px;
  border-radius: 6px;
}
html[data-theme="night"] .index-post-link:focus-visible,
html[data-theme="night"] .catalog-nav-link:focus-visible,
html[data-theme="night"] .year-jump a:focus-visible {
  outline-color: var(--color-night-accent, #9ac1ca);
}

/* ===== 3. 手账语言注入 ===== */
/* 页头下的小分隔线（模板内联 divider-plant） */
.notebook-divider--compact {
  margin: var(--space-5, 20px) auto var(--space-4, 14px);
}
.notebook-divider--compact svg {
  inline-size: min(300px, 66%);
}
/* 完整目录标题旁的小涂鸦与基线对齐 */
.catalog-head h1 .section-doodle {
  margin-inline-end: 0.4em;
}

/* 贴纸感按钮：手绘的不规则圆角，悬停极轻歪斜 */
.catalog-expand-btn,
.library-density button {
  border: 1.6px solid var(--ink-primary, currentColor);
  border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px;
  background: transparent;
  transition: transform 150ms ease;
}
.catalog-expand-btn:hover,
.library-density button:hover {
  transform: rotate(-0.8deg);
}

/* 筛选空状态（模板内联想法泡泡涂鸦） */
.catalog-empty {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
  padding: var(--space-4, 14px) var(--space-2, 8px);
  color: var(--text-secondary);
  font-size: 14px;
}
.catalog-empty[hidden] { display: none; }
.catalog-empty .inline-doodle { flex: none; transform: translateY(2px); }
