.progress-bar:where(.astro-7jjqptxk){position:fixed;top:0;left:0;height:2px;width:0%;background:var(--color-accent);z-index:200;transition:width 50ms linear}.blog-post:where(.astro-7jjqptxk){padding-top:calc(var(--space-4xl) + 4rem);padding-bottom:var(--space-section)}.back-link:where(.astro-7jjqptxk){display:inline-block;font-size:var(--text-sm);color:var(--color-text-tertiary);text-decoration:none;margin-bottom:var(--space-2xl);transition:color var(--duration-sm) ease}.back-link:where(.astro-7jjqptxk):hover{color:var(--color-accent)}.post-header:where(.astro-7jjqptxk){margin-bottom:var(--space-3xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-border)}.post-meta:where(.astro-7jjqptxk){display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-lg)}.updated:where(.astro-7jjqptxk){color:var(--color-accent)}h1:where(.astro-7jjqptxk){font-size:var(--text-3xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-lg)}.post-tags:where(.astro-7jjqptxk){display:flex;flex-wrap:wrap;gap:var(--space-sm)}.tag:where(.astro-7jjqptxk){font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);padding:var(--space-xs) var(--space-sm);background-color:var(--color-bg-elevated);border-radius:var(--radius-sm)}.post-layout:where(.astro-7jjqptxk){position:relative}.toc-sidebar:where(.astro-7jjqptxk){display:none}@media(min-width:1200px){.post-layout:where(.astro-7jjqptxk){display:grid;grid-template-columns:1fr 14rem;gap:var(--space-3xl);align-items:start;margin-right:calc(-14rem - var(--space-3xl))}.toc-sidebar:where(.astro-7jjqptxk){display:block;position:sticky;top:6rem}}.toc-title:where(.astro-7jjqptxk){font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.toc-sidebar:where(.astro-7jjqptxk) ul:where(.astro-7jjqptxk){list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-sm);border-left:1px solid var(--color-border);padding-left:var(--space-md)}.toc-sidebar:where(.astro-7jjqptxk) a:where(.astro-7jjqptxk){font-size:var(--text-xs);color:var(--color-text-tertiary);text-decoration:none;line-height:var(--leading-normal);transition:color var(--duration-sm) ease}.toc-sidebar:where(.astro-7jjqptxk) a:where(.astro-7jjqptxk):hover,.toc-sidebar:where(.astro-7jjqptxk) a:where(.astro-7jjqptxk).active{color:var(--color-text)}.post-content:where(.astro-7jjqptxk){font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.post-content:where(.astro-7jjqptxk) h2{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);margin-top:var(--space-3xl);margin-bottom:var(--space-lg)}.post-content:where(.astro-7jjqptxk) h3{font-size:var(--text-xl);font-weight:600;color:var(--color-text);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.post-content:where(.astro-7jjqptxk) p{margin-bottom:var(--space-lg)}.post-content:where(.astro-7jjqptxk) ul,.post-content:where(.astro-7jjqptxk) ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}.post-content:where(.astro-7jjqptxk) li{margin-bottom:var(--space-sm)}.post-content:where(.astro-7jjqptxk) pre{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);overflow-x:auto;font-size:var(--text-sm);line-height:1.7}.post-content:where(.astro-7jjqptxk) pre code{background:none;padding:0;border-radius:0;color:var(--color-text-secondary);font-size:inherit}.post-content:where(.astro-7jjqptxk) code{font-family:var(--font-mono);font-size:.85em;background-color:var(--color-bg-elevated);padding:.15em .4em;border-radius:var(--radius-sm);color:var(--color-accent)}.post-content:where(.astro-7jjqptxk) blockquote{border-left:2px solid var(--color-accent);padding-left:var(--space-lg);margin-block:var(--space-xl);color:var(--color-text-tertiary);font-style:italic}.post-content:where(.astro-7jjqptxk) strong{color:var(--color-text);font-weight:600}.post-content:where(.astro-7jjqptxk) .copy-btn{position:absolute;top:var(--space-sm);right:var(--space-sm);padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-sm) ease,border-color var(--duration-sm) ease}.post-content:where(.astro-7jjqptxk) .copy-btn:hover{color:var(--color-text);border-color:var(--color-border-strong)}.related-posts:where(.astro-7jjqptxk){margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-border)}.related-title:where(.astro-7jjqptxk){font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-lg)}.related-grid:where(.astro-7jjqptxk){display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:768px){.related-grid:where(.astro-7jjqptxk){grid-template-columns:repeat(auto-fit,minmax(200px,300px))}}.related-card:where(.astro-7jjqptxk){display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:border-color var(--duration-sm) ease,box-shadow var(--duration-sm) ease}.related-card:where(.astro-7jjqptxk):hover{border-color:var(--color-border-strong);box-shadow:0 4px 16px #0000004d}.related-card:where(.astro-7jjqptxk):hover .related-read:where(.astro-7jjqptxk){color:var(--color-accent)}.related-date:where(.astro-7jjqptxk){font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary)}.related-card:where(.astro-7jjqptxk) h3:where(.astro-7jjqptxk){font-size:var(--text-sm);font-weight:600;color:var(--color-text);line-height:var(--leading-tight)}.related-read:where(.astro-7jjqptxk){font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:auto;transition:color var(--duration-sm) ease}.post-nav:where(.astro-7jjqptxk){display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-2xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-border)}.nav-link:where(.astro-7jjqptxk){display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-lg);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;transition:border-color var(--duration-sm) ease;flex:0 1 48%}.nav-link:where(.astro-7jjqptxk):hover{border-color:var(--color-border-strong)}.nav-next:where(.astro-7jjqptxk){text-align:right;margin-left:auto}.nav-label:where(.astro-7jjqptxk){font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary)}.nav-title:where(.astro-7jjqptxk){font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);line-height:var(--leading-tight)}.nav-link:where(.astro-7jjqptxk):hover .nav-title:where(.astro-7jjqptxk){color:var(--color-text)}@media(max-width:767px){.post-nav:where(.astro-7jjqptxk){flex-direction:column}.nav-link:where(.astro-7jjqptxk){flex:1}}
