.blog-scope{--cg-primary:#5b5ef0;--cg-deep-purple:#5b5ef0;--cg-accent:#9a9df8;--cg-bg:#0b0d14;--cg-bg-surface:#11141c;--cg-bg-elevated:#1a1e28;--cg-text-primary:#eef0f5;--cg-text-secondary:#a3a9b8;--cg-text-muted:#8a92a6;--cg-border:hsla(0,0%,100%,.08);--cg-border-hover:hsla(0,0%,100%,.14);--cg-border-purple:hsla(0,0%,100%,.14);--cg-success:#4cc38a;--cg-warning:#f59e0b;--cg-destructive:#ef4444;--cg-grad-primary:#5b5ef0;--cg-glow-purple:none;--cg-font-sans:var(--font-sans),ui-sans-serif,system-ui,sans-serif;--cg-font-mono:var(--font-mono),ui-monospace,monospace;--cg-font-serif:var(--font-serif),ui-serif,Georgia,serif;--cg-d-fast:120ms;--cg-d-base:180ms}.blog-scope .text-gradient{color:inherit}.blog-scope .dot-grid{background-image:radial-gradient(hsla(0,0%,100%,.06) 1px,transparent 0);background-size:24px 24px}.blog-scope .prose{font:400 18px/1.7 var(--cg-font-serif);color:hsla(0,0%,100%,.86)}.blog-scope .prose>*+*{margin-top:24px}.blog-scope .prose h2{font:600 32px/1.2 var(--cg-font-sans);letter-spacing:-.02em;color:#fff;margin:56px 0 0;scroll-margin-top:96px}.blog-scope .prose h3{font:600 22px/1.3 var(--cg-font-sans);letter-spacing:-.01em;color:#fff;margin:40px 0 0;scroll-margin-top:96px}.blog-scope .prose p{font:400 18px/1.7 var(--cg-font-serif);color:hsla(0,0%,100%,.86)}.blog-scope .prose .lead{font:400 22px/1.55 var(--cg-font-serif);color:#fff;text-wrap:pretty}.blog-scope .prose a{color:var(--cg-accent);text-decoration:underline;text-decoration-color:rgba(91,94,240,.4);text-underline-offset:4px;transition:text-decoration-color var(--cg-d-base)}.blog-scope .prose a:hover{text-decoration-color:var(--cg-accent)}.blog-scope .prose strong{color:#fff;font-weight:600}.blog-scope .prose em{font-style:italic;color:#fff}.blog-scope .prose code{font:500 .88em/1 var(--cg-font-mono);background:rgba(91,94,240,.1);border:1px solid rgba(91,94,240,.2);color:var(--cg-accent);padding:2px 6px;border-radius:6px}.blog-scope .prose ol,.blog-scope .prose ul{padding-left:28px;list-style:none}.blog-scope .prose li{position:relative;font:400 18px/1.7 var(--cg-font-serif);color:hsla(0,0%,100%,.86)}.blog-scope .prose li+li{margin-top:12px}.blog-scope .prose ul>li:before{content:"";position:absolute;left:-22px;top:.7em;width:7px;height:7px;border-radius:2px;background:var(--cg-accent);box-shadow:0 0 0 2px rgba(91,94,240,.18)}.blog-scope .prose ol{counter-reset:cg-ol;padding-left:40px}.blog-scope .prose ol>li{counter-increment:cg-ol}.blog-scope .prose ol>li:before{content:counter(cg-ol);position:absolute;left:-36px;top:.35em;min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:rgba(91,94,240,.14);border:1px solid rgba(91,94,240,.3);color:var(--cg-accent);font:600 12px/1 var(--cg-font-mono)}.blog-scope .prose li ol,.blog-scope .prose li ul{margin-top:10px;padding-left:24px}.blog-scope .prose li li{font-size:16.5px;color:hsla(0,0%,100%,.78)}.blog-scope .prose li li+li{margin-top:8px}.blog-scope .prose ul ul>li:before{width:5px;height:5px;background:rgba(91,94,240,.7);box-shadow:none;left:-18px;top:.78em}.blog-scope .prose ol ol>li:before,.blog-scope .prose ul ol>li:before{font-size:11px;height:19px;min-width:19px;left:-32px}.blog-scope .prose li>a,.blog-scope .prose li>code{vertical-align:baseline}.blog-scope .callout-body ol,.blog-scope .callout-body ul{margin-top:6px;padding-left:24px}.blog-scope .callout-body li{font:400 15px/1.55 var(--cg-font-sans);color:hsla(0,0%,100%,.88)}.blog-scope .callout-body li+li{margin-top:6px}.blog-scope .callout-body ul>li:before{top:.55em}.blog-scope .callout-body ol>li:before{top:.1em;height:19px;min-width:19px;font-size:11px}.blog-scope .prose blockquote{border-left:3px solid var(--cg-primary);padding:4px 0 4px 24px;font:500 22px/1.5 var(--cg-font-serif);color:#fff;font-style:italic;margin:32px 0}.blog-scope .prose hr{border:0;height:1px;background:var(--cg-border);margin:56px 0}.blog-scope .prose figure{margin:32px 0}.blog-scope .prose figcaption{font:400 13px/1.5 var(--cg-font-sans);color:var(--cg-text-muted);text-align:center;margin-top:12px}.blog-scope .prose-sans{font-family:var(--cg-font-sans)}.blog-scope .prose-sans li,.blog-scope .prose-sans p{font-family:var(--cg-font-sans);font-size:17px;line-height:1.65}.blog-scope .codeblock{position:relative;border-radius:12px;border:1px solid var(--cg-border);background:#0a0814;overflow:hidden;margin:32px 0}.blog-scope .codeblock-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--cg-border);background:hsla(0,0%,100%,.02)}.blog-scope .codeblock-lang{font:500 11px/1 var(--cg-font-mono);color:var(--cg-text-muted)}.blog-scope .codeblock-copy{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:transparent;border:1px solid var(--cg-border-hover);color:var(--cg-text-secondary);font:500 12px/1 var(--cg-font-sans);cursor:pointer;transition:all var(--cg-d-base)}.blog-scope .codeblock-copy:hover{color:#fff;border-color:var(--cg-border-purple);background:rgba(91,94,240,.08)}.blog-scope .codeblock pre{margin:0;padding:18px 20px;overflow-x:auto;font:400 13.5px/1.65 var(--cg-font-mono);color:#cdd1e0}.blog-scope .tok-k{color:#c084fc}.blog-scope .tok-s{color:#86efac}.blog-scope .tok-n{color:#fda4af}.blog-scope .tok-c{color:#8a92a6;font-style:italic}.blog-scope .tok-f{color:#93c5fd}.blog-scope .tok-t{color:#fbbf24}.blog-scope .tok-p{color:#d4d4d8}.blog-scope .callout{display:flex;gap:14px;padding:18px 20px;border-radius:12px;margin:28px 0;border:1px solid;align-items:flex-start}.blog-scope .callout-note{background:rgba(91,94,240,.06);border-color:rgba(91,94,240,.3)}.blog-scope .callout-tip{background:rgba(34,197,94,.06);border-color:rgba(34,197,94,.3)}.blog-scope .callout-warn{background:rgba(245,158,11,.06);border-color:rgba(245,158,11,.3)}.blog-scope .callout-icon{flex-shrink:0;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.blog-scope .callout-note .callout-icon{background:rgba(91,94,240,.15);color:var(--cg-accent)}.blog-scope .callout-tip .callout-icon{background:rgba(34,197,94,.15);color:var(--cg-success)}.blog-scope .callout-warn .callout-icon{background:rgba(245,158,11,.15);color:var(--cg-warning)}.blog-scope .callout-body{font-family:var(--cg-font-sans)}.blog-scope .callout-body p{font:400 15px/1.55 var(--cg-font-sans);color:hsla(0,0%,100%,.88)}.blog-scope .callout-body strong{color:#fff}.blog-scope .cmp-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden;border:1px solid var(--cg-border);margin:32px 0;font-family:var(--cg-font-sans)}.blog-scope .cmp-table td,.blog-scope .cmp-table th{padding:14px 18px;text-align:left;font:400 14.5px/1.5 var(--cg-font-sans);border-bottom:1px solid var(--cg-border)}.blog-scope .cmp-table thead th{background:rgba(91,94,240,.06);color:#fff;font-weight:600;font-size:13px}.blog-scope .cmp-table tbody tr:last-child td{border-bottom:0}.blog-scope .cmp-table tbody tr:hover{background:rgba(91,94,240,.04)}.blog-scope .cmp-table .row-label{color:var(--cg-text-secondary);font-weight:500}.blog-scope .cmp-table .yes{color:var(--cg-success)}.blog-scope .cmp-table .no{color:var(--cg-destructive)}.blog-scope .cmp-table .meh{color:var(--cg-warning)}.blog-scope .cmp-table .crawl-col{background:rgba(91,94,240,.04);color:#fff}.blog-scope .cmp-table thead th.crawl-head{background:rgba(91,94,240,.12);color:var(--cg-accent)}.blog-scope .toc{font-family:var(--cg-font-sans)}.blog-scope .toc-title{font:600 11px/1 var(--cg-font-sans);color:var(--cg-text-muted);margin-bottom:14px}.blog-scope .toc-list{list-style:none;padding:0;margin:0;display:grid;gap:4px;border-left:1px solid var(--cg-border)}.blog-scope .toc-list a{display:block;padding:6px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--cg-text-muted);text-decoration:none;font:400 13px/1.45 var(--cg-font-sans);transition:color var(--cg-d-base),border-color var(--cg-d-base)}.blog-scope .toc-list a:hover{color:var(--cg-text-secondary)}.blog-scope .toc-list a.active{color:#fff;border-left-color:var(--cg-accent)}.blog-scope .toc-list .toc-h3 a{padding-left:28px;font-size:12.5px}.blog-scope .toc-list a:focus-visible{outline:2px solid var(--cg-accent);outline-offset:-2px;border-radius:4px;color:#fff}.blog-scope .cg-blog-rail-wrap{align-self:stretch;min-width:0}.blog-scope .cg-blog-rail>*{flex-shrink:0}.blog-scope .cg-blog-rail:focus-visible{outline:2px solid var(--cg-accent);outline-offset:2px}.blog-scope .progress-bar{position:fixed;top:0;left:0;right:0;height:2px;background:hsla(0,0%,100%,.04);z-index:60;overflow:hidden}.blog-scope .progress-bar>i{display:block;height:100%;background:var(--cg-accent);width:var(--cg-progress,0);transition:width 80ms linear}.blog-scope .cat-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:hsla(0,0%,100%,.04);border:1px solid var(--cg-border);color:var(--cg-text-secondary);font:500 11px/1 var(--cg-font-sans);text-decoration:none;transition:all var(--cg-d-base)}.blog-scope .cat-chip.active,.blog-scope .cat-chip:hover{background:rgba(91,94,240,.1);border-color:var(--cg-border-purple);color:var(--cg-accent)}.blog-scope .cat-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.blog-scope .divider-label{display:flex;align-items:center;gap:16px;color:var(--cg-text-muted);font:500 12px/1 var(--cg-font-sans);margin:56px 0}.blog-scope .divider-label:after,.blog-scope .divider-label:before{content:"";flex:1;height:1px;background:var(--cg-border)}.blog-scope .focus-block{background:var(--cg-bg-surface);border:1px solid var(--cg-border);border-radius:16px;position:relative;overflow:hidden;isolation:isolate}@keyframes cg-bg-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.blog-scope .cg-blog-mobile-only,.blog-scope .cg-blog-upsell-inline{display:none}@media (max-width:1279px){.blog-scope .cg-blog-grid{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}.blog-scope .cg-blog-rail-wrap{display:none!important}.blog-scope .cg-blog-mobile-only,.blog-scope .cg-blog-upsell-inline{display:block}}.blog-scope .cg-blog-hero{max-width:1180px;margin:0 auto;padding:64px 24px 32px;display:grid;grid-template-columns:minmax(0,1fr) 320px;-moz-column-gap:56px;column-gap:56px}.blog-scope .cg-blog-hero-copy{width:100%;max-width:720px;min-width:0;justify-self:center}@media (max-width:1279px){.blog-scope .cg-blog-hero{grid-template-columns:minmax(0,1fr)}}.blog-scope .cg-blog-hero-cover{grid-column:1/-1;min-width:0;aspect-ratio:5/2;margin-bottom:32px}@media (max-width:640px){.blog-scope .cg-blog-hero-cover{aspect-ratio:16/11;margin-bottom:24px}}.blog-scope .cg-art-frame{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid var(--cg-border);background-color:#0b0d14;background-image:radial-gradient(circle,hsla(0,0%,100%,.06) 1.2px,transparent 1.6px);background-size:24px 24px;background-position:50%}.blog-scope .cg-art-frame img{display:block;box-sizing:border-box;width:100%;height:100%;padding:clamp(6px,3%,24px);-o-object-fit:contain;object-fit:contain}@media (max-width:900px){.blog-scope .cg-blog-featured{grid-template-columns:1fr!important;gap:24px!important;padding:20px!important}.blog-scope .cg-blog-featured>div:first-child{height:240px!important}.blog-scope .cg-blog-featured h2{font-size:28px!important;line-height:1.15!important}}@media (max-width:540px){.blog-scope .cg-blog-inline-form>button,.blog-scope .cg-blog-inline-form>div{flex:1 1 100%!important}}@media (max-width:640px){.blog-scope h1{font-size:36px!important;line-height:1.1!important}.blog-scope .prose h2{font-size:24px!important}}@media (max-width:768px){.blog-scope .cg-cat-banner-grid{grid-template-columns:1fr!important;gap:24px!important;align-items:flex-start!important}.blog-scope .cg-cat-row{grid-template-columns:1fr!important;gap:16px!important}.blog-scope .cg-cat-row>div:last-child{display:none}}.blog-scope .card-hover{transition:transform var(--cg-d-base) cubic-bezier(.16,1,.3,1),border-color var(--cg-d-base),box-shadow var(--cg-d-base)}.blog-scope .card-hover:hover{transform:translateY(-4px);box-shadow:none}.blog-scope .card-hover:hover,.blog-scope .cat-chip.cg-topic-chip{border-color:var(--cg-border-purple)}@media (max-width:640px){.cg-topic-chips{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin-inline:-24px;padding:0 24px 4px}.cg-topic-chips::-webkit-scrollbar{display:none}.cg-topic-chips>*{flex-shrink:0}}