.post{--prose-measure:62ch;--prose-wide:56rem;--prose-line:1.86rem;--prose-rhythm:var(--prose-line);--prose-rhythm-tight:calc(var(--prose-line) * .5);--prose-rhythm-set:calc(var(--prose-line) * 2);--prose-rhythm-sub:calc(var(--prose-line) * 1.75);--prose-rhythm-section:calc(var(--prose-line) * 2.25);--prose-rhythm-rule:calc(var(--prose-line) * 3);width:min(var(--prose-wide), calc(100% - 2.5rem));margin-inline:auto;padding:3.5rem 0 0}.post-head{border-bottom:1px solid var(--line);padding-bottom:3rem}.post-head h1{letter-spacing:-.025em;text-wrap:balance;max-width:22ch;margin:0 0 1.6rem;font-size:clamp(2.3rem,6vw,3.6rem);line-height:1.06}.post-meta{border-bottom:1px solid var(--line);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0 0 1.4rem;padding-bottom:1.1rem;font-size:.78rem;font-weight:600;display:flex}.post-meta .reading-time{color:var(--muted)}.post-tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.post-tags li{border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;padding:.18rem .45rem;font-size:.7rem;font-weight:500}.post-lede{max-width:46ch;color:var(--ink-soft);font-family:var(--serif);letter-spacing:-.01em;text-wrap:pretty;margin:0;font-size:clamp(1.2rem,2.7vw,1.55rem);line-height:1.42}.post-lede:before{content:"";background:var(--accent);width:3.25rem;height:2px;margin-bottom:1.5rem;display:block}.post-cover{border:1px solid var(--line);background:var(--paper);margin:3rem 0 0}.post-cover img{width:100%;height:auto;display:block}.post-cover figcaption{border-top:1px solid var(--line);color:var(--muted);padding:.9rem 1.1rem;font-size:.85rem;line-height:1.6}.post-cover figcaption strong{color:var(--ink-soft)}.prose{color:var(--ink-soft);counter-reset:diagram;text-wrap:pretty;padding:3.25rem 0 0;font-size:1.08rem;line-height:1.72}.prose>*{max-width:var(--prose-measure);margin:0 auto}.prose>*+*{margin-top:var(--prose-rhythm)}.prose>*+figure,.prose>*+pre,.prose>*+blockquote,.prose>*+table,.prose>*+.diagram,.prose>figure+*,.prose>pre+*,.prose>blockquote+*,.prose>table+*,.prose>.diagram+*{margin-top:var(--prose-rhythm-set)}.prose>*+h2{margin-top:var(--prose-rhythm-section)}.prose>*+h3{margin-top:var(--prose-rhythm-sub)}.prose>h2+*,.prose>h3+*{margin-top:var(--prose-rhythm-tight)}.prose>h2+figure,.prose>h2+pre,.prose>h2+blockquote,.prose>h2+.diagram,.prose>h3+figure,.prose>h3+pre,.prose>h3+blockquote,.prose>h3+.diagram{margin-top:var(--prose-rhythm)}.prose>hr{margin-block:var(--prose-rhythm-rule)}.prose>figure,.prose>pre,.prose>table,.prose>.diagram,.prose>.prose-wide{max-width:none}.prose h2,.prose h3{color:var(--ink)}.prose>h2{letter-spacing:-.02em;text-wrap:balance;max-width:26ch;font-size:clamp(1.55rem,3.4vw,2.05rem);line-height:1.14}.prose>h3{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:1.06rem;font-weight:600;line-height:1.4}.prose>p:first-child:first-letter{float:left;color:var(--accent);font-family:var(--serif);margin:.05em .08em 0 0;font-size:5.9em;font-weight:600;line-height:.8}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose a{text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent)}.prose a:hover{text-decoration-color:var(--accent)}.prose>ul,.prose>ol{padding-left:1.35rem}.prose li+li{margin-top:.6rem}.prose li::marker{color:var(--accent)}.prose hr{border:0;border-top:1px solid var(--line);height:0}.prose>blockquote{border-block:1px solid var(--line);max-width:46rem;color:var(--ink);font-family:var(--serif);letter-spacing:-.015em;text-wrap:pretty;padding:2.1rem 0 2.2rem 3.6rem;font-size:clamp(1.3rem,3vw,1.68rem);font-weight:500;line-height:1.36;position:relative}.prose>blockquote:before{content:"“";color:var(--accent);font-family:var(--serif);font-size:3.4rem;font-weight:600;line-height:1;position:absolute;top:1.75rem;left:0}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:.7rem}.prose blockquote strong{color:var(--accent);font-weight:600}.prose :not(pre)>code{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:.1em .34em;font-size:.88em}.prose pre{border:1px solid var(--line);background-image:linear-gradient(90deg, var(--accent) 0 2.75rem, transparent 2.75rem);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;tab-size:2;background-position:0 0;background-repeat:no-repeat;background-size:100% 2px;background-origin:border-box;padding:1.5rem;font-size:.88rem;line-height:1.6;overflow-x:auto}.prose pre>code{min-width:0;font-size:inherit;display:block}.prose figure.code figcaption{margin-top:.6rem}.prose figure>pre,.prose figure>p,.prose figure>div{margin:0}.prose figure img{border:1px solid var(--line);width:100%;height:auto;display:block}.prose figcaption{max-width:var(--prose-measure);color:var(--muted);margin-inline:auto;padding-top:1.1rem;font-size:.88rem;line-height:1.65}.prose figcaption strong{color:var(--ink-soft)}.prose>.diagram{counter-increment:diagram}.diagram-frame{--diagram-grid:24px;border:1px solid var(--line);background-color:var(--paper);background-image:linear-gradient(90deg, var(--accent) 0 3rem, transparent 3rem), linear-gradient(180deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 58%), linear-gradient(90deg, color-mix(in srgb, var(--line) 50%, transparent) 1px, transparent 1px), linear-gradient(180deg, color-mix(in srgb, var(--line) 50%, transparent) 1px, transparent 1px);background-repeat:no-repeat,no-repeat,repeat,repeat;background-size:100% 2px, auto, var(--diagram-grid) var(--diagram-grid), var(--diagram-grid) var(--diagram-grid);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line) transparent;background-position:0 0;background-origin:border-box;padding:2.25rem 2rem;overflow-x:auto}.prose>.diagram>figcaption:before{content:"Fig. " counter(diagram);color:var(--accent);font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.55rem;font-size:.68rem;font-weight:600;display:block}.diagram-frame svg{height:auto;margin-inline:auto;display:block;width:var(--diagram-w,100%)!important;max-width:none!important}.diagram-frame foreignObject br:nth-of-type(2n){display:none}.post-foot{max-width:var(--prose-measure);border-top:1px solid var(--line);color:var(--muted);margin:5.5rem auto 0;padding-top:2rem;font-size:.95rem}.post-foot p{margin:0 0 1.75rem}.post-nav{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.post-nav a{border:1px solid var(--line);background:var(--paper);padding:1.1rem 1.15rem;display:block}.post-nav a:hover{border-color:var(--accent);text-decoration:none}.post-nav span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:600;display:block}.post-nav strong{color:var(--ink);font-family:var(--serif);margin-top:.35rem;font-size:1.02rem;font-weight:500;line-height:1.3;display:block}.post-nav .next{text-align:right}@media (width<=800px){.post{--prose-line:1.7rem;padding-top:2.4rem}.post-head{padding-bottom:2.25rem}.post-head h1{max-width:none;margin-bottom:1.3rem}.post-lede:before{margin-bottom:1.2rem}.prose{padding-top:2.5rem;font-size:1.05rem}.prose>h2{max-width:none}.prose>p:first-child:first-letter{margin:.06em .07em 0 0;font-size:3.5em;line-height:.78}.prose>blockquote{padding:1.6rem 0 1.7rem 2.4rem}.prose>blockquote:before{font-size:2.6rem;top:1.3rem}.prose pre{padding:1.1rem 1rem}.diagram-frame{padding:1.25rem .9rem}.post-foot{margin-top:4rem}.post-nav{grid-template-columns:1fr}.post-nav .next{text-align:left}}
