.ba{--ba-nav:108px;box-sizing:border-box;max-width:1200px;margin:0 auto;padding:56px 24px 0}.ba.is-narrow{max-width:calc(46rem + 48px)}.ba.is-narrow .ba-prose{--ba-measure:none}.ba-head{margin-bottom:40px}.ba-crumbs{font:500 12px var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);align-items:center;gap:10px;margin-bottom:20px;display:flex}.ba-crumbs a{color:var(--green-text);text-decoration:none}.ba-crumbs a:hover{text-underline-offset:3px;text-decoration:underline}.ba-head h1{letter-spacing:-.05em;max-width:22ch;margin:0;font-size:clamp(38px,5vw,68px);font-weight:900;line-height:.95}.ba-dek{max-width:72ch;color:var(--mute);margin:22px 0 0;font-size:clamp(17px,.3vw + 14.5px,19px);line-height:1.55}.ba-by{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin:26px 0 0;padding-top:20px;font-size:15px;font-weight:600;display:flex}.ba-by-mark{background:radial-gradient(circle at 50% 125%, var(--green) 0 48%, transparent 49%), var(--pine);border-radius:50%;flex:none;width:30px;height:30px}.ba-by-sep{color:var(--mute)}.ba-by>span:last-child{font:500 13px var(--font-mono), monospace;color:var(--mute)}.ba-head .bl-sample{margin:24px 0 0}.ba-cover{border-radius:var(--radius);background:color-mix(in srgb, var(--green) 10%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 5%, transparent), 0 30px 60px -44px color-mix(in srgb, var(--pine) 55%, transparent);margin:0 0 40px;overflow:hidden}.ba-cover img{object-fit:cover;width:100%;height:auto;max-height:440px;display:block}.ba-grid{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:64px;display:grid}.ba.is-narrow .ba-grid{display:block}.ba-main{min-width:0}.ba-side{top:var(--ba-nav);max-height:calc(100vh - var(--ba-nav) - 24px);scrollbar-width:thin;scrollbar-color:var(--line) transparent;position:sticky;overflow-y:auto}.ba-toc-title{font:500 12px var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 12px}.ba-toc-list{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.ba-toc-list a{color:var(--mute);border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 16px;font-size:14.5px;line-height:1.35;text-decoration:none;transition:color .2s,border-color .2s;display:block}.ba-toc-list .is-sub a{padding-left:30px;font-size:13.5px}.ba-toc-list a:hover{color:var(--ink)}.ba-toc-list a[aria-current=location]{border-left-color:var(--green-deep);color:var(--ink);font-weight:700}.ba-toc-fold{border:1px solid var(--line);background:var(--card);border-radius:14px;margin:0 0 32px;display:none}.ba-toc-fold summary{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:700;list-style:none;display:flex}.ba-toc-fold summary::-webkit-details-marker{display:none}.ba-toc-fold summary:after{content:"";border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:8px;height:8px;margin-right:4px;transition:transform .2s;transform:translateY(-2px)rotate(45deg)}.ba-toc-fold[open] summary:after{transform:translateY(2px)rotate(-135deg)}.ba-toc-fold summary:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px;border-radius:14px}.ba-toc-fold nav{padding:0 18px 16px}.ba-prose{--ba-measure:42rem;font-size:19px;line-height:1.65}.ba-prose>*{margin:0}.ba-prose>:is(p,ul,ol,h2,h3,.ba-quote,.ba-callout,.ba-cta){max-width:var(--ba-measure)}.ba-prose>*+*{margin-top:1.25em}.ba-prose h2,.ba-prose h3{scroll-margin-top:calc(var(--ba-nav) + 8px)}.ba-prose h2{letter-spacing:-.04em;margin-top:2.1em;font-size:clamp(27px,1.4vw + 16px,36px);font-weight:900;line-height:1.04}.ba-prose h3{letter-spacing:-.025em;margin-top:1.9em;font-size:22px;font-weight:800;line-height:1.2}.ba-prose>:first-child{margin-top:0}.ba-prose h2+*,.ba-prose h3+*{margin-top:.75em}.ba-prose a:not(.btn){color:var(--green-text);text-underline-offset:3px;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px}.ba-prose a:not(.btn):hover{text-decoration-thickness:2.5px}.ba-prose strong{font-weight:700}.ba-prose :not(pre)>code{border:1px solid var(--line);background:var(--card);font:500 .86em var(--font-mono), monospace;overflow-wrap:anywhere;border-radius:6px;padding:.12em .4em}.ba-prose ul,.ba-prose ol{padding:0;list-style:none}.ba-prose li{padding-left:1.7em;position:relative}.ba-prose li+li{margin-top:.5em}.ba-prose ul>li:before{content:"";background:var(--green-deep);border-radius:50%;width:.38em;height:.38em;position:absolute;top:.68em;left:.35em}.ba-prose ol{counter-reset:ba-step}.ba-prose ol>li{counter-increment:ba-step}.ba-prose ol>li:before{content:counter(ba-step);min-width:1.25em;font:500 .8em/1.7 var(--font-mono), monospace;color:var(--green-deep);position:absolute;top:.2em;left:0}.ba-prose figure{margin-top:2em;margin-bottom:2em}.ba-prose figcaption{color:var(--mute);margin-top:10px;font-size:14px;line-height:1.5}.ba-quote{border-left:4px solid var(--green);padding-left:clamp(18px,2.4vw,28px)}.ba-quote blockquote{margin:0}.ba-quote p{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(26px,2vw + 14px,40px);font-weight:900;line-height:1.04}.ba-quote figcaption{font:500 12px var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase}.ba-table-scroll{border:1px solid var(--line);background:var(--card);scrollbar-width:thin;scrollbar-color:var(--line) transparent;border-radius:18px;overflow-x:auto}.ba-table-scroll:focus-visible,.ba-code pre:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px}.ba-table table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.45}.ba-table th,.ba-table td{text-align:left;vertical-align:top;padding:13px 18px}.ba-table th{background:color-mix(in srgb, var(--green) 7%, var(--card));font:500 11px var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);white-space:nowrap}.ba-table td{border-top:1px solid var(--line)}.ba-table td:first-child{font-weight:700}.ba-table .is-num{text-align:right;white-space:nowrap}.ba-table td.is-num{font:500 15px var(--font-mono), monospace;font-variant-numeric:tabular-nums}.ba-code figcaption{background:var(--night-2);border-bottom:1px solid var(--night-line);font:500 12px var(--font-mono), monospace;letter-spacing:.04em;color:var(--night-mute);border-radius:16px 16px 0 0;margin:0;padding:9px 18px}.ba-code pre{background:var(--night);color:var(--night-ink);font:400 14px/1.65 var(--font-mono), monospace;tab-size:2;scrollbar-width:thin;scrollbar-color:var(--night-line) transparent;border-radius:16px;margin:0;padding:18px 20px;overflow-x:auto}.ba-code figcaption+pre{border-radius:0 0 16px 16px}.ba-ledger{border:1px solid color-mix(in srgb, var(--night-ink) 7%, transparent);background:linear-gradient(168deg, var(--night-2), var(--night) 60%, color-mix(in srgb, var(--pine) 45%, var(--night)));color:var(--night-ink);border-radius:18px;padding:20px 22px}.ba-ledger-title{font:500 12px var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--night-mute);margin:0 0 10px}.ba-ledger dl{margin:0}.ba-ledger dl>div{border-top:1px solid var(--night-line);font:400 15px/1.5 var(--font-mono), monospace;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;display:flex}.ba-ledger dl>div:first-child{border-top:0}.ba-ledger dt{color:var(--night-mute)}.ba-ledger dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.ba-ledger .is-total{padding-top:13px;font-size:17px}.ba-ledger .is-total dt{color:var(--night-ink);font-family:var(--font-sans), sans-serif;font-weight:600}.ba-ledger .is-total dd{color:var(--mint);font-size:24px;font-weight:500}.ba-image img{border:1px solid var(--line);background:var(--card);border-radius:18px;width:100%;height:auto;display:block}.ba-callout{border:1px solid color-mix(in srgb, var(--green-deep) 28%, var(--line));border-left:4px solid var(--green-deep);background:color-mix(in srgb, var(--green) 8%, var(--card));border-radius:6px 16px 16px 6px;margin-top:2em;margin-bottom:2em;padding:18px 22px;font-size:16.5px;line-height:1.6}.ba-callout b{letter-spacing:-.01em;margin-bottom:4px;font-size:17px;display:block}.ba-callout p{margin:0}.ba-cta{border:1px solid var(--line);background:var(--card);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:2em;margin-bottom:2em;padding:20px 22px;display:flex}.ba-cta>div{flex:260px}.ba-cta b{letter-spacing:-.02em;font-size:19px;line-height:1.2;display:block}.ba-cta p{color:var(--mute);margin:4px 0 0;font-size:15.5px;line-height:1.5}.ba-cta .btn{flex:none;font-size:15px}.ba-end{border-top:1px solid var(--line);color:var(--mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:56px;padding-top:24px;font-size:15.5px;display:flex}.ba-end p{flex:280px;margin:0}.ba-end b{color:var(--ink)}.ba-end-link{color:var(--green-text);white-space:nowrap;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.ba-end-link .line-ico{stroke-width:2.2px;transition:transform .2s}.ba-end-link:hover .line-ico{transform:translate(4px)}.ba-related{max-width:1152px;padding-top:96px;padding-bottom:110px}.ba-related-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:28px;display:flex}.ba-related .sec-title{margin:0}.ba-related .bl-grid{--bl-r:13px;gap:26px 24px;margin-top:0}.ba-related .bl-card h3{font-size:20px}.ba-related .bl-card-text{font-size:15.5px}.ba-related .bl-card-body{padding:20px 20px 22px}.ba-related .bl-card-foot{padding-top:16px}.ba-related .bl-meta{font-size:14.5px}.ba-related .line-ico.bl-go{width:20px}.ba-related .bl-pill{height:26px;padding:0 11px;font-size:11px;top:16px;left:16px}@media (max-width:1050px){.ba{--ba-nav:150px}}@media (max-width:1000px){.ba-grid{display:block}.ba-side{display:none}.ba-toc-fold{display:block}}@media (max-width:700px){.ba{padding-top:36px}.ba-head{margin-bottom:28px}.ba-cover{border-radius:18px;margin-bottom:28px}.ba-prose{font-size:17px;line-height:1.65}.ba-table table{min-width:520px;font-size:15px}.ba-table th,.ba-table td{padding:12px 14px}.ba-code pre{padding:16px;font-size:13px}.ba-ledger{padding:18px}.ba-ledger dl>div{font-size:14px}.ba-cta .btn{justify-content:center;width:100%}.ba-related{padding-top:64px;padding-bottom:72px}}
