.blog-toc[data-astro-cid-xhhbirgb]{font-family:var(--font-body);font-size:var(--t-xs);line-height:var(--lh-xs);color:var(--muted);padding-top:var(--s-4);border-right:1px solid var(--border-softer);padding-right:var(--s-4)}.blog-toc[data-astro-cid-xhhbirgb][hidden]{display:none}@media (min-width: 900px) and (max-width: 1023.98px){.blog-toc[data-astro-cid-xhhbirgb]{border-right:0;padding-top:var(--s-4);padding-bottom:var(--s-4);padding-left:var(--s-4);padding-right:var(--s-4)}}.blog-header{padding:var(--s-5) var(--s-4) var(--s-5);border-bottom:1px solid var(--border-soft);margin-bottom:var(--s-2)}.blog-header h1{font-family:var(--font-display);font-weight:500;font-size:var(--t-2xl);line-height:var(--lh-2xl);letter-spacing:-.02em;margin:0 0 var(--s-3);color:var(--ink)}.blog-header-summary{font-family:var(--font-display);font-size:var(--t-md);line-height:var(--lh-md);color:var(--muted);font-weight:500;margin:var(--s-1) 0 var(--s-5)}.blog-meta{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;font-family:var(--font-body);font-size:var(--t-xs);line-height:var(--lh-xs);letter-spacing:0;text-transform:none;color:var(--muted);margin-bottom:var(--s-4)}.blog-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--s-1)}.blog-footer{margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--border-soft);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-5)}.blog-footer-back{grid-column:1 / -1;margin:var(--s-1) 0 0}.blog-footer h2{font-family:var(--font-display);font-size:var(--t-md);line-height:var(--lh-md);font-weight:500;margin:0 0 var(--s-3);color:var(--ink)}.blog-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-2)}.blog-footer ul a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.blog-footer ul a:hover{color:var(--accent-ink)}.blog-footer-back a{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}.blog-footer-back a:hover{opacity:.8}@media (max-width: 600px){.blog-header{padding:var(--s-4) var(--s-4) var(--s-4)}.blog-header h1{font-size:var(--t-xl);line-height:var(--lh-xl)}}.blog-article{padding:0 var(--s-4)}.blog-article>section{padding:var(--s-6) 0 var(--s-5)}.blog-article>section+section{border-top:1px solid var(--border-softer)}.blog-article{counter-reset:blog-section}.blog-article>section>h2{counter-increment:blog-section;display:flex;align-items:baseline;gap:var(--s-3);font-family:var(--font-display);font-weight:500;font-size:var(--t-xl);line-height:var(--lh-xl);letter-spacing:-.01em;margin:0 0 var(--s-5);color:var(--ink)}.blog-article>section>h2:before{content:counter(blog-section,decimal-leading-zero);font-family:var(--font-body);font-style:italic;font-weight:400;font-size:var(--t-xl);line-height:var(--lh-xl);color:var(--accent);flex-shrink:0}.blog-article h3{position:relative;font-family:var(--font-display);font-weight:600;font-size:var(--t-lg);line-height:var(--lh-lg);margin:var(--s-6) 0 var(--s-3);padding-bottom:var(--s-2);color:var(--ink)}.blog-article h3:after{content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;background:var(--accent)}.blog-article>section.faq>h3{padding-bottom:0}.blog-article>section.faq>h3:after{display:none}.blog-article p{margin:0 0 var(--s-4);color:var(--ink)}.blog-article p,.blog-article ul,.blog-article ol,.blog-article blockquote,.blog-article h2,.blog-article h3,.blog-header-summary{max-width:58ch}.blog-article table p,.blog-article table ul,.blog-article table ol,.blog-article figure p{max-width:none}.blog-article p.lede{font-family:var(--font-body);font-size:var(--t-md);line-height:var(--lh-md);font-style:var(--prose-italic);color:var(--ink);margin:var(--s-2) 0 var(--s-5);padding-left:var(--s-4);border-left:3px solid var(--accent)}.blog-article blockquote{margin:var(--s-5) 0;padding:var(--s-1) 0 var(--s-1) var(--s-5);border-left:3px solid var(--accent);font-family:var(--font-body);font-style:var(--prose-italic);font-size:var(--t-md);line-height:var(--lh-md);color:var(--ink)}.blog-article blockquote p{margin:0;font-size:inherit;font-family:inherit;font-style:inherit;line-height:inherit}.blog-article ul,.blog-article ol{margin:0 0 var(--s-4);padding-left:var(--s-5)}.blog-article li{margin-bottom:var(--s-2);line-height:1.65}.blog-article li>ul,.blog-article li>ol{margin:var(--s-1) 0 0}.blog-article code{font-family:var(--font-mono);font-size:.9em;background:var(--paper-2);color:var(--ink);padding:1px var(--s-1);border-radius:var(--radius-sm)}.blog-article a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.blog-article a:hover{color:var(--ink)}.blog-article figure{margin:var(--s-6) 0;text-align:center}.blog-article figure img,.blog-article figure svg{max-width:100%;height:auto}.blog-article figcaption{font-family:var(--font-body);font-size:var(--t-xs);line-height:var(--lh-xs);color:var(--muted);margin-top:var(--s-3);font-style:var(--prose-italic);max-width:62ch;margin-inline:auto}.blog-article h2+figure,.blog-article h3+figure{margin-top:var(--s-2)}.blog-article table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:var(--s-4) 0 var(--s-5);font-size:var(--t-sm);line-height:var(--lh-sm);background-image:linear-gradient(to right,var(--paper),var(--paper)),linear-gradient(to left,var(--paper),var(--paper)),linear-gradient(to right,var(--scroll-shadow),transparent),linear-gradient(to left,var(--scroll-shadow),transparent);background-position:left center,right center,left center,right center;background-repeat:no-repeat;background-size:22px 100%,22px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll;-webkit-overflow-scrolling:touch}.blog-article thead{background:var(--paper-2)}.blog-article th{font-family:var(--font-mono);font-size:var(--t-2xs);line-height:var(--lh-2xs);letter-spacing:calc(.06em * var(--track-mul));text-transform:uppercase;font-weight:600;text-align:left;padding:var(--s-2) var(--s-3);border-bottom:2px solid var(--ink);color:var(--ink);vertical-align:bottom;white-space:nowrap}.blog-article td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border-softer);vertical-align:top;color:var(--ink);min-width:120px}.blog-article tbody tr:hover{background:var(--paper-2)}.blog-article strong{font-weight:600;color:var(--ink)}.blog-article em{font-family:var(--font-body);font-style:var(--prose-italic)}
