.table-of-contents{border:1px dashed var(--border);padding:var(--space-md);margin-bottom:var(--space-lg);background:0 0;border-radius:0;position:relative}.toc-header{font-size:var(--font-size-xxs);color:var(--text-tertiary);letter-spacing:1px;margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border);text-transform:uppercase;align-items:center;gap:8px;font-weight:700;display:flex}.toc-list{margin:0;padding:0;list-style:none}.toc-item{margin-bottom:var(--space-xs)}.toc-item a{font-size:var(--font-size-xs);color:var(--text-secondary);border-left:2px solid #0000;padding:4px 8px;line-height:1.4;text-decoration:none;transition:all .2s;display:block}.toc-item.level-3 a{font-size:var(--font-size-xxs);padding-left:20px}.toc-item a:hover{color:var(--text-primary);border-left-color:var(--border);background:var(--bg-secondary)}.toc-item.active a{color:var(--accent);border-left-color:var(--accent);font-weight:600}.heading-anchor{opacity:0;color:var(--text-tertiary);margin-left:8px;transition:opacity .2s}h2:hover .heading-anchor,h3:hover .heading-anchor{opacity:1}.heading-anchor:hover{color:var(--accent)}@media (max-width:768px){.table-of-contents{display:none}}
.post-navigation{border:1px solid var(--border);padding:var(--space-lg);margin-bottom:var(--space-lg);background:0 0;transition:border-color .3s;position:relative}.post-navigation:hover{border-color:var(--text-tertiary)}.nav-inner{align-items:stretch;gap:0;display:flex}.nav-item{flex:1;display:flex}.nav-item.prev{justify-content:flex-start}.nav-item.next{justify-content:flex-end}.nav-link{align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--border);max-width:320px;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{border-color:var(--accent);background:var(--bg-secondary)}.nav-content{flex-direction:column;gap:4px;display:flex}.nav-label{font-size:var(--font-size-xxs);color:var(--text-tertiary);letter-spacing:1px;text-transform:uppercase;font-weight:700}.nav-title{font-size:var(--font-size-small);color:var(--text-primary);font-weight:500;line-height:1.3}.nav-link:hover .nav-title{color:var(--accent)}.nav-separator{color:var(--border);font-size:var(--font-size-h4);padding:0 var(--space-lg);opacity:.5;align-items:center;display:flex}.nav-placeholder{min-width:100px}@media (max-width:768px){.nav-inner{gap:var(--space-md);flex-direction:column}.nav-separator{display:none}.nav-link{max-width:100%}.nav-item.next{justify-content:flex-start}}@media (max-width:480px){.post-navigation{padding:var(--space-sm)}.nav-link{padding:var(--space-sm);gap:var(--space-sm)}.nav-title{font-size:var(--font-size-xs)}}@media (max-width:320px){.post-navigation{padding:var(--space-xs)}.nav-link{padding:var(--space-xs);gap:var(--space-xs)}.nav-label,.nav-title{font-size:var(--font-size-xxs)}}
.related-posts{border:1px solid var(--border);padding:var(--space-lg);margin-bottom:var(--space-lg);background:0 0;transition:border-color .3s;position:relative}.related-posts:hover{border-color:var(--text-tertiary)}.related-list{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.related-card{padding:var(--space-md);border:1px solid var(--border);gap:var(--space-sm);flex-direction:column;text-decoration:none;transition:all .2s;display:flex}.related-card:hover{border-color:var(--accent);background:var(--bg-secondary);transform:translateY(-2px)}.related-meta{font-size:var(--font-size-xxs);color:var(--text-tertiary);letter-spacing:.5px;justify-content:space-between;align-items:center;font-weight:600;display:flex}.related-category{text-transform:uppercase}.related-time{opacity:.7}.related-title{font-size:var(--font-size-small);color:var(--text-primary);text-transform:uppercase;margin:0;font-weight:600;line-height:1.4}.related-title:after{display:none}.related-card:hover .related-title{color:var(--accent)}.related-excerpt{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0;line-height:1.5}@media (max-width:768px){.related-list{grid-template-columns:1fr}}@media (max-width:480px){.related-posts{padding:var(--space-sm)}.related-title{font-size:var(--font-size-xs)}.related-excerpt{font-size:var(--font-size-xxs)}}@media (max-width:320px){.related-posts{padding:var(--space-xs)}.related-card{padding:var(--space-sm);gap:var(--space-xs)}.related-meta,.related-title{font-size:var(--font-size-xxs)}.related-excerpt{font-size:var(--font-size-xxs);line-height:1.4}}
.share-buttons-container{align-items:center;gap:12px;display:flex}.share-label{font-size:var(--font-size-xs);color:var(--text-secondary);letter-spacing:1px;font-weight:700}.share-buttons{align-items:center;gap:4px;display:flex}.share-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;width:36px;height:36px;padding:6px;transition:all .2s;display:flex}.share-btn:hover{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.share-btn.copied{border-color:var(--accent);color:var(--accent)}.share-btn.copied:hover{background:var(--accent);color:var(--bg-primary)}@media (max-width:480px){.share-buttons-container{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.share-btn{width:32px;height:32px}}
.scroll-to-top-btn{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:var(--font-size-xxs);letter-spacing:1px;text-transform:uppercase;opacity:0;visibility:hidden;z-index:999;border-radius:0;align-items:center;gap:6px;padding:8px 12px;font-weight:700;transition:all .3s;display:flex;position:fixed;bottom:5rem;right:1.5rem;transform:translateY(10px)}.scroll-to-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top-btn:hover{background:var(--accent);color:var(--bg-primary);border-color:var(--accent);transform:translateY(-2px)}.scroll-to-top-btn:active{transform:translateY(0)}.scroll-icon{font-size:var(--font-size-small);line-height:1}.scroll-label{letter-spacing:.5px}@media (max-width:768px){.scroll-to-top-btn{padding:6px 10px;bottom:4rem;right:1rem}}@media (max-width:480px){.scroll-to-top-btn{padding:6px;bottom:3rem;right:.5rem}.scroll-label{display:none}}
.code-block{margin:var(--space-lg)0;border:1px solid var(--border);border-radius:0;position:relative;overflow:hidden}.code-block-header{padding:var(--space-sm)var(--space-md);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.code-header-left{align-items:center;gap:6px;display:flex}.code-dot{background:var(--border);border-radius:50%;width:8px;height:8px}.code-dot:first-child,.code-dot:nth-child(2),.code-dot:nth-child(3){background:var(--text-primary)}.code-language{font-family:var(--font-primary);font-size:var(--font-size-xxs);color:var(--text-tertiary);letter-spacing:1px;margin-left:12px;font-weight:700}.copy-btn{border:1px solid var(--border);color:var(--text-tertiary);font-size:var(--font-size-xxs);letter-spacing:.5px;cursor:pointer;font-weight:600;font-family:var(--font-primary);background:0 0;border-radius:0;align-items:center;gap:4px;padding:4px 8px;transition:all .2s;display:flex}.copy-btn:hover,.copy-btn.copied{color:var(--accent);border-color:var(--accent)}.code-pre{font-size:var(--font-size-small);line-height:1.6;overflow-x:auto;padding:var(--space-md)!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important}.code-pre code{font-family:var(--font-primary);font-size:inherit;background:0 0!important}.code-pre .hljs-ln-numbers{color:var(--text-tertiary);padding-right:var(--space-md);border-right:1px solid var(--border);margin-right:var(--space-md)}@media (max-width:480px){.code-block-header{padding:var(--space-xs)var(--space-sm)}.code-pre{font-size:var(--font-size-xs);padding:var(--space-sm)!important}}
.markdown-body code{font-family:var(--font-primary);background-color:#0000}.markdown-body :not(pre)>code{background-color:var(--bg-secondary);color:var(--accent);border-radius:3px;padding:.2em .4em;font-size:.9em}.hljs{color:var(--text-primary);background:0 0;padding:.5em;display:block;overflow-x:auto}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-section,.hljs-link,.hljs-type,.hljs-attribute{color:var(--accent);font-weight:700}.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-built_in{color:var(--accent-hover)}.hljs-comment,.hljs-quote,.hljs-meta,.hljs-deletion{color:var(--text-secondary);font-style:italic}.hljs-title,.hljs-function,.hljs-class .hljs-title,.hljs-title.class_{color:var(--text-primary);font-weight:700}.hljs-operator,.hljs-punctuation{color:var(--text-tertiary)}
.post-article{max-width:var(--content-max-width);padding:var(--space-xl)var(--space-lg);margin:0 auto}.back-link{margin-bottom:var(--space-lg);font-size:var(--font-size-small);color:var(--text-tertiary);font-weight:500;font-family:var(--font-primary);letter-spacing:.5px;align-items:center;text-decoration:none;transition:all .2s;display:inline-flex}.back-link:hover{color:var(--accent);transform:translate(-4px)}.post-header-frame{text-align:center;padding:var(--space-xl)var(--space-lg)}.entry-meta{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-family:var(--font-primary);justify-content:center;align-items:center;gap:12px;display:flex}.entry-meta>:not(:last-child):after{content:"•";color:var(--border);margin-left:12px}.entry-title{font-size:var(--font-size-hero);color:var(--text-primary);margin:0 0 var(--space-md);letter-spacing:-.03em;text-transform:uppercase;font-weight:700;line-height:1.2}.entry-title:after{display:none}.entry-subtitle{font-size:var(--font-size-subtitle);color:var(--text-secondary);text-transform:none;max-width:600px;margin:0 auto;font-weight:400;line-height:1.5}.post-content-frame{padding:var(--space-lg)}.entry-content{font-size:var(--font-size-body);color:var(--text-primary);line-height:1.8}.entry-content p{margin-bottom:1.5rem}.entry-content h2{font-size:var(--font-size-h4);margin-top:var(--space-xl);margin-bottom:var(--space-md);letter-spacing:.05em;color:var(--text-primary);padding-bottom:var(--space-sm);border-bottom:1px dashed var(--border);font-weight:700}.entry-content h3{font-size:var(--font-size-h3);margin-top:var(--space-lg);margin-bottom:var(--space-sm);color:var(--text-primary);font-weight:600}.entry-content blockquote{border-left:3px solid var(--accent);margin:var(--space-lg)0;padding:var(--space-md)var(--space-lg);font-style:italic;font-size:var(--font-size-body);color:var(--text-secondary);background:var(--bg-secondary)}.entry-content ul,.entry-content ol{margin:var(--space-md)0;padding-left:var(--space-lg)}.entry-content li{margin-bottom:var(--space-sm);padding-left:var(--space-xs)}.entry-content li::marker{color:var(--accent)}.entry-content a{color:var(--accent);border-bottom:1px solid var(--border);text-decoration:none;transition:all .2s}.entry-content a:hover{border-bottom-color:var(--accent)}.entry-content img{max-width:100%;height:auto;margin:var(--space-lg)0;border:1px solid var(--border)}.entry-content table{border-collapse:collapse;width:100%;margin:var(--space-lg)0;font-size:var(--font-size-small);border:1px solid var(--border)}.entry-content th,.entry-content td{padding:var(--space-md-sm);border:1px solid var(--border);text-align:left}.entry-content th{background:var(--bg-secondary);text-transform:uppercase;font-weight:600;font-size:var(--font-size-xs);letter-spacing:.5px}.post-footer-frame{padding:var(--space-lg)}.footer-content{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.post-tags,.entry-tags{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tags-label{font-size:var(--font-size-xxs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;font-weight:700}.post-tag,.entry-tag{font-size:var(--font-size-xs);color:var(--text-secondary);border:1px solid var(--border);background:0 0;padding:4px 10px;text-decoration:none;transition:all .2s}.post-tag:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}@media (max-width:768px){.post-article,.post-frame{padding:var(--space-md)}.post-header-frame{padding:var(--space-lg)var(--space-md)}.entry-title{font-size:var(--font-size-title)}.entry-subtitle{font-size:var(--font-size-body)}.footer-content{flex-direction:column;align-items:flex-start}.frame-label{font-size:var(--font-size-xxs)}}@media (max-width:480px){.post-article{padding:var(--space-md)var(--space-sm)}.post-frame{padding:var(--space-sm)}.post-header-frame{padding:var(--space-md)var(--space-sm)}.entry-title{font-size:var(--font-size-h4)}.entry-subtitle{font-size:var(--font-size-xs)}.entry-meta{font-size:var(--font-size-xxs);flex-wrap:wrap;gap:6px}.entry-content{font-size:var(--font-size-small);line-height:1.7}.entry-content h2{font-size:var(--font-size-body)}.entry-content h3{font-size:var(--font-size-small);font-weight:700}.entry-content blockquote{padding:var(--space-sm)var(--space-md);font-size:var(--font-size-small)}.entry-content pre{max-width:100%;overflow-x:auto}.entry-content table{font-size:var(--font-size-xs);white-space:nowrap;display:block;overflow-x:auto}}@media (max-width:320px){.post-article{padding:var(--space-sm)var(--space-xs)}.post-frame{padding:var(--space-xs)}.post-header-frame{padding:var(--space-sm)}.back-link{font-size:var(--font-size-xxs);margin-bottom:var(--space-sm)}.entry-meta{font-size:var(--font-size-xxs);gap:4px}.entry-title{font-size:var(--font-size-body)}.entry-subtitle{font-size:var(--font-size-xs)}.entry-content{font-size:var(--font-size-small);line-height:1.7}.entry-content p{margin-bottom:1rem}.entry-content h2{font-size:var(--font-size-small);margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.entry-content h3{font-size:var(--font-size-small)}.entry-content blockquote{padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-small)}.entry-content table{font-size:var(--font-size-xxs)}.entry-content th,.entry-content td{padding:4px 6px}.post-tag,.entry-tag{font-size:var(--font-size-xxs);padding:2px 6px}.tags-label,.frame-label{font-size:var(--font-size-xxs)}.frame-corner{width:6px;height:6px}}
