.blog-article{--blog-body:#d6d6d6;--blog-surface:#141414;--blog-inset:#0e0e0e;--blog-rule:#ffffff21;color:var(--blog-body);background:#171717;padding:34px 24px 88px;font-family:IBM Plex Sans,sans-serif;font-size:17px;line-height:1.72}.blog-article .blog-container{max-width:1040px;margin:0 auto}.blog-article a{color:#ff6b2b;text-underline-offset:3px;text-decoration:underline}.blog-article a:hover{color:#ffb08a}.blog-article :is(a,button,[tabindex]):focus-visible{outline-offset:5px;outline:2px solid #ff6b2b}.blog-article :is(h1,h2,h3){color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-weight:600}.blog-article .blog-label{letter-spacing:.14em;text-transform:uppercase;color:#8a8a8a;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;line-height:1.5;display:block}.blog-article .blog-breadcrumb{align-items:center;gap:12px;margin-bottom:28px;display:flex}.blog-article .blog-breadcrumb a{color:#9c9c9c;text-decoration:none}.blog-article .blog-breadcrumb span:last-child{color:#ff6b2b}.blog-article .blog-header h1{letter-spacing:-.04em;text-wrap:balance;max-width:960px;margin:0 0 28px;font-size:clamp(38px,6vw,62px);line-height:1.03}.blog-article .blog-summary{color:#c5c5c5;max-width:700px;margin-bottom:30px;font-size:19px;line-height:1.55}.blog-article .blog-byline{border-top:1px solid var(--blog-rule);flex-wrap:wrap;align-items:center;gap:24px 32px;padding:20px 0 24px;font-size:14px;line-height:1.55;display:flex}.blog-article .blog-byline>div>span:not(.blog-avatar),.blog-article .blog-author>div>span{display:block}.blog-article .blog-byline .blog-label{margin-bottom:3px;font-size:10px}.blog-article .blog-author{align-items:center;gap:12px;display:flex}.blog-article .blog-avatar{border:1px solid var(--blog-rule);color:#ffb08a;background:#202020;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font:11px IBM Plex Mono,monospace;display:grid}.blog-article .blog-review{border:1px solid var(--blog-rule);color:#c5c5c5;border-radius:8px;align-items:baseline;gap:14px;margin-bottom:40px;padding:14px 16px;font-size:14px;line-height:1.6;display:flex}.blog-article .blog-review .blog-label{color:#22c55e;flex-shrink:0;font-size:10px}.blog-article .blog-hero{margin:12px 0 48px}.blog-article .blog-cover picture{border:1px solid var(--blog-rule);background:var(--blog-inset);border-radius:10px;display:block;overflow:hidden}.blog-article .blog-cover img{aspect-ratio:1200/630;object-fit:cover;width:100%;display:block}.blog-article figcaption{color:#9c9c9c;margin-top:12px;font-size:13px;line-height:1.6}.blog-article .blog-compare-panels{border:1px solid var(--blog-rule);background:var(--blog-inset);border-radius:10px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.blog-article .blog-compare-panel{padding:32px}.blog-article .blog-compare-after{border-left:1px solid var(--blog-rule);border-top:2px solid #ff4f00}.blog-article .blog-compare-after>.blog-label{color:#ff6b2b}.blog-article .blog-compare-amount{letter-spacing:-.04em;color:#fff;margin:20px 0;font-family:IBM Plex Mono,monospace;font-size:clamp(30px,4vw,48px)}.blog-article .blog-compare-amount span{letter-spacing:0;color:#9c9c9c;font:14px IBM Plex Sans,sans-serif;display:block}.blog-article .blog-compare dl>div{border-bottom:1px solid var(--blog-rule);justify-content:space-between;gap:20px;padding:8px 0;font-size:14px;display:flex}.blog-article .blog-compare dd{font-family:IBM Plex Mono,monospace}.blog-article .blog-compare ul{padding-left:20px;font-size:15px;list-style:outside}.blog-article .blog-compare li{margin-bottom:12px}.blog-article .blog-compare li::marker{color:#22c55e}.blog-article .blog-compare-note{color:#9c9c9c;margin-top:20px;font-size:13px}.blog-article .blog-reading-layout{grid-template-columns:minmax(0,700px);align-items:start;gap:64px;display:grid}.blog-article .blog-with-toc{grid-template-columns:minmax(0,700px) 220px}.blog-article .blog-reading-column{grid-area:1/1;min-width:0}.blog-article .blog-toc{grid-area:1/2;max-height:calc(100dvh - 128px);padding:0 6px 8px 0;position:sticky;top:104px;overflow-y:auto}.blog-article .blog-toc>p{margin:0 0 16px 16px}.blog-article .blog-toc ol{margin:0;padding:0;list-style:none}.blog-article .blog-toc a{border-left:1px solid var(--blog-rule);color:#9c9c9c;padding:8px 0 8px 16px;font-size:13px;line-height:1.5;text-decoration:none;display:block}.blog-article .blog-toc a:hover{color:#fff}.blog-article .blog-toc a[aria-current]{color:#ff6b2b;border-left:2px solid #ff4f00;padding-left:15px}.blog-article .blog-blocks>*{margin:0 0 24px}.blog-article .blog-blocks>:last-child{margin-bottom:0}.blog-article .blog-blocks .blog-h2{letter-spacing:-.025em;margin-top:56px;scroll-margin-top:112px;font-size:clamp(26px,3.5vw,32px);line-height:1.15}.blog-article .blog-blocks>.blog-h2:first-child{margin-top:0}.blog-article .blog-h3{letter-spacing:-.015em;font-size:21px;line-height:1.25}.blog-article .blog-subheading{margin-top:32px}.blog-article .blog-kicker{color:#ff6b2b;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font:500 11px/1.5 IBM Plex Mono,monospace;display:block}.blog-article .blog-lede{color:#fff;border-left:2px solid #ff4f00;padding-left:22px;font-size:20px;line-height:1.6}.blog-article strong{color:#fff;font-weight:600}.blog-article :not(pre)>code{color:#ffb08a;overflow-wrap:anywhere;background:#22201e;border-radius:4px;padding:2px 5px;font-family:IBM Plex Mono,monospace;font-size:.85em}.blog-article .blog-list{padding-left:24px}.blog-article .blog-list-unordered{list-style:outside}.blog-article .blog-list-ordered{list-style:decimal}.blog-article .blog-list li{margin-bottom:10px;padding-left:5px}.blog-article .blog-list li:last-child{margin-bottom:0}.blog-article .blog-list li::marker{color:#ff6b2b}.blog-article .blog-code{background:var(--blog-inset);border:1px solid var(--blog-rule);border-radius:8px;overflow:hidden}.blog-article .blog-code-bar{border-bottom:1px solid var(--blog-rule);color:#9c9c9c;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;font:12px/1.6 IBM Plex Mono,monospace;display:flex}.blog-article .blog-code-label{overflow-wrap:anywhere;flex:1}.blog-article .blog-code-file{color:#c5c5c5}.blog-article .blog-copy-button{color:#d6d6d6;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:1px solid #707070;border-radius:4px;padding:2px 8px}.blog-article .blog-copy-button:hover{color:#fff;background:#242424}.blog-article .blog-copy-button:disabled{cursor:wait}.blog-article .blog-copy-status{color:#9fd4a3;padding:0 16px;font-size:13px;display:block}.blog-article .blog-copy-status[data-state=idle]{padding:0}.blog-article .blog-copy-status[data-state=error]{color:#ffb84d;padding-block:8px}.blog-article .blog-code-content{white-space:pre;tab-size:2;margin:0;padding:18px 20px;overflow-x:auto}.blog-article .blog-code-content code{color:#d6d6d6;background:0 0;padding:0;font:13px/1.7 IBM Plex Mono,monospace}.blog-article .blog-table-scroll{border-top:1px solid var(--blog-rule);overflow-x:auto}.blog-article .blog-table{border-collapse:collapse;text-align:left;color:#c5c5c5;width:100%;min-width:560px;font-size:14px;line-height:1.6}.blog-article .blog-table th,.blog-article .blog-table td{vertical-align:top;border-bottom:1px solid var(--blog-rule);padding:14px 16px}.blog-article .blog-table :is(th,td):first-child{padding-left:0}.blog-article .blog-table :is(th,td):last-child{padding-right:0}.blog-article .blog-table thead th{color:#8a8a8a;text-transform:uppercase;letter-spacing:.1em;font:500 10px/1.6 IBM Plex Mono,monospace}.blog-article .blog-table tbody th{color:#fff;font-weight:500}.blog-article .blog-table .blog-mono{font-family:IBM Plex Mono,monospace;font-size:13px}.blog-article .blog-table-caption{caption-side:bottom;color:#9c9c9c;text-align:left;padding:12px 0 0;font-size:13px}.blog-article .blog-table .blog-table-group th{background:var(--blog-surface);color:#ff6b2b;letter-spacing:.1em;text-transform:uppercase;padding-left:12px;font:500 11px/1.6 IBM Plex Mono,monospace}.blog-article .blog-note{border:1px solid var(--blog-rule);background:var(--blog-surface);border-radius:8px;padding:20px 24px;font-size:15px}.blog-article .blog-note-label{color:#ff6b2b;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font:500 11px/1.5 IBM Plex Mono,monospace;display:block}.blog-article .blog-quote{border-left:2px solid #ff4f00;padding:4px 0 4px 24px}.blog-article .blog-quote blockquote{color:#fff;font:600 24px/1.4 Plus Jakarta Sans,sans-serif}.blog-article .blog-quote-attribution{margin-top:12px}.blog-article .blog-faq-item{border-top:1px solid var(--blog-rule);padding:20px 0}.blog-article .blog-faq-item:last-child{border-bottom:1px solid var(--blog-rule)}.blog-article .blog-faq dt{color:#fff;margin-bottom:8px;font-weight:600}.blog-article .blog-faq dd{color:#c5c5c5;font-size:16px}.blog-article .blog-refs{color:#9c9c9c;font-size:14px}.blog-article .blog-refs-intro{margin-bottom:20px}.blog-article .blog-refs-list{list-style:none}.blog-article .blog-refs-list li{border-top:1px solid var(--blog-rule);justify-content:space-between;gap:12px 24px;padding:12px 0;display:flex}.blog-article .blog-ref-date{color:#8a8a8a;flex-shrink:0;font:11px/1.8 IBM Plex Mono,monospace}.blog-article .blog-ending{max-width:700px;margin-top:56px}.blog-article .blog-cta{background:var(--blog-surface);border-top:2px solid #ff4f00;padding:28px 32px 32px}.blog-article .blog-cta>.blog-label{color:#ff6b2b;margin-bottom:14px}.blog-article .blog-cta h2{letter-spacing:-.02em;margin-bottom:14px;font-size:26px;line-height:1.25}.blog-article .blog-cta p{color:#c5c5c5;font-size:16px}.blog-article .blog-cta>a{color:#171717;background:#ff6b2b;border-radius:5px;align-items:center;gap:24px;min-height:44px;margin-top:20px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.blog-article .blog-cta>a:hover{background:#ffb08a}.blog-article .blog-post-navigation{border-top:1px solid var(--blog-rule);grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;padding-top:32px;display:grid}.blog-article .blog-post-navigation>a{background:var(--blog-surface);border:1px solid var(--blog-rule);color:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;padding:24px;text-decoration:none;display:flex}.blog-article .blog-post-navigation>a:hover{border-color:#ff6b2b}.blog-article .blog-post-navigation .blog-label{color:#ff6b2b}.blog-article .blog-adjacent-title{margin:16px 0 12px;font:600 18px/1.4 Plus Jakarta Sans,sans-serif}.blog-article .blog-adjacent-category{color:#9c9c9c;margin-top:auto;font-size:13px}@media (width<=1023px){.blog-article .blog-reading-layout{grid-template-columns:minmax(0,700px);gap:32px}.blog-article .blog-toc{border-block:1px solid var(--blog-rule);grid-area:1/1;max-height:none;padding:20px 0;position:static}.blog-article .blog-with-toc .blog-reading-column{grid-row:2}.blog-article .blog-toc ol{columns:2}.blog-article .blog-toc li{break-inside:avoid}}@media (width<=599px){.blog-article{padding:24px 24px 56px}.blog-article .blog-breadcrumb,.blog-article .blog-header h1{margin-bottom:24px}.blog-article .blog-summary{font-size:18px}.blog-article .blog-byline{grid-template-columns:1fr 1fr;gap:20px 16px;font-size:13px;display:grid}.blog-article .blog-author{gap:8px}.blog-article .blog-avatar{width:32px;height:32px}.blog-article .blog-byline .blog-label{letter-spacing:.1em;font-size:9px}.blog-article .blog-review{margin-bottom:28px;padding:16px;display:block}.blog-article .blog-review .blog-label{margin-bottom:8px}.blog-article .blog-hero{margin-bottom:32px}.blog-article .blog-toc ol{columns:1}.blog-article .blog-toc a{padding-block:10px;font-size:14px}.blog-article .blog-lede{padding-left:18px}.blog-article .blog-compare-panels{grid-template-columns:1fr}.blog-article .blog-compare-panel{padding:24px}.blog-article .blog-compare-after{border-left:0}.blog-article .blog-note{padding:18px}.blog-article .blog-refs-list li{flex-direction:column;gap:4px}.blog-article .blog-cta{padding:24px}.blog-article .blog-post-navigation{grid-template-columns:1fr;gap:16px}.blog-article .blog-post-navigation>div:empty{display:none}}@media (prefers-reduced-motion:reduce){html:has(.blog-article){scroll-behavior:auto}.blog-article *,.blog-article :before,.blog-article :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
