:root{--bg:#fdfdfa;--ink:#222;--soft:#444;--meta:#707070;--line:#ccc;--faint:#e5e2da;--indigo:#1a4a7a;--amber:#a96508;--wash:#fbf5e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,"Palatino Linotype","Times New Roman",serif;line-height:1.85}a{color:var(--indigo)}img{max-width:100%;height:auto}.wrap{width:min(46rem,calc(100% - 2rem));margin:auto}.wrap-wide{width:min(66rem,calc(100% - 2rem));margin:auto}.pr-note{margin:0;padding:.35rem 1rem;text-align:center;background:#f3f0e7;color:#645f55;font-size:.73rem}.site header,header.site{border-bottom:1px solid var(--line)}.brand-row{display:flex;align-items:baseline;gap:1rem;padding:1rem 0 .3rem}.brand-row h1,.brand{font-size:1.3rem;margin:0}.brand-row a{text-decoration:none;color:var(--ink)}.tagline{font-size:.78rem;color:var(--meta)}header.site nav{display:flex;gap:1rem;overflow:auto;padding:.2rem 0 .8rem;font-size:.78rem;white-space:nowrap}.hero{padding:3.2rem 0 2.3rem;border-bottom:1px solid var(--faint)}.kicker,.cat .en,.step-label,.nb-label,.toc-label{font-size:.7rem;letter-spacing:.22em;color:#8b671d}.hero h2{font-size:clamp(1.55rem,4vw,2.1rem);line-height:1.55}.lead{font-size:1.02rem}.hero-note,.section-lede{color:var(--soft);font-size:.9rem}.block{padding:2.7rem 0;border-bottom:1px solid var(--faint)}h2.cat{font-size:1.35rem}.cat .en{display:block;font-weight:normal}.ranking{list-style:none;padding:0}.rank-card{display:grid;grid-template-columns:2rem 108px 1fr;gap:1.2rem;padding:1.5rem 0;border-top:1px solid var(--faint)}.rank-card.rank-1{grid-template-columns:2rem 150px 1fr}.rank-no{font-size:1.4rem;color:#9b741b}.rank-body h3{margin:.1rem 0}.rank-meta,.micro{font-size:.78rem;color:var(--meta)}.desc{font-size:.92rem}.badge{display:inline-block;border:1px solid var(--line);padding:.08rem .45rem;margin-right:.35rem;font-size:.7rem}.badge-first{background:var(--amber);color:#fff;border-color:var(--amber)}.cta-row{display:flex;flex-wrap:wrap;gap:.55rem;margin:.5rem 0}.btn{display:inline-block;text-decoration:none;padding:.45em 1.25em;border-radius:3px;font-size:.88rem}.btn-amazon{background:var(--amber);border:1px solid var(--amber);color:#fff}.btn-quiet,.btn-kindle{border:1px solid var(--indigo);color:var(--indigo)}.table-scroll{overflow-x:auto}table.compare{border-collapse:collapse;width:100%;min-width:720px;font-size:.85rem}table.compare caption{text-align:left;color:var(--meta)}table.compare th,table.compare td{border-bottom:1px solid var(--faint);padding:.65rem;text-align:left;vertical-align:top}table.compare tr.hl{background:var(--wash)}.yaku{display:block;font-size:.74rem;color:var(--meta)}.roadmap{list-style:none;padding:0}.roadmap li{border-left:1px solid var(--line);padding:0 0 1.6rem 1.5rem}.roadmap h3{margin:.1rem 0}.ku-band,.verdict,.toc-box,.exp-note{border:1px solid var(--faint);border-left:3px solid #9b741b;padding:1rem 1.25rem;margin:2rem 0;background:#fbfaf5}.ku-band h3{margin-top:0}article.review{padding:2.5rem 0}.crumb{font-size:.78rem;color:var(--meta)}h1.title{font-size:clamp(1.4rem,4vw,1.8rem);line-height:1.5}.stars{color:var(--amber)}.score{font-size:.8rem;color:var(--meta)}.book-head{display:grid;grid-template-columns:168px 1fr;gap:1.7rem;margin:2rem 0}.biblio dl{display:grid;grid-template-columns:6rem 1fr;font-size:.86rem}.biblio dd{margin:0}.review h2{font-size:1.15rem;border-bottom:1px solid var(--faint);margin-top:2.4rem}.review h3{font-size:1rem}.next-book{border-top:1px solid var(--faint);margin-top:2.5rem;padding-top:1.3rem}footer.site{border-top:1px solid var(--line);padding:1.5rem 0 3rem;margin-top:3rem;color:var(--meta);font-size:.78rem}footer.site nav{display:flex;gap:1rem;flex-wrap:wrap}.disclosure{color:var(--soft)}@media(max-width:640px){.rank-card,.rank-card.rank-1{grid-template-columns:1.5rem 88px 1fr}.book-head{grid-template-columns:125px 1fr}}@media(max-width:430px){.book-head{grid-template-columns:1fr}.cta-row .btn{width:100%;text-align:center}}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(8px);transition:.5s}.reveal.is-in{opacity:1;transform:none}}
