/* 三本图录：书封、图版目录与一图一页。作品的颜色只存在图版本身。 */
.book-navigation { border-top: 1px solid var(--page-line); border-bottom: 1px solid var(--page-line); margin-bottom: 3rem; }
.book-tabs { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 2.1rem; margin: 0; padding: .9rem 0; font-family: var(--font-sans); font-size: .8rem; }
.book-tabs a { display: inline-block; padding: .3rem 0; text-decoration: none; color: var(--page-muted); border-bottom: 1px solid transparent; }
.book-tabs a:hover, .book-tabs a[aria-current] { color: var(--page-ink); border-bottom-color: currentColor; }
.book-shelf { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; margin: 0; padding: 0; }
.book-edition { min-width: 0; }
.book-cover-link { display: block; text-decoration: none; }
.book-cover { width: 100%; padding: 1.15rem; border: 1px solid var(--page-line); background: var(--page-surface); }
.book-cover img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; }
.book-imprint { font-family: var(--font-sans); font-size: .7rem; font-weight: 400; letter-spacing: .11em; color: var(--page-muted); }
.book-cover-link .book-imprint { margin: .15rem 0 .45rem; }
.book-edition h2 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 500; letter-spacing: .08em; }
.book-cover h2 { margin-bottom: 1.2rem; }
.book-line { margin: .65rem 0 1rem; font-size: .93rem; }
.book-open { display: inline-block; font-family: var(--font-sans); font-size: .73rem; color: var(--page-muted); border-bottom: 1px solid var(--page-line); padding-bottom: .25rem; }
.book-cover-link:hover .book-open { color: var(--page-ink); border-bottom-color: currentColor; }
.book-description { margin: 1.35rem 0 0; font-size: .85rem; line-height: 1.95; color: var(--page-muted); }
.collection-note { display: grid; grid-template-columns: 1fr 2fr; gap: 3rem; border-top: 1px solid var(--page-line); padding-top: 1.8rem; margin-top: 4rem; }
.collection-note p { margin: 0; font-size: .83rem; line-height: 1.9; }
.collection-note p + p { color: var(--page-muted); max-width: 40rem; }
.book-summary { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem 3rem; flex-wrap: wrap; margin-bottom: 2rem; }
.book-summary p { margin: 0; }
.book-reading-note { color: var(--page-muted); font-size: .82rem; }
.plate-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3.3rem 2rem; }
.plate-card { min-width: 0; }
.plate-card a { display: block; text-decoration: none; }
.plate-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; background: var(--page-surface); }
.plate-card .unmet img { opacity: .48; }
.plate-heading { display: flex; align-items: baseline; gap: .8rem; margin-top: .9rem; }
.plate-number { font-family: var(--font-sans); font-size: .64rem; color: var(--page-muted); letter-spacing: .06em; }
.plate-heading h2 { margin: 0; font-weight: 500; font-size: 1.13rem; }
.plate-card a:hover h2 { text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 1px; }
.plate-english { margin: .2rem 0 .8rem; font-family: var(--font-sans); font-size: .7rem; color: var(--page-muted); }
.met { font-family: var(--font-sans); font-size: .73rem; line-height: 1.85; margin: 0; color: var(--page-muted); }
.met.yes { color: var(--page-accent); }
.encounter-hint { margin: .8rem 0 0; font-size: .84rem; line-height: 1.95; }
.book-endnote { border-top: 1px solid var(--page-line); padding-top: 1.5rem; margin: 3.5rem 0 0; max-width: 48rem; font-size: .83rem; line-height: 1.95; color: var(--page-muted); }
.plate-view { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 1fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); }
.plate-large { margin: 0; min-width: 0; }
.plate-large img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; }
.plate-large figcaption { margin-top: .9rem; font-size: .68rem; color: var(--page-muted); font-family: var(--font-sans); }
.plate-details { padding-top: .3rem; min-width: 0; }
.plate-details > .book-imprint { margin: 0 0 .8rem; }
.plate-details h2 { font-size: clamp(2rem, 3.2vw, 3rem); margin: 0; font-weight: 500; line-height: 1.5; letter-spacing: .05em; }
.plate-details .plate-english { margin: .4rem 0 1.6rem; font-size: .78rem; }
.plate-caption { margin: 0 0 2rem; font-size: .95rem; line-height: 2; }
.plate-details section { border-top: 1px solid var(--page-line); margin-top: 1.6rem; padding-top: 1.2rem; }
.detail-label { margin: 0 0 .7rem; font-family: var(--font-sans); font-size: .73rem; font-weight: 400; color: var(--page-muted); letter-spacing: .08em; }
.encounter-conditions > p, .plate-rarity > p { font-size: .88rem; line-height: 1.95; margin: 0; }
.record-list { list-style: none; padding: 0; margin: 0; }
.record-list li + li { margin-top: .9rem; }
.record-footnote { margin: .9rem 0 0; font-size: .7rem; color: var(--page-muted); }
.plate-pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 1rem; margin-top: 2.5rem; padding-top: 1.3rem; border-top: 1px solid var(--page-line); font-family: var(--font-sans); font-size: .75rem; }
.plate-pagination a { text-decoration: none; }
.plate-pagination a:hover { text-decoration: underline; text-underline-offset: .25em; }
.plate-pagination > :last-child { text-align: right; }
.plate-index-link { color: var(--page-muted); }
.image-unavailable { border: 1px solid var(--page-line); background: var(--page-surface); }
.strip-page .page-head, .strip-page main, .strip-page .page-foot { max-width: none; }
.strip-page .page-masthead, .strip-page .book-navigation, .strip-page .page-foot, .strip-page .lede { display: none; }
.strip-page .page-intro { padding-top: 1rem; padding-bottom: 1.5rem; }
.strip-page .page-title { font-size: 2rem; }
.plate-strip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); list-style: none; gap: 1.25rem; padding: 0; margin: 0 0 2rem; }
.plate-strip a { display: block; text-decoration: none; }
.plate-strip img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; }
.plate-strip span { display: block; padding-top: .5rem; font-size: .8rem; }
@media (max-width: 1050px) {
  .book-shelf { gap: 1.8rem; }
  .book-cover { padding: .75rem; }
  .plate-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.6rem; }
}
@media (max-width: 700px) {
  .book-navigation { margin-bottom: 2rem; }
  .book-tabs { gap: .4rem 1.3rem; font-size: .73rem; }
  .book-shelf { grid-template-columns: 1fr; gap: 3.4rem; }
  .book-cover { padding: 1rem; }
  .book-edition h2 { font-size: 1.9rem; }
  .book-description { margin-top: 1rem; }
  .collection-note { grid-template-columns: 1fr; gap: .8rem; margin-top: 3rem; }
  .plate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.2rem 1rem; }
  .plate-heading { display: block; }
  .plate-heading h2 { font-size: 1.05rem; }
  .plate-number { display: block; margin-bottom: .15rem; }
  .plate-english { font-size: .65rem; }
  .encounter-hint { font-size: .79rem; line-height: 1.8; }
  .plate-view { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .plate-pagination { font-size: .68rem; gap: .8rem; }
  .plate-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}
@media (prefers-color-scheme: dark) {
  .plate-card .unmet img { opacity: .4; }
}
