.blog-reading-progress{top:0;background:var(--accent);z-index:1100;height:3px;transition:width 80ms linear;position:fixed;inset-inline-start:0}.blog-article-wrap{max-width:1180px;margin:0 auto;padding:0 24px 56px}.blog-article-header{text-align:center;max-width:860px;margin:0 auto;padding:30px 0 10px}.blog-article-back{color:var(--ink-mute);align-items:center;margin-bottom:18px;font-size:13px;text-decoration:none;display:inline-flex}.blog-article-back:hover{color:var(--accent-hi)}.blog-article-badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:16px;display:flex}.blog-article-category{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-hi);border:1px solid var(--accent-line);padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.blog-article-readtime{color:var(--ink-dim);font-size:12.5px}.blog-article-title{letter-spacing:-.042em;max-width:22ch;margin:0 auto 18px;font-size:clamp(30px,4.4vw,48px);font-weight:700;line-height:1.08}.blog-article-excerpt{color:var(--ink-mute);max-width:60ch;margin:0 auto 24px;font-size:20px;line-height:1.6}.blog-article-meta{border-block:1px solid var(--border);text-align:start;justify-content:center;align-items:center;gap:12px;padding-block:16px;display:flex}.blog-article-avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-hi);border:1px solid var(--accent-line);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.blog-article-meta-text{color:var(--ink-mute);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.blog-article-author-name{color:var(--ink);font-weight:600}.blog-article-hero{aspect-ratio:21/9;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--bg-tint);max-width:980px;margin:30px auto 0;position:relative;overflow:hidden}.blog-article-hero img{object-fit:cover}.blog-article-layout{grid-template-columns:210px minmax(0,1fr) 210px;align-items:start;gap:34px;margin-top:28px;display:grid}.blog-article-main{min-width:0;max-width:none}.blog-article-sidebar{align-self:stretch}.blog-sidebar-sticky{flex-direction:column;gap:18px;max-height:calc(100vh - 100px);display:flex;position:sticky;top:80px}.blog-sidebar-sticky>.blog-toc{flex-direction:column;flex:auto;min-height:0;display:flex}.blog-sidebar-sticky>.blog-side-cta{flex:none}.blog-toc-title{cursor:default;width:100%;font-family:var(--font-body);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim);text-align:start;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 0 12px;font-size:10.5px;font-weight:700;display:flex}.blog-toc-chevron{display:none}.blog-toc-list{scrollbar-width:thin;scrollbar-color:var(--border-strong,#444) transparent;flex-direction:column;flex:auto;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.blog-toc-link{color:var(--ink-mute);border-inline-start:2px solid var(--border);padding:6px 12px;font-size:13.5px;line-height:1.4;text-decoration:none;display:block}.blog-toc-link[data-level="3"]{padding-inline-start:24px;font-size:13px}.blog-toc-link:hover{color:var(--ink)}.blog-toc-link.active{color:var(--accent-hi);border-inline-start-color:var(--accent);background:var(--accent-soft);font-weight:600}.blog-side-cta{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:16px}.blog-side-cta-title{font-family:var(--font-display);margin-bottom:6px;font-size:15px;font-weight:600}.blog-side-cta-text{color:var(--ink-mute);margin-bottom:12px;font-size:13.5px;line-height:1.5}.blog-side-cta-btn,.blog-cta-btn{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-sm);justify-content:center;align-items:center;min-height:40px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.blog-side-cta-btn:hover,.blog-cta-btn:hover{background:var(--accent-hi)}.blog-prose{color:var(--ink-body);font-size:17px;line-height:1.78}.blog-prose :is(h2,h3,h4){scroll-margin-top:96px}.blog-prose h1,.blog-prose h2{border-top:1px solid var(--border);margin:44px 0 14px;padding-top:16px;font-size:26px}.blog-prose>h2:first-child,.blog-prose>h3:first-child{border-top:0;margin-top:0;padding-top:0}.blog-prose h3{margin:30px 0 10px;font-size:20px}.blog-prose h4{margin:24px 0 8px;font-size:17px}.blog-prose h5,.blog-prose h6{margin:20px 0 8px;font-size:15px}.blog-prose p{margin:0 0 17px}.blog-prose strong{color:var(--ink);font-weight:600}.blog-prose a{color:var(--accent-hi);text-underline-offset:3px;text-decoration:underline}.blog-prose a:hover{color:var(--accent)}.blog-prose ul,.blog-prose ol{margin:0 0 17px;padding-inline-start:24px}.blog-prose li{margin-bottom:9px}.blog-prose li::marker{color:var(--accent)}.blog-prose ul ul,.blog-prose ol ol,.blog-prose ul ol,.blog-prose ol ul{margin:9px 0 0}.blog-prose blockquote{border-inline-start:3px solid var(--accent);font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:26px 0;padding:2px 0 2px 22px;font-size:21px;line-height:1.45}.blog-prose blockquote p{margin:0}.blog-prose blockquote p+p{margin-top:12px}.blog-prose img{border-radius:var(--r-md);border:1px solid var(--border);max-width:100%;height:auto;margin:26px 0;display:block}.blog-prose hr{border:0;border-top:1px solid var(--border);margin:36px 0}.blog-prose code{font-family:var(--font-mono);background:var(--surface-3);color:var(--accent-hi);border-radius:5px;padding:2px 6px;font-size:.88em}.blog-prose pre{margin:0}.blog-prose pre code{color:inherit;background:0 0;padding:0;font-size:13px}.blog-prose table{border-collapse:collapse;width:100%;margin:24px 0;font-size:15px}.blog-prose th{text-align:start;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid var(--border-strong);background:var(--surface-2);padding:9px 12px;font-size:11px;font-weight:700}.blog-prose td{border-bottom:1px solid var(--border);color:var(--ink-body);padding:11px 12px}.blog-prose td:first-child{color:var(--ink);font-weight:600}.blog-prose tbody tr:hover{background:var(--surface-2)}.blog-prose .ql-align-center{text-align:center}.blog-prose .ql-align-right{text-align:right}.blog-prose .ql-align-justify{text-align:justify}.blog-prose .ql-indent-1{padding-inline-start:2rem}.blog-prose .ql-indent-2{padding-inline-start:4rem}.blog-prose .ql-indent-3{padding-inline-start:6rem}.blog-prose .ql-indent-4{padding-inline-start:8rem}.blog-prose .ql-indent-5{padding-inline-start:10rem}.blog-prose .ql-indent-6{padding-inline-start:12rem}.blog-prose .ql-indent-7{padding-inline-start:14rem}.blog-prose .ql-indent-8{padding-inline-start:16rem}.blog-prose .ql-video,.blog-prose iframe{aspect-ratio:16/9;border-radius:var(--r-md);border:1px solid var(--border);width:100%;margin:26px 0}.blog-code-block{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);margin:26px 0;overflow:hidden}.blog-code-header{background:var(--surface-3);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;display:flex}.blog-code-dots{gap:6px;display:flex}.blog-code-dots .dot{background:var(--border-strong);border-radius:50%;width:9px;height:9px;display:block}.blog-code-lang{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.06em;flex:1;margin-inline-start:4px;font-size:11px}.blog-code-copy-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-mute);border-radius:var(--r-xs);cursor:pointer;align-items:center;gap:6px;min-height:30px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.blog-code-copy-btn:hover,.blog-code-copy-btn.copied{color:var(--accent-hi);border-color:var(--accent)}.blog-code-block pre{line-height:1.7;font-family:var(--font-mono);color:var(--ink-body);padding:16px 18px;font-size:13px;overflow-x:auto}.hljs{color:var(--ink-body);background:0 0;display:block}.hljs-keyword,.hljs-operator,.hljs-selector-tag{color:var(--c-text)}.hljs-string,.hljs-meta .hljs-string{color:var(--accent)}.hljs-comment,.hljs-quote{color:var(--ink-dim);font-style:italic}.hljs-title,.hljs-title.hljs-function,.hljs-section{color:var(--c-image)}.hljs-attr,.hljs-variable,.hljs-template-variable{color:var(--c-pdf)}.hljs-tag{color:var(--ink-mute)}.hljs-name{color:var(--c-image)}.hljs-number,.hljs-literal{color:var(--c-ocr)}.hljs-type,.hljs-built_in,.hljs-class .hljs-title{color:var(--c-sec)}.hljs-symbol,.hljs-bullet{color:var(--c-util)}.hljs-meta{color:var(--ink-mute)}.blog-callout-box{border-radius:var(--r-md);border:1px solid var(--accent-line);background:var(--accent-soft);margin:26px 0;padding:16px 18px}.blog-callout-title{margin-bottom:8px;font-size:16px}.blog-callout-box>:last-child{margin-bottom:0}.blog-faq-accordion{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);margin:24px 0;overflow:hidden}.blog-faq-item{border-bottom:1px solid var(--border)}.blog-faq-item:last-child{border-bottom:0}.blog-faq-question{cursor:pointer;color:var(--ink);align-items:center;gap:12px;min-height:52px;padding:15px 18px;font-size:15.5px;font-weight:600;list-style:none;display:flex}.blog-faq-question::-webkit-details-marker{display:none}.blog-faq-question:hover{background:var(--surface-2)}.blog-faq-question:after{content:"";border-right:2px solid var(--ink-dim);border-bottom:2px solid var(--ink-dim);width:9px;height:9px;transition:transform .2s var(--ease);flex:none;margin-inline-start:auto;transform:rotate(45deg)translateY(-2px)}.blog-faq-item[open] .blog-faq-question:after{transform:rotate(-135deg)translateY(-2px)}.blog-faq-answer{color:var(--ink-body);padding:0 18px 16px;font-size:15px;line-height:1.72}.blog-faq-answer p{margin:0}.blog-tags{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.blog-tag{color:var(--ink-mute);background:var(--surface-3);border-radius:var(--r-pill);padding:4px 11px;font-size:12.5px}.blog-share{border-block:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin:32px 0;padding:20px 0;display:flex}.blog-share-label{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim);margin-inline-end:4px;font-size:11px;font-weight:700}.blog-share-btn{font:inherit;color:var(--ink-body);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;align-items:center;min-height:38px;padding:7px 13px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.blog-share-btn:hover,.blog-share-btn.copied{border-color:var(--accent);color:var(--accent-hi)}.blog-author-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);align-items:flex-start;gap:16px;padding:20px;display:flex}.blog-author-card-avatar{background:var(--accent-soft);width:48px;height:48px;color:var(--accent-hi);border:1px solid var(--accent-line);border-radius:50%;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}.blog-author-card-name{margin-bottom:4px;font-size:15px;font-weight:600}.blog-author-card-bio{color:var(--ink-mute);font-size:14.5px;line-height:1.6}.blog-cta-banner{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-tint);text-align:center;margin-top:30px;padding:26px}.blog-cta-title{margin-bottom:8px;font-size:22px}.blog-cta-subtitle{color:var(--ink-mute);margin-bottom:16px;font-size:15px}.blog-related{margin-top:44px}.blog-related-title{margin-bottom:16px;font-size:22px}.blog-related-grid{gap:12px;display:grid}.blog-related-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);align-items:center;gap:14px;padding:12px;text-decoration:none;display:flex}.blog-related-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.blog-related-card-image{border-radius:var(--r-sm);object-fit:cover;background:var(--bg-tint);flex:none;width:80px;height:80px}.blog-related-card-title{margin-bottom:4px;font-size:15px;font-weight:600;line-height:1.35}.blog-related-card-date{color:var(--ink-dim);font-size:12.5px}@media (max-width:1080px){.blog-article-layout{grid-template-columns:minmax(0,1fr);gap:22px}.blog-article-main{max-width:none}.blog-article-sidebar{order:0}.blog-article-rail-col{order:2}.blog-article-rail-col .blog-side-cta{display:block}.blog-sidebar-sticky{max-height:none;position:static}.blog-article-sidebar{align-self:auto}.blog-toc{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.blog-toc-title{cursor:pointer;min-height:48px;padding:13px 16px}.blog-toc-chevron{transition:transform .2s var(--ease);display:block}.blog-toc.is-open .blog-toc-chevron{transform:rotate(180deg)}.blog-toc-list{max-height:50vh;padding:0 12px 12px;display:none}.blog-toc.is-open .blog-toc-list{display:flex}}@media (max-width:680px){.blog-article-wrap{padding-inline:16px}.blog-article-excerpt{font-size:17px}.blog-article-hero{aspect-ratio:16/9;border-radius:var(--r-md)}.blog-prose{font-size:16px}.blog-prose h1,.blog-prose h2{margin-top:36px;font-size:23px}.blog-prose table{display:block;overflow-x:auto}.blog-prose blockquote{font-size:18px}.blog-author-card{flex-direction:column;gap:12px}}.blog-crumb{color:var(--ink-mute);justify-content:center;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.blog-crumb a{color:var(--ink-mute);text-decoration:none}.blog-crumb a:hover{color:var(--accent-hi)}.blog-crumb svg{width:12px;height:12px}.blog-railhead{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:12px;font-size:10.5px;font-weight:700}.blog-rail-tools{gap:9px;display:grid}.blog-rail-tool{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink);align-items:center;gap:10px;padding:9px;text-decoration:none;display:flex}.blog-rail-tool:hover{border-color:var(--accent-line)}.blog-rail-tool b{font-size:13px}.blog-prevnext{grid-template-columns:1fr 1fr;gap:14px;margin-top:34px;display:grid}.blog-pn{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:15px 17px;text-decoration:none;display:block}.blog-pn:hover{border-color:var(--accent-line)}.blog-pn span{color:var(--ink-dim);margin-bottom:4px;font-size:12px;display:block}.blog-pn b{color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.35}@media (max-width:1080px){.blog-prevnext{grid-template-columns:1fr}}
