.blog-post{background:var(--background-main);margin:0 auto;max-width:800px;min-height:100vh;padding:3rem 2rem}.blog-post-error,.blog-post-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh;padding:4rem 2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);display:inline-block;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.blog-post-loading p{color:var(--text-secondary);font-size:1.125rem}.blog-post-error h2{color:var(--error-color);font-size:2rem;margin-bottom:1rem}.blog-post-error p{color:var(--text-secondary);font-size:1.125rem;margin-bottom:2rem}.back-to-blog{align-items:center;color:var(--primary-color);display:inline-flex;font-size:1rem;font-weight:500;margin-bottom:2rem;text-decoration:none;transition:all .2s}.back-to-blog:hover{color:var(--primary-hover);text-decoration:underline;text-underline-offset:3px}.blog-post-header{border-bottom:1px solid var(--border-color);margin-bottom:3rem;padding-bottom:2rem}.blog-post-title{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-variation-settings:"opsz" 144;font-weight:500;letter-spacing:-.015em;line-height:1.1;margin:0 0 1.5rem}.blog-post-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.95rem;gap:1.5rem;margin-bottom:1.5rem}.blog-post-author{color:var(--primary-color);font-weight:600}.blog-post-date,.blog-post-views{opacity:.9}.blog-post-tags{display:flex;flex-wrap:wrap;gap:.5rem}.blog-tag{background:#0000;border:1px solid var(--border-hover);border-radius:2px;color:var(--text-secondary);cursor:pointer;display:inline-block;font-family:var(--font-body);font-size:.8125rem;font-weight:500;padding:.25rem .625rem;text-decoration:none;transition:color .2s,border-color .2s}.blog-tag:hover{border-color:var(--primary-color);color:var(--primary-color)}.blog-post-featured-image{aspect-ratio:1200/630;border:1px solid var(--border-color);border-radius:2px;margin-bottom:3rem}.blog-post-featured-image img{display:block;height:100%;width:100%}.blog-post-content{color:var(--text-primary);font-family:var(--font-body);font-size:1.125rem;line-height:1.65;margin-bottom:3rem;max-width:68ch;text-align:left}.blog-post-content>:first-child{margin-top:0}.blog-h1,.blog-h2,.blog-h3,.blog-h4,.blog-h5,.blog-h6{color:var(--text-primary);font-family:var(--font-display);font-variation-settings:"opsz" 144;font-weight:500;letter-spacing:-.015em;line-height:1.1;margin:3rem 0 1.25rem}.blog-h1{border-bottom:1px solid var(--border-color);font-size:2.25rem;padding-bottom:.5rem}.blog-h2{color:var(--primary-color);font-size:1.875rem}.blog-h3{font-size:1.5rem}.blog-h4{font-size:1.25rem}.blog-p{color:var(--text-secondary);margin-bottom:1.5rem}.blog-strong{color:var(--text-primary);font-weight:700}.blog-blockquote,.blog-em{color:var(--text-secondary);font-style:italic}.blog-blockquote{background:var(--surface-light);border:1px solid var(--border-color);border-left:2px solid var(--primary-color);border-radius:2px;margin:2rem 0;padding:1.5rem 2rem;position:relative}.blog-blockquote:before{color:var(--primary-color);content:'"';font-family:var(--font-display);font-size:4rem;left:1rem;opacity:.3;position:absolute;top:-1rem}.blog-ol,.blog-ul{margin:1.5rem 0;padding-left:2rem}.blog-li{color:var(--text-secondary);margin-bottom:.5rem}.blog-inline-code{background:var(--surface-dark);border-radius:2px;color:var(--primary-color);font-family:var(--font-mono);font-size:.875em;font-weight:600;padding:.125rem .375rem}.blog-code-block{color:var(--text-primary);font-family:var(--font-mono);font-size:.875rem;line-height:1.6}.blog-code-block,.blog-pre{background:var(--surface-dark);border:1px solid var(--border-color);border-radius:2px;margin:1.5rem 0;overflow-x:auto;padding:1.5rem}.blog-link{color:var(--primary-color);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;transition:all .2s}.blog-link:hover{color:var(--primary-hover);text-decoration-color:var(--primary-hover)}.blog-hr{background-image:var(--pattern-rule);background-size:10px 1px;border:0;height:1px;margin:3rem 0}.blog-post-content h1,.blog-post-content h2,.blog-post-content h3,.blog-post-content h4,.blog-post-content h5,.blog-post-content h6{color:var(--text-primary);font-family:var(--font-display);font-variation-settings:"opsz" 144;font-weight:500;letter-spacing:-.015em;line-height:1.1;margin:3rem 0 1.25rem}.blog-post-content h1{border-bottom:1px solid var(--border-color);font-size:2.25rem;padding-bottom:.5rem}.blog-post-content h2{color:var(--primary-color);font-size:1.875rem}.blog-post-content h3{font-size:1.5rem}.blog-post-content h4{font-size:1.25rem}.blog-post-content p{color:var(--text-secondary);margin-bottom:1.5rem}.blog-post-content strong{color:var(--text-primary);font-weight:700}.blog-post-content em{color:var(--text-secondary);font-style:italic}.blog-post-content ol,.blog-post-content ul{margin:1.5rem 0;padding-left:2rem}.blog-post-content li{color:var(--text-secondary);line-height:1.7;margin-bottom:.75rem}.blog-post-content li::marker{color:var(--primary-color);font-weight:700}.blog-post-content blockquote{background:var(--surface-light);border:1px solid var(--border-color);border-left:2px solid var(--primary-color);border-radius:2px;color:var(--text-secondary);font-style:italic;margin:2rem 0;padding:1.5rem 2rem;position:relative}.blog-post-content blockquote:before{color:var(--primary-color);content:'"';font-family:var(--font-display);font-size:4rem;left:1rem;opacity:.3;position:absolute;top:-1rem}.blog-post-content blockquote p{margin:0}.blog-post-content a{color:var(--primary-color);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;transition:all .2s}.blog-post-content a:hover{color:var(--primary-hover);text-decoration-color:var(--primary-hover)}.blog-post-content img{border:1px solid var(--border-color);border-radius:2px;height:auto;margin:2rem 0;max-width:100%}.blog-post-content code{color:var(--primary-color);font-family:var(--font-mono);font-size:.875em;font-weight:600;padding:.125rem .375rem}.blog-post-content code,.blog-post-content pre{background:var(--surface-dark);border-radius:2px}.blog-post-content pre{border:1px solid var(--border-color);margin:1.5rem 0;overflow-x:auto;padding:1.5rem}.blog-post-content pre code{background:none;color:var(--text-primary);font-size:.875rem;line-height:1.6;padding:0}.blog-post-content table{background:var(--surface-light);border:1px solid var(--border-color);border-collapse:collapse;border-radius:2px;margin:2rem 0;overflow:hidden;width:100%}.blog-post-content td,.blog-post-content th{border-bottom:1px solid var(--border-color);padding:1rem;text-align:left}.blog-post-content th{color:var(--text-primary);font-size:.9375rem;font-weight:600}.blog-post-content th,.blog-post-content tr:hover{background:var(--surface-dark)}.blog-post-content tbody tr:last-child td{border-bottom:none}.blog-post-content .table-wrapper{border-radius:2px;margin:2rem 0;overflow-x:auto}.blog-post-content .table-wrapper table{margin:0}.blog-post-reading-time{opacity:.9}.blog-toc{background:var(--surface-light);border:1px solid var(--border-color);border-radius:2px;margin-bottom:2.5rem;padding:1.5rem 2rem}.blog-toc-title{color:var(--text-primary);font-family:var(--font-display);font-size:1.125rem;font-variation-settings:"opsz" 144;font-weight:500;letter-spacing:-.015em;line-height:1.1;margin:0 0 1rem}.blog-toc-list{list-style:none;margin:0;padding:0}.blog-toc-item{margin-bottom:.5rem}.blog-toc-item a{color:var(--text-secondary);font-size:.9375rem;line-height:1.5;text-decoration:none;transition:color .2s}.blog-toc-item a:hover{color:var(--primary-color)}.blog-toc-h3{padding-left:1.25rem}.blog-related-posts{border-top:1px solid var(--border-color);margin-top:3rem;padding-top:2.5rem}.related-posts-title{color:var(--text-primary);font-family:var(--font-display);font-size:1.375rem;font-variation-settings:"opsz" 144;font-weight:500;letter-spacing:-.015em;line-height:1.1;margin:0 0 1.5rem}.related-posts-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.related-post-card{background:var(--surface-light);border:1px solid var(--border-color);border-radius:2px;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:border-color .2s ease}.related-post-card:hover{border-color:var(--primary-color)}.related-post-image{border-bottom:1px solid var(--border-color);height:120px;width:100%}.related-post-image img{height:100%;object-fit:cover;width:100%}.related-post-info{padding:1rem}.related-post-info h4{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-family:var(--font-display);font-size:1.0625rem;font-variation-settings:"opsz" 144;font-weight:500;letter-spacing:-.015em;line-height:1.2;margin:0 0 .5rem;overflow:hidden}.related-post-meta{color:var(--text-secondary);font-size:.8125rem}.blog-post-footer{border-top:1px solid var(--border-color);margin-top:4rem;padding-top:3rem}.share-section{margin-bottom:3rem}.share-section h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.375rem;font-variation-settings:"opsz" 144;font-weight:500;letter-spacing:-.015em;line-height:1.1;margin-bottom:1.5rem}.share-buttons{display:flex;flex-wrap:wrap;gap:1rem}.share-button{background:var(--surface-light);border:1px solid var(--border-color);border-radius:2px;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.share-button:hover{border-color:var(--primary-color);color:var(--primary-color)}.navigation-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.nav-link{border:1px solid #0000;border-radius:2px;color:var(--text-secondary);font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.nav-link:hover{background:var(--surface-light);border-color:var(--border-color);color:var(--text-primary)}.nav-link.cta{background:var(--primary-color);border-color:var(--primary-color);color:var(--text-inverse);font-weight:600}.nav-link.cta:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.blog-post-content hr{background-image:var(--pattern-rule);background-size:10px 1px;border:0;height:1px;margin:3rem 0}.blog-post-content .highlight{background:rgba(var(--primary-color-rgb),.1);border-radius:2px;color:var(--primary-color);font-weight:600;padding:.25rem .5rem}.blog-post-content>div,.blog-post-content>section{margin-bottom:2rem}.blog-post-content ol ol,.blog-post-content ol ul,.blog-post-content ul ol,.blog-post-content ul ul{margin:.5rem 0;padding-left:1.5rem}@media (max-width:768px){.blog-post{padding:2rem 1rem}.blog-post-title{font-size:1.75rem}.blog-post-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.blog-post-content{font-size:1rem}.blog-post-content h1{font-size:1.75rem}.blog-post-content h2{font-size:1.5rem}.blog-post-content h3{font-size:1.25rem}.blog-post-content ol,.blog-post-content ul{padding-left:1.5rem}.blog-post-content blockquote{padding:1rem 1.5rem}.share-buttons{flex-direction:column}.share-button{text-align:center}.navigation-section{align-items:stretch;flex-direction:column}.nav-link.cta{text-align:center}}@media (max-width:480px){.blog-toc{margin-bottom:2rem;padding:1rem 1.25rem}.blog-toc-item a{font-size:.875rem}.related-posts-grid{grid-template-columns:1fr}.related-post-card{flex-direction:row}.related-post-image{height:auto;min-height:80px;width:80px}.blog-post{padding:1.5rem .75rem}.back-to-blog{align-items:center;display:flex;font-size:.9375rem;margin-bottom:1.5rem;min-height:44px}.blog-post-header{margin-bottom:2rem;padding-bottom:1.5rem}.blog-post-title{font-size:1.5rem;margin-bottom:1rem}.blog-post-meta{font-size:.875rem;gap:.375rem}.blog-post-tags{gap:.375rem}.blog-tag{font-size:.6875rem;padding:.25rem .625rem}.blog-post-featured-image{border-radius:2px;margin-bottom:2rem}.blog-post-content{font-size:1.0625rem;line-height:1.65}.blog-post-content p{margin-bottom:1.5rem}.blog-h1,.blog-post-content h1{font-size:1.5rem;margin:2rem 0 1rem}.blog-h2,.blog-post-content h2{font-size:1.25rem;margin:2rem 0 1rem}.blog-h3,.blog-post-content h3{font-size:1.125rem;margin:1.5rem 0 .75rem}.blog-blockquote,.blog-post-content blockquote{margin:1.5rem 0;padding:1rem}.blog-blockquote:before,.blog-post-content blockquote:before{font-size:2.5rem;left:.5rem;top:-.5rem}.blog-code-block,.blog-post-content pre,.blog-pre{font-size:.8125rem;margin:1rem 0;padding:1rem}.blog-ol,.blog-post-content ol,.blog-post-content ul,.blog-ul{padding-left:1.25rem}.blog-post-footer{margin-top:3rem;padding-top:2rem}.share-section h3{font-size:1.125rem;margin-bottom:1rem}.nav-link,.share-button{font-size:.9375rem;min-height:48px;padding:.875rem 1rem}.nav-link{align-items:center;display:flex;justify-content:center}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}.back-to-blog,.blog-tag,.nav-link,.related-post-card,.share-button{transition:none}}