.container-narrow:where(.astro-4sn4zg3r){width:100%;max-width:var(--container-narrow);margin-inline:auto;padding-inline:var(--sp-8)}.post-header:where(.astro-4sn4zg3r){padding-block:var(--sp-12) var(--sp-10);border-bottom:1px solid var(--border-subtle)}.post-category:where(.astro-4sn4zg3r){display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:var(--sp-3)}.post-title:where(.astro-4sn4zg3r){font-size:var(--text-4xl);line-height:var(--lh-4xl);font-weight:700;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:var(--sp-5)}.post-excerpt:where(.astro-4sn4zg3r){font-size:var(--text-lg);line-height:var(--lh-lg);color:var(--text-secondary);margin-bottom:var(--sp-8)}.post-meta:where(.astro-4sn4zg3r){display:flex;flex-direction:column;gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary)}.meta-line:where(.astro-4sn4zg3r){display:flex;align-items:center}.meta-sep:where(.astro-4sn4zg3r){margin-inline:var(--sp-1);color:var(--border-default)}.meta-author:where(.astro-4sn4zg3r){display:flex;align-items:center;gap:var(--sp-3)}.author-avatar:where(.astro-4sn4zg3r){width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.author-name:where(.astro-4sn4zg3r){font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.author-role:where(.astro-4sn4zg3r){font-weight:400;color:var(--text-secondary)}.meta-date:where(.astro-4sn4zg3r),.meta-reading:where(.astro-4sn4zg3r){color:var(--text-tertiary)}.post-hero-image:where(.astro-4sn4zg3r){margin-block:var(--sp-10);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle)}.post-hero-image:where(.astro-4sn4zg3r) img:where(.astro-4sn4zg3r){width:100%;height:auto;display:block}.series-banner:where(.astro-4sn4zg3r){display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-block:var(--sp-8);font-family:var(--font-mono);font-size:var(--text-xs)}.series-label:where(.astro-4sn4zg3r){color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em}.series-title:where(.astro-4sn4zg3r){color:var(--text-primary);font-weight:500}.series-part:where(.astro-4sn4zg3r){color:var(--text-tertiary);margin-left:auto}.post-body:where(.astro-4sn4zg3r){padding-block:var(--sp-10) var(--sp-16)}.prose:where(.astro-4sn4zg3r){font-size:var(--text-base);line-height:1.75;color:var(--text-primary)}.prose:where(.astro-4sn4zg3r) p{margin-bottom:var(--sp-6)}.prose:where(.astro-4sn4zg3r) h2{font-size:var(--text-2xl);line-height:var(--lh-2xl);font-weight:700;letter-spacing:-.015em;color:var(--text-primary);margin-top:var(--sp-12);margin-bottom:var(--sp-4)}.prose:where(.astro-4sn4zg3r) h3{font-size:var(--text-xl);line-height:var(--lh-xl);font-weight:600;letter-spacing:-.01em;color:var(--text-primary);margin-top:var(--sp-10);margin-bottom:var(--sp-3)}.prose:where(.astro-4sn4zg3r) h4{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:600;color:var(--text-primary);margin-top:var(--sp-8);margin-bottom:var(--sp-2)}.prose:where(.astro-4sn4zg3r) strong{font-weight:600;color:var(--text-primary)}.prose:where(.astro-4sn4zg3r) em{font-style:italic}.prose:where(.astro-4sn4zg3r) a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-default);transition:text-decoration-color var(--duration-fast) var(--ease-default)}.prose:where(.astro-4sn4zg3r) a:hover{text-decoration-color:var(--text-primary)}.prose:where(.astro-4sn4zg3r) ul,.prose:where(.astro-4sn4zg3r) ol{margin-bottom:var(--sp-6);padding-left:var(--sp-6)}.prose:where(.astro-4sn4zg3r) ul{list-style:disc}.prose:where(.astro-4sn4zg3r) ol{list-style:decimal}.prose:where(.astro-4sn4zg3r) li{margin-bottom:var(--sp-2);line-height:1.7}.prose:where(.astro-4sn4zg3r) blockquote{margin-block:var(--sp-8);padding:var(--sp-5) var(--sp-6);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-lg);line-height:var(--lh-lg);color:var(--text-secondary)}.prose:where(.astro-4sn4zg3r) blockquote p{margin-bottom:0}.prose:where(.astro-4sn4zg3r) .prose-inline-code,.prose:where(.astro-4sn4zg3r) code:not(pre code){font-family:var(--font-mono);font-size:.875em;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.15em .4em;color:var(--text-primary)}.prose:where(.astro-4sn4zg3r) .prose-code-block{margin-block:var(--sp-8);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.prose:where(.astro-4sn4zg3r) .code-filename{padding:var(--sp-2) var(--sp-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);background:var(--surface-base)}.prose:where(.astro-4sn4zg3r) pre{padding:var(--sp-5) var(--sp-6);overflow-x:auto;margin:0;background:transparent}.prose:where(.astro-4sn4zg3r) pre code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;color:var(--text-primary);background:none;border:none;padding:0}.prose:where(.astro-4sn4zg3r) .prose-figure{margin-block:var(--sp-10)}.prose:where(.astro-4sn4zg3r) .prose-figure img{width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.prose:where(.astro-4sn4zg3r) .prose-caption{display:block;margin-top:var(--sp-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}.post-footer:where(.astro-4sn4zg3r){padding-block:var(--sp-10) var(--sp-16);border-top:1px solid var(--border-subtle)}.author-bios:where(.astro-4sn4zg3r){display:flex;flex-direction:column;gap:var(--sp-6);margin-bottom:var(--sp-10)}.author-bio-card:where(.astro-4sn4zg3r){display:flex;gap:var(--sp-5);padding:var(--sp-6);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.bio-avatar:where(.astro-4sn4zg3r){width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.bio-content:where(.astro-4sn4zg3r){flex:1}.bio-header:where(.astro-4sn4zg3r){display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-2)}.bio-name:where(.astro-4sn4zg3r){font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.bio-role:where(.astro-4sn4zg3r){font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary)}.bio-links:where(.astro-4sn4zg3r){display:flex;gap:var(--sp-3);margin-left:auto}.bio-link:where(.astro-4sn4zg3r){font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border-default);transition:color var(--duration-fast) var(--ease-default)}.bio-link:where(.astro-4sn4zg3r):hover{color:var(--text-primary)}.bio-text:where(.astro-4sn4zg3r){font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-secondary)}.back-link:where(.astro-4sn4zg3r) a:where(.astro-4sn4zg3r){font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-default)}.back-link:where(.astro-4sn4zg3r) a:where(.astro-4sn4zg3r):hover{color:var(--text-primary)}@media(max-width:600px){.post-title:where(.astro-4sn4zg3r){font-size:var(--text-3xl)}.post-meta:where(.astro-4sn4zg3r){flex-direction:column;align-items:flex-start}.author-bio-card:where(.astro-4sn4zg3r){flex-direction:column}}
