.reader-body *{box-sizing:border-box}
.reader-body{margin:0;color:#173e3c;background:#f4f2eb;font:17px/1.65 system-ui,sans-serif}
.reader-body main{max-width:1080px;margin:auto;padding:32px 22px}
.reader-body h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.12;max-width:900px}
.reader-body h2{line-height:1.25;margin-top:2.2rem}
.reader-body h3{line-height:1.35}
.reader-body p,.reader-body li,.reader-body dd,.reader-body a{overflow-wrap:anywhere}
.reader-body a{color:#075d6c;text-underline-offset:3px}
.reader-body a:focus-visible,.reader-body summary:focus-visible{outline:3px solid #a34514;outline-offset:4px}
.reader-body .skip{position:absolute;left:10px;top:-100px}
.reader-body .skip:focus{top:10px;background:white;padding:12px}
.reader-body .eyebrow{letter-spacing:.08em;font-size:.8rem;text-transform:uppercase}
.reader-body .lead{font-size:1.25rem;max-width:870px}
.reader-body .notice{background:#e3ece5;border-left:5px solid #237769;padding:16px 20px}
.reader-body .meta{font-size:.93rem;color:#3b5956}
.reader-body nav ul{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0}
.reader-body .figure{margin:28px 0;padding:24px;background:#fff;border:1px solid #a9c3b8;border-radius:12px}
.reader-body .figure h3{margin-top:0}
.reader-body .visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:16px}
.reader-body .node{border:1px solid #a3bdb2;background:#edf4ef;padding:16px;min-width:0;border-radius:8px}
.reader-body .node strong{display:block;font-size:1.08rem}
.reader-body .node small{display:block}
.reader-body .tag{display:inline-block;background:#173e3c;color:white;padding:2px 10px;border-radius:20px;font-size:.84rem}
.reader-body .hub{padding:15px;background:#173e3c;color:white;border-radius:8px;margin-bottom:16px}
.reader-body .connector{text-align:center;font-size:1.4rem;line-height:1.5}
.reader-body .annotation{display:grid;grid-template-columns:170px 1fr;gap:0;border:1px solid #a9c3b8}
.reader-body .annotation dt,.reader-body .annotation dd{margin:0;padding:12px;border-bottom:1px solid #c8d8cf}
.reader-body .annotation dt{font-weight:700;background:#edf4ef}
.reader-body .annotation dd:last-child,.reader-body .annotation dt:nth-last-child(2){border-bottom:0}
.reader-body figcaption{margin-top:16px;font-size:.96rem}
.reader-body details{margin-top:14px;border-top:1px solid #c8d8cf;padding-top:12px}
.reader-body summary{cursor:pointer;min-height:44px}
.reader-body .catalogue{list-style:none;padding:0;display:grid;gap:18px}
.reader-body .entry{padding:22px;background:white;border:1px solid #b9cdc4;border-radius:8px;scroll-margin-top:20px}
.reader-body .entry h3{margin:8px 0}
.reader-body .entry dl{margin:14px 0}
.reader-body .entry dt{font-weight:650}
.reader-body .entry dd{margin:0 0 10px}
.reader-body .sources li{margin:18px 0}
.reader-body .checklist li{margin:12px 0}
.reader-body footer{margin-top:35px;padding-top:18px;border-top:1px solid #a9c3b8}
@media(max-width:520px){.reader-body main{padding:24px 16px}
.reader-body .figure{padding:16px}
.reader-body .annotation{grid-template-columns:1fr}
.reader-body .annotation dt{padding-bottom:4px;border-bottom:0}
.reader-body .annotation dd{padding-top:4px}
.reader-body .annotation dt:nth-last-child(2){border-bottom:0}
}
@media print{.reader-body{background:white}
.reader-body .figure,.reader-body .entry{break-inside:avoid}
.reader-body details>*{display:block}
.reader-body nav,.reader-body .skip{display:none}
.reader-body a{color:inherit}
}
