*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-6)}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--type-body-weight) var(--type-body-size)/var(--type-body-lh) var(--font-sans);-webkit-font-smoothing:antialiased}
a{color:var(--brand);text-underline-offset:var(--space-1)}a:focus-visible{outline:2px solid var(--accent);outline-offset:var(--space-1)}
.bm-article-header{border-bottom:1px solid var(--border);background:var(--surface)}
.bm-article-header-inner{max-width:1200px;margin:auto;padding:var(--space-6) var(--space-8);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.bm-article-wordmark{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--ink);font-size:var(--type-h3-size);font-weight:500;white-space:nowrap}
.bm-article-wordmark img{width:var(--space-8);height:var(--space-8)}.bm-article-wordmark strong{font-weight:800}
.bm-article-head{max-width:1200px;padding:var(--space-12) var(--space-8) 0;margin:auto}
.bm-article-breadcrumb{font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--ink-muted);display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}
.bm-article-breadcrumb a{color:var(--ink-muted)}
.bm-article-head h1{max-width:calc(var(--space-12)*17);margin:0;font-size:var(--type-h1-size);font-weight:var(--type-h1-weight);line-height:var(--type-h1-lh);letter-spacing:var(--type-h1-tracking)}
.bm-article-dek{max-width:calc(var(--space-12)*16);font-size:var(--type-h3-size);line-height:var(--type-h3-lh);color:var(--ink-muted);margin:var(--space-6) 0}
.bm-article-meta{display:flex;gap:var(--space-4);flex-wrap:wrap;color:var(--ink-muted);font-size:var(--type-small-size);line-height:var(--type-small-lh)}
.bm-article-cover{margin:var(--space-8) 0 0}.bm-article-cover img{display:block;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover;object-position:center;border-radius:var(--radius-lg)}
.bm-article-cover figcaption{color:var(--ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-lh);margin-top:var(--space-2)}
.bm-article-layout{max-width:1200px;margin:auto;padding:var(--space-12) var(--space-8);display:grid;grid-template-columns:200px minmax(0,720px);gap:var(--space-12);align-items:start}
.bm-article-toc{position:sticky;top:var(--space-6);font-size:var(--type-small-size);line-height:var(--type-small-lh)}.bm-article-toc h2{margin:0 0 var(--space-4);font-size:var(--type-small-size);font-weight:var(--type-body-strong-weight)}
.bm-article-toc ol{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-4)}.bm-article-toc a{color:var(--ink-muted);text-decoration:none}.bm-article-toc a:hover{color:var(--brand)}
.bm-article-body{min-width:0}.bm-article-body h2{font-size:var(--type-h2-size);line-height:var(--type-h2-lh);font-weight:var(--type-h2-weight);margin:var(--space-12) 0 var(--space-6)}
.bm-article-body h3{font-size:var(--type-h3-size);line-height:var(--type-h3-lh);font-weight:var(--type-h3-weight);margin:var(--space-8) 0 var(--space-4)}
.bm-article-body p{margin:0 0 var(--space-4)}.bm-article-body>p:first-child{font-size:var(--type-h3-size);line-height:var(--type-h3-lh);margin-top:0;margin-bottom:var(--space-8)}
.bm-article-body ul,.bm-article-body ol{padding-left:var(--space-6);margin:var(--space-6) 0}.bm-article-body li{padding-left:var(--space-1);margin-bottom:var(--space-4)}
.bm-article-body strong{font-weight:var(--type-body-strong-weight)}.bm-article-body code{font-family:var(--font-mono);font-size:var(--type-small-size)}
.bm-article-cta{margin-top:var(--space-12);padding:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.bm-article-cta h2{margin-top:0}.bm-article-cta .bm-btn{margin-top:var(--space-2);text-decoration:none;min-height:var(--space-12);padding:var(--space-3) var(--space-6);white-space:normal;text-align:center}
.bm-article-footer{max-width:1200px;margin:auto;padding:var(--space-6) var(--space-8) var(--space-8);border-top:1px solid var(--border);color:var(--ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-lh)}
.bm-article-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-3)}
@media(max-width:800px){.bm-article-header-inner{padding:var(--space-4)}.bm-article-head{padding:var(--space-8) var(--space-4) 0}.bm-article-head h1{font-size:var(--type-h2-size);line-height:var(--type-h2-lh)}.bm-article-dek{font-size:var(--type-body-size);line-height:var(--type-body-lh)}.bm-article-cover img{aspect-ratio:3/2;border-radius:var(--radius-md)}.bm-article-layout{grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-8) var(--space-4)}.bm-article-toc{position:static;padding-bottom:var(--space-6);border-bottom:1px solid var(--border)}.bm-article-toc ol{gap:var(--space-3)}.bm-article-body h2{font-size:var(--type-h3-size);line-height:var(--type-h3-lh)}.bm-article-cta{padding:var(--space-6)}.bm-article-footer{padding:var(--space-6) var(--space-4)}.bm-article-header .bm-badge{flex-shrink:0;text-align:center;padding:var(--space-1);font-size:var(--type-caption-size)}.bm-article-wordmark{gap:var(--space-2)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.bm-article-body{overflow-wrap:anywhere}.bm-article-body img{max-width:100%;height:auto}.bm-article-body pre{max-width:100%;overflow:auto;background:var(--surface-raised);padding:var(--space-4);border-radius:var(--radius-sm)}
.bm-article-body blockquote{margin:var(--space-6) 0;padding:var(--space-4) var(--space-6);border-left:var(--space-1) solid var(--accent);background:var(--surface)}
.bm-article-table-scroll{max-width:100%;overflow-x:auto;margin:var(--space-6) 0;border-radius:var(--radius-md)}.bm-article-table-scroll .bm-table{min-width:520px}.bm-article-table-scroll th,.bm-article-table-scroll td{overflow-wrap:normal}
.bm-article-related{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--border)}
.bm-article-toc{max-height:calc(100vh - var(--space-12));overflow-y:auto}.bm-article-skip{position:absolute;left:var(--space-4);top:var(--space-4);padding:var(--space-3);background:var(--surface);transform:translateY(-200%);z-index:10}.bm-article-skip:focus{transform:none}
@media(max-width:800px){.bm-article-toc{max-height:none;overflow:visible}.bm-article-header-inner>a:last-child{font-size:var(--type-small-size)}}
@media print{.bm-article-toc,.bm-article-footer nav{display:none}.bm-article-layout{display:block}.bm-article-cta,.bm-article-cover{break-inside:avoid}.bm-article-body h2,.bm-article-body h3{break-after:avoid}}

