:root{--ink:#232019;--paper:#faf6ee;--accent:#8b1a1a;--rule:#d8cdb8;--muted:#6b6656;--panel:#f1ead9;--ai:#2f5d7c}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
 font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;line-height:1.5}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1150px;margin:0 auto;padding:1.2rem 1rem 4rem}
.topnav{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;padding:.5rem 0;
 border-bottom:1px solid var(--rule);margin-bottom:1.2rem}
.topnav .disabled{color:#bbb3a2}
h1{font-weight:600;margin:.2rem 0 .3rem;border-bottom:2px solid var(--accent);padding-bottom:.3rem;font-size:1.7rem}
h2{font-weight:600;color:var(--accent);font-size:1.15rem;margin:2rem 0 .6rem}
h3{font-size:.9rem;font-weight:600;color:var(--muted);margin:1.2rem 0 .3rem}
.texts>h3:first-child{margin-top:0}
.booktitle{color:var(--muted);font-size:.95rem;margin:0}
.caption{font-size:1.05rem;font-style:italic;color:var(--muted);margin:.2rem 0 1.2rem}
.ai{display:inline-block;font-family:"Helvetica Neue",Arial,sans-serif;font-style:normal;font-size:.65rem;
 font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ai);border:1px solid var(--ai);
 border-radius:3px;padding:0 .3rem;margin-left:.45rem;vertical-align:middle;white-space:nowrap}
.notice{background:var(--panel);border-left:3px solid var(--ai);padding:.7rem 1rem;font-size:.92rem;margin:1rem 0}
.pending{color:var(--muted);font-style:italic;font-size:.92rem}
/* contents page */
.book-head{display:grid;grid-template-columns:1fr 160px;gap:1.5rem;align-items:start}
.book-head img{width:100%;border:1px solid var(--rule);background:#fff}
@media (max-width:640px){.book-head{grid-template-columns:1fr}.book-head figure{max-width:160px}}
.fulltitle{font-style:italic;margin:.3rem 0 .8rem}
.meta{display:grid;grid-template-columns:max-content 1fr;gap:.15rem 1rem;font-size:.92rem;margin:0}
.meta dt{color:var(--muted)}.meta dd{margin:0;overflow-wrap:anywhere}
.search-box{display:flex;gap:.6rem;align-items:center;margin:1.5rem 0}
.search-box input{flex:1;font:inherit;padding:.5rem .7rem;border:1px solid var(--rule);border-radius:4px;background:#fff}
.count{font-size:.85rem;color:var(--muted);white-space:nowrap}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.3rem}
.card{display:flex;flex-direction:column;color:var(--ink)}
.card[hidden]{display:none}
.card:hover{text-decoration:none}
.thumb-box{background:#fff;border:1px solid var(--rule);aspect-ratio:1/1;display:flex;align-items:center;
 justify-content:center;overflow:hidden}
.thumb-box img{max-width:100%;max-height:100%;object-fit:contain}
.card:hover .thumb-box{border-color:var(--accent)}
.card .num{font-variant:small-caps;color:var(--muted);font-size:.85rem;margin-top:.4rem}
.card .cap{font-size:.9rem;line-height:1.3;margin:.1rem 0}
.card .mot{font-size:.85rem;font-style:italic;line-height:1.3}
/* emblem page */
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.2rem;align-items:start}
@media (max-width:760px){.two{grid-template-columns:1fr}}
@media (min-width:761px){.sticky{position:sticky;top:.8rem}}
figure{margin:0}
.woodcut img,.viewer img{width:100%;height:auto;background:#fff;border:1px solid var(--rule)}
figcaption{font-size:.82rem;color:var(--muted);margin-top:.35rem}
.motto{font-size:1.25rem;font-style:italic;margin:0;color:var(--accent)}
.motto-lang{font-family:"Helvetica Neue",Arial,sans-serif;font-style:normal;font-size:.7rem;color:var(--muted);
 text-transform:uppercase;letter-spacing:.05em;margin-left:.4rem}
.motto-2{font-size:1rem;font-style:italic;margin:.2rem 0 0}
.motto-en{color:var(--muted);margin:.3rem 0 1rem}
.verse,.orig{white-space:pre-line}
.verse{font-style:italic;margin:0}
.trans{white-space:pre-line;margin:0}
.prose{text-align:justify;margin:0}
.strip{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
.strip a{display:block;border:2px solid transparent;line-height:0}
.strip a.on{border-color:var(--accent)}
.strip img{height:75px;width:auto;background:#fff;border:1px solid var(--rule)}
/* commentary: compact two columns, original | translation */
details.comm>summary{cursor:pointer;color:var(--muted);font-size:.9rem;margin-bottom:.5rem}
.comm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1.6rem;font-size:.9rem;line-height:1.4}
.comm-grid>div{padding:.45rem 0;border-top:1px solid var(--rule)}
.comm-grid .orig{font-style:italic}
.comm-grid p{margin:0}.comm-grid p+p{margin-top:.3rem}
.comm-grid .trans{color:#3d3a33}
@media (max-width:760px){.comm-grid{grid-template-columns:1fr}.comm-grid .trans{border-top:none;padding-top:0;
 padding-bottom:.7rem}}
ul.list{list-style:none;padding:0;margin:0}
ul.list li{padding:.35rem 0;border-bottom:1px solid var(--rule);font-size:.95rem}
code{background:#eee5d0;padding:.05rem .35rem;border-radius:3px;font-size:.88em}
.label{color:var(--muted)}
.ic-sep{color:#b08a3e;padding:0 .25rem}
.note{font-size:.85rem;color:#4a4740;margin:.15rem 0 0;line-height:1.35}
.kind{font-size:.82rem;color:var(--muted);font-style:italic}
.conf{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;padding:.05rem .35rem;
 border-radius:3px;margin-left:.3rem;vertical-align:middle}
.conf-high{background:#8b1a1a;color:#fff}.conf-medium{background:#d9a15c;color:#fff}.conf-low{background:#e3dcc8;color:#55524a}
.explain{font-size:.85rem;color:var(--muted);margin:-.2rem 0 .5rem}
.sources{font-size:.9rem}
footer{margin-top:3rem;padding-top:.8rem;border-top:2px solid var(--rule);font-size:.85rem;color:var(--muted)}
