.reading-progress[data-astro-cid-m66uj5id]{height:3px;z-index:calc(var(--z-sticky) + 10);background-color:#0000;position:fixed;top:0;left:0;right:0}.reading-progress-bar[data-astro-cid-m66uj5id]{background:var(--gradient-primary);width:0%;height:100%;transition:width 50ms ease-out}.blog-post[data-astro-cid-m66uj5id]{--post-measure:46rem;padding:var(--space-6) var(--space-2) var(--section-pad)}.post-header[data-astro-cid-m66uj5id],.featured-image[data-astro-cid-m66uj5id],.post-content[data-astro-cid-m66uj5id]{max-width:var(--post-measure);margin-inline:auto}.post-header[data-astro-cid-m66uj5id]{margin-bottom:var(--space-4)}.post-title[data-astro-cid-m66uj5id]{margin:0 0 var(--space-3);font-size:var(--text-4xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text-primary)}.post-meta[data-astro-cid-m66uj5id]{align-items:center;gap:var(--space-2);display:flex}.post-meta[data-astro-cid-m66uj5id] .author-avatar{border-radius:var(--radius-full);border:1px solid var(--color-card-border);flex:none}.author-name[data-astro-cid-m66uj5id]{font-weight:var(--font-semibold);color:var(--color-text-primary);text-decoration:none}.author-name[data-astro-cid-m66uj5id]:hover{color:var(--color-primary-text);text-decoration:underline}.post-date-info[data-astro-cid-m66uj5id]{gap:0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);flex-wrap:wrap;margin:0;display:flex}.post-tags[data-astro-cid-m66uj5id]{gap:0 var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-divider);flex-wrap:wrap;display:flex}.tag[data-astro-cid-m66uj5id]{font-size:var(--text-sm);color:var(--color-text-secondary);padding:.125rem 0;text-decoration:none;display:inline-block}.tag[data-astro-cid-m66uj5id]:hover{color:var(--color-primary-text);text-decoration:underline}.featured-image[data-astro-cid-m66uj5id]{margin-bottom:var(--space-4);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);overflow:hidden}.featured-image[data-astro-cid-m66uj5id] img[data-astro-cid-m66uj5id]{width:100%;height:auto;display:block}.prose[data-astro-cid-m66uj5id]{max-inline-size:none;font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-primary)}.prose[data-astro-cid-m66uj5id] h2,.prose[data-astro-cid-m66uj5id] h3{scroll-margin-top:var(--space-12);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--color-text-primary);position:relative}.prose[data-astro-cid-m66uj5id] h2{font-size:var(--text-2xl);margin-top:var(--space-5);margin-bottom:var(--space-2)}.prose[data-astro-cid-m66uj5id] h3{font-size:var(--text-xl);margin-top:var(--space-4);margin-bottom:var(--space-1)}.prose[data-astro-cid-m66uj5id] .heading-link{opacity:0;color:var(--color-text-secondary);transition:opacity var(--transition-fast), color var(--transition-fast);font-size:.8em;line-height:1.6;text-decoration:none;position:absolute;top:0;left:-1.25em}.prose[data-astro-cid-m66uj5id] h2:hover .heading-link,.prose[data-astro-cid-m66uj5id] h3:hover .heading-link,.prose[data-astro-cid-m66uj5id] .heading-link:focus{opacity:1}.prose[data-astro-cid-m66uj5id] .heading-link:hover{color:var(--color-primary-text)}.prose[data-astro-cid-m66uj5id] .heading-link.copied{color:var(--color-success,#22c55e)}.prose[data-astro-cid-m66uj5id] p{margin-bottom:var(--space-3)}.prose[data-astro-cid-m66uj5id] ul,.prose[data-astro-cid-m66uj5id] ol{margin-bottom:var(--space-3);padding-left:var(--space-3)}.prose[data-astro-cid-m66uj5id] li{margin-bottom:var(--space-1)}.prose[data-astro-cid-m66uj5id] a{color:var(--color-primary-text);text-underline-offset:.15em;text-decoration:underline}.prose[data-astro-cid-m66uj5id] a:hover{color:var(--color-text-primary)}.prose[data-astro-cid-m66uj5id] img{border-radius:var(--radius-md);max-width:100%;height:auto}.prose[data-astro-cid-m66uj5id] code{background-color:var(--color-surface-alt);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:.15em .35em;font-size:.875em}.prose[data-astro-cid-m66uj5id] pre{background-color:var(--color-neutral-800);color:var(--color-neutral-50);padding:var(--space-2) var(--space-3);border:1px solid var(--color-card-border);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:var(--text-sm);line-height:1.6;overflow-x:auto}.prose[data-astro-cid-m66uj5id] pre code{font-size:inherit;color:inherit;background-color:#0000;padding:0}.prose[data-astro-cid-m66uj5id] table{max-width:100%;margin-bottom:var(--space-3);border-collapse:collapse;font-size:var(--text-base);font-variant-numeric:tabular-nums;display:block;overflow-x:auto}.prose[data-astro-cid-m66uj5id] th,.prose[data-astro-cid-m66uj5id] td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-divider);text-align:left;vertical-align:top}.prose[data-astro-cid-m66uj5id] th{font-weight:var(--font-semibold);border-bottom-color:var(--color-input-border);white-space:nowrap}.prose[data-astro-cid-m66uj5id] blockquote{border-left:3px solid var(--color-primary);padding-left:var(--space-3);margin:var(--space-4) 0;color:var(--color-text-secondary)}.prose[data-astro-cid-m66uj5id] hr{margin:var(--space-5) 0;border:0;border-top:1px solid var(--color-divider)}.post-actions[data-astro-cid-m66uj5id]{margin:var(--space-4) 0;justify-content:flex-end;display:flex}.back-to-blog[data-astro-cid-m66uj5id]{margin:var(--space-5) 0 0}.back-link[data-astro-cid-m66uj5id]{color:var(--color-primary-text);font-weight:var(--font-medium);text-decoration:none}.back-link[data-astro-cid-m66uj5id]:before{content:"← "}.back-link[data-astro-cid-m66uj5id]:hover{text-decoration:underline}@media (width<=768px){.blog-post[data-astro-cid-m66uj5id]{padding-top:var(--space-4)}.post-title[data-astro-cid-m66uj5id]{font-size:var(--text-3xl)}.prose[data-astro-cid-m66uj5id]{font-size:var(--text-base)}}@media print{.reading-progress[data-astro-cid-m66uj5id],.post-actions[data-astro-cid-m66uj5id]{display:none!important}.blog-post[data-astro-cid-m66uj5id]{padding:0!important}.post-header[data-astro-cid-m66uj5id],.featured-image[data-astro-cid-m66uj5id],.post-content[data-astro-cid-m66uj5id]{max-width:100%!important}.post-header[data-astro-cid-m66uj5id]{margin-bottom:12pt!important}.post-title[data-astro-cid-m66uj5id]{margin-bottom:10pt!important;font-size:18pt!important}.post-meta[data-astro-cid-m66uj5id] .author-avatar{width:28pt!important;height:28pt!important}.author-name[data-astro-cid-m66uj5id]{font-size:10pt!important}.post-date-info[data-astro-cid-m66uj5id]{font-size:9pt!important}.post-tags[data-astro-cid-m66uj5id]{border-top:0!important;margin-top:6pt!important;padding-top:0!important}.tag[data-astro-cid-m66uj5id]{color:#52525b!important;font-size:8pt!important}.featured-image[data-astro-cid-m66uj5id]{display:none!important}.prose[data-astro-cid-m66uj5id]{font-size:10pt!important}.prose[data-astro-cid-m66uj5id] h2{margin-top:12pt!important;margin-bottom:6pt!important;font-size:14pt!important}.prose[data-astro-cid-m66uj5id] h3{margin-top:10pt!important;margin-bottom:4pt!important;font-size:12pt!important}.prose[data-astro-cid-m66uj5id] p{margin-bottom:6pt!important;line-height:1.5!important}.prose[data-astro-cid-m66uj5id] ul,.prose[data-astro-cid-m66uj5id] ol{margin-bottom:6pt!important;padding-left:16pt!important}.prose[data-astro-cid-m66uj5id] li{margin-bottom:3pt!important}.prose[data-astro-cid-m66uj5id] a{color:#18181b!important;text-decoration:underline!important}.prose[data-astro-cid-m66uj5id] code{background:0 0!important;font-size:9pt!important}.prose[data-astro-cid-m66uj5id] pre{color:#18181b!important;white-space:pre-wrap!important;background:0 0!important;border:1pt solid #d4d4d8!important;border-radius:0!important;padding:8pt!important}.prose[data-astro-cid-m66uj5id] pre code,.prose[data-astro-cid-m66uj5id] pre span{color:#18181b!important;font-size:8pt!important}.prose[data-astro-cid-m66uj5id] table{font-size:9pt!important;display:table!important}.prose[data-astro-cid-m66uj5id] blockquote{border-left:2pt solid #f97316!important;margin:10pt 0!important;padding-left:10pt!important}.prose[data-astro-cid-m66uj5id] .heading-link,.back-to-blog[data-astro-cid-m66uj5id],body:after{display:none!important}}
