.bl-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:14px;font-size:12px;font-weight:600}.bl-pill{font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--accent-tint-60);color:var(--accent-shade-10);border:1px solid var(--accent-tint-50);align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}:root[data-theme=dark] .bl-pill{color:var(--accent-tint-20);background:#4cc2ff24;border-color:#4cc2ff47}.bl-byline{align-items:center;gap:10px;display:flex}.bl-avatar{border-radius:var(--radius-pill);color:#fff;letter-spacing:.02em;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff40}.bl-byline__text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.bl-byline__name{color:var(--fg-1);font-size:14px;font-weight:600}.bl-byline__meta{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:12.5px}.bl-byline--light .bl-byline__name{color:#fff}.bl-byline--light .bl-byline__meta{color:#ffffffb3}.bl-cover{border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-8);isolation:isolate;position:relative;overflow:hidden}.bl-cover__grid{opacity:.5;grid-template-rows:1fr 1fr;grid-template-columns:1.6fr 1fr;gap:8px;display:grid;position:absolute;inset:14px}.bl-cover__grid span{border:1.5px dashed #ffffff73;border-radius:8px}.bl-cover__grid span:first-child{background:#ffffff0f;grid-row:1/3}.bl-cover__glyph{opacity:.92;width:30px;height:30px;position:absolute;bottom:14px;right:16px}.bl-cover--big .bl-cover__glyph{width:40px;height:40px}.bl-cover__glyph svg{width:100%;height:100%}.bl-cover__cat{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffffeb;font-size:11px;font-weight:600;position:absolute;top:14px;left:16px}.bl-shell{max-width:1080px;margin:0 auto;padding:56px 24px 96px}.bl-masthead{max-width:720px;margin-bottom:48px}.bl-masthead h1{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 18px;font-size:52px;font-weight:600;line-height:1.05}.bl-lede{color:var(--fg-2);text-wrap:pretty;max-width:60ch;margin:0;font-size:19px;line-height:1.55}.bl-lede em{color:var(--fg-1);font-style:italic}.bl-feature{color:inherit;background:var(--bg-layer);border:1px solid var(--stroke-1);border-radius:var(--radius-xl);box-shadow:var(--shadow-4);transition:box-shadow var(--motion-normal) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-normal) var(--ease-decel);grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;padding:28px;text-decoration:none;display:grid}.bl-feature:hover{box-shadow:var(--shadow-28);border-color:var(--accent-tint-40);text-decoration:none;transform:translateY(-2px)}.bl-feature__media{order:2}.bl-feature__body{order:1}.bl-feature__title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg-1);text-wrap:balance;margin:14px 0 12px;font-size:32px;font-weight:600;line-height:1.12}.bl-feature:hover .bl-feature__title{color:var(--accent-primary)}.bl-feature__dek{color:var(--fg-2);max-width:46ch;margin:0 0 22px;font-size:16px;line-height:1.6}.bl-divider{align-items:center;gap:16px;margin:56px 0 28px;display:flex}.bl-divider:before,.bl-divider:after{content:"";background:var(--stroke-divider);flex:1;height:1px}.bl-divider span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-size:12px;font-weight:600}.bl-list{flex-direction:column;gap:8px;display:flex}.bl-row{color:inherit;border-radius:var(--radius-xl);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);border:1px solid #0000;grid-template-columns:200px 1fr;align-items:center;gap:28px;padding:22px;text-decoration:none;display:grid}.bl-row:hover{background:var(--bg-layer);border-color:var(--stroke-1);box-shadow:var(--shadow-4);text-decoration:none}.bl-row__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg-1);text-wrap:balance;margin:12px 0 8px;font-size:22px;font-weight:600;line-height:1.2}.bl-row:hover .bl-row__title{color:var(--accent-primary)}.bl-row__dek{color:var(--fg-2);max-width:64ch;margin:0 0 16px;font-size:14.5px;line-height:1.55}.bl-home{background:var(--bg-canvas);padding:96px 0}.bl-home__head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.bl-home__title{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 10px;font-size:40px;font-weight:600}.bl-home__lede{color:var(--fg-2);max-width:52ch;margin:0;font-size:17px}.bl-home__all{color:var(--accent-primary);flex:none;align-items:center;gap:8px;padding:10px 4px;font-size:15px;font-weight:600;display:inline-flex}.bl-home__all svg{transition:transform var(--motion-fast) var(--ease-standard)}.bl-home__all:hover{text-decoration:none}.bl-home__all:hover svg{transform:translate(3px)}.bl-home__feature{color:inherit;background:var(--bg-layer);border:1px solid var(--stroke-1);border-radius:var(--radius-xl);box-shadow:var(--shadow-8);transition:box-shadow var(--motion-normal) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-normal) var(--ease-decel);grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding:32px;text-decoration:none;display:grid}.bl-home__feature:hover{box-shadow:var(--shadow-28);border-color:var(--accent-tint-40);text-decoration:none;transform:translateY(-2px)}.bl-home__featuretitle{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg-1);text-wrap:balance;margin:14px 0 12px;font-size:30px;font-weight:600;line-height:1.15}.bl-home__feature:hover .bl-home__featuretitle{color:var(--accent-primary)}.bl-home__featuredek{color:var(--fg-2);max-width:46ch;margin:0 0 22px;font-size:16px;line-height:1.6}.bl-article-shell{max-width:1080px;margin:0 auto;padding:40px 24px 96px}.bl-article{max-width:720px;margin:0 auto}.bl-breadcrumb{color:var(--fg-3);margin-bottom:22px;font-size:13px}.bl-breadcrumb a{color:var(--fg-3)}.bl-breadcrumb a:hover{color:var(--accent-primary)}.bl-breadcrumb span{opacity:.5;margin:0 8px}.bl-article__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg-1);text-wrap:balance;margin:16px 0;font-size:44px;font-weight:600;line-height:1.08}.bl-article__dek{color:var(--fg-2);text-wrap:pretty;margin:0 0 28px;font-size:21px;line-height:1.5}.bl-article__byline{border-top:1px solid var(--stroke-divider);border-bottom:1px solid var(--stroke-divider);margin-bottom:8px;padding:20px 0}.bl-article__cover{margin:32px 0 40px}.bl-prose{font-family:var(--font-text)}.bl-prose p:not(.bl-breakout *){color:var(--fg-1);margin:0 0 24px;font-size:18px;line-height:1.72}.bl-prose__lead{color:var(--fg-1);font-size:20px;line-height:1.65}.bl-prose__lead:first-letter{float:left;font-family:var(--font-display);color:var(--accent-primary);padding:6px 12px 0 0;font-size:64px;font-weight:600;line-height:.8}.bl-prose h2:not(.bl-breakout *){font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg-1);margin:48px 0 16px;font-size:28px;font-weight:600;line-height:1.2}.bl-prose a:not(.bl-breakout *){color:var(--accent-primary);font-weight:500}.bl-prose em{font-style:italic}.bl-prose strong{font-weight:600}.bl-pull{border-left:4px solid var(--accent-primary);margin:40px 0;padding:4px 0 4px 28px}.bl-pull p{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg-1);text-wrap:balance;margin:0 0 10px;font-size:27px;font-weight:500;line-height:1.32}.bl-pull cite{font-style:normal;font-family:var(--font-mono);color:var(--fg-3);letter-spacing:.02em;font-size:13px}.bl-figure{border:1px solid var(--stroke-1);border-radius:var(--radius-xl);background:var(--bg-layer);box-shadow:var(--shadow-2);margin:36px 0;overflow:hidden}.bl-table{border-collapse:collapse;width:100%;font-family:var(--font-sans)}.bl-table thead th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);background:var(--bg-canvas);border-bottom:1px solid var(--stroke-divider);padding:14px 20px;font-size:12px;font-weight:600}.bl-table tbody th,.bl-table tbody td{color:var(--fg-1);border-bottom:1px solid var(--stroke-divider);vertical-align:top;padding:16px 20px;font-size:15px}.bl-table tbody th{font-weight:600}.bl-table tbody td{color:var(--fg-2);font-variant-numeric:tabular-nums}.bl-table tbody tr:last-child th,.bl-table tbody tr:last-child td{border-bottom:0}.bl-table__highlight th,.bl-table__highlight td{background:var(--accent-tint-60);color:var(--fg-1)}:root[data-theme=dark] .bl-table__highlight th,:root[data-theme=dark] .bl-table__highlight td{background:#4cc2ff1a}.bl-figure__cap{background:var(--bg-layer-alt);border-top:1px solid var(--stroke-divider);padding:12px 20px;color:var(--fg-3)!important;margin:0!important;font-size:13px!important;line-height:1.5!important}.bl-code{color:#e6f0fa;font-family:var(--font-mono);border-radius:var(--radius-lg);background:#14213a;border:1px solid #35c1f12e;margin:28px 0;padding:22px 24px;font-size:13.5px;line-height:1.7;overflow-x:auto;box-shadow:inset 0 1px #ffffff0a}.bl-code code{background:0 0;padding:0;font-family:inherit}.bl-prose .docs-callout{margin:32px 0;font-size:16px}.bl-prose .docs-callout p{margin:8px 0;font-size:16px;line-height:1.6}.bl-article-shell{container-type:inline-size}.bl-prose .bl-breakout{width:min(1032px,100cqw);margin-left:50%;transform:translate(-50%)}.bl-breakout .mx-section{padding:24px 0 0}.bl-breakout .mx-container{padding:0}.bl-article__foot{border-top:1px solid var(--stroke-divider);margin-top:48px;padding-top:28px}.bl-article__footnote{color:var(--fg-3);margin:16px 0 0;font-size:14px;line-height:1.6}.bl-related{border-top:1px solid var(--stroke-divider);max-width:1080px;margin:72px auto 0;padding-top:48px}.bl-related h2{font-family:var(--font-display);color:var(--fg-1);margin:0 0 24px;font-size:24px;font-weight:600}.bl-related__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.bl-related__card{color:inherit;flex-direction:column;gap:12px;text-decoration:none;display:flex}.bl-related__card .bl-pill{align-self:flex-start}.bl-related__card h3{font-family:var(--font-display);color:var(--fg-1);text-wrap:balance;margin:0;font-size:17px;font-weight:600;line-height:1.25}.bl-related__card:hover h3{color:var(--accent-primary)}.bl-related__card:hover{text-decoration:none}.bl-prose>p:first-of-type{color:var(--fg-1);font-size:20px;line-height:1.65}.bl-prose>p:first-of-type:first-letter{float:left;font-family:var(--font-display);color:var(--accent-primary);padding:6px 12px 0 0;font-size:64px;font-weight:600;line-height:.8}.bl-prose h3:not(.bl-breakout *){font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg-1);margin:32px 0 12px;font-size:21px;font-weight:600;line-height:1.25}.bl-prose ul:not(.bl-breakout *),.bl-prose ol:not(.bl-breakout *){margin:0 0 24px;padding-left:24px}.bl-prose li:not(.bl-breakout *){color:var(--fg-1);margin:0 0 8px;font-size:18px;line-height:1.72}.bl-prose hr:not(.bl-breakout *){border:0;border-top:1px solid var(--stroke-divider);margin:40px 0}.bl-prose :not(pre)>code:not(.bl-breakout *){font-family:var(--font-mono);background:var(--bg-layer-alt);color:var(--fg-1);border:1px solid var(--stroke-1);border-radius:4px;padding:2px 6px;font-size:.9em}.bl-prose pre:not(.bl-breakout *){color:#e6f0fa;font-family:var(--font-mono);border-radius:var(--radius-lg);background:#14213a;border:1px solid #35c1f12e;margin:28px 0;padding:22px 24px;font-size:13.5px;line-height:1.7;overflow-x:auto;box-shadow:inset 0 1px #ffffff0a}.bl-prose pre code:not(.bl-breakout *){color:inherit;background:0 0;border:0;padding:0;font-family:inherit}.bl-prose table:not(.bl-breakout *){border-collapse:collapse;width:100%;font-family:var(--font-sans);margin:28px 0;font-size:15px}.bl-prose table th:not(.bl-breakout *),.bl-prose table td:not(.bl-breakout *){text-align:left;border-bottom:1px solid var(--stroke-divider);padding:12px 16px}.bl-prose table thead th:not(.bl-breakout *){letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);font-size:12px;font-weight:600}.bl-prose .docs-heading-anchor{color:var(--fg-3);opacity:0;transition:opacity var(--motion-fast) var(--ease-standard);margin-inline-start:6px;font-weight:400;text-decoration:none}.bl-prose h2:hover .docs-heading-anchor,.bl-prose h3:hover .docs-heading-anchor{opacity:1}@media (width<=860px){.bl-feature,.bl-home__feature{grid-template-columns:1fr;gap:24px}.bl-feature__media{order:1}.bl-feature__body{order:2}.bl-row{grid-template-columns:1fr;gap:16px}.bl-related__grid{grid-template-columns:1fr}.bl-home__head{flex-direction:column;align-items:flex-start}}
