.blog-doc .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}#app{flex:1 0 auto;display:flex;flex-direction:column}#app>.blog-main{flex:1 0 auto}.blog-doc .blog-prose figure{margin:36px 0;padding:24px;background:var(--bg-alt);border:1px solid var(--border)}.blog-doc .blog-prose figure svg{display:block;width:100%;height:auto}.blog-doc .blog-prose figure img{display:block;width:100%;height:auto}.blog-doc .blog-prose figcaption{margin-top:16px;font-size:.82rem;line-height:1.55;color:var(--text-muted)}.blog-doc .blog-prose figure svg text{font-family:var(--font);fill:var(--text)}.blog-doc .blog-prose figure svg .fig-serif{font-family:var(--font-heading)}.blog-doc .blog-prose figure svg .fig-head{fill:var(--text-muted);font-weight:600;letter-spacing:.08em}.blog-doc .blog-prose figure svg .fig-note{fill:var(--text-secondary)}.blog-doc .blog-prose figure svg .fig-muted{fill:var(--text-muted)}.blog-doc .blog-prose figure svg .fig-accent{fill:var(--accent)}.blog-doc .blog-prose figure svg .fig-on-accent{fill:var(--accent-contrast)}.fig-box{fill:var(--surface);stroke:var(--border-strong)}.fig-box-accent{fill:var(--accent-soft);stroke:var(--accent)}.fig-fill-accent{fill:var(--accent)}.fig-divider-on-accent{stroke:var(--accent-contrast);stroke-opacity:.35}.fig-line{stroke:var(--border-strong);fill:none}.fig-line-accent{stroke:var(--accent);fill:none}.fig-dash{stroke-dasharray:4 5}.fig-arrow{fill:var(--border-strong)}.fig-arrow-accent{fill:var(--accent)}.blog-doc .blog-prose .photo-credit{margin-top:32px;font-size:.82rem;color:var(--text-muted)}.blog-doc h1{margin-bottom:14px}.blog-doc .blog-meta{font-size:.7rem}.blog-meta a{color:inherit}.blog-meta a:hover{color:var(--accent)}.blog-doc .blog-prose h2,.blog-doc .blog-prose h3{position:relative;scroll-margin-top:84px}.blog-doc .blog-prose h2{font-size:1.6rem;margin:44px 0 12px}.blog-doc .blog-prose h3{font-size:1.2rem;margin:28px 0 8px}.blog-doc .blog-prose p,.blog-doc .blog-prose li{color:var(--text-secondary);font-size:1.05rem;line-height:1.7}.blog-doc .blog-prose ul,.blog-doc .blog-prose ol{padding-left:22px}.blog-doc .blog-prose li{margin:6px 0}.blog-doc .blog-prose strong{color:var(--text)}.blog-doc .blog-prose a{text-decoration:underline;text-underline-offset:2px}.blog-doc .blog-prose .header-anchor{position:absolute;left:-.9em;padding-right:.2em;color:var(--text-muted);text-decoration:none;opacity:0;transition:opacity .15s ease}.blog-doc .blog-prose .header-anchor:before{content:"#"}.blog-doc .blog-prose :is(h2,h3):hover .header-anchor,.blog-doc .blog-prose .header-anchor:focus{opacity:1}.blog-doc .blog-prose img{margin:28px auto;border:1px solid var(--border)}.blog-doc .blog-prose hr{border:0;border-top:1px solid var(--border);margin:40px 0}.blog-doc .blog-prose blockquote{margin:24px 0;padding:2px 0 2px 20px;border-left:3px solid var(--border-strong)}.blog-doc .blog-prose blockquote p{color:var(--text)}.blog-doc .blog-prose table{display:block;overflow-x:auto;border-collapse:collapse;margin:24px 0;font-size:.95rem}.blog-doc .blog-prose th,.blog-doc .blog-prose td{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.blog-doc .blog-prose th{background:var(--bg-alt);color:var(--text)}.blog-doc .blog-prose :not(pre)>code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-alt);border:1px solid var(--border);padding:1px 5px}.blog-doc .blog-prose div[class*=language-]{position:relative;margin:24px 0;background:var(--bg-alt);border:1px solid var(--border)}.blog-doc .blog-prose div[class*=language-] pre{margin:0;padding:16px 20px;overflow-x:auto;background:transparent!important}.blog-doc .blog-prose div[class*=language-] code{font-family:var(--font-mono);font-size:.88rem;line-height:1.6}.blog-doc .blog-prose .shiki span{color:var(--shiki-light)}[data-theme=dark] .blog-doc .blog-prose .shiki span{color:var(--shiki-dark)}.blog-doc .blog-prose div[class*=language-]>.lang{position:absolute;top:6px;right:10px;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.blog-doc .blog-prose div[class*=language-]>button.copy{display:none}.blog-doc .blog-prose .custom-block{border:1px solid var(--border-strong);border-left:3px solid var(--accent);background:var(--accent-soft);padding:16px 22px;margin:24px 0}.blog-doc .blog-prose .custom-block p{color:var(--text);margin:8px 0}.blog-doc .blog-prose .custom-block-title{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.blog-doc .blog-prose .custom-block.warning,.blog-doc .blog-prose .custom-block.danger{border-left-color:var(--text);background:var(--bg-alt)}.blog-doc .blog-prose .post-list{list-style:none;margin:0;padding:0}.blog-doc .blog-prose .post-card{padding:26px 0;border-bottom:1px solid var(--border)}.blog-doc .blog-prose .post-card:first-child{padding-top:0}.blog-doc .blog-prose .post-card-cover{display:block;margin:0 0 18px}.blog-doc .blog-prose .post-card-cover img{display:block;width:100%;height:auto;aspect-ratio:1200 / 630;object-fit:cover;border:1px solid var(--border)}.blog-doc .blog-prose .post-card-meta{display:flex;gap:10px;align-items:center;margin:0 0 8px;font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.blog-doc .blog-prose .post-card-draft{border:1px solid var(--border-strong);padding:0 6px;text-transform:uppercase;letter-spacing:.06em}.blog-doc .blog-prose .post-card-title{font-size:1.5rem;margin:0 0 8px}.blog-doc .blog-prose .post-card-title a{color:var(--text)}.blog-doc .blog-prose .post-card-title a:hover{color:var(--accent);text-decoration:none}.blog-doc .blog-prose .post-card-desc{color:var(--text-secondary);margin:0}.blog-doc .blog-prose .post-card-tags{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 0;font-size:.85rem}.blog-doc .blog-prose .post-list-empty{color:var(--text-muted)}.blog-doc .post-cta .btn,.blog-doc .post-cta .dl-arch-item,.blog-doc .blog-prose .post-card-title a,.blog-doc .blog-meta a,.blog-doc .blog-prose .post-card-tags a{text-decoration:none}.blog-doc .post-cta{margin:56px 0 0;padding:28px;border:1px solid var(--border-strong);background:var(--surface)}.blog-doc .post-cta-title{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;line-height:1.15;color:var(--text);margin:0 0 8px}.blog-doc .post-cta-body{color:var(--text-secondary);margin:0 0 20px}.blog-doc .post-cta-actions{display:flex;flex-wrap:wrap;gap:12px}.blog-doc .post-cta-actions .btn{width:260px;max-width:100%}.blog-doc .post-cta-note{margin:14px 0 0;font-size:.85rem;color:var(--text-muted)}.blog-doc .related-posts{margin:48px 0 0}.blog-doc .related-posts ul{list-style:none;margin:0;padding:0}.blog-doc .related-posts li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.blog-doc .related-posts time{flex:none;font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}@media(max-width:640px){.blog-doc .post-cta{padding:22px 18px}.blog-doc .post-cta-actions .btn,.blog-doc .post-cta-actions .dl-split{flex:1 1 100%}.blog-doc .related-posts li{flex-direction:column;gap:2px}.blog-doc .blog-prose .header-anchor{display:none}}
