/* 静室 CSS：22-catalog-directory.css。目录是可扫描的地图，不是散文或营销陈列。 */
@layer pages {
  /* 读者端功能页显式加入此类，即自动退出展示型欢迎语等级。 */
  .functional-intro h1 {
    max-width:18ch;
    margin:var(--publication-space-2) 0;
    color:var(--publication-ink);
    font:600 var(--publication-function-title)/var(--publication-leading-heading) var(--font-ui);
    letter-spacing:-.028em;
  }

  .functional-intro>p:last-child,
  .functional-intro div>p:last-child {
    max-width:var(--publication-reading-width);
    color:var(--text-secondary);
    font:400 var(--publication-body)/var(--publication-leading-body) var(--font-reading);
  }

  .catalog-directory {
    max-width:var(--publication-page-width);
    margin-inline:auto;
    padding-block:var(--publication-space-6) var(--publication-space-8);
  }

  .catalog-directory-head {
    max-width:var(--publication-reading-width);
    padding-bottom:var(--publication-space-5);
    border-bottom:var(--publication-masthead-rule) solid var(--publication-ink);
  }

  .catalog-directory-head h1 {
    margin:var(--publication-space-2) 0;
    color:var(--publication-ink);
    font:600 var(--publication-function-title)/var(--publication-leading-heading) var(--font-ui);
    letter-spacing:-.028em;
  }

  .catalog-directory-head>p:last-child,
  .catalog-directory-note,
  .catalog-older-archives>p {
    max-width:var(--publication-reading-width);
    margin:0;
    color:var(--text-secondary);
    font:400 var(--publication-body)/var(--publication-leading-body) var(--font-reading);
  }

  .catalog-view-switch {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-block:var(--publication-space-5) var(--publication-space-7);
    border-top:var(--publication-rule) solid var(--publication-rule-color);
    border-bottom:var(--publication-rule) solid var(--publication-rule-color);
  }

  .catalog-view-switch a {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:var(--publication-space-2);
    min-height:0;
    padding:var(--publication-space-3) var(--publication-space-3) var(--publication-space-3) 0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--publication-ink-muted);
    font:500 var(--publication-meta)/var(--publication-leading-meta) var(--font-ui);
    transition:transform var(--publication-hover-duration) var(--motion-easing),color var(--publication-hover-duration) var(--motion-easing);
  }

  .catalog-view-switch a+a {
    padding-left:var(--publication-space-3);
    border-left:var(--publication-rule) solid var(--publication-rule-color);
  }

  .catalog-view-switch a[aria-current="page"],
  .catalog-view-switch a:hover,
  .catalog-view-switch a:focus-visible {
    color:var(--publication-ink);
    transform:var(--publication-hover-lift);
  }

  .catalog-view-switch i,
  .catalog-directory-list i {
    color:var(--publication-accent);
    font-style:normal;
  }

  .catalog-directory-section {
    max-width:var(--publication-page-width);
  }

  .catalog-directory-section>header {
    margin:0;
    padding-bottom:var(--publication-space-3);
    border-bottom:var(--publication-rule) solid var(--publication-rule-color);
  }

  .catalog-directory-section h2 {
    margin:var(--publication-space-1) 0 0;
    color:var(--publication-ink);
    font:600 var(--publication-h2)/var(--publication-leading-title) var(--font-ui);
    letter-spacing:-.018em;
  }

  .catalog-directory-note {
    margin-block:var(--publication-space-3);
  }

  .catalog-directory-list {
    margin:0;
    border-top:var(--publication-rule) solid var(--publication-rule-color);
  }

  .catalog-directory-list a {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto var(--publication-action-column);
    gap:var(--publication-space-4);
    align-items:baseline;
    min-height:0;
    padding-block:var(--publication-space-4);
    border:0;
    border-bottom:var(--publication-rule) solid var(--publication-rule-color);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transition:transform var(--publication-hover-duration) var(--motion-easing),color var(--publication-hover-duration) var(--motion-easing);
  }

  .catalog-directory-list a:hover,
  .catalog-directory-list a:focus-visible {
    color:var(--publication-accent);
    transform:var(--publication-hover-lift);
  }

  .catalog-directory-list span {
    color:var(--publication-ink);
    font:500 var(--publication-h2)/var(--publication-leading-title) var(--font-ui);
    letter-spacing:-.018em;
  }

  .catalog-directory-list strong {
    color:var(--publication-ink-muted);
    font:400 var(--publication-meta)/var(--publication-leading-meta) var(--font-ui);
    font-weight:400;
  }

  .catalog-directory-list i {
    justify-self:end;
  }

  .catalog-older-archives {
    margin-top:var(--publication-space-6);
    padding-top:var(--publication-space-3);
    border-top:var(--publication-rule) solid var(--publication-rule-color);
  }

  .catalog-older-archives summary {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:var(--publication-space-3);
    cursor:pointer;
    color:var(--publication-ink-muted);
    font:500 var(--publication-meta)/var(--publication-leading-meta) var(--font-ui);
  }

  .catalog-older-archives summary::marker {
    color:var(--publication-accent);
  }

  .catalog-older-archives summary small {
    color:inherit;
    font:400 var(--publication-meta)/var(--publication-leading-meta) var(--font-ui);
  }

  .catalog-older-archives>p {
    margin-top:var(--publication-space-3);
    font-size:var(--publication-meta);
  }

  .catalog-older-archives .catalog-directory-list {
    margin-top:var(--publication-space-3);
  }

  @media (max-width:760px) {
    .catalog-directory {
      padding-block:var(--publication-space-5) var(--publication-space-7);
    }

    .catalog-directory-head h1 {
      font-size:28px;
    }

    .catalog-view-switch {
      display:block;
      margin-block:var(--publication-space-4) var(--publication-space-6);
    }

    .catalog-view-switch a,
    .catalog-view-switch a+a {
      padding:var(--publication-space-3) 0;
      border-left:0;
      border-bottom:var(--publication-rule) solid var(--publication-rule-color);
    }

    .catalog-view-switch a:last-child {
      border-bottom:0;
    }

    .catalog-directory-list a {
      grid-template-columns:minmax(0,1fr) auto var(--publication-mobile-action-column);
      gap:var(--publication-space-2);
    }

    .catalog-directory-list span {
      font-size:20px;
    }
  }

  /* 同一馆藏的浏览方式是索引标签，不是功能组件。 */
  .functional-paths.library-paths {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--publication-space-3);
    max-width:var(--publication-page-width);
    margin:0 auto var(--publication-space-5);
    padding-block:var(--publication-space-2);
    border-top:var(--publication-rule) solid var(--publication-rule-color);
    border-bottom:var(--publication-rule) solid var(--publication-rule-color);
  }

  .functional-paths.library-paths a,
  .functional-paths.library-paths a + a,
  .functional-paths.library-paths a:last-child {
    display:inline-flex;
    align-items:center;
    gap:var(--publication-space-1);
    min-height:0;
    padding:0;
    border:0;
    color:var(--publication-ink-muted);
    font:400 var(--publication-meta)/var(--publication-leading-meta) var(--font-ui);
  }

  .functional-paths.library-paths a + a::before {
    content:"·";
    margin-right:var(--publication-space-3);
    color:var(--publication-ink-muted);
  }

  .functional-paths.library-paths span {
    grid-column:auto;
    color:inherit;
    font:inherit;
  }

  .functional-paths.library-paths i {
    display:none;
  }

  .functional-paths.library-paths a:hover,
  .functional-paths.library-paths a:focus-visible {
    color:var(--publication-accent);
  }

  @media (max-width:760px) {
    .functional-paths.library-paths {
      display:grid;
      gap:0;
      padding-block:0;
    }

    .functional-paths.library-paths a,
    .functional-paths.library-paths a + a,
    .functional-paths.library-paths a:last-child {
      justify-content:space-between;
      padding-block:var(--publication-space-3);
      border-bottom:var(--publication-rule) solid var(--publication-rule-color);
    }

    .functional-paths.library-paths a + a::before {
      display:none;
    }

    .functional-paths.library-paths a:last-child {
      border-bottom:0;
    }

    .functional-paths.library-paths a::after {
      content:"→";
      color:var(--publication-accent);
    }
  }

  /* 标签是辅助定位，默认收起，不与文章目录竞争首屏。 */
  details.topic-reentry {
    display:block;
    max-width:var(--publication-page-width);
    margin:var(--publication-space-4) auto 0;
    padding-block:var(--publication-space-2);
    border-top:var(--publication-rule) solid var(--publication-rule-color);
    border-bottom:var(--publication-rule) solid var(--publication-rule-color);
  }

  details.topic-reentry summary {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:var(--publication-space-3);
    cursor:pointer;
    color:var(--publication-ink-muted);
    font:500 var(--publication-meta)/var(--publication-leading-meta) var(--font-ui);
  }

  details.topic-reentry summary::marker {
    color:var(--publication-accent);
  }

  details.topic-reentry summary small {
    color:inherit;
    font:400 var(--publication-meta)/var(--publication-leading-meta) var(--font-ui);
  }

  details.topic-reentry nav {
    margin-top:var(--publication-space-3);
  }

  @media (max-width:760px) {
    details.topic-reentry summary {
      align-items:flex-start;
      flex-direction:column;
      gap:var(--publication-space-1);
    }
  }

  @media (max-width:760px) {
    .library-entry,
    .search-result {
      grid-template-columns:72px minmax(0,1fr) 18px;
      gap:var(--publication-space-2);
    }

    .library-entry .entry-index,
    .search-result>span {
      font-size:11px;
      line-height:1.35;
    }
  }

  @media (prefers-reduced-motion:reduce) {
    .catalog-view-switch a,
    .catalog-directory-list a {
      transition-duration:1ms;
    }

    .catalog-view-switch a:hover,
    .catalog-view-switch a:focus-visible,
    .catalog-directory-list a:hover,
    .catalog-directory-list a:focus-visible {
      transform:none;
    }
  }
}
