/* ==== hub pages only (volume + category). additive; loaded ONLY by hub pages. ==== */
main.hub{max-width:52rem}
.hub-eyebrow{display:flex;align-items:center;gap:.8rem;justify-content:center;margin:1.6rem 0 .4rem;flex-wrap:wrap}
.hub-eyebrow .r{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--lotus-deep);
  border:1px solid var(--line);padding:.2rem .6rem;border-radius:.35rem;background:var(--panel)}
.hub-eyebrow .s{font-size:.68rem;text-transform:uppercase;letter-spacing:.24em;color:var(--muted);font-weight:600}
.hub-h1{font-family:var(--serif);font-weight:500;text-align:center;letter-spacing:.02em;line-height:1;margin:.1rem 0 0}
.hub-h1.vol{font-size:clamp(3rem,10vw,5rem)}
.hub-h1.cat{font-size:clamp(2rem,6vw,3rem);letter-spacing:0;line-height:1.12;text-wrap:balance;margin-top:.2rem}
.hub-h1.cat.ja{font-family:var(--ja)}
.hub-count{text-align:center;color:var(--lotus-deep);font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;margin:.7rem 0 2.6rem}

/* volume hub: category cards */
.cat-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:3rem}
@media(min-width:40rem){.cat-grid{grid-template-columns:1fr 1fr}}
.cat-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:.9rem;
  padding:1.15rem 1.2rem 1.25rem;background:var(--panel);transition:.18s}
.cat-card:hover{border-color:var(--lotus);transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.07)}
.cc-head{display:flex;align-items:baseline;gap:.6rem}
.cc-n{font-family:var(--mono);font-size:.8rem;color:var(--lotus-deep);flex:none;min-width:1.1rem}
.cc-title{font-family:var(--serif);font-weight:600;font-size:1.16rem;line-height:1.25;margin:0}
.cc-title.ja{font-family:var(--ja);font-size:1.08rem}
.cc-meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--muted);margin:.35rem 0 .85rem;padding-left:1.7rem}
.cc-terms{display:flex;flex-wrap:wrap;gap:.3rem;padding-left:1.7rem}
.tchip{font-size:.76rem;color:var(--ink-soft);background:var(--ground);border:1px solid var(--line);
  padding:.24rem .5rem;border-radius:1.4rem;text-decoration:none;display:inline-flex;gap:.35rem;align-items:baseline;transition:.15s}
.tchip:hover{border-color:var(--lotus);color:var(--ink)}
.tchip.ja{font-family:var(--ja)}
.tchip .tc{font-family:var(--mono);font-size:.62rem;color:var(--muted)}

/* category hub: term rows */
.term-list{display:flex;flex-direction:column;gap:.2rem;margin-bottom:2rem}
.trow{display:flex;gap:1rem;align-items:flex-start;text-decoration:none;color:inherit;
  padding:1rem .8rem;border-radius:.7rem;border:1px solid transparent;border-bottom:1px solid var(--line);transition:.15s}
.trow:hover{background:var(--panel);border-color:var(--line)}
.tr-code{font-family:var(--mono);font-size:.72rem;color:var(--lotus-deep);padding-top:.25rem;min-width:4.8rem;flex:none}
.tr-name{font-family:var(--serif);font-size:1.22rem;font-weight:600;line-height:1.28}
.tr-name.ja{font-family:var(--ja);font-size:1.12rem}
.tr-iast{font-style:italic;font-weight:400;color:var(--lotus-deep);font-size:1rem;margin-left:.2rem}
.tr-name .rdev{font-family:var(--deva);font-style:normal;color:var(--lotus);font-weight:400;margin-left:.3rem}
.tr-ess{margin:.3rem 0 0;font-size:.96rem;color:var(--ink-soft);line-height:1.62;max-width:34rem}
.tr-ess.ja{font-family:var(--ja);line-height:1.85}
.tr-arrow{margin-left:auto;color:var(--muted);opacity:0;align-self:center;transition:.15s;font-size:1.05rem}
.trow:hover .tr-arrow{opacity:1}

/* sibling-category nav within the volume */
.sib-nav{margin-top:1.4rem}
.sib-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--lotus-deep);
  text-align:center;margin-bottom:.9rem}
.sib-label.ja{font-family:var(--ja);letter-spacing:.12em;text-transform:none}
.sib-chips{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.sib{font-size:.8rem;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line);
  padding:.35rem .7rem;border-radius:1.4rem;text-decoration:none;transition:.15s}
.sib:hover{border-color:var(--lotus);color:var(--ink)}
.sib.here{border-color:var(--lotus);color:var(--lotus-deep);font-weight:600;background:var(--ground)}
.sib.ja{font-family:var(--ja)}
.sib .sn{font-family:var(--mono);font-size:.66rem;color:var(--muted);margin-right:.35rem}
