:root{--blog-max-width:800px;--blog-sidebar-width:280px;--blog-hero-height:60vh;--blog-reading-line-height:1.8;--blog-paragraph-spacing:1.5rem}.blog-hero{position:relative;background:var(--bg-brand-subtle);min-height:var(--blog-hero-height);display:flex;align-items:center;padding:var(--space-4xl) var(--space-lg);overflow:hidden}.blog-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--pattern-dots);background-size:var(--pattern-dots-size);opacity:.3;pointer-events:none}.blog-hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 400px;grid-gap:var(--space-4xl);gap:var(--space-4xl);align-items:center}.blog-hero-title{font-family:var(--font-display);font-size:var(--text-display-md);font-weight:800;color:var(--text-primary);line-height:var(--leading-tight);margin:0;letter-spacing:var(--tracking-tight)}.blog-hero-excerpt{font-size:var(--text-body-lg);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0;font-style:italic}.blog-hero-image{position:relative;max-width:500px;aspect-ratio:10/10;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.1)}.blog-hero-image,.blog-hero-image img{width:100%;border-radius:var(--radius-lg)}.blog-hero-image img{height:100%;object-fit:cover}.blog-article-container{position:relative;max-width:1200px;margin:0 auto;padding:var(--space-4xl) var(--space-lg);display:grid;grid-template-columns:var(--blog-max-width) 1fr;grid-gap:var(--space-4xl);gap:var(--space-4xl);align-items:start}.blog-toc{position:-webkit-sticky;position:sticky;top:var(--space-4xl);background:var(--bg-neutral);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.08);max-width:240px}.blog-toc-title{font-family:var(--font-display);font-size:var(--text-body);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md);align-items:center;padding-bottom:var(--space-sm);border-bottom:1px solid rgba(0,0,0,.1)}.blog-toc-list,.blog-toc-title{display:flex;gap:var(--space-sm)}.blog-toc-list{list-style:none;padding:0;margin:0;flex-direction:column}.blog-toc-item{position:relative}.blog-toc-link{display:block;padding:var(--space-xs) var(--space-sm);color:var(--text-secondary);text-decoration:none;font-size:var(--text-body-sm);font-weight:500;border-radius:var(--radius-sm);transition:all .2s ease;border-left:2px solid transparent}.blog-toc-link:hover{background:rgba(99,102,241,.06)}.blog-toc-link.active,.blog-toc-link:hover{color:var(--indigo);border-left-color:var(--indigo)}.blog-toc-link.active{background:rgba(99,102,241,.08);font-weight:600}.blog-content{background:transparent;padding:0}.blog-content-wrapper{font-family:var(--font-body);font-size:var(--text-body-lg);line-height:var(--leading-relaxed);color:var(--text-primary)}.blog-content h1{font-size:var(--text-display-md);font-weight:800;margin-bottom:var(--space-xl);letter-spacing:var(--tracking-tight)}.blog-content h1,.blog-content h2{font-family:var(--font-display);color:var(--text-primary);line-height:var(--leading-tight)}.blog-content h2{font-size:var(--text-h1);font-weight:700;margin-top:var(--space-3xl);margin-bottom:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-subtle)}.blog-content h2:first-of-type{margin-top:0;padding-top:0;border-top:none}.blog-content h3{font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;color:var(--text-primary);line-height:var(--leading-snug);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.blog-content p{font-family:var(--font-body);font-size:var(--text-body-lg);color:var(--text-primary);line-height:var(--leading-relaxed);margin-bottom:var(--space-lg)}.blog-content ol,.blog-content ul{margin:var(--space-lg) 0;padding-left:var(--space-xl)}.blog-content li{font-family:var(--font-body);font-size:var(--text-body);color:var(--text-primary);line-height:var(--leading-relaxed);margin-bottom:var(--space-sm)}.blog-content blockquote{background:var(--bg-brand-subtle);border-left:3px solid var(--indigo);padding:var(--space-lg) var(--space-xl);margin:var(--space-xl) 0;border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--text-primary)}.blog-content blockquote p{margin-bottom:0;font-size:var(--text-body-lg)}.blog-content code{background:var(--bg-brand-subtle);color:var(--purple);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-body-sm);font-weight:600}.blog-content pre{background:var(--bg-neutral);color:var(--text-primary);padding:var(--space-lg);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-xl) 0;border:1px solid var(--border-subtle)}.blog-content pre code{background:none;color:inherit;padding:0;border-radius:0;font-weight:400}.blog-content img{width:100%;height:auto;border-radius:var(--radius-lg);margin:var(--space-xl) 0;box-shadow:0 4px 16px rgba(0,0,0,.1)}.blog-meta{background:var(--bg-neutral);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-2xl);flex-wrap:wrap;gap:var(--space-lg);border:1px solid var(--border-subtle)}.blog-meta,.blog-meta-item{display:flex;align-items:center}.blog-meta-item{gap:var(--space-sm);color:var(--text-secondary);font-size:var(--text-body-sm);font-weight:500}.blog-meta-item svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--indigo)}.blog-author{background:var(--bg-neutral);padding:var(--space-xl);margin-top:var(--space-3xl);gap:var(--space-lg);align-items:flex-start}.blog-author,.blog-author-avatar{border-radius:var(--radius-lg);display:flex;border:1px solid var(--border-subtle)}.blog-author-avatar{width:48px;height:48px;background:var(--bg-brand-subtle);align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.blog-author-avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg)}.blog-author-avatar svg{width:var(--icon-xl);height:var(--icon-xl);color:var(--indigo)}.blog-meta-author-name{font-weight:600;color:var(--text-primary);margin:0;font-size:var(--text-body)}.blog-meta-author-role{font-size:var(--text-body-sm);color:var(--text-secondary);margin:0}.blog-author-info h3{font-family:var(--font-display);font-size:var(--text-h4);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-xs) 0}.blog-author-role{color:var(--indigo);font-size:var(--text-body-sm);font-weight:600;margin-bottom:var(--space-sm)}.blog-author-bio{color:var(--text-secondary);line-height:1.6;margin:0}.blog-tags{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid rgba(0,0,0,.1)}.blog-tags-title{display:flex;align-items:center;gap:var(--space-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-md);font-size:var(--text-body-sm)}.blog-tags-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.blog-tag{background:var(--purple-glass);color:var(--purple);padding:var(--space-sm) var(--space-md);border-radius:var(--radius);font-size:var(--text-body-sm);font-weight:500;text-decoration:none;transition:all .2s ease;border:1px solid rgba(139,92,246,.2)}.blog-tag:hover{background:var(--purple);color:white;transform:translateY(-1px);box-shadow:0 4px 12px rgba(139,92,246,.3)}.blog-category-badge{background:var(--bg-brand-subtle);color:var(--indigo);padding:var(--space-xs) var(--space-md);border-radius:var(--radius);font-size:var(--text-body-sm);font-weight:600;text-decoration:none;border:1px solid var(--border-subtle);transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--space-xs)}.blog-category-badge:hover{background:var(--indigo);color:white}.blog-related-section{padding:var(--space-4xl) var(--space-lg);background:var(--bg-neutral)}.blog-related-container{max-width:1200px;margin:0 auto}.blog-related-title{font-family:var(--font-display);font-size:var(--text-h1);font-weight:800;color:var(--text-primary);text-align:center;margin-bottom:var(--space-2xl)}.blog-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:var(--space-xl);gap:var(--space-xl)}.blog-related-card{background:white;border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:0 4px 16px rgba(0,0,0,.08);border:1px solid var(--border-subtle);transition:all .3s ease;height:100%;display:flex;flex-direction:column;text-decoration:none}.blog-related-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(0,0,0,.12)}.blog-related-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-body-sm);color:var(--text-secondary)}.blog-related-card-title{font-family:var(--font-display);font-size:var(--text-h3);font-weight:700;color:var(--text-primary);line-height:var(--leading-snug);margin:var(--space-md) 0;text-decoration:none}.blog-related-card-excerpt{font-size:var(--text-body);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-lg);flex:1 1}.blog-related-card-link{color:var(--indigo);font-weight:600;font-size:var(--text-body-sm);display:flex;align-items:center;gap:var(--space-sm);text-decoration:none}@media (max-width:1024px){.blog-hero-content{grid-template-columns:1fr;gap:var(--space-2xl);text-align:center}.blog-hero-image{max-width:500px;margin:0 auto}.blog-article-container{grid-template-columns:1fr;gap:var(--space-2xl)}.blog-toc{position:static;order:-1}}@media (max-width:768px){.blog-hero{min-height:50vh}.blog-article-container,.blog-hero{padding:var(--space-2xl) var(--space-md)}.blog-content{padding:var(--space-xl)}.blog-content h1{font-size:var(--text-h1)}.blog-content h2{font-size:var(--text-h3)}.blog-author{flex-direction:column;text-align:center}}html{scroll-behavior:smooth}.blog-toc-link:focus{outline:2px solid var(--indigo);outline-offset:2px}.blog-tag:focus{outline:2px solid var(--purple);outline-offset:2px}