.bf{margin:8px 0 0}.bf-stage{position:relative;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 50% 40%,#ffffff 0,var(--c-bg-deep) 100%);box-shadow:inset 0 0 0 1px var(--c-border)}.bf-stage svg{display:block;width:100%;height:auto;touch-action:pan-y}.bf-n{stroke:#aab2c0;stroke-width:1.4;fill:#8f9bb3;fill-opacity:.1;transition:opacity .18s;cursor:pointer}.bf-excluded{stroke:#9ca3af;stroke-dasharray:4 4;fill-opacity:0}.bf-dev,.bf-linked{stroke-width:2;fill-opacity:.2}.bf-exchange{stroke-width:1.5;stroke-opacity:.55;fill-opacity:.06}.bf-funder{stroke-width:1.5;stroke-dasharray:2 2;fill-opacity:.25}.bf-edge{stroke-width:1.6;stroke-dasharray:2 5;stroke-linecap:round;stroke-opacity:.9;transition:opacity .18s}.bf-faint{stroke-opacity:.4}@media (prefers-reduced-motion:no-preference){.bf-edge{animation:bf-flow 1.1s linear infinite}}@keyframes bf-flow{to{stroke-dashoffset:-7}}.bf-tip{position:absolute;z-index:2;display:grid;gap:2px;transform:translate(14px,-50%);padding:8px 12px;border-radius:10px;background:var(--c-text);color:#fff;font-size:13px;white-space:nowrap;pointer-events:none;box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}.bf-tip b{font-family:var(--font-mono);font-weight:500}.bf-tip span{color:#c3c9d4}.bf-count{position:absolute;left:14px;top:12px;font-family:var(--font-mono);font-size:12px;color:var(--c-muted)}.bf-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px;font-size:13px;color:var(--c-muted)}.bf-legend span:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;background:#8f9bb3;vertical-align:-1px}.bf-legend [data-k=linked]:before{background:var(--bf-swatch)}.bf-legend [data-k=exchange]:before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--bf-swatch)}.bf-legend [data-k=excluded]:before{background:transparent;box-shadow:inset 0 0 0 1.5px #8f9bb3}.bf-legend em{margin-left:auto;font-style:normal;color:var(--c-faint)}