.bk-eco{--bk-eco-font:inherit;--bk-eco-heading-font:inherit;--bk-eco-text:#0e1116;--bk-eco-muted:#5d6676;--bk-eco-bg:transparent;--bk-eco-surface:#fff;--bk-eco-surface-2:#f6f7f9;--bk-eco-border:#e4e7ec;--bk-eco-line:#98a2b3;--bk-eco-radius:16px;--bk-eco-max:1120px;--bk-eco-accent:var(--bk-eco-node,#0891b2);--bk-eco-soon-bg:#fff6e5;--bk-eco-soon-text:#8a4b00;--bk-eco-on-bg:#e7f8ef;--bk-eco-on-text:#0b6b43;box-sizing:border-box;max-width:var(--bk-eco-max);background:var(--bk-eco-bg);color:var(--bk-eco-text);font-family:var(--bk-eco-font);margin:0 auto;padding:48px 16px 64px;font-size:16px;line-height:1.55}.bk-eco *,.bk-eco :before,.bk-eco :after{box-sizing:inherit}.bk-eco--dark,.dark .bk-eco:not(.bk-eco--light),[data-theme=dark] .bk-eco:not(.bk-eco--light){--bk-eco-text:#eef0f3;--bk-eco-muted:#a3acba;--bk-eco-surface:#161a22;--bk-eco-surface-2:#1d222c;--bk-eco-border:#2b313d;--bk-eco-line:#5d6676;--bk-eco-soon-bg:#3a2a0e;--bk-eco-soon-text:#f5c26b;--bk-eco-on-bg:#0f3324;--bk-eco-on-text:#6fe0a8}@media (prefers-color-scheme:dark){.bk-eco--auto{--bk-eco-text:#eef0f3;--bk-eco-muted:#a3acba;--bk-eco-surface:#161a22;--bk-eco-surface-2:#1d222c;--bk-eco-border:#2b313d;--bk-eco-line:#5d6676;--bk-eco-soon-bg:#3a2a0e;--bk-eco-soon-text:#f5c26b;--bk-eco-on-bg:#0f3324;--bk-eco-on-text:#6fe0a8}}.bk-eco ul{margin:0;padding:0;list-style:none}.bk-eco p{margin:0}.bk-eco a{color:inherit}.bk-eco__iso{vertical-align:middle;flex:none;display:inline-block}.bk-eco__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bk-eco__hero{max-width:760px;margin-bottom:40px}.bk-eco__eyebrow{color:var(--bk-eco-muted);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex;margin-bottom:12px!important}.bk-eco__title{font-family:var(--bk-eco-heading-font);letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(28px,4.5vw,44px);line-height:1.1}.bk-eco__lead{color:var(--bk-eco-muted);font-size:clamp(17px,2vw,20px)}.bk-eco__block{margin-top:48px}.bk-eco__h2{font-family:var(--bk-eco-heading-font);letter-spacing:-.01em;margin:0 0 16px;font-size:clamp(22px,3vw,28px);line-height:1.2}.bk-eco__h3{color:var(--bk-eco-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:15px;font-weight:600}.bk-eco__text{color:var(--bk-eco-muted);max-width:720px}.bk-eco__cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.bk-eco__card{border-radius:var(--bk-eco-radius);background:var(--bk-eco-surface);border:1px solid var(--bk-eco-border);flex-direction:column;gap:12px;padding:20px;display:flex}.bk-eco__card--current{border-color:var(--bk-eco-node);box-shadow:0 0 0 1px var(--bk-eco-node) inset}.bk-eco__card-head{align-items:center;gap:12px;display:flex}.bk-eco__card-name{margin:0;font-size:19px;line-height:1.2}.bk-eco__role{font-size:13px;font-weight:600;color:var(--bk-eco-node)!important}.bk-eco__summary{color:var(--bk-eco-muted);flex:1}.bk-eco__link{font-weight:600;text-decoration:none;color:var(--bk-eco-text)!important}.bk-eco__link:hover{text-underline-offset:3px;text-decoration:underline}.bk-eco__here{background:var(--bk-eco-node);color:#fff;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:13px;font-weight:600}.bk-eco__figure{border-radius:var(--bk-eco-radius);background:var(--bk-eco-surface-2);margin:24px 0 0;padding:clamp(8px,3vw,32px)}.bk-eco__diagram{width:100%;max-width:760px;height:auto;font-family:var(--bk-eco-font);margin:0 auto;display:block;overflow:visible}.bk-eco__edge{stroke:var(--bk-eco-line);stroke-width:2px;stroke-linecap:round;transition:stroke-width .15s}.bk-eco__edge--soon{stroke-dasharray:6 6}.bk-eco__edge--current{stroke:var(--bk-eco-accent);stroke-width:2.5px}.bk-eco__hit{stroke:#0000;stroke-width:26px;pointer-events:stroke}.bk-eco__pair{cursor:pointer}.bk-eco__pair:hover .bk-eco__edge{stroke-width:3.5px}.bk-eco__arrow .bk-eco__arrow-head{fill:var(--bk-eco-line)}.bk-eco__arrow--current .bk-eco__arrow-head{fill:var(--bk-eco-accent)}.bk-eco__count-bg{fill:var(--bk-eco-surface);stroke:var(--bk-eco-line);stroke-width:1.5px}.bk-eco__count-num{fill:var(--bk-eco-muted);font-size:13px;font-weight:700}.bk-eco__count--current .bk-eco__count-bg{stroke:var(--bk-eco-accent)}.bk-eco__count--current .bk-eco__count-num{fill:var(--bk-eco-accent)}.bk-eco__node-bg{fill:var(--bk-eco-surface);stroke:var(--bk-eco-border);stroke-width:2px}.bk-eco__node--current .bk-eco__node-bg{stroke:var(--bk-eco-node);stroke-width:4px}.bk-eco__node-name{fill:var(--bk-eco-text);font-size:16px;font-weight:700}.bk-eco__node-role{fill:var(--bk-eco-muted);font-size:12px}.bk-eco__node--current .bk-eco__node-role{fill:var(--bk-eco-node);font-weight:700}.bk-eco__tip{opacity:0;pointer-events:none;transition:opacity .12s}.bk-eco__tip-bg{fill:var(--bk-eco-text)}.bk-eco__tip-text{fill:var(--bk-eco-surface);font-size:14px;font-weight:600}:is(.bk-eco__diagram:has(.bk-eco__pair--0:hover) .bk-eco__tip--0,.bk-eco__diagram:has(.bk-eco__pair--1:hover) .bk-eco__tip--1,.bk-eco__diagram:has(.bk-eco__pair--2:hover) .bk-eco__tip--2,.bk-eco__diagram:has(.bk-eco__pair--3:hover) .bk-eco__tip--3,.bk-eco__diagram:has(.bk-eco__pair--4:hover) .bk-eco__tip--4,.bk-eco__diagram:has(.bk-eco__pair--5:hover) .bk-eco__tip--5){opacity:1}@supports selector(:has(a)){.bk-eco__pair title{display:none}}.bk-eco__legend{color:var(--bk-eco-muted);flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:14px;font-size:13px;display:flex}.bk-eco__legend span{align-items:center;gap:6px;display:inline-flex}.bk-eco__legend-on:before,.bk-eco__legend-soon:before{content:"";border-top:2px solid var(--bk-eco-line);width:22px}.bk-eco__legend-soon:before{border-top-style:dashed}.bk-eco__legend-count:before{content:"3";border:1.5px solid var(--bk-eco-line);border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-grid}.bk-eco__legend-hint{flex-basis:100%;justify-content:center;font-size:12px}.bk-eco__pair{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:48px;display:grid}.bk-eco__pair .bk-eco__block{margin-top:0}.bk-eco__panel{border-radius:var(--bk-eco-radius);background:var(--bk-eco-surface-2);flex-direction:column;gap:12px;padding:24px;display:flex}.bk-eco__panel .bk-eco__h2{margin:0;font-size:21px}.bk-eco__cta{border-radius:var(--bk-eco-radius);border:1px solid var(--bk-eco-border);background:var(--bk-eco-surface);margin-top:48px;padding:28px}.bk-eco__cta-links{flex-wrap:wrap;gap:12px;display:flex}.bk-eco__button{border:1px solid var(--bk-eco-border);background:var(--bk-eco-surface);min-height:48px;color:var(--bk-eco-text);border-radius:12px;align-items:center;gap:10px;padding:12px 18px;font-weight:700;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:inline-flex}.bk-eco__button:hover{border-color:var(--bk-eco-node);box-shadow:0 0 0 1px var(--bk-eco-node) inset}.bk-eco__button-role{color:var(--bk-eco-muted);font-size:13px;font-weight:500}.bk-eco a:focus-visible{outline:2px solid var(--bk-eco-accent);outline-offset:3px;border-radius:6px}@media (width<=820px){.bk-eco{padding:32px 16px 48px}.bk-eco__figure{border-radius:0;margin-left:-16px;margin-right:-16px;padding:12px 10px}.bk-eco__node-name{font-size:22px}.bk-eco__node-role{font-size:17px}.bk-eco__count-num,.bk-eco__tip-text{font-size:15px}.bk-eco__cta-links{flex-direction:column}.bk-eco__button{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.bk-eco *{transition:none!important}}
