.post-header-fixed{position:sticky;top:var(--toolbar-height);z-index:100;background:var(--color-bg);padding:var(--space-md) var(--space-lg);transition:padding var(--transition-normal),transform var(--transition-normal)}.post-header-box{max-width:var(--max-width-container);margin:0 auto;background:var(--color-bg-alt);border:1px solid var(--color-border-dark);border-radius:var(--radius-lg);padding:1.25rem var(--space-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.post-header-content{max-width:100%}.post-header-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-sm) var(--space-lg)}.post-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-tight);margin:0;transition:font-size var(--transition-normal)}.post-meta{font-size:var(--text-sm);color:var(--color-text-subtle);display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.meta-separator{color:var(--color-border)}.post-header-collapsible{overflow:hidden;max-height:200px;opacity:1;margin-top:.75rem;transition:all var(--transition-normal)}.post-summary{font-size:.95rem;color:var(--color-text-muted);margin-bottom:.75rem;font-style:italic;line-height:var(--leading-normal)}.post-tags{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:0;margin:0}.tag{background-color:var(--color-tag-bg);color:var(--color-tag-text);font-size:var(--text-xs);padding:.15rem var(--space-sm);border-radius:var(--radius-full);font-family:var(--font-mono);white-space:nowrap}.post-header-fixed.collapsed{padding:var(--space-sm) var(--space-lg)}.post-header-fixed.collapsed .post-header-box{padding:.75rem var(--space-lg);box-shadow:var(--shadow-sm)}.post-header-fixed.collapsed .post-title{font-size:var(--text-lg)}.post-header-fixed.collapsed .post-header-collapsible{max-height:0;opacity:0;margin-top:0}.post-header-fixed.hidden{transform:translateY(-100%);pointer-events:none}.blog-container{display:flex;max-width:var(--max-width-wide);margin:0 auto;padding:var(--space-xl);gap:var(--space-2xl)}.toc-sidebar{flex:0 0 var(--toc-width);position:sticky;top:100px;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto}.toc-wrapper{background:var(--color-bg-alt);border:1px solid var(--color-border-dark);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-md)}.toc-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-tag-text);margin-bottom:.75rem;padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.article-toc ul{list-style:none;padding:0;margin:0}.article-toc li{margin:var(--space-xs) 0}.article-toc>ul>li>ul{margin-left:var(--space-md)}.article-toc>ul>li>ul>li>ul{margin-left:var(--space-md)}.article-toc a{display:block;text-decoration:none;color:var(--color-text-muted);font-size:var(--text-sm);padding:.35rem var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);border-left:2px solid transparent}.article-toc a:hover{color:var(--color-text);background-color:#f5f5f5}.article-toc a.active{font-weight:var(--font-semibold);color:var(--color-accent);background-color:var(--color-accent-bg);border-left:2px solid var(--color-accent)}.post-content{flex:1;min-width:0;max-width:var(--max-width-content);padding:var(--space-xl)}.post-content h1,.post-content h2,.post-content h3,.post-content h4{font-weight:var(--font-semibold);margin-top:var(--space-xl);margin-bottom:var(--space-md);color:var(--color-text);scroll-margin-top:120px}.post-content h1{font-size:var(--text-3xl)}.post-content h2{font-size:var(--text-2xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs)}.post-content h3{font-size:var(--text-xl)}.post-content h4{font-size:var(--text-lg)}.post-content p{margin:var(--space-md) 0;color:var(--color-text)}.post-content a{color:var(--color-accent);text-decoration:underline}.post-content a:hover{text-decoration:none}.post-content code{background:var(--color-code-bg);padding:.2em .4em;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.95em}.post-content pre{background:var(--color-code-bg);padding:var(--space-md);overflow-x:auto;border-radius:var(--radius-md);font-size:.95em;margin:var(--space-lg) 0}.post-content pre code{background:none;padding:0}.post-content ul,.post-content ol{padding-left:var(--space-lg);margin:var(--space-md) 0}.post-content li{margin-bottom:var(--space-sm)}.post-content blockquote{border-left:3px solid var(--color-accent);margin:var(--space-lg) 0;padding:var(--space-sm) var(--space-md);background:#f8f9fa;color:var(--color-text-muted);font-style:italic;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.post-content img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-md) 0}.post-content table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0}.post-content th,.post-content td{border:1px solid var(--color-border);padding:.75rem;text-align:left}.post-content th{background:var(--color-code-bg);font-weight:var(--font-semibold)}@media (max-width: 1024px){.blog-container{flex-direction:column;padding:var(--space-lg)}.toc-sidebar{position:relative;top:0;flex:none;width:100%;max-height:none;margin-bottom:var(--space-lg)}.toc-wrapper{max-height:300px;overflow-y:auto}.post-content{max-width:100%}}@media (max-width: 640px){.post-header-fixed{padding:var(--space-md)}.post-title{font-size:1.35rem}.post-summary{font-size:var(--text-sm)}.blog-container{padding:var(--space-md)}.post-content{padding:1.25rem}.post-content h1{font-size:var(--text-2xl)}.post-content h2{font-size:var(--text-xl)}.post-content h3{font-size:var(--text-lg)}}
