.bl{padding-block:clamp(7rem,12vw,11rem) clamp(5rem,10vw,9rem)}.bl-media{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 10;border-radius:var(--radius-card);background:var(--panel);border:1px solid var(--line)}.bl-media img,.bl-media video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.bl-media img{transition:transform .9s var(--ease-out),opacity .35s var(--ease)}.bl-media video{opacity:0;transition:opacity .35s var(--ease)}.bl-media.is-playing video{opacity:1}@media(hover:hover)and (prefers-reduced-motion:no-preference){.bl-card:hover .bl-media img,.bl-feature:hover .bl-media img{transform:scale(1.03)}}.bl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 0;margin:0;font-size:.8125rem;line-height:1.4;color:var(--muted)}.bl-meta>*+*:before{content:"·";margin:0 .55em;color:#ffffff4d}.bl-meta__cat{color:var(--green)}.bl-head{position:relative;margin-bottom:clamp(2rem,4vw,3rem)}.bl-head .dc__crumbs{position:absolute;left:0;bottom:calc(100% + 1.25rem);margin:0}.bl-head__title{margin:0 0 1.25rem;font-family:var(--font-display);font-size:clamp(3rem,10vw,9.5rem);line-height:.88;letter-spacing:-.035em;font-weight:600}.bl-head__lead{max-width:52ch;margin:0;color:var(--muted);font-size:clamp(1.0625rem,1.4vw,1.25rem);line-height:1.5;text-wrap:pretty}.bl-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(2.5rem,5vw,4rem)}.bl-chip{display:inline-flex;align-items:baseline;gap:.45rem;padding:.5rem 1rem;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font-size:.9375rem;line-height:1.2;text-decoration:none;transition:color var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease),background-color var(--dur-hover) var(--ease)}.bl-chip span{font-size:.75rem;color:#ffffff61;font-variant-numeric:tabular-nums}.bl-chip:hover{color:var(--ink);border-color:#ffffff40}.bl-chip[aria-current=page]{background:var(--ink);border-color:var(--ink);color:#000}.bl-chip[aria-current=page] span{color:#00000080}.bl-card:focus-visible,.bl-feature:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:var(--radius-card)}.bl-chip:focus-visible{outline:2px solid var(--green);outline-offset:3px}.bl-feature{display:grid;gap:1.5rem;color:var(--ink);text-decoration:none;margin-bottom:clamp(4rem,8vw,7rem)}.bl-feature__body{display:flex;flex-direction:column;gap:1rem}.bl-feature__label{font-size:.8125rem;color:var(--green);letter-spacing:.02em}.bl-feature__title{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,3.6vw,3.5rem);line-height:1;letter-spacing:-.025em;text-wrap:balance}.bl-feature__desc{color:var(--muted);font-size:1.0625rem;line-height:1.55;max-width:44ch;text-wrap:pretty}@media(min-width:56rem){.bl-feature{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:end}.bl-feature__body{padding-bottom:.5rem}}.bl-list__title{margin:0 0 1.5rem;font-size:1.375rem;font-weight:600;letter-spacing:-.01em}.bl-list__page{margin-left:.5rem;font-size:.875rem;font-weight:400;color:var(--muted);letter-spacing:0}.bl-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:clamp(3rem,6vw,5rem);padding-top:1.5rem;border-top:1px solid var(--line)}.bl-pager__step{color:var(--muted);font-size:.9375rem;text-decoration:none;transition:color var(--dur-hover) var(--ease)}.bl-pager__step:last-child{justify-self:end}.bl-pager__step:hover{color:var(--ink)}.bl-pager__nums{display:flex;gap:.25rem}.bl-pager__num,.bl-pager__gap{display:inline-grid;place-items:center;min-width:2.25rem;height:2.25rem;padding:0 .5rem;border-radius:var(--radius-pill);color:var(--muted);font-size:.9375rem;font-variant-numeric:tabular-nums;text-decoration:none;transition:color var(--dur-hover) var(--ease),background-color var(--dur-hover) var(--ease)}a.bl-pager__num:hover{color:var(--ink);background:var(--panel)}.bl-pager__num[aria-current=page]{background:var(--ink);color:#000}.bl-pager a:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:var(--radius-pill)}.bl-grid{display:grid;gap:clamp(2.5rem,4vw,3.5rem) 1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.bl-card{display:flex;flex-direction:column;gap:1.15rem;color:var(--ink);text-decoration:none}.bl-card__text{display:flex;flex-direction:column;gap:.75rem}.bl-card__title{font-size:1.25rem;font-weight:500;line-height:1.25;letter-spacing:-.01em;text-wrap:balance}.bl-card__desc{color:var(--muted);font-size:.9375rem;line-height:1.55;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bl-empty{color:var(--muted);font-size:1.0625rem;max-width:52ch}.bl-empty a{color:var(--ink)}.bl-post{max-width:66rem;margin-inline:auto}.bl-post__head{max-width:50rem}.bl-post__title{margin:0 0 1.25rem;font-family:var(--font-display);font-weight:600;font-size:clamp(2.5rem,5.2vw,4.75rem);line-height:.98;letter-spacing:-.03em;text-wrap:balance}.bl-post__lead{margin-bottom:1.5rem}.bl-byline{display:flex;flex-wrap:wrap;gap:.25rem 0;margin:0;font-size:.875rem;color:var(--muted)}.bl-byline>*+*:before{content:"·";margin:0 .6em;color:#ffffff4d}.bl-post__cover{margin:clamp(2rem,4vw,3rem) 0 clamp(2.5rem,5vw,4rem);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);aspect-ratio:16 / 9}.bl-post__cover img,.bl-post__cover video{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}.bl-post__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start}.bl-post__body{min-width:0;max-width:68ch}@media(min-width:64rem){.bl-post__layout{grid-template-columns:13rem minmax(0,68ch);grid-template-areas:"toc body";justify-content:space-between;gap:4rem}.bl-post__body{grid-area:body}.bl .dc__toc{grid-area:toc}.bl .dc__toc{display:block;position:sticky;top:6rem;max-height:calc(100vh - 7rem);overflow-y:auto}.bl .dc__intoc{display:none}}@media(max-width:63.99rem){.bl .dc__toc{display:none}.bl .dc__intoc{display:block}}.bl-cta{margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(1.5rem,3vw,2rem);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card)}.bl-cta__title{margin:0 0 .4rem;font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.bl-cta__text{margin:0 0 1.25rem;color:var(--muted);font-size:.9375rem;line-height:1.55}.bl-fig{margin:2rem 0 2.25rem}.bl-fig img{display:block;width:auto;max-width:100%;height:auto;max-height:min(36rem,80vh);margin:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.bl-fig figcaption{margin-top:.85rem;font-size:.875rem;line-height:1.5;color:var(--muted);text-wrap:pretty}.bl .dc-demo{margin:2rem 0 2.25rem}.bl .card__viz-frame{color-scheme:light}.bl .dc__prose blockquote{margin:2.25rem 0;padding:.1rem 0 .1rem 1.5rem;border-left:2px solid var(--green)}.bl .dc__prose blockquote p{margin:0 0 .75rem;color:var(--ink);font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.4;letter-spacing:-.01em;text-wrap:balance}.bl .dc__prose blockquote p:last-child{margin-bottom:0}.bl .dc__prose blockquote cite,.bl .dc__prose blockquote em:only-child{font-style:normal}.bl-tpl{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:1.5rem;align-items:center;margin:2rem 0 2.25rem;padding:clamp(1rem,2vw,1.5rem);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card)}.bl-tpl__media{display:block;overflow:hidden;border-radius:12px;background:#000;max-height:22rem}.bl-tpl__media video{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}.bl-tpl__body{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:0}.bl-tpl__label{font-size:.8125rem;color:var(--green);letter-spacing:.02em}.bl .dc__prose .bl-tpl__title{color:var(--ink);border:0;font-size:1.375rem;font-weight:600;line-height:1.2;letter-spacing:-.01em;text-decoration:none}.bl .dc__prose .bl-tpl__title:hover{color:var(--green)}.bl-tpl__cap{color:var(--muted);font-size:.9375rem;line-height:1.55;text-wrap:pretty}.bl-tpl__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.75rem}.bl .dc__prose .bl-tpl__actions .btn{border-bottom:0;color:var(--green-ink)}.bl-tpl__note{font-size:.8125rem;color:var(--muted)}@media(max-width:36rem){.bl-tpl{grid-template-columns:minmax(0,1fr)}.bl-tpl__media{max-width:14rem}}.bl .bl-faq{padding:0;margin:.25rem 0 2.25rem}.bl .bl-faq .faq__q{padding:1.1rem 0;font-size:1.125rem}.bl .bl-faq .faq__a-in{padding-right:2.4rem}.bl .bl-faq .faq__a-in>:last-child{padding-bottom:1.35rem}.bl .dc__prose .bl-faq .faq__a p{padding:0;margin:0 0 .9rem}.bl .dc__prose .bl-faq .faq__a ul,.bl .dc__prose .bl-faq .faq__a ol{margin-bottom:.9rem}.bl .dc__prose .bl-faq .faq__a-in>:last-child{margin-bottom:0}.bl-share{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1.5rem;border-top:1px solid var(--line)}.bl-share__label{margin-right:.5rem;font-size:.875rem;color:var(--muted)}.bl-share__btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:none;color:var(--ink);font:inherit;font-size:.875rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:border-color var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease)}.bl-share__btn svg{width:.95rem;height:.95rem}.bl-share__btn:hover{border-color:#ffffff40}.bl-share__btn.is-done{color:var(--green);border-color:#24ff8466}.bl-share__btn:focus-visible{outline:2px solid var(--green);outline-offset:3px}.bl-share+.bl-cta{margin-top:1.5rem}.bl-related{margin-top:clamp(4rem,9vw,7.5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}@view-transition{navigation:auto}::view-transition-group(*){animation-duration:.4s;animation-timing-function:var(--ease-out)}::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}.nav{view-transition-name:site-nav}::view-transition-group(site-nav),::view-transition-new(site-nav){animation:none}::view-transition-old(site-nav){display:none}::view-transition-old(*),::view-transition-new(*){height:100%;object-fit:cover}.bl-head__title{view-transition-name:bl-title}.bl-chips{view-transition-name:bl-chips}::view-transition-old(bl-title),::view-transition-new(bl-title),::view-transition-old(bl-chips),::view-transition-new(bl-chips){width:auto;height:100%;object-fit:none;object-position:left top}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
