.rc-canvas{position:absolute;inset:0;overflow:hidden;touch-action:none}.rc-fit{position:absolute;right:10px;bottom:10px;z-index:8;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--dim);font-family:var(--cond);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;cursor:pointer}.rc-fit:hover{border-color:var(--traffic);color:var(--traffic)}.rc-pan{will-change:transform}.rc-pan,.rc-svg{position:absolute;inset:0}.rc-svg{width:100%;height:100%;pointer-events:none;overflow:visible}.rc-wire{fill:none;stroke:var(--wire,#263a44);stroke-width:1}.rc-wire.bad{stroke:var(--alarm)}.rc-flow,.rc-wire-hit{stroke:transparent}.rc-wire-hit{fill:none;stroke-width:14;pointer-events:stroke;cursor:pointer}.rc-edge.selectable:hover .rc-wire{stroke:var(--dim)}.rc-edge.sel .rc-wire{stroke:var(--traffic);stroke-width:2}.rc-node{position:absolute;width:132px;padding:10px;border-radius:3px;border:1px solid var(--line);background:var(--panel);cursor:pointer;transition:border-color .13s;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.rc-node.sel,.rc-node:hover{border-color:var(--traffic)}.rc-node.hot{border-color:var(--alarm)}.rc-node.idle{opacity:.9;border-style:dashed;border-color:var(--dim)}.rc-node.idle .rc-node-util{color:var(--money)}.rc-node-cat{font-family:var(--cond);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}.rc-node-name{font-weight:600;font-size:12.5px;margin:2px 0 8px;color:var(--text-hi,#d6e3e9)}.rc-chips{display:flex;flex-wrap:wrap;gap:3px;margin:0 0 4px}.rc-chip{flex:1 1 calc(50% - 3px);box-sizing:border-box;min-width:0;height:17px;padding:2px 5px;line-height:11px;border:1px solid var(--line);border-radius:2px;background:var(--well,#0c1418);font-family:var(--cond);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mid,#9fb4bd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}.rc-chip:hover{border-color:var(--traffic);color:var(--traffic)}.rc-chip.hot{border-color:var(--alarm);color:var(--alarm)}.rc-chips-empty{height:17px;line-height:15px;color:var(--dim);opacity:.75}.rc-chip-ghost,.rc-chips-empty{font-family:var(--cond);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase}.rc-chip-ghost{position:absolute;z-index:30;pointer-events:none;padding:2px 6px;border:1px solid var(--traffic);border-radius:2px;background:var(--panel-hi);color:var(--traffic)}.rc-node-track{height:3px;background:var(--well,#0c1418);border-radius:2px;overflow:hidden}.rc-node-bar{display:block;height:100%;background:var(--traffic);transition:width .35s,background .3s}.rc-node.hot .rc-node-bar{background:var(--alarm)}.rc-node-track.storage{margin-top:3px}.rc-node-track.storage .rc-node-bar{background:var(--dim)}.rc-node-track.storage.hot .rc-node-bar{background:var(--alarm)}.rc-node.full{border-color:var(--alarm)}.rc-node.can-drop{border-color:color-mix(in srgb,var(--traffic) 45%,transparent)}.rc-node.drop-ok{border-color:var(--traffic);box-shadow:0 0 0 3px color-mix(in srgb,var(--traffic) 22%,transparent)}.rc-node.drop-bad{border-color:var(--alarm);box-shadow:0 0 0 3px color-mix(in srgb,var(--alarm) 20%,transparent)}.rc-node.drop-bad .rc-node-name{color:var(--alarm)}.rc-node.look{border-color:var(--traffic);animation:rc-look 1.1s ease-out 3}@keyframes rc-look{0%,to{box-shadow:0 0 0 0 var(--look-glow-0,rgba(84,216,180,0))}40%{box-shadow:0 0 0 5px var(--look-glow,rgba(84,216,180,.3))}}.rc-node-meta{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--mono);font-size:10px;color:var(--dim)}.rc-port{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:var(--panel-hi);transform:translateY(-50%)}.rc-port.out{right:-6px;border:1px solid var(--traffic);cursor:crosshair}.rc-port.out:hover{background:var(--traffic)}.rc-port.in{left:-6px;border:1px solid var(--dim)}.rc-node-shards{font-family:var(--cond);font-size:10px;letter-spacing:.06em;color:var(--traffic)}.rc-chip.blocked{border-color:var(--alarm);background:var(--alarm);color:var(--on-alarm,#16090a);font-weight:500}.rc-dots circle{fill:var(--traffic)}