.reader-body *{box-sizing:border-box}
.reader-body{scroll-behavior:smooth}
.reader-body{margin:0;background:#f7f5ef;color:#163b38;font:18px/1.65 system-ui,-apple-system,sans-serif}
.reader-body a{color:#005f66;text-decoration-thickness:2px;text-underline-offset:3px;overflow-wrap:anywhere}
.reader-body a:focus-visible,.reader-body summary:focus-visible{outline:3px solid #a76400;outline-offset:4px}
.reader-body header,.reader-body main,.reader-body footer{max-width:1000px;margin:auto;padding:28px}
.reader-body header{border-bottom:2px solid #b69b5b;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.reader-body main{max-width:940px}
.reader-body h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.13;letter-spacing:-.03em;margin:18px 0 28px}
.reader-body h2{font-size:1.65rem;line-height:1.3;margin-top:48px}
.reader-body h3{font-size:1.1rem;line-height:1.4}
.reader-body p,.reader-body li{max-width:78ch}
.reader-body .eyebrow,.reader-body .meta{font-size:.85rem;letter-spacing:.02em}
.reader-body .lead{font-size:1.25rem;border-left:5px solid #a47b25;padding-left:22px}
.reader-body .note{background:#fff2d8;border:1px solid #d5b772;border-radius:8px;padding:16px 20px}
.reader-body .cite{font-size:.88rem;margin-top:12px}
.reader-body .figure{margin:32px 0;padding:24px;background:white;border:1px solid #acc5c0;border-radius:16px;box-shadow:0 4px 0 #d8e6df}
.reader-body .figure h3{margin-top:0}
.reader-body .flow,.reader-body .timeline{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.reader-body .flow li,.reader-body .timeline li{position:relative;padding:18px;border:2px solid #46776d;border-radius:8px;background:#edf5f0;min-width:0}
.reader-body .flow li:not(:last-child)::after{content:'→';position:absolute;right:-24px;top:40%;font-size:1.6rem;color:#294a44}
.reader-body .step{display:block;font-size:.82rem;color:#425b51}
.reader-body .flow strong,.reader-body .timeline strong{display:block;font-size:1.1rem}
.reader-body .timeline{border-top:4px solid #a78131;padding-top:18px}
.reader-body .timeline li::before{content:'';position:absolute;width:14px;height:14px;border:3px solid #a78131;background:#fff;border-radius:50%;top:-29px;left:22px}
.reader-body .branch{padding:14px;border-left:5px solid #b16b2d;background:#fff2e6}
.reader-body .cards,.reader-body .paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.reader-body .paths{grid-template-columns:repeat(2,minmax(0,1fr))}
.reader-body .card{border-top:5px solid #568877;background:#edf5f0;padding:18px;min-width:0;border-radius:4px}
.reader-body .card h2,.reader-body .card h4{font-size:1.15rem;margin:0 0 12px}
.reader-body .card dl{margin:0}
.reader-body .card dt{font-weight:700;margin-top:12px}
.reader-body .card dd{margin:0}
.reader-body .meter{margin:18px 0}
.reader-body .meter span{display:block;padding:10px;background:#24584e;color:white;border-radius:3px;font-weight:700}
.reader-body .meter .sell{background:#815819}
.reader-body .equation{font-size:1.2rem;font-weight:700;padding:16px;background:#edf5f0;border-radius:8px}
.reader-body .figure details{border-top:1px solid #b8cbc4;margin-top:20px;padding-top:12px;font-size:.92rem}
.reader-body summary{cursor:pointer;font-weight:600}
.reader-body figcaption{font-size:.95rem;margin-top:16px}
.reader-body ul,.reader-body ol{padding-left:24px}
.reader-body li{margin-bottom:8px}
.reader-body .sources{font-size:.92rem}
.reader-body .sources li{padding:14px 0;border-bottom:1px solid #cbd8cf}
.reader-body .sources .limit{display:block;color:#625338}
.reader-body .related{display:flex;gap:18px;flex-wrap:wrap}
.reader-body footer{border-top:1px solid #b69b5b;font-size:.85rem}
.reader-body .skip{position:absolute;left:-9999px}
.reader-body .skip:focus{left:12px;top:12px;background:white;padding:12px;z-index:2}
@media(max-width:650px){.reader-body header,.reader-body main,.reader-body footer{padding:20px}
.reader-body .figure{padding:18px}
.reader-body .flow,.reader-body .timeline,.reader-body .cards,.reader-body .paths{grid-template-columns:1fr}
.reader-body .flow{gap:34px}
.reader-body .flow li:not(:last-child)::after{content:'↓';right:45%;top:auto;bottom:-36px}
.reader-body .timeline{border-top:0;border-left:4px solid #a78131;padding:0 0 0 18px}
.reader-body .timeline li::before{top:24px;left:-29px}
.reader-body{font-size:17px}
.reader-body .meter span{min-width:0}
}
@media print{.reader-body{background:white;font-size:11pt}
.reader-body .figure{break-inside:avoid;box-shadow:none}
.reader-body header{padding-top:0}
.reader-body a{color:inherit}
.reader-body .skip{display:none}
}
