/* Connection controls are layered on the existing cards, never a second card frame. */
.canvas-node .cc-port{position:absolute;top:50%;width:68px!important;height:68px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;border:0!important;background:transparent!important;transform:translateY(-50%);z-index:20;cursor:crosshair;touch-action:none;opacity:1!important;zoom:1!important}
.canvas-node .cc-port-left{left:-56px!important;right:auto!important}.canvas-node .cc-port-right{right:-56px!important;left:auto!important}
.cc-port>span{width:24px!important;height:24px!important;display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid #ffffff0a!important;border-radius:50%;background:#262626b3!important;color:#f4f4f5;opacity:0!important;transform:scale(.72)!important;transition:transform 120ms ease-out,opacity 120ms ease-out;pointer-events:none}
.cc-port svg{width:12px!important;height:12px!important}.canvas-node:hover>.cc-port>span,.canvas-node.selected>.cc-port>span,.cc-port:focus-visible>span,.cc-port:hover>span{opacity:1!important;transform:scale(1)!important}
.cc-port:hover>span,.cc-port.cc-port-active>span{background:#f4f4f5!important;color:#18181b;opacity:1!important;transform:scale(1)!important}
.canvas-node[data-cc-target=valid]{outline:2px solid #9657ff!important;outline-offset:0}.canvas-node[data-cc-target=invalid]{cursor:not-allowed}
.cc-add-menu{position:fixed;z-index:1000;box-sizing:border-box;width:244px;padding:8px;background:#1c1c1c;color:white;border:1px solid #ffffff14;border-radius:24px;box-shadow:0 40px 60px #00000047;font:14px/21px system-ui,-apple-system,"PingFang SC",sans-serif}
.cc-menu-title{font:13px/16px "PingFang SC","Helvetica Neue",Arial,sans-serif;color:#ffffff80;padding:6px 12px;height:28px;box-sizing:border-box}
.cc-add-menu>button{width:100%;height:40px;border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px;border-radius:20px;font:14px/20px system-ui,-apple-system,"PingFang SC",sans-serif;cursor:pointer;outline:0}
.cc-add-menu>button:hover,.cc-add-menu>button:focus-visible{background:#ffffff1a}.cc-add-menu>button>svg{width:18px;height:18px;flex:none}.cc-add-menu small{margin-left:6px;color:#929292;font:10px/14px system-ui}.cc-menu-error{color:#fca5a5;font-size:12px;padding:8px 12px}.cc-busy{opacity:.8;cursor:wait}
#cc-pending{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;overflow:visible;z-index:900}#cc-pending>path{fill:none;stroke:#884dff;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 2px 8px #884dff4d)}
.cc-edge-line{fill:none!important;stroke:#ffffff1f!important;stroke-width:2!important}.cc-edge-hit{fill:none;stroke:transparent;stroke-width:20;pointer-events:stroke;cursor:pointer}.cc-edge.selected .cc-edge-line,.cc-edge:hover .cc-edge-line{stroke:#884dff!important}.cc-edge.selected .cc-edge-line{stroke-dasharray:6 6;animation:cc-flow 1s linear infinite}.cc-edge-end{fill:#a77bfa;stroke:#1c1c1c;stroke-width:2;pointer-events:all;cursor:grab}
@keyframes cc-flow{to{stroke-dashoffset:-12}}
#cc-overlay{position:absolute;inset:0;pointer-events:none;z-index:45}.cc-cut-toolbar{position:absolute;transform:translateX(-50%);background:#242424;border:1px solid #ffffff14;border-radius:999px;padding:4px;pointer-events:auto}.cc-cut-toolbar button{display:flex;align-items:center;gap:6px;border:0;background:none;color:#eee;padding:8px 12px;border-radius:999px;height:32px;font:12px/16.8px system-ui;cursor:pointer}.cc-cut-toolbar button:hover{background:#ffffff12}.cc-cut-toolbar svg{width:18px;height:18px}
.cc-references{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 0 10px}.cc-reference{position:relative;width:44px;height:44px;border-radius:6px;background:#ffffff0a;border:1px solid #ffffff14;display:flex}.cc-reference>button:first-child{width:100%;height:100%;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:none;color:#aaa;cursor:pointer}.cc-reference svg{width:20px;height:20px}.cc-reference img{height:100%;width:100%;object-fit:contain}.cc-reference span{font-size:9px;line-height:11px;max-width:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-reference>button:last-child{position:absolute;right:-5px;top:-5px;width:15px;height:15px;padding:0;border:0;border-radius:50%;background:#444;color:white;font:12px/15px Arial;cursor:pointer}
.cc-creation{border-radius:40px!important;background:#1c1c1c!important;border:1px solid transparent!important;overflow:visible!important;padding:0!important}.cc-creation.selected{border-color:#a3a3a3!important}.cc-creation>.native-node-caption{position:absolute;top:-24px;left:0;color:#999;display:flex;align-items:center;gap:6px;font-size:12px;background:transparent;padding:0;overflow:visible}.cc-creation>.native-node-caption svg{width:12px;height:12px}.cc-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.cc-empty>svg{width:40px;height:40px;color:#555;--xyq-node-placeholder-fill:#444}.cc-empty>div{display:flex;align-items:center;gap:24px}.cc-empty button{border:0;background:none;color:#fff;display:flex;align-items:center;gap:4px;padding:4px;font-size:12px;cursor:pointer}.cc-empty button:hover{color:#bbb}.cc-empty button svg{width:12px;height:12px}.cc-creation video{width:100%;height:100%;border-radius:40px}.cc-creation audio{position:absolute;left:20px;right:20px;top:50%;width:calc(100% - 40px);transform:translateY(-50%)}
.cc-draft{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);width:min(800px,calc(100% - 60px));box-sizing:border-box;padding:20px;border:1px solid #ffffff14;border-radius:32px;background:#222;pointer-events:auto}.cc-draft textarea{width:100%;min-height:100px;background:transparent;color:#ddd;resize:vertical;border:0;outline:0;font:14px/1.8 system-ui}
.cc-special{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#aaa}.cc-special>svg{height:40px;width:40px}.cc-special strong{font-size:18px}.cc-special p{font-size:13px;margin:0}.cc-special button{border:1px solid #ffffff1a;border-radius:20px;background:#292929;color:white;padding:7px 16px;cursor:pointer}

.cc-connectable>.native-node-port{display:none}
.cc-add-menu>button{font-weight:400}

.cc-edge-dot{fill:#1c1c1c;stroke:#884dff;stroke-width:2;pointer-events:none}.cc-edge-source{stroke:#5f9d3f}.cc-edge-end{fill:transparent;stroke:transparent}
.cc-add-menu>button{font:500 13px/18.2px "Chivo Mono Numeric","PingFang SC","Helvetica Neue",Arial,sans-serif;padding:0 12px}.cc-add-menu>button>svg{color:#ffffffb3}.cc-add-menu>button:hover>svg,.cc-add-menu>button:focus-visible>svg{color:#fff}
.cc-add-menu{outline:none}

.cc-menu-icon{width:18px;height:18px;flex:none;display:block;color:#ffffffb3}.cc-menu-icon svg{width:18px;height:18px}.cc-menu-icon>span{display:block}.cc-menu-icon>span+span{display:none}.cc-add-menu>button:hover .cc-menu-icon>span:first-child{display:none}.cc-add-menu>button:hover .cc-menu-icon>span+span{display:block;color:#fff}.cc-add-menu>button:hover,.cc-add-menu>button:focus-visible{background:#ffffff14}

.cc-endpoint-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.cc-edge>.cc-edge-end,.cc-edge>.cc-edge-dot{opacity:0;pointer-events:none}

.cc-add-menu{-webkit-font-smoothing:antialiased}

.cc-cut-toolbar{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:4px 12px;background:#1c1c1c;-webkit-font-smoothing:antialiased}.cc-cut-toolbar button{gap:4px}
