.post-page{padding-top:var(--space-lg)}.post-page .stack-rest,.blog-index .stack-rest{padding:var(--space-2xl) 0}.post{max-width:46rem}.post-page .wrap{min-width:0}.tag-filter{z-index:auto;-webkit-backdrop-filter:none;background:0 0;border:0;position:static}.post--head{text-align:center;max-width:48rem;margin-inline:auto}.post--head .crumbs ol{justify-content:center}.post--head .page-title{text-wrap:balance}.post--head .lede{text-wrap:balance;max-width:38rem;margin-inline:auto}.post--head .post-meta{justify-content:center}.post-head{padding:var(--space-md) 0 var(--space-lg)}.post-hero{padding-bottom:var(--space-xl)}@media (width>=900px){.post-hero{padding-bottom:var(--space-2xl)}}.post-head .lede{margin-top:var(--space-sm)}.post-meta{gap:var(--space-3xs) var(--space-md);margin-top:var(--space-sm);font-size:var(--fs-small);color:var(--color-ink-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.post-sub{font-size:var(--fs-h2);letter-spacing:-.01em;color:var(--color-ink);text-wrap:balance;line-height:1.2}.post-layout .post{max-width:42rem;margin-inline:auto}.post-body.prose{max-width:none;font-size:1.0625rem;line-height:1.75}.post-body.prose>*+*{margin-top:1.15em}.post-body.prose h2{margin-top:2.6em;font-size:clamp(1.375rem,1.15rem + .9vw,1.75rem);line-height:1.2}.post-body.prose h3{margin-top:2em}.post-body.prose h2+*,.post-body.prose h3+*{margin-top:.75em}.post-body.prose :is(h2,h3,h4){scroll-margin-top:calc(var(--nav-h) + var(--nav-gap) + var(--space-md))}.post-body.prose>:first-child{margin-top:0}@media (width>=600px){.post-body.prose{font-size:1.125rem}}.post-toc{max-width:42rem;margin:0 auto var(--space-xl);padding:var(--space-sm) var(--space-md);border:var(--rule);border-radius:var(--radius-card);background:var(--color-paper);font-size:var(--fs-small)}.post-toc__title{margin-bottom:var(--space-2xs);font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-3)}.post-toc ol{gap:var(--space-3xs);list-style:none;display:grid}.post-toc a{padding:.35em 0 .35em var(--space-sm);border-left:2px solid var(--color-rule);color:var(--color-ink-2);text-wrap:pretty;transition:color var(--dur-fade) var(--ease-fade), border-color var(--dur-fade) var(--ease-fade);line-height:1.35;display:block}.post-toc a:hover{color:var(--color-ink);border-left-color:var(--color-rule-2)}.post-toc a[aria-current]{color:var(--color-accent-3);border-left-color:var(--color-accent);font-weight:500}.post-toc a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:3px}@media (width>=1100px){.post-layout.has-toc{column-gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,42rem) minmax(0,1fr);align-items:start;display:grid}.post-layout.has-toc .post{grid-column:2;max-width:none}.post-layout.has-toc .post-toc{width:100%;max-width:15rem;top:calc(var(--nav-h) + var(--nav-gap) + var(--space-lg));background:0 0;border:0;grid-area:1/1;justify-self:end;margin:0;padding:0;position:sticky}}.prose{max-width:42rem;font-size:var(--fs-body);color:var(--color-ink-2);overflow-wrap:break-word;line-height:1.7}.prose>*+*{margin-top:var(--space-sm)}.prose p{text-wrap:pretty}.prose h2,.prose h3,.prose h4{color:var(--color-ink);text-wrap:balance;letter-spacing:-.01em}.prose h2{font-size:var(--fs-h2);margin-top:var(--space-xl);line-height:1.2}.prose h3{font-size:var(--fs-h3);margin-top:var(--space-lg);letter-spacing:-.015em;line-height:1.2}.prose h4{font-size:var(--fs-lede);margin-top:var(--space-md);line-height:1.25}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:var(--space-xs)}.prose a{color:var(--color-accent-3);text-decoration:underline;text-decoration-color:var(--color-accent-soft-2);text-underline-offset:3px;transition:text-decoration-color var(--dur-fade) var(--ease-fade);font-weight:500;text-decoration-thickness:1.5px}.prose a:hover{text-decoration-color:var(--color-accent)}.prose a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:3px}.prose strong{color:var(--color-ink);font-weight:600}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:var(--space-2xs)}.prose li::marker{color:var(--color-ink-3)}.prose blockquote{padding:var(--space-xs) 0 var(--space-xs) var(--space-md);border-left:2px solid var(--color-accent-soft-2);color:var(--color-ink)}.prose blockquote p+p{margin-top:var(--space-xs)}.prose blockquote cite,.prose blockquote footer{margin-top:var(--space-2xs);font-size:var(--fs-small);color:var(--color-ink-3);font-style:normal;display:block}.prose hr{border:0;border-top:var(--rule);margin:var(--space-lg) 0}.prose img{border-radius:var(--r-media);background:var(--color-paper);max-width:100%;height:auto;display:block;box-shadow:0 0 0 1px oklch(0% 0 0/.06)}.prose code{background:var(--color-paper-3);border-radius:5px;padding:.1em .35em;font-size:.9em}.prose pre{padding:var(--space-sm);background:var(--color-paper-2);border-radius:var(--radius-input);font-size:var(--fs-small);overflow-x:auto}.prose pre code{background:0 0;padding:0}.post-table-wrap{margin:var(--space-md) 0;border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-card);max-width:100%;overflow-x:auto}.post-table-wrap:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.post-table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--fs-small);line-height:1.45}.post-table th,.post-table td{padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule);vertical-align:top;overflow-wrap:break-word}.post-table thead th{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;color:var(--color-ink-3);background:var(--color-paper-2);font-weight:500}.post-table tbody th{color:var(--color-ink);font-weight:600}.pricing-table tbody th{min-width:6.5rem}.pricing-table td:nth-child(2){min-width:7rem}.post-table td{color:var(--color-ink-2)}.post-table tbody tr:last-child>*{border-bottom:0}.compare-table,.compare-table tbody,.compare-table tr,.compare-table th,.compare-table td{display:block}.compare-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.compare-table tbody tr{padding:var(--space-xs) 0;border-bottom:var(--rule)}.compare-table tbody tr:last-child{border-bottom:0}.compare-table th,.compare-table td{padding:var(--space-3xs) var(--space-sm);border:0}.compare-table tbody th{padding-top:var(--space-2xs);font-size:var(--fs-body)}.compare-table td:before{content:attr(data-label);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;color:var(--color-ink-3);display:block}@media (width>=600px){.compare-table{display:table}.compare-table thead{clip:auto;width:auto;height:auto;display:table-header-group;position:static;overflow:visible}.compare-table tbody{display:table-row-group}.compare-table tr{border-bottom:0;padding:0;display:table-row}.compare-table th,.compare-table td{border-bottom:var(--rule);padding:var(--space-xs) var(--space-md);display:table-cell}.compare-table tbody tr:last-child>*{border-bottom:0}.compare-table tbody th{font-size:var(--fs-small);padding-top:var(--space-xs)}.compare-table td:before{display:none}.post-table th,.post-table td{padding:var(--space-xs) var(--space-md)}.compare-table td{width:34%}.compare-table tbody th{width:32%}}.post-faq,.post-sources,.post-related{max-width:none;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:var(--rule)}.post-faq dl{margin-top:var(--space-sm);gap:var(--space-md);display:grid}.post-faq dt{color:var(--color-ink);font-weight:600;line-height:1.35}.post-faq dd{margin-top:var(--space-2xs);color:var(--color-ink-2);text-wrap:pretty;line-height:1.65}.post-sources ol{margin-top:var(--space-sm);gap:var(--space-2xs);color:var(--color-ink-2);font-size:var(--fs-small);padding-left:1.6em;display:grid}.post-sources li{padding-left:var(--space-3xs)}.post-sources a{color:var(--color-accent-3);text-decoration:underline;text-decoration-color:var(--color-accent-soft-2);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration-thickness:1.5px}.post-sources a:hover{text-decoration-color:var(--color-accent)}.post-sources a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:3px}.post-related ul{margin-top:var(--space-sm);gap:var(--space-xs);list-style:none;display:grid}.post-related li{gap:var(--space-3xs);flex-direction:column;display:flex}.post-related a{color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-rule-2);text-underline-offset:3px;transition:text-decoration-color var(--dur-fade) var(--ease-fade);font-weight:500}.post-related a:hover{text-decoration-color:var(--color-accent)}.post-related a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:3px}.post-related__date{font-size:var(--fs-small);color:var(--color-ink-3)}.post-cta{max-width:none;margin-top:var(--space-2xl)}.post-cta p{margin-top:var(--space-2xs);color:var(--color-ink-2);text-wrap:pretty;line-height:1.55}.post-cta .btn-primary{margin-top:var(--space-sm);justify-content:center;width:100%}.post-cta__more{margin-top:var(--space-2xs)}@media (width>=600px){.post-cta .btn-primary{width:auto;display:inline-flex}}.post-end{max-width:42rem;margin-top:var(--space-lg)}.post-layout .post-end{max-width:none}.blog-index .section{padding-top:0;padding-bottom:var(--space-lg)}.tag-filter ul{gap:var(--space-2xs);margin-bottom:var(--space-lg);flex-wrap:wrap;list-style:none;display:flex}.tag-filter a{min-height:44px;padding:0 var(--space-sm);border:1px solid var(--color-rule-2);border-radius:var(--radius-pill);font-size:var(--fs-small);color:var(--color-ink-2);background:var(--color-paper-card);transition:border-color var(--dur-fade) var(--ease-fade), color var(--dur-fade) var(--ease-fade), background-color var(--dur-fade) var(--ease-fade);align-items:center;font-weight:500;display:inline-flex}.tag-filter a:hover{border-color:var(--color-accent);color:var(--color-ink)}.tag-filter a[aria-current]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.tag-filter a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.post-list{gap:var(--grid-gap);list-style:none;display:grid}.post-card{gap:var(--space-2xs);transition:border-color var(--dur-ui) var(--ease-smooth), box-shadow var(--dur-ui) var(--ease-smooth);flex-direction:column;display:flex;position:relative}.post-card .card-title a{color:inherit}.post-card .card-title a:after{content:"";border-radius:var(--radius-card);position:absolute;inset:0}.post-card:hover{border-color:var(--color-rule-2)}.post-card:has(a:focus-visible){outline:2px solid var(--color-focus);outline-offset:3px}.post-card .card-title a:focus-visible{outline:0}.post-card p{color:var(--color-ink-2);text-wrap:pretty;line-height:1.55}.post-card .post-card__meta{padding-top:var(--space-2xs);font-size:var(--fs-small);color:var(--color-ink-3);font-variant-numeric:tabular-nums;margin-top:auto}.blog-empty{max-width:40rem;padding:var(--space-lg) var(--space-md);border:1px dashed var(--color-rule-2);border-radius:var(--radius-card);color:var(--color-ink-2)}html.reveal-on .post-list>.reveal{transition-delay:calc(var(--i,0) * 90ms)}@media (width>=900px){.post-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}}
