/* Illustrated library and EP48 notes; the shared reader/player stays unchanged. */
.library--illustrated{max-width:1040px;margin:32px auto}
.library--illustrated .episode-row{display:grid;grid-template-columns:minmax(0,1fr) 176px;gap:40px;align-items:center;padding:36px 0}
.episode-row-copy{min-width:0}
.library--illustrated .episode-row h2{font-size:25px;margin:10px 0 12px;line-height:1.5}
.library--illustrated .episode-row .episode-label{font-size:12px}
.library--illustrated .episode-row .row-link{margin-top:16px;font-size:13px}
.episode-row-art{display:block;width:176px;height:176px;object-fit:contain;background:#fff}
.episode-edition .episode-cover{width:min(100%,480px);margin:40px auto 48px}
.episode-cover img{display:block;width:100%;height:auto}
.episode-edition .show-notes{margin:0 0 56px;padding:28px 32px;background:#faf9f6;border-block:1px solid #e7e5df;font-size:15px;line-height:1.95}
.episode-edition .show-notes summary{display:flex;align-items:baseline;justify-content:space-between;gap:20px;width:100%;padding:0;color:var(--ink);font-size:21px;font-weight:600;list-style:none}
.episode-edition .show-notes summary::-webkit-details-marker{display:none}
.episode-edition .show-notes summary::after{content:'展开 +';flex-shrink:0;color:var(--muted);font-size:12px;font-weight:400}
.episode-edition .show-notes[open] summary::after{content:'收起 −'}
.episode-edition .show-notes>div{padding-top:24px}
.episode-edition .show-notes p{margin-bottom:20px}
.episode-edition .show-notes p:last-of-type{margin-bottom:0}
.episode-edition .show-timeline{margin:28px 0 0;padding-top:8px;border-top:1px solid #e7e5df}
.episode-edition .show-timeline li{grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:baseline;margin:0;padding:12px 0;border-bottom:1px solid #e7e5df}
.episode-edition .show-timeline li:last-child{border-bottom:0;padding-bottom:0}
.episode-edition .show-timeline a{font-size:13px;font-weight:500;min-height:32px;display:inline-flex;align-items:center}
@media(max-width:760px){
  .library--illustrated{margin:12px auto}
  .library--illustrated .episode-row{grid-template-columns:minmax(0,1fr) 112px;gap:20px;padding:28px 0;align-items:start}
  .library--illustrated .episode-row h2{font-size:20px;margin-top:8px;line-height:1.5}
  .library--illustrated .episode-row p:not(.episode-label){font-size:13px;line-height:1.8}
  .library--illustrated .episode-row .row-link{font-size:12px;margin-top:12px}
  .episode-row-art{width:112px;height:112px;margin-top:4px}
  .episode-edition .episode-cover{margin:28px auto 36px}
  .episode-edition .show-notes{padding:22px 20px;margin-bottom:40px;font-size:14px}
  .episode-edition .show-notes summary{font-size:18px;gap:12px}
  .episode-edition .show-notes>div{padding-top:20px}
  .episode-edition .show-timeline li{grid-template-columns:48px minmax(0,1fr);gap:12px}
}
@media(max-width:390px){
  .library--illustrated .episode-row{grid-template-columns:minmax(0,1fr) 88px;gap:16px}
  .episode-row-art{width:88px;height:88px}
  .library--illustrated .episode-row h2{font-size:18px}
}
@media print{.episode-cover{max-width:260px}.episode-edition .show-notes{background:none}}
