:root{--ink:#232019;--paper:#faf6ee;--accent:#8b1a1a;--rule:#d8cdb8;--muted:#6b6656;--panel:#f1ead9}
*{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.55}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 5rem}
.topnav{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;
 padding:.6rem 0;border-bottom:1px solid var(--rule);margin-bottom:1.5rem}
.topnav .disabled{color:#bbb3a2}
h1{font-weight:600;margin:.2rem 0 .3rem;border-bottom:2px solid var(--accent);padding-bottom:.3rem}
h2{font-weight:600;color:var(--accent);font-size:1.15rem;margin:2.2rem 0 .6rem}
.booktitle{color:var(--muted);font-size:.95rem;margin:0}
.caption{font-size:1.1rem;font-style:italic;color:var(--muted);margin:.2rem 0 1.5rem}
/* book header */
.book-head{display:grid;grid-template-columns:1fr;gap:.2rem;margin-bottom:1.5rem}
.meta{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1rem;font-size:.95rem;margin:1rem 0}
.meta dt{color:var(--muted)}.meta dd{margin:0}
/* survey */
.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(190px,1fr));gap:1.4rem}
.card{display:flex;flex-direction:column;color:var(--ink)}
.card:hover{text-decoration:none}
.card .thumb-box{background:#fff;border:1px solid var(--rule);aspect-ratio:1/1;display:flex;
 align-items:center;justify-content:center;overflow:hidden}
.card 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:.45rem}
.card .cap{font-size:.92rem;line-height:1.35;margin:.1rem 0}
.card .mot{font-size:.82rem;font-style:italic;color:var(--muted);line-height:1.3}
/* emblem page */
.emblem-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}
@media (max-width:760px){.emblem-main{grid-template-columns:1fr}}
figure{margin:0}
.woodcut img{width:100%;height:auto;background:#fff;border:1px solid var(--rule)}
figcaption{font-size:.85rem;color:var(--muted);margin-top:.4rem}
.motto{font-size:1.3rem;font-style:italic;margin:0 0 .2rem;color:var(--accent)}
.motto-en{color:var(--muted);margin:0 0 1.4rem}
.verse{margin:0;white-space:normal}
.verse span{display:block;padding-left:1.5em;text-indent:-1.5em}
.prose{text-align:justify}
ul.list{list-style:none;padding:0;margin:0}
ul.list li{padding:.45rem 0;border-bottom:1px solid var(--rule)}
code{background:#eee5d0;padding:.1rem .35rem;border-radius:3px;font-size:.9em}
.label{color:var(--muted)}
.ic-sep{color:#b08a3e;padding:0 .25rem}
.note{font-size:.9rem;color:#4a4740;margin:.2rem 0 0}
.kind{font-size:.85rem;color:var(--muted);font-style:italic}
.conf{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;
 padding:.05rem .4rem;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:-.3rem 0 .6rem}
.sources{font-size:.9rem}
.ai{display:inline-block;font-family:"Helvetica Neue",Arial,sans-serif;font-style:normal;font-size:.68rem;
 font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#2f5d7c;border:1px solid #2f5d7c;
 border-radius:3px;padding:0 .35rem;margin-left:.45rem;vertical-align:middle;white-space:nowrap}
.notice{background:var(--panel);border-left:3px solid #2f5d7c;padding:.7rem 1rem;font-size:.92rem;margin:1rem 0}
.compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}
@media (max-width:760px){.compare{grid-template-columns:1fr}}
.facs img{width:100%;height:auto;background:#fff;border:1px solid var(--rule)}
@media (min-width:761px){.compare .texts{position:sticky;top:1rem}}
h3{font-size:.95rem;font-weight:600;color:var(--muted);margin:1.4rem 0 .4rem}
.texts h3:first-child{margin-top:0}
footer{margin-top:4rem;padding-top:1rem;border-top:2px solid var(--rule);font-size:.85rem;color:var(--muted)}
