.reader-body *{box-sizing:border-box}
.reader-body{scroll-behavior:smooth}
.reader-body{margin:0;color:#153336;background:#f5f3ed;font:18px/1.65 system-ui,-apple-system,sans-serif}
.reader-body main{max-width:1080px;margin:auto;padding:30px 26px 70px}
.reader-body h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.12;max-width:900px;margin:.5em 0}
.reader-body h2{font-size:1.7rem;line-height:1.25;margin:2.2em 0 .7em}
.reader-body h3{font-size:1.1rem;line-height:1.4;margin:0 0 .4em}
.reader-body p{max-width:78ch}
.reader-body a{color:#005d70;text-underline-offset:3px;overflow-wrap:anywhere}
.reader-body a:focus-visible,.reader-body summary:focus-visible{outline:3px solid #9c3d12;outline-offset:5px}
.reader-body .skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:3}
.reader-body .skip:focus{top:10px}
.reader-body .kicker{text-transform:uppercase;font-size:.78rem;letter-spacing:.15em;font-weight:800;color:#795830}
.reader-body .lead{font-size:1.25rem;line-height:1.5}
.reader-body .notice{padding:18px 22px;background:#fff1cf;border-left:5px solid #9c6311}
.reader-body .meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0}
.reader-body .meta div{background:white;padding:16px;border:1px solid #cfdbd6}
.reader-body .meta dt{font-size:.85rem;font-weight:700;color:#516563}
.reader-body .meta dd{margin:4px 0 0}
.reader-body .source{font-size:.87rem;color:#516563}
.reader-body .source a{margin-right:8px}
.reader-body .visual{background:#fff;border:1px solid #bfcfca;border-radius:16px;padding:24px;margin:30px 0;box-shadow:0 8px 24px #183d2f08}
.reader-body .visual header{display:flex;gap:12px;align-items:baseline;border-bottom:1px solid #dbe2dc;margin-bottom:18px}
.reader-body .visual .number{color:#977132;font-size:.85rem;font-weight:800}
.reader-body .visual h3{font-size:1.28rem}
.reader-body .lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.reader-body .lane{display:flex;flex-direction:column;gap:8px;background:#edf5f0;border-top:5px solid #087269;padding:16px;border-radius:8px}
.reader-body .lane:nth-child(2){background:#f1eff7;border-color:#6b528a}
.reader-body .lane:nth-child(3){background:#f7f0e5;border-color:#aa712c}
.reader-body .lane .step{font-weight:700;font-size:.8rem;letter-spacing:.08em}
.reader-body .arrow{font-size:1.5rem;color:#627975;text-align:center}
.reader-body .cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reader-body .card{padding:18px;background:#f0f5f2;border-left:5px solid #087269}
.reader-body .card.hold{background:#fff2da;border-color:#9c6311}
.reader-body .page-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;list-style:none;padding:0}
.reader-body .page-grid li{text-align:center;padding:8px 2px;background:#e0efe8;border:1px solid #2a7666;border-radius:6px;font-size:1.05rem;font-weight:700}
.reader-body .page-grid li.gap{background:repeating-linear-gradient(135deg,#fff1d4,#fff1d4 8px,#fae1ae 8px,#fae1ae 16px);border:2px dashed #926314}
.reader-body .page-grid small{display:block;font-size:.6rem;font-weight:600;line-height:1.5}
.reader-body .legend{font-size:.9rem}
.reader-body .citation-strip{display:flex;flex-wrap:wrap;gap:12px}
.reader-body .citation-part{flex:1 1 160px;padding:16px;background:#edf5f0;border-bottom:4px solid #087269}
.reader-body .citation-part span{display:block;font-size:.83rem;font-weight:700;color:#516563}
.reader-body .citation-part strong{display:block;margin-top:6px}
.reader-body .visual figcaption{font-size:.92rem;margin-top:18px;max-width:85ch}
.reader-body .visual details{margin-top:12px;font-size:.92rem}
.reader-body .visual summary{cursor:pointer;font-weight:700;padding:8px 0}
.reader-body .contents{list-style:none;padding:0}
.reader-body .contents li{background:white;border-bottom:1px solid #d5e0da;padding:18px 20px;margin:10px 0}
.reader-body .contents .loc{font-size:.85rem;font-weight:800;color:#8b601c}
.reader-body .contents p{margin:.4em 0}
.reader-body .credit{font-size:.93rem;color:#4e6460}
.reader-body .sources li{margin:16px 0}
.reader-body .footer{margin-top:40px;border-top:1px solid #bdccc4;padding-top:20px;font-size:.9rem}
@media(max-width:680px){.reader-body main{padding:22px 16px 50px}
.reader-body .meta,.reader-body .lanes,.reader-body .cards{grid-template-columns:1fr}
.reader-body .visual{padding:16px;border-radius:10px}
.reader-body .page-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.reader-body .visual header{align-items:flex-start}
.reader-body .lead{font-size:1.1rem}
.reader-body .citation-part{flex-basis:100%}
}
@media print{.reader-body{background:white;font-size:11pt}
.reader-body main{max-width:none}
.reader-body a{color:#123}
.reader-body .skip{display:none}
.reader-body .visual,.reader-body .contents li{break-inside:avoid}
.reader-body details{display:block}
}
