.landing .article-page{padding:clamp(40px, 6vw, 88px) 0 var(--section-pad)}.landing .article-wrap{max-width:760px}.landing .article-head h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.06}.landing .article-head .section-lede{max-width:62ch;margin-top:18px;font-size:1.125rem;line-height:1.6}.landing .article-dates{color:var(--muted);margin-top:16px;font-size:.9375rem;line-height:1.5}.landing .crumbs{margin-bottom:20px}.landing .crumbs ol{color:var(--muted);flex-wrap:wrap;gap:4px 0;font-size:.875rem;display:flex}.landing .crumbs li{align-items:center;display:inline-flex}.landing .crumbs li+li:before{content:"/";color:var(--line);margin:0 8px}.landing .crumbs a{min-height:24px;color:var(--muted);text-underline-offset:3px;align-items:center;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.landing .crumbs a:hover,.landing .crumbs a:focus-visible{color:var(--accent)}.landing .crumbs [aria-current]{color:var(--text)}.landing .article-body{color:var(--text);margin-top:40px;font-size:1.0625rem;line-height:1.7}.landing .article-body>*+*{margin-top:18px}.landing .article-body h2{letter-spacing:-.02em;max-width:none;margin-top:48px;scroll-margin-top:96px;font-size:clamp(1.5rem,3vw,1.875rem);line-height:1.2}.landing .article-body h3{color:var(--text);letter-spacing:-.01em;margin-top:32px;font-size:1.1875rem;font-weight:600;line-height:1.35}.landing .article-body h2+*,.landing .article-body h3+*{margin-top:12px}.landing .article-body p,.landing .article-body li{color:var(--muted)}.landing .article-body strong{color:var(--text)}.landing .article-body a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px}.landing .article-body a:hover,.landing .article-body a:focus-visible{color:var(--text)}.landing .article-body ul,.landing .article-body ol{gap:10px;display:grid}.landing .article-body ul>li{padding-left:22px;position:relative}.landing .article-body ul>li:before{background:var(--accent);content:"";width:6px;height:6px;position:absolute;top:.72em;left:2px}.landing .article-steps{counter-reset:step}.landing .article-steps>li{counter-increment:step;padding-left:40px;position:relative}.landing .article-steps>li:before{border:1px solid var(--hair-strong);content:counter(step);width:28px;height:28px;color:var(--text);border-radius:50%;place-items:center;font-size:.8125rem;font-weight:600;line-height:1;display:grid;position:absolute;top:.1em;left:0}.landing .article-code{border:1px solid var(--hair);background:var(--surface);max-width:100%;color:var(--text);font:500 .875rem/1.6 var(--mono);white-space:pre;border-radius:4px;padding:14px 16px;overflow-x:auto}.landing .article-body code{font-family:var(--mono)}.landing .article-note{border-left:3px solid var(--accent);background:var(--surface);padding:16px 20px}.landing .article-note p{color:var(--text)}.landing .article-table{border:1px solid var(--hair);background:var(--surface);border-radius:4px;max-width:100%;overflow-x:auto}.landing .article-table:focus-visible{outline-offset:2px}.landing .article-table table{border-collapse:collapse;width:100%;min-width:560px;font-size:.9375rem;line-height:1.5}.landing .article-table caption{border-bottom:1px solid var(--hair);color:var(--muted);text-align:left;padding:12px 16px;font-size:.875rem}.landing .article-table th,.landing .article-table td{border-bottom:1px solid var(--hair);color:var(--muted);text-align:left;vertical-align:top;padding:12px 16px}.landing .article-table thead th{color:var(--text);font-weight:600}.landing .article-table tbody th{width:22%;color:var(--text);font-weight:600}.landing .article-table tbody tr:last-child>*{border-bottom:0}.landing .article-faq-item h3{margin-top:24px}.landing .article-faq-item p{margin-top:8px}.landing .article-sources ol{padding-left:22px;font-size:.9375rem;list-style:decimal}.landing .article-sources li{padding-left:4px}.landing .article-related ul{margin-top:12px}.landing .article-cta{background:var(--deep-block);color:#f4f2fb;border-radius:4px;margin-top:56px;padding:clamp(24px,4vw,36px)}.landing .article-body .article-cta h2{color:#f4f2fb;margin-top:0}.landing .article-body .article-cta p{color:var(--deep-body);margin-top:10px}.landing .article-cta .cta-row{margin-top:20px}.landing .article-cta .cta-button{border-color:var(--signal);background:var(--signal);color:#17142b}.landing .article-cta .cta-button:hover,.landing .article-cta .cta-button:focus-visible{color:#17142b;background:#f4f2fb;border-color:#f4f2fb}.landing .article-cta .cta-outline{color:#f4f2fb;background:0 0;border-color:#f4f2fb66}.landing .article-cta :focus-visible{outline-color:var(--signal)}.landing .post-list,.landing .release-list{border-top:1px solid var(--hair);margin-top:40px;display:grid}.landing .post-item{border-bottom:1px solid var(--hair);padding:28px 0}.landing .post-date,.landing .release-meta{color:var(--muted);font-size:.875rem}.landing .post-item h2{letter-spacing:-.02em;max-width:none;margin-top:6px;font-size:clamp(1.375rem,2.6vw,1.75rem);line-height:1.2}.landing .post-item h2 a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--hair-strong);text-decoration-color:var(--hair-strong);text-underline-offset:5px;text-decoration-thickness:1px}.landing .post-item h2 a:hover,.landing .post-item h2 a:focus-visible{color:var(--accent);text-decoration-color:currentColor}.landing .post-item p:last-child{color:var(--muted);margin-top:10px;line-height:1.6}.landing .article-wrap>.article-related{margin-top:48px}.landing .article-wrap>.article-related h2{letter-spacing:-.01em;max-width:none;font-size:1.375rem}.landing .article-wrap>.article-related ul{gap:4px;margin-top:12px;display:grid}.landing .article-wrap>.article-related a{min-height:32px;color:var(--accent);text-underline-offset:3px;align-items:center;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.landing .release-item{border-bottom:1px solid var(--hair);grid-template-columns:180px minmax(0,1fr);gap:8px 24px;padding:24px 0;display:grid}.landing .release-meta{flex-direction:column;align-items:flex-start;gap:8px;padding-top:4px;display:flex}.landing .release-product{border:1px solid var(--hair-strong);color:var(--text);letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.landing .release-product.is-desktop{border-color:var(--accent);color:var(--accent)}.landing .release-body h2{letter-spacing:-.01em;max-width:none;font-size:1.25rem;line-height:1.3}.landing .release-body ul{gap:8px;margin-top:10px;display:grid}.landing .release-body li{color:var(--muted);padding-left:20px;line-height:1.6;position:relative}.landing .release-body li:before{background:var(--accent);content:"";width:6px;height:6px;position:absolute;top:.72em;left:2px}@media (width<=640px){.landing .article-table table{min-width:0}.landing .article-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.landing .article-table tbody,.landing .article-table tr,.landing .article-table th,.landing .article-table td{width:auto;display:block}.landing .article-table tbody tr{border-bottom:1px solid var(--hair);padding:14px 16px}.landing .article-table tbody tr:last-child{border-bottom:0}.landing .article-table tbody th,.landing .article-table td{border:0;padding:0}.landing .article-table tbody th{width:auto;margin-bottom:8px}.landing .article-table td+td{margin-top:10px}.landing .article-table td[data-label]:before{content:attr(data-label);color:var(--text);font-size:.8125rem;font-weight:600;display:block}.landing .release-item{grid-template-columns:minmax(0,1fr)}.landing .release-meta{flex-direction:row;align-items:center}}.landing .article-trademarks{color:var(--muted);margin-top:32px;font-size:.8125rem;line-height:1.6}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.read-progress{z-index:60;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.read-progress span{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.landing .article-byline{align-items:center;gap:12px;margin-top:20px;display:flex}.landing .article-byline img{border-radius:8px;width:32px;height:32px}.landing .article-byline>span{flex-direction:column;gap:2px;display:flex}.landing .article-byline strong{color:var(--text);font-size:.9375rem}.landing .article-byline .article-dates{margin-top:0;font-size:.875rem}.landing .article-toc{border:1px solid var(--hair);border-radius:4px;padding:16px 20px}.landing .article-toc .toc-title{color:var(--text);letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem;font-weight:600}.landing .article-toc ol{gap:4px;margin-top:10px;padding-left:20px;font-size:.9375rem;line-height:1.5;list-style:decimal;display:grid}.landing .article-toc li{color:var(--muted);padding-left:4px}.landing .article-body .article-toc a{color:var(--muted);-webkit-text-decoration-color:var(--hair-strong);text-decoration-color:var(--hair-strong)}.landing .article-body .article-toc a:hover,.landing .article-body .article-toc a:focus-visible{color:var(--accent)}.landing .article-tldr{border:1px solid var(--accent);background:var(--surface);border-radius:4px;padding:18px 22px}.landing .article-tldr .tldr-label{color:var(--accent);letter-spacing:.1em;font-size:.8125rem;font-weight:700}.landing .article-tldr ul{margin-top:10px}.landing .article-body .article-tldr li{color:var(--text)}.landing .article-quote{border-left:3px solid var(--signal);margin:32px 0;padding:4px 0 4px 22px}.landing .article-body .article-quote p{color:var(--text);font-family:var(--display);letter-spacing:-.01em;font-size:clamp(1.25rem,2.6vw,1.5rem);font-weight:500;line-height:1.35}.landing .article-callout{border:1px solid var(--hair-strong);background:var(--surface);border-radius:4px;padding:16px 20px}.landing .article-callout .callout-title{color:var(--text);font-weight:600}.landing .article-body .article-callout .callout-title+p{margin-top:6px}.landing .article-terminal{background:#121019;border:1px solid #2a2639;border-radius:6px;overflow:hidden}.landing .article-terminal .terminal-bar{color:#aaa5c4;font:500 .8125rem/1.4 var(--mono);border-bottom:1px solid #2a2639;align-items:center;gap:12px;padding:8px 12px;display:flex}.landing .terminal-dots{gap:6px;display:inline-flex}.landing .terminal-dots i{background:#3a3550;border-radius:50%;width:10px;height:10px}.landing .article-terminal pre{color:#f4f2fb;font:500 .875rem/1.6 var(--mono);white-space:pre;padding:14px 16px;overflow-x:auto}.landing .article-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.landing .article-compare figure{border:1px solid var(--hair);background:var(--surface);border-radius:4px;min-width:0}.landing .article-compare figcaption{border-bottom:1px solid var(--hair);color:var(--text);padding:8px 14px;font-size:.8125rem;font-weight:600}.landing .article-compare .is-after figcaption{color:var(--accent)}.landing .article-compare pre{color:var(--text);font:500 .8125rem/1.6 var(--mono);white-space:pre;padding:12px 14px;overflow-x:auto}.landing .article-figure img{border:1px solid var(--hair);background:var(--surface);border-radius:6px;width:100%;height:auto;display:block}.landing .article-figure figcaption{color:var(--muted);margin-top:8px;font-size:.875rem;line-height:1.5}.landing .article-share{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:40px;padding-top:20px;display:flex}.landing .article-share .share-title{color:var(--text);font-size:.875rem;font-weight:600}.landing .article-share ul{flex-wrap:wrap;gap:8px;display:flex}.landing .article-body .article-share li{color:inherit;padding:0}.landing .article-body .article-share li:before{content:none}.landing .article-share a,.landing .article-share button{border:1px solid var(--hair-strong);min-height:32px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 12px;font-size:.8125rem;text-decoration:none;display:inline-flex}.landing .article-body .article-share a{color:var(--text);text-decoration:none}.landing .article-share a:hover,.landing .article-share a:focus-visible,.landing .article-share button:hover,.landing .article-share button:focus-visible{border-color:var(--accent);color:var(--accent)}.landing .post-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:20px;margin-top:20px;display:grid}.landing .post-card{border:1px solid var(--hair);background:var(--surface);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.landing .post-card-media img{aspect-ratio:1200/630;object-fit:cover;width:100%;height:auto;display:block}.landing .post-card-body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.landing .post-card h2,.landing .post-card h3{letter-spacing:-.01em;max-width:none;margin:0;font-size:1.125rem;line-height:1.3}.landing .post-card.is-featured h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.15}.landing .post-card h2 a,.landing .post-card h3 a{color:var(--text);text-decoration:none}.landing .post-card h2 a:after,.landing .post-card h3 a:after{content:"";position:absolute;inset:0}.landing .post-card{position:relative}.landing .post-card:hover{border-color:var(--accent)}.landing .post-card h2 a:focus-visible,.landing .post-card h3 a:focus-visible{outline:none}.landing .post-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.landing .post-card-desc{color:var(--muted);line-height:1.55}.landing .post-card-meta{color:var(--muted);margin-top:auto;font-size:.8125rem}.landing .post-tags{flex-wrap:wrap;gap:6px;display:flex}.landing .post-tags li{border:1px solid var(--hair-strong);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.landing .article-body .post-tags li{padding:2px 8px}.landing .article-body .post-tags li:before{content:none}.landing .article-body .post-grid{display:grid}.landing .article-body .post-card-body>*+*{margin-top:0}.landing .article-more{margin-top:48px}.landing .blog-wrap{max-width:1080px}.landing .blog-feed{margin-top:12px;font-size:.875rem}.landing .blog-feed a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.landing .blog-featured{margin-top:36px}@media (width>=820px){.landing .post-card.is-featured{flex-direction:row}.landing .post-card.is-featured .post-card-media{background:#121019;flex:0 0 56%;align-items:center;display:flex}.landing .post-card.is-featured .post-card-body{justify-content:center;padding:28px}}.landing .blog-section-title{letter-spacing:-.01em;max-width:none;margin-top:56px;font-size:1.375rem}.landing .blog-compare ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin-top:16px;display:grid}.landing .blog-compare li{border:1px solid var(--hair);border-radius:6px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.landing .blog-compare a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--hair-strong);text-decoration-color:var(--hair-strong);text-underline-offset:4px;font-weight:600}.landing .blog-compare a:hover,.landing .blog-compare a:focus-visible{color:var(--accent)}.landing .blog-compare span{color:var(--muted);font-size:.875rem;line-height:1.5}@media (width<=640px){.landing .article-compare{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.read-progress{display:none}}.landing .measure-table tbody th{width:var(--key-w,22%)}@media (width<=600px){.landing .measure-table tbody th{width:auto}}
