.blog-page h1{letter-spacing:-.02em;margin-top:.9rem;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.12}.blog-page .lead{color:var(--color-mist);max-width:56ch;margin-top:1rem;font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.6}.blog-index{align-self:stretch;margin-top:clamp(2.2rem,4vw,3rem)}.post-page h1{max-width:22ch}.post-meta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-mute-2);flex-wrap:wrap;align-items:center;gap:.55rem 1.1rem;margin-top:1.2rem;font-size:.68rem;display:flex}.post-meta .blog-tag{margin:0}.post-body{max-width:960px;color:var(--color-mist);margin-top:clamp(2.5rem,5vw,3.5rem);font-size:clamp(1rem,1.05vw,1.08rem);line-height:1.75}.post-body>:where(p,h2,h3,ul,ol,blockquote,pre,hr){max-width:720px}.post-body>*+*{margin-top:1.1rem}.post-body h2{letter-spacing:-.015em;color:var(--color-snow);margin-top:clamp(2.6rem,5vw,3.4rem);scroll-margin-top:6rem;font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:600;line-height:1.25}.post-body h2+*{margin-top:.9rem}.post-body h3{color:var(--color-snow);margin-top:2rem;scroll-margin-top:6rem;font-size:1.1rem;font-weight:600}.post-body strong{color:var(--color-snow);font-weight:600}.post-body em{color:var(--color-snow)}.post-body a{color:var(--color-brand);text-underline-offset:3px;text-decoration:underline}@media (hover:hover){.post-body a:hover{text-decoration:none}}.post-body ul,.post-body ol{padding-left:1.3rem}.post-body li+li{margin-top:.5rem}.post-body li::marker{color:var(--color-mute-2)}.post-body blockquote{border-left:2px solid var(--color-beacon);color:var(--color-snow);padding:.2rem 0 .2rem 1.1rem}.post-body code{font-family:var(--font-mono);background:color-mix(in oklab, var(--color-snow) 7%, transparent);border:1px solid var(--edge);border-radius:3px;padding:.08em .38em;font-size:.86em}.post-body pre{border:1px solid var(--edge);background:color-mix(in oklab, var(--color-depth) 14%, transparent);border-radius:4px;padding:1rem 1.1rem;font-size:.85rem;line-height:1.55;overflow-x:auto}.post-body pre code{font-size:inherit;background:0 0;border:0;padding:0}.post-body hr{border:0;border-top:1px solid var(--edge);margin-block:2.4rem}.post-body .table-wrap{border:1px solid var(--edge);border-radius:4px;margin-top:1.3rem;overflow-x:auto}.post-body table{border-collapse:collapse;width:100%;min-width:560px;font-size:.92rem;line-height:1.5}.post-body th{text-align:left;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-mute-2);background:color-mix(in oklab, var(--color-depth) 14%, transparent);border-bottom:1px solid var(--edge);padding:.75rem .9rem;font-size:.64rem;font-weight:600}.post-body td{vertical-align:top;color:var(--color-mist);border-bottom:1px solid var(--edge);padding:.7rem .9rem}.post-body tr:last-child td{border-bottom:0}.post-body td:first-child{color:var(--color-snow)}.diagram{border:1px solid var(--edge);background:color-mix(in oklab, var(--color-depth) 10%, transparent);border-radius:4px;margin-top:1.6rem;padding:clamp(1rem,2.5vw,1.6rem);overflow-x:auto}.diagram-svg{justify-content:center;display:flex}.diagram-svg svg{background:0 0;max-width:100%;height:auto;max-height:70svh}.diagram-source pre{background:0 0;border:0;margin:0;padding:0}.diagram figcaption{text-align:center;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-mute-2);margin-top:.8rem;font-size:.64rem}.post-faq{max-width:720px;margin-top:clamp(3rem,6vw,4rem)}.post-faq h2{letter-spacing:-.015em;color:var(--color-snow);margin-bottom:1rem;font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:600}.post-faq details{border-top:1px solid var(--edge);padding:1rem 0}.post-faq details:last-of-type{border-bottom:1px solid var(--edge)}.post-faq summary{cursor:pointer;color:var(--color-snow);justify-content:space-between;align-items:baseline;gap:1rem;font-size:1.02rem;font-weight:600;list-style:none;display:flex}.post-faq summary::-webkit-details-marker{display:none}.post-faq summary:after{content:"+";font-family:var(--font-mono);color:var(--color-mute-2);flex:none;transition:color .2s}.post-faq details[open] summary:after{content:"−";color:var(--color-beacon)}@media (hover:hover){.post-faq summary:hover:after{color:var(--color-beacon)}}.post-faq details p{color:var(--color-mist);margin-top:.7rem;line-height:1.7}.post-author{border:1px solid var(--edge);background:color-mix(in oklab, var(--color-snow) 4%, transparent);border-radius:4px;max-width:720px;margin-top:clamp(3rem,6vw,4rem);padding:1.2rem 1.3rem}.post-author .who{color:var(--color-snow);font-weight:600}.post-author p+p{margin-top:.35rem}.post-author p{color:var(--color-mist);font-size:.95rem;line-height:1.6}.post-author a{color:var(--color-brand);text-underline-offset:3px;text-decoration:underline}@media (hover:hover){.post-author a:hover{text-decoration:none}}.post-back{margin-top:2.4rem}@media (max-width:600px){.post-body table{min-width:520px}.diagram{padding:.8rem}}.post-cover{aspect-ratio:40/21;border:1px solid var(--edge);background:color-mix(in oklab, var(--color-depth) 14%, transparent);border-radius:4px;margin:clamp(1.6rem,3vw,2.4rem) 0 clamp(2rem,4vw,3rem);overflow:hidden}.post-cover img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}
