.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100}.reading-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-3));transition:width 60ms linear}.post{padding:56px 0 88px}.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:56px}@media (max-width: 980px){.post-grid{grid-template-columns:1fr}.post-toc-wrap{display:none}}.post-col{max-width:720px}.post-back{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.post-back:hover{color:var(--accent-strong, #0b7a55)}.post-title{font-family:var(--display);font-weight:500;font-size:clamp(30px,4.2vw,46px);line-height:1.08;letter-spacing:-.02em;margin:18px 0 0}.post-desc{font-size:19px;color:var(--muted);line-height:1.5;margin:18px 0 0}.post-byline{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--subtle);margin-top:20px}.post-byline .sep{opacity:.4}.prose-post{margin-top:36px;color:#2c2b25;font-size:17px;line-height:1.7}.prose-post>*+*{margin-top:1.1rem}.prose-post .lede{font-size:20px;line-height:1.55;color:#1c1b16;font-weight:500;margin-top:0}.prose-post .lede:first-letter{font-size:3.2em;float:left;line-height:.86;padding:.12em .12em 0 0;color:var(--accent);font-weight:700;font-family:var(--display)}.prose-post h2{font-family:var(--display);font-weight:500;font-size:28px;letter-spacing:-.02em;line-height:1.2;margin-top:3rem;color:var(--fg);scroll-margin-top:90px}.prose-post h3{font-size:19px;font-weight:600;letter-spacing:-.01em;margin-top:2.1rem;color:var(--fg);scroll-margin-top:90px}.prose-post a{color:var(--accent-strong, #0b7a55);text-decoration:underline;text-underline-offset:2px}.prose-post ul,.prose-post ol{padding-left:1.3rem}.prose-post li{margin-top:.5rem}.prose-post li::marker{color:var(--accent)}.prose-post code{font-family:var(--mono);font-size:.87em;background:var(--accent-soft);padding:.14em .42em;border-radius:5px;color:var(--accent-strong, #0b7a55)}.prose-post strong{color:var(--fg);font-weight:600}.prose-post blockquote{border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1.2rem;font-style:italic;color:#45443c}.prose-post .pull-quote{font-family:var(--display);font-size:24px;line-height:1.32;font-weight:500;letter-spacing:-.015em;color:var(--fg);text-align:center;margin:2.6rem 0;padding:0 1rem}.prose-post .pull-quote:before,.prose-post .pull-quote:after{content:"";display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-3));margin:1rem auto;border-radius:2px}.prose-post .callout{margin:1.6rem 0;padding:16px 18px 16px 50px;border-radius:14px;position:relative;font-size:16px;line-height:1.6}.prose-post .callout:before{position:absolute;left:16px;top:16px;font-size:18px;line-height:1;font-weight:800}.prose-post .callout>*:first-child{margin-top:0}.prose-post .callout .label{display:block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}.prose-post .callout.tip{background:var(--accent-soft);border:1px solid #cbe8da}.prose-post .callout.tip:before{content:"✓";color:var(--accent-strong, #0b7a55)}.prose-post .callout.tip .label{color:var(--accent-strong, #0b7a55)}.prose-post .callout.warn{background:#fdf4e7;border:1px solid #f1dcb8}.prose-post .callout.warn:before{content:"!";color:#b4791f}.prose-post .callout.warn .label{color:#b4791f}.post-author{margin-top:56px;border-top:1px solid var(--border);padding-top:28px}.post-author .who{font-size:16px;font-weight:600;margin-top:4px}.post-author p{color:var(--muted);font-size:15px;margin-top:8px}.post-cta{margin-top:36px;border:1px solid var(--border);border-radius:18px;background:var(--paper);padding:30px;text-align:center}.post-cta h2{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.015em;margin:0}.post-cta p{color:var(--muted);margin:8px 0 16px}.post-cta .hero-cta{justify-content:center}.post-related{margin-top:44px}.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}@media (max-width: 560px){.rel-grid{grid-template-columns:1fr}}.rel-card{padding:18px}.rel-card .t{font-weight:600;font-size:15px;letter-spacing:-.01em;line-height:1.3}.rel-card:hover .t{color:var(--accent-strong, #0b7a55)}.rel-card .m{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin-top:10px}.post-toc{position:sticky;top:88px;font-size:13px;border-left:1px solid var(--border);padding-left:4px}.toc-label{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle);margin-bottom:12px;padding-left:14px}#toc a{display:block;padding:6px 14px;color:var(--muted);border-left:2px solid transparent;margin-left:-1px;transition:all .12s;line-height:1.4}#toc a:hover{color:var(--accent-strong, #0b7a55)}#toc a.active{color:var(--accent-strong, #0b7a55);border-left-color:var(--accent);font-weight:500}
