.node-flow-editor{color:#1a1a24;flex:1 1 0%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:0;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.node-flow-editor *,.node-flow-editor :after,.node-flow-editor :before{box-sizing:border-box}.node-flow-editor{display:flex;flex-direction:column}.node-flow-editor .sp{flex:1}.node-flow-editor .canvas-wrap{background:#eef0f5;inset:0;overflow:hidden;position:absolute}.node-flow-editor .canvas-wrap.panning{cursor:grabbing}.node-flow-editor .canvas-wrap.pan-tool{cursor:grab}.node-flow-editor .canvas-wrap.connecting{cursor:crosshair}.node-flow-editor .grid-bg{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.node-flow-editor .svg-layer{left:0;overflow:visible;pointer-events:none;position:absolute;top:0}.node-flow-editor .conn-hit{cursor:pointer;fill:none;pointer-events:stroke;stroke:transparent;stroke-width:16}.node-flow-editor .conn-line{fill:none;opacity:.8;stroke:#90b8f0;stroke-width:2;transition:opacity .15s}.node-flow-editor .conn-line.sel{opacity:1;stroke:#4a6cf7;stroke-width:2.5}.node-flow-editor .conn-dot{fill:#90b8f0;opacity:.8}.node-flow-editor .conn-g:hover .conn-dot,.node-flow-editor .conn-g:hover .conn-line{opacity:1}.node-flow-editor .conn-preview{fill:none;opacity:.7;pointer-events:none;stroke-dasharray:7 4;stroke-width:2}.node-flow-editor .nodes-layer{left:0;position:absolute;top:0}.node-flow-editor .node{cursor:grab;overflow:visible;position:absolute}.node-flow-editor .node.dragging{cursor:grabbing;z-index:1000}.node-flow-editor .node:hover .del-btn{opacity:1}.node-flow-editor .node-label-row{align-items:center;display:flex;justify-content:space-between;padding:0 4px 8px}.node-flow-editor .node-label-left{align-items:center;color:#5a6278;display:flex;font-size:20px;font-weight:600;gap:6px;letter-spacing:.01em}.node-flow-editor .node-label-left .v-icon,.node-flow-editor .node-label-left svg{opacity:.75}.node-flow-editor .node-label-right{color:#9098b0;font-size:13px;font-weight:400}.node-flow-editor .node-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00145014,0 0 0 1px #b4bedc40;overflow:visible;transition:box-shadow .15s}.node-flow-editor .node:hover .node-card{box-shadow:0 6px 24px #0014501f,0 0 0 1.5px #90b8f099}.node-flow-editor .node.sel .node-card{box-shadow:0 6px 24px #4a6cf733,0 0 0 2px #4a6cf7}.node-flow-editor .node.dragging .node-card{box-shadow:0 20px 60px #0014502e,0 0 0 2px #4a6cf7;transform:scale(1.01)}.node-flow-editor .node-bar{align-items:center;display:flex;gap:5px;padding:8px 4px 0}.node-flow-editor .bar-pill{align-items:center;background:#fff;border:1px solid #e4e6ec;border-radius:20px;box-shadow:0 1px 4px #0000000f;color:#555;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:6px;height:30px;padding:0 12px;transition:all .15s;white-space:nowrap}.node-flow-editor .bar-pill:hover{border-color:#a0b0d0;box-shadow:0 2px 8px #0000001a}.node-flow-editor .bar-pill .pill-arrow{color:#bbb;font-size:9px}.node-flow-editor .bar-icon-btn{align-items:center;background:#fff;border:1px solid #e4e6ec;border-radius:50%;box-shadow:0 1px 4px #0000000f;color:#888;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:30px;justify-content:center;transition:all .15s;width:30px}.node-flow-editor .bar-icon-btn:hover{border-color:#a0b0d0;box-shadow:0 2px 8px #0000001a;color:#333}.node-flow-editor .run-pill{align-items:center;background:#111;border:none;border-radius:20px;box-shadow:0 1px 4px #00000026;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:11px;font-weight:600;height:26px;justify-content:center;padding:0 14px;position:relative;transition:all .15s;white-space:nowrap}.node-flow-editor .run-pill:hover{background:#222}.node-flow-editor .run-pill.running{animation:pulse .8s infinite;background:#1a7a40}.node-flow-editor .run-pill.done{background:#1a7a40}.node-flow-editor .run-pill.err{background:#c03060}.node-flow-editor .run-pill-label{letter-spacing:.01em;padding:0 2px 0 0}.node-flow-editor .run-again-icon{flex-shrink:0;margin-left:5px;opacity:.55;transition:opacity .15s,transform .15s}.node-flow-editor .run-pill:hover .run-again-icon{opacity:1;transform:rotate(-30deg)}.node-flow-editor .run-pill-divider{background:#ffffff40;height:16px;margin:0 4px;width:1px}.node-flow-editor .run-pill-chevron{align-items:center;display:flex;font-size:9px;height:22px;justify-content:center;opacity:.7;width:22px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(1turn)}}.node-flow-editor .run-spinner{animation:spin .8s linear infinite;flex-shrink:0}.node-flow-editor .cost-tooltip{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141228d1;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;bottom:calc(100% + 8px);box-shadow:0 4px 16px #00000038;color:#e0dcff;display:flex;font-size:12px;font-weight:600;gap:5px;left:50%;letter-spacing:.02em;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;transform:translate(-50%);transition:opacity .15s;white-space:nowrap;z-index:300}.node-flow-editor .cost-tooltip .cost-coin{display:block;height:15px;width:15px}.node-flow-editor .cost-tooltip:after{border:5px solid transparent;border-top-color:#141228d1;content:"";left:50%;position:absolute;top:100%;transform:translate(-50%)}.node-flow-editor .run-pill:hover .cost-tooltip{opacity:1}.node-flow-editor .card-img{border-radius:16px 16px 0 0;display:block;-o-object-fit:cover;object-fit:cover;pointer-events:none;width:100%}.node-flow-editor .card-img-placeholder{align-items:center;background:#f5f6f9;border-radius:16px 16px 0 0;color:#c0c4d0;display:flex;flex-direction:column;font-size:11px;gap:8px;height:140px;justify-content:center;width:100%}.node-flow-editor .gpt-result-placeholder{gap:6px;height:120px;justify-content:flex-start;padding-bottom:48px;padding-top:14px}.node-flow-editor .card-img-placeholder .ph-icon{align-items:center;color:#c0c4d0;display:flex;justify-content:center;opacity:.35}.node-flow-editor .card-img-placeholder .ph-icon svg{display:block}.node-flow-editor .productcard-card{overflow:hidden}.node-flow-editor .productcard-img-placeholder{border-radius:16px 16px 0 0;height:140px}.node-flow-editor .productcard-meta{background:#fff;border-radius:0 0 16px 16px;border-top:1px solid #eef0f4;padding:10px 12px 12px}.node-flow-editor .productcard-name{color:#1f2430;display:-webkit-box;font-size:12px;font-weight:600;-webkit-line-clamp:2;line-height:1.35;margin-bottom:8px;-webkit-box-orient:vertical;overflow:hidden}.node-flow-editor .productcard-row{align-items:center;color:#5b6475;display:flex;flex-wrap:wrap;font-size:11px;gap:8px}.node-flow-editor .productcard-row-sub{margin-top:4px}.node-flow-editor .productcard-field{align-items:center;display:inline-flex;gap:4px;min-width:0}.node-flow-editor .productcard-label{color:#98a0b3}.node-flow-editor .productcard-mp-icon{display:block;flex-shrink:0;height:19px;-o-object-fit:contain;object-fit:contain;width:19px}.node-flow-editor .card-body{padding:12px 14px 14px}.node-flow-editor .card-prompt,.node-flow-editor .card-prompt-edit{color:#333;font-size:12px;line-height:1.6}.node-flow-editor .card-prompt-edit{background:transparent;border:none;caret-color:#4a6cf7;font-family:inherit;outline:none;padding:0;resize:none;width:100%}.node-flow-editor .card-prompt-edit::-moz-placeholder{color:#c0c4d0}.node-flow-editor .card-prompt-edit::placeholder{color:#c0c4d0}.node-flow-editor .card-prompt-edit:focus{background:transparent}.node-flow-editor .card-chars{color:#c8ccd8;font-size:10px;margin-top:4px;text-align:right}.node-flow-editor .card-note{color:#b0b8c8;font-size:10px;line-height:1.5;margin-top:6px}.node-flow-editor .card-result-img{display:block;width:100%}.node-flow-editor .card-msg{background:#fef9f0;border:1px solid #f0e8d0;border-radius:8px;color:#863;font-size:12px;line-height:1.55;margin-top:8px;padding:9px 11px;word-break:break-word}.node-flow-editor .card-msg.err{background:#fff5f8;border-color:#f8d0de;color:#b03050}.node-flow-editor .card-upload{display:flex;flex-direction:column;gap:8px;padding:0 14px 14px}.node-flow-editor .url-inp{background:#f5f6f9;border:1px solid #e4e6ec;border-radius:8px}.node-flow-editor .url-inp:focus{border-color:#4a6cf7}.node-flow-editor .url-inp::-moz-placeholder{color:#c0c4d0}.node-flow-editor .url-inp::placeholder{color:#c0c4d0}.node-flow-editor .url-btn{background:#f0f4ff;border:1px solid #c0ccf8;border-radius:8px;color:#4a6cf7}.node-flow-editor .url-btn:hover{background:#e4ecff;border-color:#4a6cf7}.node-flow-editor .upload-btn{border-radius:8px;color:#b07800;width:-moz-fit-content;width:fit-content}.node-flow-editor .upload-btn:hover{border-color:#b07800}.node-flow-editor .img-status-txt{color:#a0a8c0;font-size:10px}.node-flow-editor .blend-thumb{border:1px solid #e4e6ec}.node-flow-editor .blend-lbl{background:#4a6cf7b3}.node-flow-editor .blend-arrow{color:#90b8f0}.node-flow-editor .port-anchor{align-items:center;cursor:crosshair;display:flex;position:absolute;z-index:30}.node-flow-editor .port-anchor.left{left:-30px;transform:none}.node-flow-editor .port-anchor.right{right:-30px;transform:none}.node-flow-editor .port-icon{align-items:center;background:#dce8f8;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 6px #5078c833;color:#5080c8;display:flex;font-size:9px;height:22px;justify-content:center;line-height:1;transition:all .15s;width:22px}.node-flow-editor .port-icon svg{display:block;flex-shrink:0}.node-flow-editor .port-icon.hl,.node-flow-editor .port-icon:hover{background:#b8d4f8;box-shadow:0 0 0 4px #64a0f040,0 2px 8px #5078c840;transform:scale(1.15)}.node-flow-editor .port-icon.conn{background:#4a6cf7;border-color:#fff;color:#fff}.node-flow-editor .port-icon.img-type{background:#dce8f8;box-shadow:0 1px 6px #5078c833;color:#5080c8}.node-flow-editor .port-icon.img-type.conn,.node-flow-editor .port-icon.img-type:hover{background:#b8d4f8;box-shadow:0 0 0 4px #64a0f040}.node-flow-editor .port-icon.txt-type{background:#e8f4e0;box-shadow:0 1px 6px #50a02826;color:#407020}.node-flow-editor .port-icon.txt-type.conn,.node-flow-editor .port-icon.txt-type:hover{background:#d0ecc0;box-shadow:0 0 0 4px #64c83c33}.node-flow-editor .port-tip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e1e28d9;border-radius:6px;bottom:calc(100% + 7px);box-shadow:0 2px 8px #0000002e;color:#fff;font-size:11px;font-weight:500;left:50%;letter-spacing:.01em;opacity:0;padding:4px 9px;pointer-events:none;position:absolute;transform:translate(-50%);transition:opacity .15s;white-space:nowrap}.node-flow-editor .port-tip:after{border:4px solid transparent;border-top-color:#1e1e28d9;content:"";left:50%;position:absolute;top:100%;transform:translate(-50%)}.node-flow-editor .port-anchor.right .port-tip{text-align:center}.node-flow-editor .port-anchor.left .port-tip,.node-flow-editor .port-anchor.right .port-tip{bottom:calc(100% + 7px);left:50%;right:auto;top:auto;transform:translate(-50%)}.node-flow-editor .port-icon.hl~.port-tip,.node-flow-editor .port-icon:hover~.port-tip{opacity:1}.node-flow-editor .del-btn{align-items:center;background:#fff;border:1.5px solid #f0c0cc;border-radius:50%;box-shadow:0 1px 4px #0000001a;color:#e84393;cursor:pointer;display:flex;font-size:11px;height:20px;justify-content:center;opacity:0;position:absolute;right:-8px;top:-8px;transition:opacity .15s;width:20px;z-index:30}.node-flow-editor .conn-del-btn{opacity:0;pointer-events:none;transition:opacity .15s}.node-flow-editor .conn-g:hover .conn-del-btn{opacity:1;pointer-events:all}.node-flow-editor .conn-g .conn-line.sel~.conn-del-btn,.node-flow-editor .conn-g:focus-within .conn-del-btn{opacity:1;pointer-events:all}.node-flow-editor .conn-g:has(.conn-line.sel) .conn-del-btn{opacity:1;pointer-events:all}.node-flow-editor .img-replace-pill{color:#333;cursor:pointer;font-size:11px;font-weight:500}.node-flow-editor .img-replace-pill:hover{background:#f0f4ff;border-color:#4a6cf7;color:#4a6cf7}.node-flow-editor .danger-btn:hover{background:#fff0f7!important;border-color:#e84393!important;color:#e84393!important}.node-flow-editor .card-run-row{align-items:center;display:flex;justify-content:flex-end;margin-top:10px;padding-bottom:2px}.node-flow-editor .ratio-pill{color:#333;cursor:pointer;font-weight:500}.node-flow-editor .ratio-pill:hover{border-color:#a0b0d0}.node-flow-editor .ratio-dropdown{background:#fff;border:1px solid #e4e6ec;border-radius:10px;box-shadow:0 6px 20px #0014501f;left:0;min-width:160px;padding:5px;position:absolute;top:calc(100% + 6px);z-index:600}.node-flow-editor .ratio-section{color:#aaa;font-size:10px;font-weight:600;letter-spacing:.06em;padding:5px 10px 3px;text-transform:uppercase}.node-flow-editor .ratio-item{align-items:center;border-radius:7px;color:#333;cursor:pointer;display:flex;font-size:12px;font-weight:500;justify-content:space-between;padding:7px 12px;transition:background .1s}.node-flow-editor .ratio-item:hover{background:#f0f4ff;color:#4a6cf7}.node-flow-editor .ratio-item.active{color:#4a6cf7;font-weight:600}.node-flow-editor .ratio-check{color:#4a6cf7;font-size:12px}.node-flow-editor .hist-nav-wrap{align-items:center;display:flex;left:50%;opacity:0;pointer-events:none;position:absolute;top:-62px;transform:translate(-50%);transition:opacity .2s;z-index:50}.node-flow-editor .hist-nav-wrap.visible{opacity:1;pointer-events:all}.node-flow-editor .hist-nav{align-items:center;background:#fffffff7;border:1px solid #d8dde8;border-radius:24px;box-shadow:0 6px 24px #00145029,0 1px 4px #0014500f;display:flex;gap:8px;padding:7px 14px;white-space:nowrap}.node-flow-editor .hist-arrow{align-items:center;background:#fff;border:1.5px solid #c8d4ee;border-radius:50%;box-shadow:0 2px 8px #4a6cf726;color:#4a6cf7;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:34px;justify-content:center;line-height:1;transition:all .15s;width:34px}.node-flow-editor .hist-arrow:hover{background:#4a6cf7;border-color:#4a6cf7;box-shadow:0 4px 12px #4a6cf759;color:#fff;transform:scale(1.08)}.node-flow-editor .hist-arrow.disabled{box-shadow:none;cursor:default;opacity:.25;pointer-events:none}.node-flow-editor .hist-thumbs{align-items:center;display:flex;gap:5px}.node-flow-editor .hist-thumb{border:2.5px solid transparent;border-radius:7px;box-shadow:0 1px 4px #0000001a;cursor:pointer;flex-shrink:0;height:46px;-o-object-fit:cover;object-fit:cover;transition:all .15s;width:36px}.node-flow-editor .hist-thumb:hover{border-color:#a0b8e8;transform:scale(1.05)}.node-flow-editor .hist-thumb.active{border-color:#4a6cf7;box-shadow:0 0 0 2px #4a6cf7}.node-flow-editor .hist-dot{background:#d0d4e0;border-radius:50%;cursor:pointer;flex-shrink:0;height:6px;transition:all .15s;width:6px}.node-flow-editor .hist-dot.active{background:#4a6cf7;transform:scale(1.3)}.node-flow-editor .conn-thumbs-row{align-items:flex-end;bottom:8px;display:flex;gap:5px;left:10px;position:absolute}.node-flow-editor .conn-thumb-wrap{background:#f5f6f9;border:2px solid #fff;border-radius:7px;box-shadow:0 2px 8px #0000002e;flex-shrink:0;height:36px;overflow:hidden;width:36px}.node-flow-editor .conn-thumb{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.node-flow-editor .conn-thumb-ph{align-items:center;background:#dce8f8;color:#5080c8;display:flex;height:100%;justify-content:center;width:100%}.node-flow-editor .prompt-connected-badge{align-items:center;background:#f0f7ff;border:1px solid #c8ddf8;border-radius:20px;color:#3a70cc;cursor:default;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.node-flow-editor .pcb-dot{background:#4a90e2;border-radius:50%;box-shadow:0 0 0 2px #4a90e240;flex-shrink:0;height:7px;width:7px}.node-flow-editor .prompt-rich-editor{background:#f9f8f6;border:1px solid #e4e6ec;border-radius:8px;color:#333;cursor:text;font-size:12px;line-height:1.7;max-height:140px;min-height:52px;outline:none;overflow-y:auto;padding:8px 10px;transition:border-color .15s,background .15s;white-space:pre-wrap;word-break:break-word}.node-flow-editor .prompt-rich-editor:focus{background:#fff;border-color:#4a6cf7}.node-flow-editor .prompt-rich-editor:empty:before{color:#c0c4d0;content:attr(data-placeholder);pointer-events:none}.node-flow-editor .prompt-rich-editor .mention-chip{align-items:center;background:#e8f0ff;border:1.5px solid #c0d4ff;border-radius:5px;color:#3a60d0;cursor:default;display:inline-flex;font-size:11px;font-weight:600;gap:3px;padding:1px 6px 1px 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.node-flow-editor .prompt-rich-editor .mention-chip img{border-radius:2px;height:14px;-o-object-fit:cover;object-fit:cover;width:14px}.node-flow-editor .prompt-rich-editor .mention-chip:hover{background:#d0e4ff;border-color:#3a60d0}.node-flow-editor .prompt-display{color:#333;cursor:text;font-size:12px;line-height:1.7;min-height:52px;padding:8px 10px;word-break:break-word}.node-flow-editor .mention-badge{align-items:center;background:#e8f0ff;border:1.5px solid transparent;border-radius:5px;color:#3a60d0;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:1px 7px 1px 5px;transition:all .18s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.node-flow-editor .mention-badge .mb-thumb{border-radius:3px;flex-shrink:0;height:16px;-o-object-fit:cover;object-fit:cover;width:16px}.node-flow-editor .mention-badge.mb-hl,.node-flow-editor .mention-badge:hover{background:#c8dcff;border-color:#3a60d0;box-shadow:0 0 0 3px #3a60d01f}.node-flow-editor .node.mention-hl .node-card{box-shadow:0 0 0 3px #1a1a24,0 6px 24px #0000002e!important}.node-flow-editor .conn-line.mention-hl-line{opacity:1!important;stroke-width:3.5!important}.node-flow-editor .at-menu{background:#fff;border:1px solid #e4e6ec;border-radius:10px;box-shadow:0 6px 20px #0014501f;min-width:170px;padding:5px;position:absolute;z-index:600}.node-flow-editor .at-item{align-items:center;border-radius:7px;cursor:pointer;display:flex;gap:8px;padding:7px 10px;transition:background .1s}.node-flow-editor .at-item.at-active,.node-flow-editor .at-item:hover{background:#f0f4ff}.node-flow-editor .at-thumb{-o-object-fit:cover;object-fit:cover}.node-flow-editor .at-thumb,.node-flow-editor .at-thumb-ph{border:1px solid #e4e6ec;border-radius:5px;flex-shrink:0;height:28px;width:28px}.node-flow-editor .at-thumb-ph{align-items:center;background:#dce8f8;color:#5080c8;display:flex;justify-content:center}.node-flow-editor .at-name{color:#333;font-size:12px;font-weight:500}.node-flow-editor .at-tag{background:#e8f0ff;border-radius:4px;color:#3a60d0;cursor:default;font-size:11px;font-weight:600;padding:1px 5px;white-space:nowrap}.node-flow-editor .ctx-menu{background:#fff;border:1px solid #e8e4de;border-radius:12px;box-shadow:0 8px 30px #00000024,0 0 0 1px #0000000a;min-width:180px;padding:6px;position:fixed;z-index:9999}.node-flow-editor .ctx-section{color:#aaa;font-size:9px;font-weight:600;letter-spacing:.08em;padding:4px 10px 2px;text-transform:uppercase}.node-flow-editor .ctx-item{align-items:center;border-radius:7px;color:#333;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:9px;padding:8px 12px;transition:background .1s}.node-flow-editor .ctx-item:hover{background:#f5f3ff;color:#5048e5}.node-flow-editor .ctx-item .ctx-icon{align-items:center;border-radius:5px;display:flex;flex-shrink:0;font-size:13px;height:20px;justify-content:center;width:20px}.node-flow-editor .ctx-item.danger:hover{background:#fff0f7;color:#e84393}.node-flow-editor .ctx-sep{background:#f0ede8;height:1px;margin:4px 2px}.node-flow-editor .node-ctx{background:#fff;border:1px solid #e8e4de;border-radius:10px;box-shadow:0 6px 20px #0000001f;min-width:170px;padding:5px;position:absolute;right:8px;top:40px;z-index:500}.node-flow-editor .node-ctx-item{align-items:center;border-radius:7px;color:#333;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:8px;padding:8px 12px;transition:background .1s}.node-flow-editor .node-ctx-item:hover{background:#f5f3ff;color:#5048e5}.node-flow-editor .node-ctx-item.danger:hover{background:#fff0f7;color:#e84393}.node-flow-editor .node-ctx-sep{background:#f0ede8;height:1px;margin:4px 0}.node-flow-editor .url-row{display:flex;gap:6px;margin-bottom:8px}.node-flow-editor .url-inp{background:#f9f8f6;border:1px solid #e8e4de;border-radius:7px;color:#333;flex:1;font-family:inherit;font-size:11px;height:28px;outline:none;padding:0 9px;transition:border-color .15s}.node-flow-editor .url-inp:focus{background:#fff;border-color:#5048e5}.node-flow-editor .url-inp::-moz-placeholder{color:#ccc}.node-flow-editor .url-inp::placeholder{color:#ccc}.node-flow-editor .url-btn{background:#f0eeff;border:1px solid #c7c2f8;border-radius:7px;color:#5048e5;cursor:pointer;font-size:11px;font-weight:500;height:28px;padding:0 10px;transition:all .15s;white-space:nowrap}.node-flow-editor .url-btn:hover{background:#e8e4ff;border-color:#5048e5}.node-flow-editor .upload-row{align-items:center;display:flex;gap:7px}.node-flow-editor .upload-btn{align-items:center;background:#fff8ed;border:1px solid #f0d890;border-radius:7px;color:#c07800;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:5px;height:28px;padding:0 10px;transition:all .15s}.node-flow-editor .upload-btn:hover{background:#fff0d8;border-color:#c07800}.node-flow-editor .img-status{color:#aaa;font-size:10px}.node-flow-editor .blend-previews{align-items:center;display:flex;gap:6px;margin-top:8px}.node-flow-editor .blend-thumb-wrap{flex:1;position:relative}.node-flow-editor .blend-thumb{border:1px solid #e8e4de;border-radius:7px;display:block;height:52px;-o-object-fit:cover;object-fit:cover;width:100%}.node-flow-editor .blend-lbl{background:#5048e5b3;border-radius:3px;color:#fff;font-size:9px;font-weight:700;left:4px;padding:1px 5px;position:absolute;top:3px}.node-flow-editor .blend-arrow{color:#5b9cf6;flex-shrink:0;font-size:16px}.node-flow-editor .minimap{background:#fff;border:1px solid #e8e4de;border-radius:10px;bottom:16px;box-shadow:0 2px 10px #00000012;height:90px;overflow:hidden;position:absolute;right:16px;width:160px}.node-flow-editor .status-bar{background:#fff;border:1px solid #e8e4de;border-radius:20px;bottom:16px;color:#ccc;font-size:10px;left:16px;letter-spacing:.02em;padding:4px 10px;position:absolute}.node-flow-editor .bottom-bar{align-items:center;background:transparent;bottom:16px;display:flex;justify-content:center;left:50%;pointer-events:none;position:absolute;transform:translate(-50%);z-index:200}.node-flow-editor .bottom-bar-inner{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0014501f,0 0 0 1px #b4bedc33;padding:6px 8px;pointer-events:all}.node-flow-editor .bb-group,.node-flow-editor .bottom-bar-inner{align-items:center;display:flex;gap:2px}.node-flow-editor .bb-sep{background:#e4e6ec;height:24px;margin:0 6px;width:1px}.node-flow-editor .bb-btn{align-items:center;background:transparent;border:none;border-radius:10px;color:#666;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s;width:36px}.node-flow-editor .bb-btn.active,.node-flow-editor .bb-btn:hover{background:#f0f4ff;color:#4a6cf7}.node-flow-editor .bb-node-btn{color:#555}.node-flow-editor .bb-node-btn:hover{background:#f5f3ff;color:#5048e5}.node-flow-editor .bb-ai-btn:hover{background:#f0f4ff;color:#4a6cf7}.node-flow-editor .bb-zoom-display{color:#888;font-size:11px;font-weight:600;letter-spacing:.03em;min-width:36px;padding:0 8px;text-align:center}.node-flow-editor .bb-zoom-pill{align-items:center;background:#f5f6f9;border:1px solid #e4e6ec;border-radius:8px;color:#555;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:3px;height:30px;padding:0 10px;transition:all .15s;white-space:nowrap}.node-flow-editor .bb-zoom-pill:hover{background:#fff;border-color:#a0b0d0;color:#333}.node-flow-editor .zoom-ctx-menu{background:#fff;border:1px solid #e4e6ec;border-radius:12px;bottom:calc(100% + 8px);box-shadow:0 8px 24px #0014501f,0 0 0 1px #b4bedc26;min-width:180px;padding:5px;position:absolute;right:0;z-index:9999}.node-flow-editor .zoom-ctx-item{align-items:center;border-radius:7px;color:#333;cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px;transition:background .1s}.node-flow-editor .zoom-ctx-item:hover{background:#f0f4ff;color:#4a6cf7}.node-flow-editor .zoom-ctx-key{color:#bbb;font-size:11px;letter-spacing:.02em}.node-flow-editor .zoom-ctx-sep{background:#f0ede8;height:1px;margin:4px 0}.node-flow-editor .comment-node-wrap{position:relative}.node-flow-editor .comment-avatar{align-items:center;background:#fff;border:2px solid #e0d0f8;border-radius:50%;box-shadow:0 2px 8px #a855f726;color:#a855f7;cursor:pointer;display:flex;height:34px;justify-content:center;transition:all .2s;width:34px}.node-flow-editor .comment-avatar.active,.node-flow-editor .comment-avatar:hover{background:#f5f0ff;border-color:#a855f7;box-shadow:0 0 0 3px #a855f733}.node-flow-editor .comment-avatar.hovering{background:#f5f0ff;border-color:#a855f7}.node-flow-editor .comment-popup-readonly{opacity:.95;pointer-events:none}.node-flow-editor .comment-popup-readonly .comment-popup-hdr{pointer-events:all}.node-flow-editor .comment-popup{background:#fff;border-radius:14px;box-shadow:0 8px 30px #00145024,0 0 0 1px #b4bedc33;left:44px;overflow:hidden;position:absolute;top:-4px;width:260px;z-index:100}.node-flow-editor .comment-popup-hdr{align-items:center;border-bottom:1px solid #f0ede8;display:flex;padding:11px 14px 10px}.node-flow-editor .comment-popup-title{color:#111;flex:1;font-size:13px;font-weight:600}.node-flow-editor .comment-hdr-btn{align-items:center;background:transparent;border:none;border-radius:6px;color:#888;cursor:pointer;display:flex;font-size:9px;height:24px;justify-content:center;transition:all .15s;width:24px}.node-flow-editor .comment-hdr-btn:hover{background:#f0f0f0;color:#333}.node-flow-editor .comment-hdr-btn.danger:hover{background:#fff0f7;color:#e84393}.node-flow-editor .comment-confirm{display:flex;flex-direction:column;gap:12px;padding:14px}.node-flow-editor .comment-confirm-text{color:#333;font-size:13px;font-weight:500}.node-flow-editor .comment-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.node-flow-editor .comment-confirm-btn{border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;height:30px;padding:0 14px;transition:all .15s}.node-flow-editor .comment-confirm-btn.cancel{background:#f0f0f3;color:#555}.node-flow-editor .comment-confirm-btn.cancel:hover{background:#e6e6ea}.node-flow-editor .comment-confirm-btn.del{background:#e84393;color:#fff}.node-flow-editor .comment-confirm-btn.del:hover{background:#d63384}.node-flow-editor .comment-entry{align-items:flex-start;display:flex;gap:10px;padding:12px 14px}.node-flow-editor .comment-entry-avatar{align-items:center;background:#f0e8ff;border:1.5px solid #d8c8f8;border-radius:50%;color:#a855f7;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.node-flow-editor .comment-entry-body{flex:1;min-width:0}.node-flow-editor .comment-entry-meta{align-items:center;display:flex;gap:6px;margin-bottom:3px}.node-flow-editor .comment-author{color:#222;font-size:12px;font-weight:600}.node-flow-editor .comment-time{color:#aaa;font-size:11px}.node-flow-editor .comment-more{color:#bbb;cursor:pointer;font-size:14px;margin-left:auto}.node-flow-editor .comment-more:hover{color:#555}.node-flow-editor .comment-text{color:#333;font-size:12px;line-height:1.55;word-break:break-word}.node-flow-editor .comment-input-row{align-items:center;border-top:1px solid #f0ede8;display:flex;gap:8px;padding:10px 12px 12px}.node-flow-editor .comment-input{background:#f5f6f9;border:1px solid #e4e6ec;border-radius:20px;color:#333;flex:1;font-family:inherit;font-size:12px;height:30px;outline:none;padding:0 12px;transition:border-color .15s}.node-flow-editor .comment-input:focus{background:#fff;border-color:#a855f7}.node-flow-editor .comment-input::-moz-placeholder{color:#bbb}.node-flow-editor .comment-input::placeholder{color:#bbb}.node-flow-editor .comment-send-btn{align-items:center;background:#e0d0f8;border:none;border-radius:50%;color:#a855f7;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .15s;width:28px}.node-flow-editor .comment-send-btn.active,.node-flow-editor .comment-send-btn:hover{background:#a855f7;color:#fff}.node-flow-editor .modal-bg{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000004d;display:flex;inset:0;justify-content:center;position:fixed;z-index:9998}.node-flow-editor .modal{background:#fff;border-radius:16px;box-shadow:0 24px 60px #0003;padding:26px;width:380px}.node-flow-editor .modal h3{color:#111;font-size:14px;font-weight:700;margin-bottom:6px}.node-flow-editor .modal p{color:#888;font-size:12px;line-height:1.6;margin-bottom:16px}.node-flow-editor .modal input{background:#f9f8f6;border:1px solid #e8e4de;border-radius:8px;color:#111;font-family:inherit;font-size:12px;height:34px;margin-bottom:14px;outline:none;padding:0 11px;transition:border-color .15s;width:100%}.node-flow-editor .modal input:focus{border-color:#5048e5}.node-flow-editor .modal-btns{display:flex;gap:8px;justify-content:flex-end}.node-flow-editor .modal-btn{background:#f7f5f2;border:1px solid #e0dbd4;border-radius:8px;color:#555;cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;height:32px;padding:0 16px;transition:all .15s}.node-flow-editor .modal-btn.primary{background:#5048e5;border-color:#5048e5;color:#fff}.node-flow-editor .modal-btn.primary:hover{background:#4038d0}.node-flow-editor .modal-btn:hover{background:#f0eeff;border-color:#5048e5;color:#5048e5}.node-flow-editor .gpt-note{color:#bbb;font-size:10px;line-height:1.5;margin-top:4px}.node-flow-editor .node img{pointer-events:none}.node-flow-editor .bb-abtest-btn:hover{background:#fff3e6;color:#e67e22}.node-flow-editor .abtest-card{overflow:hidden}.node-flow-editor .abtest-product{background:#f8f9fc;border-bottom:1px solid #eef0f5;padding:10px 12px}.node-flow-editor .abtest-product-empty{color:#98a0b3;font-size:11px}.node-flow-editor .abtest-product-row{align-items:center;display:flex;gap:8px;min-width:0}.node-flow-editor .abtest-product-name{color:#1f2430;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-flow-editor .abtest-product-sub{color:#98a0b3;font-size:10px;margin-top:4px}.node-flow-editor .abtest-variants{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));padding:12px}.node-flow-editor .abtest-variants-empty{color:#98a0b3;font-size:11px;padding:16px 12px;text-align:center}.node-flow-editor .abtest-variant{align-items:center;display:flex;flex-direction:column;gap:4px;min-width:0}.node-flow-editor .abtest-variant-thumb-wrap{aspect-ratio:1;background:#f5f6f9;border:2px solid #e4e6ec;border-radius:10px;overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s;width:100%}.node-flow-editor .abtest-variant.active .abtest-variant-thumb-wrap{border-color:#4a6cf7;box-shadow:0 0 0 2px #4a6cf740}.node-flow-editor .abtest-variant.winner .abtest-variant-thumb-wrap{border-color:#f0b429;box-shadow:0 0 0 2px #f0b42959}.node-flow-editor .abtest-variant-thumb{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.node-flow-editor .abtest-variant-thumb-ph{align-items:center;background:#dce8f8;color:#5080c8;display:flex;height:100%;justify-content:center;width:100%}.node-flow-editor .abtest-winner-badge{background:#f0b429;border-radius:50%;box-shadow:0 1px 4px #00000026;color:#fff;font-size:11px;height:18px;line-height:18px;position:absolute;right:4px;text-align:center;top:4px;width:18px}.node-flow-editor .abtest-active-dot{animation:abtest-pulse 1.2s ease-in-out infinite;background:#4a6cf7;border-radius:50%;bottom:4px;box-shadow:0 0 0 2px #fff;height:8px;left:4px;position:absolute;width:8px}@keyframes abtest-pulse{0%,to{opacity:1}50%{opacity:.45}}.node-flow-editor .abtest-variant-label{color:#98a0b3;font-size:10px;font-weight:600}.node-flow-editor .abtest-variant-orders{color:#1f2430;font-size:12px;font-weight:700;line-height:1}.node-flow-editor .abtest-variant-bar{align-self:stretch;background:linear-gradient(90deg,#4a6cf7,#7aa2ff);border-radius:99px;height:4px;max-width:100%;transition:width .25s ease}.node-flow-editor .abtest-variant.winner .abtest-variant-bar{background:linear-gradient(90deg,#f0b429,#ffd56a)}.node-flow-editor .abtest-progress{background:#eef0f5;border-radius:99px;height:4px;margin:8px 0 0;overflow:hidden}.node-flow-editor .abtest-progress-fill{background:linear-gradient(90deg,#e67e22,#f39c12);border-radius:99px;height:100%;transition:width .3s ease}.node-flow-editor .img-hover-wrap{display:block;line-height:0;position:relative}.node-flow-editor .img-hover-wrap .img-expand-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd1;border:none;border-radius:8px;box-shadow:0 1px 6px #0000002e;color:#444;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;position:absolute;right:7px;top:7px;transform:scale(.8);transition:opacity .15s ease,transform .15s ease;width:28px;z-index:5}.node-flow-editor .img-hover-wrap .img-expand-btn:hover{background:#fff;color:#111}.node-flow-editor .img-hover-wrap:hover .img-expand-btn{opacity:1;transform:scale(1)}.gallery-backdrop{align-items:center;background:#000000e0;cursor:zoom-out;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.gallery-img{border-radius:10px;box-shadow:0 8px 60px #0009;cursor:default;max-height:90vh;max-width:min(90vw,1200px);-o-object-fit:contain;object-fit:contain}.gallery-close{align-items:center;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:fixed;right:22px;top:18px;transition:background .15s;width:40px;z-index:10000}.gallery-close:hover{background:#ffffff47}.gallery-counter{color:#ffffffb3;font-size:.8rem;left:50%;letter-spacing:.04em;pointer-events:none;position:fixed;top:22px;transform:translate(-50%);z-index:10000}.gallery-arrow{align-items:center;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:fixed;top:50%;transform:translateY(-50%);transition:background .15s,transform .15s;width:48px;z-index:10000}.gallery-arrow:hover{background:#ffffff47}.gallery-arrow--prev{left:20px}.gallery-arrow--prev:hover{transform:translateY(-50%) translate(-2px)}.gallery-arrow--next{right:20px}.gallery-arrow--next:hover{transform:translateY(-50%) translate(2px)}.gallery-dots{align-items:center;bottom:24px;display:flex;gap:8px;left:50%;position:fixed;transform:translate(-50%);z-index:10000}.gallery-dot{background:#ffffff59;border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .15s,transform .15s;width:8px}.gallery-dot.active{background:#fff;transform:scale(1.25)}.gallery-dot:hover:not(.active){background:#fff9}.gallery-enter-active,.gallery-leave-active{transition:opacity .2s ease}.gallery-enter-from,.gallery-leave-to{opacity:0}.nfe-tooltip{background:#1f2330;border-radius:7px;box-shadow:0 4px 14px #00000038;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11.5px;font-weight:500;line-height:1.3;max-width:280px;padding:5px 9px;pointer-events:none;position:fixed;transform:translate(-50%,-100%);white-space:nowrap;z-index:20000}.nfe-tooltip:after{border:4px solid transparent;border-top-color:#1f2330;content:"";left:50%;position:absolute;top:100%;transform:translate(-50%)}.nfe-tooltip.below{transform:translate(-50%)}.nfe-tooltip.below:after{border-bottom-color:#1f2330;border-top-color:transparent;bottom:100%;top:auto}
