.ba-prog{z-index:70;pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0}.ba-prog span{height:1px;width:calc(var(--p,0) * 100%);background:var(--ink);position:absolute;top:1px;left:0}.ba-prog i{top:-2px;left:calc(var(--p,0) * 100% - 3px);background:var(--pt);width:7px;height:7px;opacity:var(--o,0);border-radius:50%;position:absolute}.ba-crumb{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;display:flex}.ba-crumb a{align-items:center;gap:10px;display:inline-flex}.ba-crumb a:hover{color:var(--ink)}.ba-head h1{overflow-wrap:break-word;max-width:1200px;font-size:76px;line-height:.98}.ba-head .lede{max-width:760px;color:var(--ink-2)}.ba-by{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px 34px;margin-top:34px;padding-top:24px;display:flex}.ba-by .who{margin-top:0}.ba-by .who a:hover b{color:var(--blue-ink)}.ba-by>span{color:var(--ink-2);font-size:14px}.ba-by>span b{color:var(--ink);font-weight:600}.ba-grid{grid-template-columns:260px minmax(0,680px) 1fr;gap:60px;margin-top:80px;display:grid}.ba-grid>nav{scrollbar-width:none;align-self:start;max-height:calc(100vh - 140px);position:sticky;top:110px;overflow-y:auto}.ba-grid>nav::-webkit-scrollbar{display:none}.ba-toc{font-size:14px;line-height:1.35;list-style:none}.ba-toc li a{color:var(--text-3);grid-template-columns:14px 1fr;align-items:baseline;gap:10px;padding:7px 0;transition:color .2s;display:grid}.ba-toc li a i{border:1.5px solid #c5c8cf;border-radius:50%;width:7px;height:7px;transition:all .2s}.ba-toc li a:hover{color:var(--ink-2)}.ba-toc li a.on{color:var(--ink)}.ba-toc li a.on i{background:var(--blue);border-color:var(--blue)}.ba-lab{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px;font-size:12px;font-weight:600;display:block}.ba-txt{color:#1d2129;overflow-wrap:break-word;font-size:19px;line-height:1.7}.ba-txt>:first-child{margin-top:0}.ba-txt p{margin-top:24px}.ba-txt>p:first-child{color:var(--ink);font-size:21px;line-height:1.6}.ba-txt b,.ba-txt strong{color:var(--ink);font-weight:600}.ba-txt em{font-style:italic}.ba-txt a{color:var(--ink);text-underline-offset:3px;-webkit-text-decoration:underline #c5c8cf;text-decoration:underline #c5c8cf;text-decoration-thickness:1px;transition:text-decoration-color .2s}.ba-txt a:hover{-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue)}.ba-txt h2{font:800 38px/1.08 var(--display);letter-spacing:-.025em;color:var(--ink);margin:88px 0 0 -25px;padding-left:25px;scroll-margin-top:100px;position:relative}.ba-txt h2:before{content:"";background:var(--pt);border-radius:50%;width:11px;height:11px;position:absolute;top:.42em;left:0}.ba-txt h2 strong,.ba-txt h3 strong,.ba-txt h4 strong{font-weight:inherit}.ba-txt h3{font:700 24px/1.25 var(--display);letter-spacing:-.01em;color:var(--ink);margin-top:44px;scroll-margin-top:100px}.ba-txt h4{font:600 19px/1.3 var(--display);color:var(--ink);margin-top:32px}.ba-txt h2+p,.ba-txt h3+p,.ba-txt h4+p,.ba-txt h3+ul,.ba-txt h3+ol{margin-top:16px}.ba-txt ul,.ba-txt ol{margin-top:20px;list-style:none}.ba-txt li{margin-top:12px;padding-left:26px;position:relative}.ba-txt li p{margin-top:8px}.ba-txt li>p:first-child{margin-top:0}.ba-txt ul>li:before{content:"";background:var(--ink);border-radius:50%;width:7px;height:7px;position:absolute;top:.72em;left:2px}.ba-txt li ul,.ba-txt li ol{margin-top:10px}.ba-txt li ul>li:before{border:1.5px solid var(--ink-3);box-sizing:border-box;background:0 0}.ba-txt ol{counter-reset:ba-ol}.ba-txt ol>li{counter-increment:ba-ol;padding-left:34px}.ba-txt ol>li:before{content:counter(ba-ol);font:800 19px/1.7 var(--display);color:var(--blue-ink);position:absolute;top:0;left:0}.ba-txt blockquote{border-top:2px solid var(--ink);font:700 28px/1.2 var(--display);letter-spacing:-.02em;color:var(--ink);margin:44px 0 0;padding-top:24px}.ba-txt blockquote p{margin-top:12px}.ba-txt blockquote p:first-child{margin-top:0}.ba-txt hr{border:0;border-top:1px solid var(--line);margin:56px 0 0}.ba-txt code{background:var(--soft);border-radius:6px;padding:2px 6px;font:500 .86em/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.ba-txt pre{background:var(--soft);border:1px solid var(--line);border-radius:14px;margin-top:28px;padding:20px 22px;overflow-x:auto}.ba-txt pre code{white-space:pre;background:0 0;padding:0;font-size:14.5px;line-height:1.6}.ba-txt img{border:1px solid var(--line);background:var(--soft);border-radius:16px;width:100%;height:auto;margin:12px 0 10px;display:block}.ba-txt p:has(>img){color:var(--ink-2);font-size:14px;line-height:1.5}.ba-txt .ba-key{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin:44px 0 0;padding:28px 0 4px;display:block}.ba-txt .ba-key h2.ba-key-h{font:600 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;display:block}.ba-txt .ba-key h2.ba-key-h:before{display:none}.ba-txt .ba-key ul,.ba-txt .ba-key ol{margin-top:8px}.ba-txt .ba-key li{border-top:1px solid var(--line);margin:0;padding:14px 0 14px 26px;font-size:17px;line-height:1.6}.ba-txt .ba-key li:first-child{border-top:0}.ba-txt .ba-key ul>li:before{background:var(--pt);top:calc(14px + .72em)}.ba-txt .ba-key ol>li{padding-left:34px}.ba-txt .ba-key ol>li:before{font-size:17px;line-height:1.6;top:14px}.ba-txt .ba-tbl{margin:34px 0 0;overflow-x:auto}.ba-txt table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.45}.ba-txt th{text-align:left;font:600 13px var(--sans);letter-spacing:.04em;color:var(--ink-2);border-bottom:2px solid var(--ink);vertical-align:bottom;padding:0 14px 12px 0}.ba-txt td{border-bottom:1px solid var(--line);vertical-align:top;color:#2c313a;padding:14px 14px 14px 0}.ba-txt td:first-child{padding-right:22px}.ba-txt .ba-faq{border-top:1px solid var(--line);margin-top:24px}.ba-txt .ba-faq details{border-bottom:1px solid var(--line)}.ba-txt .ba-faq summary{cursor:pointer;font:600 20px/1.3 var(--display);color:var(--ink);justify-content:space-between;gap:20px;padding:20px 0;list-style:none;display:flex}.ba-txt .ba-faq summary strong{font-weight:inherit}.ba-txt .ba-faq summary::-webkit-details-marker{display:none}.ba-txt .ba-faq summary:after{content:"";border:1.5px solid var(--ink-3);border-radius:50%;flex:none;width:11px;height:11px;margin-top:7px;transition:all .2s}.ba-txt .ba-faq details[open] summary:after{background:var(--blue);border-color:var(--blue)}.ba-txt .ba-faq summary h3{font:inherit;letter-spacing:0;margin:0}.ba-txt .ba-faq details>p,.ba-txt .ba-faq details>ul,.ba-txt .ba-faq details>ol{color:var(--ink-2);margin:0;padding:0 30px 22px 0;font-size:17px}.ba-txt .ba-faq details>p+p{margin-top:-8px}.ba-app{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:14px 1fr;gap:4px 14px;margin-top:64px;padding:26px 0 28px;display:grid}.ba-app>i{background:var(--pt);border-radius:50%;width:11px;height:11px;transform:translateY(6px)}.ba-app small{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:12px;font-weight:600}.ba-app b{font:700 26px/1.15 var(--display);letter-spacing:-.015em;grid-column:2;display:block}.ba-app p{color:var(--ink-2);grid-column:2;margin-top:6px;font-size:16px;line-height:1.55}.ba-app .lnk{grid-column:2;justify-self:start;margin-top:14px}.ba-author{border-top:2px solid var(--ink);grid-template-columns:72px 1fr;gap:20px;margin-top:80px;padding-top:28px;display:grid}.ba-author img{object-fit:cover;background:var(--soft);border-radius:50%;width:72px;height:72px}.ba-author b{font:700 22px var(--display);display:block}.ba-author a:hover b{color:var(--blue-ink)}.ba-author small{color:var(--ink-2);margin-top:2px;font-size:14px;display:block}.ba-author .ba-bio{color:var(--ink-2);margin-top:10px;font-size:16px;line-height:1.6}.ba-author .ba-bio a{text-underline-offset:3px;text-decoration:underline}.ba-rel{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin-top:30px;list-style:none;display:grid}.ba-rel li{border-bottom:1px solid var(--line);padding:24px 28px 30px 0}.ba-rel li+li{border-left:1px solid var(--line);padding-left:28px}.ba-rel time{color:var(--ink-2);font-size:13.5px}.ba-rel h3{font:600 23px/1.2 var(--display);letter-spacing:-.015em;margin-top:10px;transition:color .2s}.ba-rel a:hover h3{color:var(--blue-ink)}.ba-rel small{color:var(--ink-2);margin-top:12px;font-size:13.5px;display:block}@media (max-width:1180px){.ba-grid{grid-template-columns:220px minmax(0,680px);gap:50px}}@media (max-width:980px){.ba-grid{grid-template-columns:minmax(0,1fr)}.ba-grid>nav{display:none}}@media (max-width:820px){.ba-head h1{font-size:40px;line-height:1.02}.ba-grid{margin-top:56px}.ba-txt{font-size:17.5px}.ba-txt>p:first-child{font-size:19px}.ba-txt h2{margin:64px 0 0;font-size:28px}.ba-txt h3{font-size:21px}.ba-txt blockquote{font-size:23px}.ba-txt .ba-tbl{overflow:visible}.ba-txt .ba-tbl table,.ba-txt .ba-tbl tbody,.ba-txt .ba-tbl tr,.ba-txt .ba-tbl td{display:block}.ba-txt .ba-tbl thead{display:none}.ba-txt .ba-tbl tr{border-top:2px solid var(--ink);padding:12px 0 6px}.ba-txt .ba-tbl tr+tr{margin-top:14px}.ba-txt .ba-tbl td{border:0;padding:4px 0;font-size:15px}.ba-txt .ba-tbl td:first-child{padding-bottom:6px;font-size:17px}.ba-txt .ba-tbl td:not(:first-child)[data-l]:not([data-l=""]):before{content:attr(data-l);color:var(--text-3);letter-spacing:.04em;font-size:12px;font-weight:600;display:block}.ba-txt .ba-faq summary{font-size:18px}.ba-app b{font-size:22px}.ba-rel{grid-template-columns:1fr}.ba-rel li+li{border-left:0;padding-left:0}.ba-author{grid-template-columns:56px 1fr}.ba-author img{width:56px;height:56px}}
