.blog-hero{padding-top:var(--space-8);padding-bottom:var(--space-6)}.blog-hero-inner{display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.blog-hero-tag{color:var(--accent-text);font-size:var(--text-caption);font-weight:var(--weight-medium)}.blog-hero-title{font-size:var(--text-h2);font-weight:var(--weight-semibold);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);color:var(--text-1);max-width:24ch}.blog-hero-sub{color:var(--text-2);font-size:var(--text-lead);max-width:56ch}.blog-filters{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-4)}.blog-filters-inner{display:flex;flex-wrap:wrap;gap:var(--space-2);max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.filter-chip{background:none;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-2);font-family:var(--font-sans);font-size:var(--text-caption);padding:var(--space-2) var(--space-4);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.filter-chip:hover{color:var(--text-1)}.filter-chip.active{background-color:var(--accent);border-color:var(--accent);color:var(--text-1)}.blog-featured{max-width:var(--container);margin-inline:auto;padding:var(--space-6) var(--gutter) 0}.featured-card{display:grid;grid-template-columns:1fr;background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-frame);overflow:hidden;text-decoration:none;transition:border-color var(--duration-fast) var(--ease-out)}.featured-card:hover{border-color:var(--border-strong)}@media (min-width:1024px){.featured-card{grid-template-columns:5fr 7fr}}.featured-cover{background-color:var(--surface-raised);display:flex;align-items:center;justify-content:center;min-height:var(--space-10)}.featured-cover-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.featured-cover-label{color:var(--text-3);font-size:var(--text-caption)}.featured-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.featured-meta,.post-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.post-category{color:var(--accent-text);font-size:var(--text-caption);font-weight:var(--weight-medium)}.post-card-read,.post-date,.post-read{color:var(--text-3);font-size:var(--text-caption)}.featured-title{color:var(--text-1);font-size:var(--text-h3);font-weight:var(--weight-semibold);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}.featured-excerpt{color:var(--text-2);font-size:var(--text-label)}.featured-cta{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--accent-text);font-size:var(--text-label);font-weight:var(--weight-medium);margin-top:auto}.blog-grid-section{max-width:var(--container);margin-inline:auto;padding:var(--space-7) var(--gutter) var(--space-8)}.blog-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width:640px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr)}}.post-card{display:flex;flex-direction:column;background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;text-decoration:none;transition:border-color var(--duration-fast) var(--ease-out)}.post-card:hover{border-color:var(--border-strong)}.post-card-cover{background-color:var(--surface-raised);min-height:var(--space-9);display:flex;align-items:center;justify-content:center}.post-card-cover-placeholder span{color:var(--text-3);font-size:var(--text-caption)}.post-card-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.post-card-title{color:var(--text-1);font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-h3)}.post-card-excerpt{color:var(--text-2);font-size:var(--text-label)}.post-card-read{margin-top:auto}.blog-empty{max-width:var(--container);padding:var(--space-8) var(--gutter);flex-direction:column;gap:var(--space-4);color:var(--text-2)}.blog-empty,.blogpost-breadcrumb{margin-inline:auto;display:flex;align-items:center}.blogpost-breadcrumb{max-width:var(--container-article);padding:var(--space-6) var(--gutter) 0;gap:var(--space-2);font-size:var(--text-caption);color:var(--text-3)}.blogpost-breadcrumb a{display:inline-flex;align-items:center;min-width:var(--tap-min);min-height:var(--tap-min);color:var(--accent-text);text-decoration:none}.blogpost-header{max-width:var(--container-article);margin-inline:auto;padding:var(--space-5) var(--gutter) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.blogpost-title{font-size:var(--text-h2);font-weight:var(--weight-semibold);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);color:var(--text-1)}.blogpost-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);color:var(--text-3);font-size:var(--text-label)}.blogpost-author{color:var(--text-2)}.meta-dot{color:var(--text-3)}.blogpost-layout{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);display:grid;grid-template-columns:1fr;gap:var(--space-7)}@media (min-width:1024px){.blogpost-layout{grid-template-columns:minmax(0,1fr) var(--container-article) minmax(0,1fr)}.blogpost-toc{order:2}.blogpost-content{order:1;grid-column:2}}.blogpost-toc{display:none}@media (min-width:1024px){.blogpost-toc{display:block}}.toc-sticky{position:sticky;top:calc(var(--nav-height) + var(--space-5));display:flex;flex-direction:column;gap:var(--space-5)}.toc-label{color:var(--text-3);font-size:var(--text-caption);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.toc-list a{display:flex;align-items:center;min-height:var(--space-5);color:var(--text-3);font-size:var(--text-caption);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.toc-list a:hover,.toc-list li.active a{color:var(--text-1)}.share-buttons{display:flex;gap:var(--space-2)}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--space-6);height:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-ctl);background:none;color:var(--text-2);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.share-btn:hover{color:var(--text-1);border-color:var(--text-3)}.blogpost-content{min-width:0;max-width:var(--container-article);margin-inline:auto;width:100%}.article-p{color:var(--text-2);font-size:var(--text-lead);line-height:var(--leading-body);margin-bottom:var(--space-5)}.article-p strong{color:var(--text-1)}.article-list a,.article-p a{color:var(--accent-text);text-underline-offset:3px}.article-h2{font-size:var(--text-h3);letter-spacing:var(--tracking-h3);margin-top:var(--space-7);margin-bottom:var(--space-4);scroll-margin-top:calc(var(--nav-height) + var(--space-4))}.article-h2,.article-h3{color:var(--text-1);font-weight:var(--weight-semibold)}.article-h3{margin-top:var(--space-6);margin-bottom:var(--space-3)}.article-h3,.article-list{font-size:var(--text-lead)}.article-list{color:var(--text-2);line-height:var(--leading-body);padding-left:var(--space-5);margin-bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.article-list strong{color:var(--text-1)}.article-hr{border:none;border-top:1px solid var(--border-subtle);margin-block:var(--space-6)}.article-code{background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-5);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-label);color:var(--text-2)}.article-figure{margin-block:var(--space-6)}.article-img{max-width:100%;height:auto;border-radius:var(--radius-card);border:1px solid var(--border-subtle)}.article-figcaption{color:var(--text-3);font-size:var(--text-caption);margin-top:var(--space-2)}.blogpost-cta{max-width:var(--container-article);margin:var(--space-8) auto 0;padding-inline:var(--gutter)}.blogpost-cta-inner{background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-frame);padding:var(--space-6);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.blogpost-cta-inner h2{color:var(--text-1);font-size:var(--text-h3);font-weight:var(--weight-semibold)}.blogpost-cta-inner p{color:var(--text-2);font-size:var(--text-label);max-width:55ch}.blogpost-related{max-width:var(--container);margin-inline:auto;padding:var(--space-8) var(--gutter)}.related-title{font-size:var(--text-h3)}.article-h1,.related-title{color:var(--text-1);font-weight:var(--weight-semibold);margin-bottom:var(--space-5)}.article-h1{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.article-table-wrapper{overflow-x:auto;margin-bottom:var(--space-5)}.article-table{width:100%;border-collapse:collapse;font-size:var(--text-label)}.article-table td,.article-table th{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-2)}.article-table th{color:var(--text-1);font-weight:var(--weight-medium)}.article-inline-code{font-family:var(--font-mono);font-size:var(--text-label);background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-ctl);padding:0 var(--space-1);color:var(--text-1)}.article-list-ordered{color:var(--text-2);font-size:var(--text-lead);line-height:var(--leading-body);padding-left:var(--space-5);margin-bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}