/* Reading index + Yantie Lun book-map cleanup, 2026-08-31.
   Direction: archive ledger / editorial contents, not poster tiles. */

/* Qiji title face — Lingdong Huang / SIL OFL 1.1.
   A fixed web subset keeps only the Chinese book-title glyphs used by Reading. */
@font-face{
  font-family:"Galok Qiji";
  src:url("/assets/fonts/qiji-reading-title.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
.reading-page .reading-book-title-zh,
.reading-page .reading-term-card h3 span,
.reading-room-page .reading-room-title h1{
  font-family:"Galok Qiji","Songti SC","STSong","Noto Serif CJK TC","Noto Serif CJK SC",serif;
  font-weight:400;
  font-synthesis:none;
}
.reading-page .reading-book-title-zh{letter-spacing:.05em}
.reading-room-page .reading-room-title h1{letter-spacing:.075em}

/* ---------- Reading index: compact catalogue + margin note ---------- */
.reading-page .reading-index-layout{
  grid-template-columns:minmax(0,1fr) minmax(300px,360px);
  align-items:stretch;
}
.reading-page .reading-index-table{border-right:1px solid var(--reading-rule)}
.reading-page .reading-index-row{
  grid-template-columns:52px minmax(220px,1fr) 92px 112px 108px;
  gap:14px;
  min-height:88px;
  padding:12px 16px 12px 0;
}
.reading-page .reading-index-row--head{min-height:38px}
.reading-page .reading-index-row:not(.reading-index-row--head):hover,
.reading-page .reading-index-row:not(.reading-index-row--head).is-active{background:rgba(255,255,255,.16)}
.reading-page button.reading-index-row{cursor:default}
.reading-page .reading-index-row b{font-size:.88rem;letter-spacing:.025em}
.reading-page .reading-index-row small{font-size:.78rem;line-height:1.35}
.reading-page .reading-index-row>span:nth-child(n+3){font-size:.68rem}
.reading-page .reading-index-preview{
  display:block;
  min-height:0;
  padding:24px 0 24px 28px;
  background:transparent;
}
.reading-page .reading-term-card{
  position:sticky;
  top:108px;
  padding:4px 8px 4px 0;
}
.reading-page .reading-term-kicker{
  margin:0 0 22px;
  color:var(--reading-red);
  font:750 .58rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.11em;
}
.reading-page .reading-term-card h3{
  margin:0 0 20px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.65rem,2.25vw,2.35rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
}
.reading-page .reading-term-card h3 sup{
  position:relative;
  top:-.35em;
  margin-left:2px;
  color:var(--reading-red);
  font:750 .52em/1 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.reading-page .reading-term-card h3 span{
  display:block;
  margin-top:9px;
  color:var(--reading-muted);
  font-size:.66em;
  font-weight:400;
  letter-spacing:.06em;
}
.reading-page .reading-term-en,
.reading-page .reading-term-jp p{
  margin:0;
  color:var(--reading-muted);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.87rem;
  line-height:1.62;
}
.reading-page .reading-term-jp{
  margin-top:22px;
  padding-top:15px;
  border-top:1px solid var(--reading-rule);
}
.reading-page .reading-term-jp summary{
  list-style:none;
  cursor:pointer;
  color:var(--reading-ink);
  font:750 .58rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.09em;
}
.reading-page .reading-term-jp summary::-webkit-details-marker{display:none}
.reading-page .reading-term-jp summary:after{content:" +";color:var(--reading-red)}
.reading-page .reading-term-jp[open] summary:after{content:" −"}
.reading-page .reading-term-jp p{margin-top:14px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif}

/* Keep the catalogue and its note side-by-side on iPad landscape. */
@media(max-width:1180px) and (min-width:821px){
  .reading-page .reading-index-layout{grid-template-columns:minmax(0,1fr) 300px}
  .reading-page .reading-index-row{grid-template-columns:46px minmax(180px,1fr) 76px 96px;gap:10px;padding-right:12px}
  .reading-page .reading-index-row>span:nth-child(5){display:none}
  .reading-page .reading-index-preview{padding-left:22px}
  .reading-page .reading-term-card h3{font-size:1.7rem}
  .reading-page .reading-term-en,.reading-page .reading-term-jp p{font-size:.81rem;line-height:1.55}
}
@media(max-width:820px){
  .reading-page .reading-index-layout{grid-template-columns:1fr}
  .reading-page .reading-index-table{border-right:0}
  .reading-page .reading-index-preview{
    min-height:0!important;
    padding:26px 0 0;
    border-top:1px solid var(--reading-ink);
  }
  .reading-page .reading-term-card{position:static;padding:0 0 6px}
}
@media(max-width:620px){
  .reading-page .reading-index-row{min-height:82px}
  .reading-page .reading-index-preview{min-height:0!important}
  .reading-page .reading-term-card h3{font-size:1.65rem}
}

/* ---------- Yantie Lun book map: volume-level register ---------- */
.reading-room-page .reading-room-map{
  display:block;
  border-left:0;
  border-top:1px solid var(--rr-ink);
}
.reading-room-page .reading-room-map article{
  min-height:0;
  display:grid;
  grid-template-columns:130px minmax(0,1fr) 110px;
  gap:24px;
  align-items:center;
  padding:17px 0;
  border-right:0;
  border-bottom:1px solid var(--rr-rule);
  background:transparent;
  color:var(--rr-ink);
}
.reading-room-page .reading-room-map article:hover{background:rgba(255,255,255,.16)}
.reading-room-page .reading-room-map small{
  color:var(--rr-red);
  font-size:.56rem;
  line-height:1.35;
  letter-spacing:.09em;
}
.reading-room-page .reading-room-map h3{
  margin:0;
  font-family:var(--font-sans,"Helvetica Neue",Arial,sans-serif);
  font-size:clamp(.92rem,1.15vw,1.08rem);
  font-weight:720;
  line-height:1.2;
  letter-spacing:.045em;
}
.reading-room-page .reading-room-map p{
  margin:0;
  color:var(--rr-muted);
  text-align:right;
  font:750 .56rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.reading-room-page .reading-room-map article.is-active{
  position:relative;
  background:transparent;
  color:var(--rr-ink);
}
.reading-room-page .reading-room-map article.is-active:before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:3px;
  background:var(--rr-red);
}
.reading-room-page .reading-room-map article.is-active small,
.reading-room-page .reading-room-map article.is-active p{color:var(--rr-red)}
.reading-room-page .reading-room-map article.is-active small{padding-left:14px}

@media(max-width:900px){
  .reading-room-page .reading-room-map article{grid-template-columns:112px minmax(0,1fr) 86px;gap:18px}
  .reading-room-page .reading-room-map h3{font-size:.96rem}
}
@media(max-width:620px){
  .reading-room-page .reading-room-map article{
    grid-template-columns:82px minmax(0,1fr);
    gap:8px 14px;
    padding:15px 0;
  }
  .reading-room-page .reading-room-map article.is-active:before{top:12px;bottom:12px}
  .reading-room-page .reading-room-map h3{font-size:.92rem;line-height:1.25}
  .reading-room-page .reading-room-map p{grid-column:2;text-align:left}
  .reading-room-page .reading-room-map article.is-active small{padding-left:10px}
}

/* Reading cover sharpness fix — keep low-resolution repair assets at native CSS size. */
.reading-room-page .reading-room-cover-frame{
  display:grid;
  place-items:center;
  padding:28px 28px 92px;
  background:#e9e0d0;
}
.reading-room-page .reading-room-source.reading-room-cover-frame img{
  position:relative;
  inset:auto;
  width:auto;
  height:auto;
  max-width:min(100%,360px);
  max-height:calc(76svh - 118px);
  object-fit:contain;
  object-position:center;
  opacity:1;
  transform:none;
}
@media(max-width:760px){
  .reading-room-page .reading-room-cover-frame{padding:24px 20px 90px}
  .reading-room-page .reading-room-source.reading-room-cover-frame img{
    max-width:min(100%,360px);
    max-height:calc(66svh - 112px);
  }
}
