.reader-body{--ink:#173b3a;--teal:#12655f;--paper:#fbfaf5;--muted:#455d5b;--line:#b3cec8;--gold:#775521}
.reader-body *{box-sizing:border-box}
.reader-body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.reader-body header,.reader-body main,.reader-body footer{max-width:1080px;margin:auto;padding:24px 40px}
.reader-body body>header{padding-top:44px;border-bottom:1px solid var(--line)}
.reader-body nav{display:flex;gap:24px;flex-wrap:wrap}
.reader-body a{color:#075952;text-underline-offset:.17em;overflow-wrap:anywhere}
.reader-body a:hover{text-decoration-thickness:3px}
.reader-body a:focus-visible{outline:3px solid #9b5b00;outline-offset:4px}
.reader-body .skip{position:absolute;left:12px;top:-80px;background:#fff;padding:10px}
.reader-body .skip:focus{top:12px}
.reader-body h1{font-size:clamp(2rem,4.5vw,3.15rem);line-height:1.16;letter-spacing:-.035em;max-width:920px}
.reader-body h2{font-size:1.65rem;line-height:1.3;margin:2.5rem 0 1rem}
.reader-body h3{font-size:1.38rem;line-height:1.35;margin:.4rem 0 1.4rem}
.reader-body p{max-width:85ch}
.reader-body .eyebrow,.reader-body .fig-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:var(--teal)}
.reader-body .date-note,.reader-body .source-line{font-size:.92rem;color:var(--muted)}
.reader-body .lead{font-size:1.24rem;line-height:1.6;border-left:5px solid var(--teal);padding-left:22px}
.reader-body figure{margin:2rem 0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 6px 0 #e7eee7}
.reader-body .timeline{list-style:none;padding:0;margin:0}
.reader-body .timeline li{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;position:relative;padding:0 0 28px 26px;border-left:3px solid var(--teal)}
.reader-body .timeline li:last-child{padding-bottom:0}
.reader-body .timeline li:before{content:"";width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--teal);position:absolute;left:-9px;top:9px}
.reader-body .date{color:var(--teal);font-weight:750}
.reader-body .timeline p,.reader-body .flow p,.reader-body .branches p{margin:.35rem 0 0}
.reader-body .flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;list-style:none;padding:0}
.reader-body .flow li{position:relative;border:2px solid var(--teal);border-radius:12px;padding:18px}
.reader-body .step{display:block;font-size:.9rem;color:var(--teal);margin-bottom:.4rem}
.reader-body .flow strong{display:block}
.reader-body .arrow{position:absolute;right:-31px;top:38%;font-size:28px;font-weight:800}
.reader-body .branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border-top:1px dashed var(--line);padding-top:18px}
.reader-body .branches>div{padding:18px;background:#eef5f1;border-radius:10px}
.reader-body .alt{font-size:.95rem;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}
.reader-body figcaption{font-size:.92rem;color:var(--muted)}
.reader-body .formula{font-weight:750;color:var(--teal);background:#eef5f1;padding:14px}
.reader-body .bar-row{display:grid;grid-template-columns:185px minmax(0,1fr) 210px;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid #dfe9e3;font-size:.95rem}
.reader-body .track{height:24px;background:#e8f0ea;border:1px solid #bfd0c6;border-radius:20px;overflow:hidden}
.reader-body .track span{display:block;height:100%;background:var(--teal)}
.reader-body .sources{padding-left:25px;font-size:.94rem}
.reader-body .sources li{padding:12px 0}
.reader-body .sources p{margin:.35rem 0}
.reader-body .sources li:target{background:#edf2d9}
.reader-body footer{font-size:.92rem;border-top:1px solid var(--line);color:var(--muted)}
@media(max-width:700px){.reader-body header,.reader-body main,.reader-body footer{padding:22px 20px}
.reader-body{font-size:17px}
.reader-body body>header{padding-top:28px}
.reader-body figure{padding:20px}
.reader-body .timeline li{grid-template-columns:minmax(0,1fr);gap:5px;padding-left:22px}
.reader-body .flow{grid-template-columns:minmax(0,1fr);gap:36px}
.reader-body .arrow{top:auto;bottom:-35px;right:47%;transform:rotate(90deg)}
.reader-body .branches{grid-template-columns:minmax(0,1fr)}
.reader-body .bar-row{grid-template-columns:minmax(0,1fr);gap:6px}
.reader-body h2{font-size:1.5rem}
.reader-body .lead{padding-left:16px}
}
@media print{.reader-body{background:white;color:#000}
.reader-body header,.reader-body main,.reader-body footer{max-width:none;padding:16px}
.reader-body .skip,.reader-body nav{display:none}
.reader-body figure{box-shadow:none;break-inside:avoid}
.reader-body a{color:#000}
}
