.node-port{z-index:6;transition:opacity .15s,transform .15s}
.node-port-right{right:-8px;left:auto;top:calc(50% - 7px)}
.node-port-left{left:-8px;right:auto;top:calc(50% - 7px)}
.node-port-top{top:-8px;left:calc(50% - 7px);right:auto}
.node-port-bottom{bottom:-8px;top:auto;left:calc(50% - 7px);right:auto}
.node-text-link{display:inline;padding:0;border:0;background:none;color:#a5f3e2;font:inherit;font-weight:800;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px;cursor:pointer;vertical-align:baseline;white-space:inherit}
.node-text-link:hover{color:#fff;text-decoration-thickness:2px}
.node-copy .node-text-link{max-width:100%}
.field-help{margin:3px 0 8px;color:#8fa7c5;font-size:10px;line-height:1.5}
.text-links-section{padding-bottom:6px}
.text-links-section .property-button{height:auto;min-height:35px;white-space:normal}
.text-link-list{display:grid;gap:5px;margin-top:7px}
.text-link-row{display:flex;align-items:center;gap:6px;border:1px solid #8aafd02b;border-radius:8px;padding:4px 5px 4px 8px;color:#a8cfdf;background:#2444672b;font-size:10px}
.text-link-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-link-row button{height:22px;width:22px;flex:none;border:0;border-radius:6px;background:#ffffff12;color:#d7e6ef;font-size:16px}
.text-link-row button:hover{background:#e0767555}
.link-dialog{max-height:min(85dvh,700px);overflow:auto}
.link-dialog .field-label{margin:15px 0 6px}
.link-dialog .field-input{font-size:13px;padding:10px}
.link-dialog select{appearance:auto}
.link-dialog #pdf-name{margin:4px 0 0;word-break:break-all}
.link-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}
.link-dialog-actions button{height:37px;padding:0 17px;border-radius:9px;font-weight:700;font-size:12px}
.link-dialog-actions .outline-btn{border:1px solid #7187b244;background:#16274a;color:#d6e6ff}
body[data-theme="ice"] .node-text-link{color:#176b9d}
body[data-theme="ice"] .node-text-link:hover{color:#06446b}
body[data-theme="ice"] .field-help{color:#6989a6}
body[data-theme="ice"] .text-link-row{background:#e5f4ff;color:#346080;border-color:#fff}
body[data-theme="ice"] .text-link-row button{color:#4c7292;background:#d0eafa}
body[data-theme="ice"] .link-dialog-actions .outline-btn{background:#e7f4ff;color:#315d7c;border-color:#fff}
@media(max-width:820px){
  .node.selected .node-port{opacity:1;width:18px;height:18px;border-width:2px}
  .node.selected .node-port-top{top:-9px;left:calc(50% - 9px)}
  .node.selected .node-port-bottom{bottom:-9px;left:calc(50% - 9px)}
  .node.selected .node-port-left{left:-9px;top:calc(50% - 9px)}
  .node.selected .node-port-right{right:-9px;top:calc(50% - 9px)}
  .text-link-row{font-size:11px}
  .link-dialog{width:calc(100vw - 26px);padding:22px}
}

/* Node geometry and text flow */
.nodes{pointer-events:none}
.node{pointer-events:auto;height:var(--node-height,74px);min-height:0;width:var(--node-width,210px);border-color:var(--border-color,rgba(139,171,219,.31));align-items:center}
.node-root{width:var(--node-width,244px);height:var(--node-height,92px)}
.node-copy{min-width:0;overflow:hidden}
.node-title,.node-desc{white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;line-height:1.25}
.node-title{font-size:var(--title-size,12px)}
.node-desc{font-size:var(--desc-size,10px)}
.node-root .node-title{font-size:var(--title-size,14px)}
.node-root .node-desc{font-size:var(--desc-size,10px)}
.node.has-border,.node.has-border:hover,body[data-theme="ice"] .node.has-border,body[data-theme="ice"] .node.has-border:hover{border-color:var(--border-color)}
.node.has-border.selected,body[data-theme="ice"] .node.has-border.selected{border-color:var(--border-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--border-color) 42%,transparent),0 15px 35px #010a2255}
.node-shape-circle{border-radius:50%;flex-direction:column;justify-content:center;text-align:center;padding:20px;gap:6px}
.node-shape-circle .node-badge{width:38px;height:38px;border-radius:50%}
.node-shape-circle .node-copy{width:100%;flex:none}
.node-shape-circle .node-desc{margin-top:3px}
.node-social{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#fff;box-shadow:0 2px 8px #00182c66;pointer-events:none}
.node-social svg{width:17px;height:17px;fill:currentColor}
.node-social[data-social=whatsapp],.social-picks [data-social=whatsapp]{background:#25d366}
.node-social[data-social=telegram],.social-picks [data-social=telegram]{background:#2aabee}
.node-social[data-social=threads],.social-picks [data-social=threads]{background:#151515}
.node-social[data-social=instagram],.social-picks [data-social=instagram]{background:linear-gradient(135deg,#6b37cc,#e1306c,#f9bd5e)}
.node-resize{display:none;position:absolute;right:-7px;bottom:-7px;width:18px;height:18px;border:2px solid #fff;border-radius:6px;background:var(--accent);z-index:10;cursor:nwse-resize;box-shadow:0 3px 10px #00182c77;touch-action:none}
.node.selected .node-resize{display:block}
.node-shape-circle .node-resize{right:7%;bottom:7%}
.setting-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.setting-pair label{color:#9fb2d0;font-size:10px;font-weight:700}
.setting-pair input{display:block;margin-top:5px}
.social-picks{display:flex;gap:7px;flex-wrap:wrap}
.social-picks button{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:2px solid transparent;color:white;font-size:15px;font-weight:800;cursor:pointer}
.social-picks button svg{width:18px;height:18px;fill:currentColor}
.social-picks button.active{border-color:#fff;box-shadow:0 0 0 2px #78c6e5}
.social-picks [data-social=none]{background:#51647e}
.subtle-action{border:0;background:none;color:#8fbdd4;font-size:10px;padding:4px 0;cursor:pointer}
.connection-path{pointer-events:none}
.edge-hit{fill:none;stroke:transparent;stroke-width:var(--edge-hit-width,20px);pointer-events:stroke;cursor:pointer}
.edge-bend-add,.edge-bend-handle{pointer-events:all;cursor:pointer}
.edge-bend-add{fill:#e6f6ff;stroke:#5b9fd1;stroke-width:2}
.edge-bend-handle{fill:#9de4f5;stroke:#357bb2;stroke-width:2;cursor:move;touch-action:none}
.edge-bend-plus{fill:#3679a9;font-size:var(--edge-font-size,13px);font-weight:800;pointer-events:none;text-anchor:middle;dominant-baseline:middle}
.connections:has(.edge-hit:hover) .edge-bend-add{fill:#fff}
body[data-theme="ice"] .setting-pair label{color:#4d7291}
body[data-theme="ice"] .node-social{box-shadow:0 2px 8px #4691bd66}
@media(max-width:820px){
  .node.selected .node-resize{width:22px;height:22px}
  .node.selected .node-port,.node.selected .node-resize,.node.selected .node-edit,.node-social{transform:scale(var(--control-scale,1))}
  .social-picks button{width:35px;height:35px}
  .tool-card{min-width:0}
}
