.reading-progress{position:fixed;top:var(--header-h);left:0;right:0;z-index:45;pointer-events:none}.reading-progress__bar{width:100%;height:2px;background:var(--color-teal);opacity:.82;transform:scaleX(0);transform-origin:left center;transition:transform .12s linear}.reading-progress__label{position:absolute;top:.55rem;right:var(--gutter);display:flex;max-width:min(34vw,320px);align-items:baseline;gap:.55rem;padding:.32rem .65rem;border:1px solid rgba(146,148,121,.16);border-radius:999px;background:#f5f3ecd1;box-shadow:0 10px 30px #0c0c090a;color:var(--color-sage-dk);opacity:0;transform:translateY(-4px);transition:opacity .25s var(--ease),transform .25s var(--ease);backdrop-filter:blur(10px)}.reading-progress.is-visible .reading-progress__label{opacity:1;transform:translateY(0)}.reading-progress__eyebrow{flex:0 0 auto;font-family:var(--font-serif);font-size:10px;letter-spacing:.12em;color:var(--color-teal)}.reading-progress__section{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;letter-spacing:.03em}.article-body{min-width:0;max-width:720px;font-size:15px;line-height:1.95;color:var(--color-ink)}.article-shell{display:grid;grid-template-columns:minmax(0,720px) 220px;gap:clamp(2rem,5vw,4rem);max-width:1040px;align-items:start}.article-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}.article-actions__link{display:inline-flex;align-items:center;min-height:34px;padding:0 .9rem;border:1px solid rgba(74,107,90,.24);border-radius:999px;color:var(--color-teal);font-size:12px;letter-spacing:.06em;text-decoration:none;transition:background .2s,border-color .2s,color .2s}.article-actions__link:hover{background:var(--color-teal);border-color:var(--color-teal);color:#fff}.article-actions__link--muted{color:var(--color-sage-dk);border-color:#9294793d}.article-toc{position:sticky;top:calc(var(--header-h) + 1.25rem);order:2;max-height:calc(100dvh - var(--header-h) - 2.5rem);overflow:auto;padding:1rem 0 1rem 1rem;border-left:1px solid rgba(146,148,121,.18)}.article-toc__label{margin-bottom:.75rem;font-family:var(--font-serif);font-size:12px;letter-spacing:.12em;color:var(--color-teal)}.article-toc__link{display:block;padding:.38rem 0;color:var(--color-sage-dk);font-size:12px;line-height:1.55;text-decoration:none;transition:color .2s,transform .2s}.article-toc__link:hover{color:var(--color-black-dark);transform:translate(3px)}.article-toc__link.is-current{color:var(--color-black-dark)}.article-toc__link.is-current:before{content:"";display:inline-block;width:.48rem;height:1px;margin-right:.35rem;vertical-align:middle;background:var(--color-teal)}.article-toc__link--child{padding-left:.75rem;font-size:11px;opacity:.82}.article-body :is(h2,h3,h4){scroll-margin-top:calc(var(--header-h) + 1rem)}.article-body h2{margin-top:2.8rem;margin-bottom:1rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-earth);font-family:var(--font-serif);font-size:1.35rem;color:var(--color-black-dark);letter-spacing:.04em}.article-body h3{margin-top:2rem;margin-bottom:.7rem;font-size:1.05rem;font-weight:600;color:var(--color-black-dark)}.article-body h4{margin-top:1.4rem;margin-bottom:.5rem;font-size:.95rem;font-weight:600;color:var(--color-black-lt)}.article-body p{margin-bottom:1rem}.article-body ul,.article-body ol{margin-bottom:1rem;padding-left:1.4rem}.article-body li{margin-bottom:.3rem}.article-body strong{color:var(--color-black-dark);font-weight:600}.article-body a{color:var(--color-teal);text-decoration:underline;text-underline-offset:2px;transition:opacity .2s}.article-body a:hover{opacity:.7}.article-body blockquote{margin:1.2rem 0;padding:1rem 1.2rem;border-left:3px solid var(--color-teal);background:var(--color-parchment-dk);border-radius:0 4px 4px 0;font-size:.93rem}.article-body blockquote p:last-child{margin-bottom:0}.article-body blockquote strong{color:var(--color-teal)}.article-body table{width:100%;margin:1.2rem 0;border-collapse:collapse;font-size:.88rem}.article-body thead th{padding:.6rem .8rem;background:var(--color-parchment-dk);border-bottom:2px solid var(--color-earth);text-align:left;font-weight:600;font-size:.82rem;color:var(--color-black-dark);white-space:nowrap}.article-body tbody td{padding:.55rem .8rem;border-bottom:1px solid var(--color-earth);vertical-align:top}.article-body tbody tr:hover{background:var(--color-parchment-dk)}.article-body code{font-family:var(--font-mono);font-size:.88em;background:var(--color-parchment-dk);padding:.15em .35em;border-radius:3px}.article-body pre{margin:1.2rem 0;padding:1rem 1.2rem;background:var(--color-black-dark);color:var(--color-sage-lt);border-radius:6px;overflow-x:auto;font-size:.85rem;line-height:1.7}.article-body pre code{background:none;padding:0;font-size:inherit;color:inherit}.article-body details{margin:1rem 0;border:1px solid var(--color-earth);border-radius:6px;overflow:hidden}.article-body summary{padding:.75rem 1rem;background:var(--color-parchment-dk);font-weight:600;font-size:.92rem;color:var(--color-black-dark);cursor:pointer;transition:background .2s}.article-body summary:hover{background:var(--color-sage-lt)}.article-body details>div,.article-body details>p{padding:1rem}.article-body img{max-width:100%;border-radius:6px;margin:1rem 0}.article-body hr{margin:2rem 0;border:none;border-top:1px solid var(--color-earth)}@media(max-width:1024px){.reading-progress__label{left:var(--gutter);right:var(--gutter);max-width:none}.article-shell{display:block;max-width:720px}.article-toc{position:static;max-height:none;margin-bottom:2rem;padding:1rem;border:1px solid rgba(146,148,121,.18);border-radius:6px;background:#eae7dc59}}@media(max-width:640px){.reading-progress__label{display:none}}@media(prefers-reduced-motion:reduce){.reading-progress__bar,.reading-progress__label,.article-toc__link{transition:none}}
