.bb-root{position:relative;width:100%;height:100%;min-height:240px;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none;outline:none;background-color:var(--bg-2, #181c22);background-image:radial-gradient(var(--dot, rgba(255, 255, 255, .045)) 1px,transparent 1px);background-size:18px 18px;font-family:var(--font-ui, system-ui, sans-serif)}.bb-root:focus-visible{box-shadow:inset 0 0 0 2px var(--focus, #6cc7ff)}.bb-svg{display:block;width:100%;height:100%;cursor:default}.bb-root[data-tool=wire] .bb-svg,.bb-root[data-tool=place] .bb-svg,.bb-root[data-tool=probe] .bb-svg{cursor:crosshair}.bb-root[data-tool=delete] .bb-svg{cursor:not-allowed}.bb-root[data-tool=delete] .bb-part:hover,.bb-root[data-tool=delete] .bb-wire:hover{opacity:.6;cursor:pointer}.bb-root[data-panning=true] .bb-svg{cursor:grabbing!important}.bb-root[data-tool=select] .bb-part,.bb-root[data-tool=select] .bb-wire,.bb-root[data-tool=select] .bb-probe{cursor:grab}.bb-root[data-tool=select] [data-sub=knob],.bb-root[data-tool=select] .bb-clickable{cursor:pointer}.bb-root[data-tool=select] .bb-lead-end{cursor:move}.bb-lead-end{fill:transparent}.bb-root[data-tool=select] .bb-part--selected .bb-lead-end,.bb-root[data-tool=select] .bb-wire--selected .bb-lead-end{fill:#f2a54159;stroke:var(--accent, #f2a541);stroke-width:1}.bb-ghost{pointer-events:none;opacity:.7}.bb-overlay{pointer-events:none}.bb-hover-hole{fill:none;stroke-width:2}.bb-hover-hole--free{stroke:#2fbf71}.bb-hover-hole--busy{stroke:#e5484d}.bb-select-ring{fill:none;stroke:var(--accent, #f2a541);stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}.bb-warn-ring{fill:none;stroke:#ff9a1f;stroke-width:2;pointer-events:none}.bb-text{font-family:var(--font-ui, system-ui, sans-serif);pointer-events:none}.bb-mono{font-family:var(--font-mono, ui-monospace, monospace);pointer-events:none}.bb-spin{transform-box:fill-box;transform-origin:center;animation:bb-spin 1s linear infinite}@keyframes bb-spin{to{transform:rotate(360deg)}}.bb-smoke{transform-box:fill-box;transform-origin:center bottom;animation:bb-smoke 2.4s ease-out 1 forwards;pointer-events:none}@keyframes bb-smoke{0%{opacity:0;transform:translateY(0) scale(.4)}15%{opacity:.85}to{opacity:0;transform:translateY(-46px) scale(1.8)}}.bb-pulse{transform-box:fill-box;transform-origin:center;animation:bb-pulse .6s ease-out infinite;pointer-events:none}@keyframes bb-pulse{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}.bb-static-indicator{display:none}@media(prefers-reduced-motion:reduce){.bb-spin,.bb-pulse,.bb-smoke{animation:none!important}.bb-smoke{opacity:.55}.bb-static-indicator{display:inline}}.bb-reduced-motion .bb-spin,.bb-reduced-motion .bb-pulse,.bb-reduced-motion .bb-smoke{animation:none!important}.bb-reduced-motion .bb-smoke{opacity:.55}.bb-reduced-motion .bb-static-indicator{display:inline}.bb-tooltip{position:absolute;z-index:5;pointer-events:none;min-width:120px;max-width:240px;padding:6px 9px;border-radius:var(--radius-sm, 6px);background:var(--panel, #1e232b);color:var(--text, #e8ebf0);border:1px solid var(--border, #323a46);box-shadow:var(--shadow, 0 6px 18px rgba(0, 0, 0, .35));font-size:1rem;line-height:1.35;transform:translate(-50%,calc(-100% - 10px));white-space:nowrap}.bb-tooltip__title{font-weight:600;margin-bottom:2px}.bb-tooltip__row{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-mono, ui-monospace, monospace);font-size:1rem}.bb-tooltip__row span:first-child{color:var(--text-dim, #9ba5b4)}.bb-tooltip__polarity{white-space:normal;margin:2px 0;color:var(--text-dim, #9ba5b4)}.bb-tooltip__status--warn{color:var(--warn, #f5c04a)}.bb-tooltip__status--damaged{color:var(--danger, #f2706d)}.bb-toolbar{position:absolute;z-index:6;display:flex;gap:2px;padding:3px;border-radius:var(--radius-sm, 6px);background:var(--panel, #1e232b);border:1px solid var(--border, #323a46);box-shadow:var(--shadow, 0 6px 18px rgba(0, 0, 0, .35));transform:translate(-50%,calc(-100% - 12px));white-space:nowrap}.bb-toolbar button{white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text, #e8ebf0);font:inherit;font-size:1rem;padding:4px 8px;border-radius:4px;cursor:pointer}.bb-toolbar button:hover:not(:disabled){background:var(--panel-2, #262c36)}.bb-toolbar button:disabled{opacity:.4;cursor:default}.bb-toolbar button.bb-danger{color:var(--danger, #f2706d)}.bb-toast{position:absolute;z-index:7;left:50%;bottom:14px;transform:translate(-50%);padding:6px 12px;border-radius:999px;background:var(--panel, #1e232b);color:var(--danger, #f2706d);border:1px solid var(--border, #323a46);font-size:1rem;pointer-events:none}.bb-viewctl{position:absolute;z-index:6;right:10px;bottom:10px;display:flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-sm, 6px);background:var(--panel, #1e232b);border:1px solid var(--border, #323a46);color:var(--text, #e8ebf0);font-size:1rem}.bb-viewctl span{min-width:42px;text-align:center;color:var(--text-dim, #9ba5b4);font-variant-numeric:tabular-nums}.bb-viewctl button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;min-width:26px;padding:3px 7px;border-radius:4px;cursor:pointer}.bb-viewctl button:hover{background:var(--panel-2, #262c36)}.sch-frame{position:relative;width:100%;height:100%}.sch-root{position:relative;width:100%;height:100%;overflow:auto;color:var(--text, #e8ebf0)}.sch-svg{display:block;color:var(--text, #e8ebf0)}.sch-stroke{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sch-fill{fill:currentColor;stroke:none}.sch-wire{fill:none;stroke:var(--accent-2, #4cc3e8);stroke-width:1.6;stroke-linejoin:round}.sch-junction{fill:var(--accent-2, #4cc3e8)}.sch-label{fill:currentColor;font-family:var(--font-ui, system-ui, sans-serif)}.sch-ref{fill:currentColor;font-family:var(--font-ui, system-ui, sans-serif);font-weight:600}.sch-value{fill:var(--text-dim, #9ba5b4);font-family:var(--font-ui, system-ui, sans-serif)}.sch-pinlabel{fill:var(--text-dim, #9ba5b4);font-family:var(--font-mono, ui-monospace, monospace)}.sch-diagram{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:100%}.sch-diagram__scroll{max-width:100%;overflow-x:auto;overflow-y:hidden}.sch-diagram__scroll--large{overflow:auto}.sch-svg--fit{width:100%;height:auto;margin:0 auto}.sch-svg--clickable{cursor:zoom-in}.sch-diagram__actions{display:flex;justify-content:flex-end}.sch-symbol--draggable{cursor:grab}.sch-symbol--dragging{cursor:grabbing;opacity:.85}.sch-symbol--damaged{color:var(--danger, #f2706d)}.sch-symbol--warn{color:var(--warn, #f5c04a)}.sch-hit{fill:transparent;stroke:none}.sch-open-pin{fill:var(--panel, #1e232b);stroke:var(--text-dim, #9ba5b4);stroke-width:1}.bb-tooltip__pins{white-space:normal;margin:2px 0;color:var(--text-dim, #9ba5b4)}.bb-tooltip__pin.is-active{color:var(--accent, #f2a541);font-weight:700}.bb-tooltip--wide{width:min(22rem,100%);max-width:none}.bb-tooltip__pins--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:0 12px}.bb-anchor-ring{stroke:var(--accent, #f2a541);stroke-width:2.4;stroke-dasharray:4 3;filter:drop-shadow(0 0 2px rgba(0,0,0,.8))}.bb-grab{cursor:grab}.bbf{display:block;width:100%}.bbf-scroll{overflow-x:auto;overflow-y:hidden;padding:4px 0;border-radius:var(--radius, 10px)}.bbf-svg{display:block;width:100%;height:auto;margin:0 auto;pointer-events:none;user-select:none;-webkit-user-select:none;font-family:var(--font-ui, system-ui, sans-serif)}.bbf-tone--ok{--tone: var(--ok, #52d68a)}.bbf-tone--accent{--tone: var(--accent, #f2a541)}.bbf-tone--warn{--tone: var(--warn, #f5c04a)}.bbf-tone--danger{--tone: var(--danger, #f2706d)}.bbf-tone--info{--tone: var(--accent-2, #4cc3e8)}.bbf-box{fill:color-mix(in srgb,var(--tone) 34%,transparent);stroke:color-mix(in srgb,var(--tone) 80%,#000);stroke-width:2}.bbf-swatch{fill:var(--tone);stroke:#0d1117;stroke-width:1.4}.bbf-axis text{fill:#6f6853;font-weight:600}.bbf-label{fill:#fff;stroke:#0d1117;stroke-width:3.4px;stroke-linejoin:round;paint-order:stroke fill;font-weight:600}.bbf-error{margin:6px 0 0;padding:8px 12px;border:1px solid var(--danger, #f2706d);border-radius:var(--radius-sm, 6px);color:var(--danger, #f2706d);font-size:1rem}
