@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Noto+Serif+SC:wght@400;500;600;700&display=swap";*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:#22d3ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-500\/20{--tw-gradient-from:#06b6d433 var(--tw-gradient-from-position);--tw-gradient-to:#06b6d400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-blue-300{--tw-gradient-to:#93c5fd00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#93c5fd var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-400\/20{--tw-gradient-to:#60a5fa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#60a5fa33 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-amber-300\/20{--tw-gradient-to:#fcd34d33 var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.text-red-500{color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-500,.text-white{--tw-text-opacity:1}.text-white{color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.hover\:shadow:hover{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.vue-flow{direction:ltr;height:100%;overflow:hidden;position:relative;width:100%;z-index:0}.vue-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{pointer-events:none;transform-origin:0 0;z-index:2}.vue-flow__viewport{overflow:clip;z-index:4}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{overflow:visible;pointer-events:none}.vue-flow__connection-path,.vue-flow__edge-path{fill:none;stroke:#b1b1b7;stroke-width:1}.vue-flow__edge{cursor:pointer;pointer-events:visibleStroke}.vue-flow__edge.animated path{animation:dashdraw .5s linear infinite;stroke-dasharray:5}.vue-flow__edge.animated path.vue-flow__edge-interaction{animation:none;stroke-dasharray:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{animation:dashdraw .5s linear infinite;stroke-dasharray:5}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.vue-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{min-height:5px;min-width:5px;pointer-events:none;position:absolute}.vue-flow__handle.connectable{cursor:crosshair;pointer-events:all}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.vue-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{margin:15px;position:absolute;z-index:5}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg:#fff;--vf-node-text:#222;--vf-connection-path:#b1b1b7;--vf-handle:#555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{background-color:var(--vf-node-bg);border-color:var(--vf-node-color);border-radius:3px;border-style:solid;border-width:1px;color:var(--vf-node-text);font-size:12px;padding:10px;text-align:center;width:150px}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid #555;outline:none}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color:var(--vf-node-color,#0041d0);--vf-handle:var(--vf-node-color,#0041d0);--vf-box-shadow:var(--vf-node-color,#0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color,#0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{border:1px solid var(--vf-node-color,#0041d0);outline:none}.vue-flow__node-default{--vf-handle:var(--vf-node-color,#1a192b);--vf-box-shadow:var(--vf-node-color,#1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color,#1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{border:1px solid var(--vf-node-color,#1a192b);outline:none}.vue-flow__node-output{--vf-handle:var(--vf-node-color,#ff0072);--vf-box-shadow:var(--vf-node-color,#ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color,#ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid var(--vf-node-color,#ff0072);outline:none}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{background:var(--vf-handle);border:1px solid #fff;border-radius:100%;height:6px;width:6px}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.btn{align-items:center;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);color:var(--text-1);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:13px;font-weight:500;gap:var(--sp-2,8px);justify-content:center;padding:7px 14px;transition:all .3s cubic-bezier(.16,1,.3,1);white-space:nowrap}.btn-primary{background:var(--accent-gradient);border-color:transparent;box-shadow:0 8px 20px #ff6b0038,0 2px 6px #cc55002e;color:#fff}.btn-primary:hover{box-shadow:0 12px 24px #ff6b0047,0 4px 10px #c503;color:#fff;filter:brightness(1.08);transform:translateY(-1px)}.btn-sm{font-size:12px;padding:4px 10px}.btn-icon{border-radius:var(--radius);height:36px;padding:0;width:36px}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:visible;transition:all .3s cubic-bezier(.16,1,.3,1)}.\!input{background:var(--bg-input)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text-0)!important;font-family:var(--font-body)!important;font-size:13.5px!important;outline:none!important;padding:9px 13px!important;transition:all .3s cubic-bezier(.16,1,.3,1)!important;width:100%!important}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-family:var(--font-body);font-size:13.5px;outline:none;padding:9px 13px;transition:all .3s cubic-bezier(.16,1,.3,1);width:100%}.\!input:hover{border-color:var(--border-strong)!important}.input:hover{border-color:var(--border-strong)}.\!input:focus{background:var(--bg-0)!important;border-color:var(--border-focus)!important;box-shadow:0 0 0 3px var(--accent-glow)!important}.input:focus{background:var(--bg-0);border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.\!input::-moz-placeholder{color:var(--text-3)!important;font-weight:300!important}.\!input::placeholder{color:var(--text-3)!important;font-weight:300!important}.input::-moz-placeholder{color:var(--text-3);font-weight:300}.input::placeholder{color:var(--text-3);font-weight:300}.\!tag{align-items:center!important;background:var(--bg-2)!important;border-radius:99px!important;color:var(--text-2)!important;display:inline-flex!important;font-size:11px!important;font-weight:500!important;gap:4px!important;letter-spacing:.02em!important;padding:3px 9px!important}.tag{align-items:center;background:var(--bg-2);border-radius:99px;color:var(--text-2);display:inline-flex;font-size:11px;font-weight:500;gap:4px;letter-spacing:.02em;padding:3px 9px}.panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.z-10{z-index:10}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-8{margin-left:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.h-10{height:2.5rem}.h-12{height:3rem}.h-full{height:100%}.h-px{height:1px}.max-h-\[200px\]{max-height:200px}.w-14{width:3.5rem}.w-16{width:4rem}.w-\[400px\]{width:400px}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-none{cursor:none}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.\!bg-\[\#06b6d4\]{--tw-bg-opacity:1!important;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))!important}.\!bg-\[\#10b981\]{--tw-bg-opacity:1!important;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))!important}.\!bg-\[\#22c55e\]{--tw-bg-opacity:1!important;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))!important}.\!bg-\[\#a78bfa\]{--tw-bg-opacity:1!important;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))!important}.\!bg-\[\#f43f5e\]{--tw-bg-opacity:1!important;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))!important}.\!bg-\[\#f59e0b\]{--tw-bg-opacity:1!important;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))!important}.\!bg-\[\#fbbf24\]{--tw-bg-opacity:1!important;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))!important}.\!bg-\[var\(--accent-color\)\]{background-color:var(--accent-color)!important}.\!bg-purple-500{--tw-bg-opacity:1!important;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))!important}.bg-\[var\(--accent-color\)\]{background-color:var(--accent-color)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-\[var\(--bg-tertiary\)\]{background-color:var(--bg-tertiary)}.bg-\[var\(--border-color\)\]{background-color:var(--border-color)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/50{background-color:#00000080}.bg-red-50{background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50,.bg-white{--tw-bg-opacity:1}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,211,238,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-500\/20{--tw-gradient-from:rgba(6,182,212,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,182,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-blue-300{--tw-gradient-to:rgba(147,197,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#93c5fd var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-400\/20{--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(96,165,250,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-amber-200{--tw-gradient-to:#fde68a var(--tw-gradient-to-position)}.to-amber-300\/20{--tw-gradient-to:rgba(252,211,77,.2) var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.text-\[\#a855f7\]{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-\[var\(--error\)\]{color:var(--error)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--text-2\)\]{color:var(--text-2)}.text-\[var\(--text-3\)\]{color:var(--text-3)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--warning\)\]{color:var(--warning)}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/30{color:#ffffff4d}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Microsoft YaHei","微软雅黑",sans-serif;--font-body:"Microsoft YaHei","微软雅黑",sans-serif;--font-mono:"Microsoft YaHei",monospace;--radius-sm:4px;--radius:8px;--radius-lg:14px;--radius-xl:20px}.canvas-page{background:var(--bg-base);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.canvas-page-wrapper{height:100%;overflow-x:hidden;overflow-y:auto;width:100%}:root{--bg-base:#0a0a0a;--bg-0:#1a1a1a;--bg-1:#2a2a2a;--bg-2:#3a3a3a;--bg-3:#4a4a4a;--bg-hover:#333;--bg-active:#444;--bg-input:#2d2d2d;--bg-surface:rgba(26,26,26,.9);--border:#404040;--border-strong:#555;--border-focus:#ff8533;--text-0:#fff;--text-1:#e6e6e6;--text-2:#b3b3b3;--text-3:grey;--accent:#ff6b00;--accent-dark:#c50;--accent-bg:rgba(255,107,0,.2);--accent-text:#ff9a50;--accent-glow:rgba(255,107,0,.3);--accent-gradient:linear-gradient(135deg,#ff9a50,#ff6b00 46%,#c50);--panel-bg:rgba(26,26,26,.88);--panel-border:rgba(80,80,80,.3);--shadow-panel:0 18px 48px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.3);--success:#4caf50;--success-bg:rgba(76,175,80,.2);--error:#f44336;--error-bg:rgba(244,67,54,.2);--info:#2196f3;--info-bg:rgba(33,150,243,.2);--warning:#ff9800;--warning-bg:rgba(255,152,0,.2);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 3px 10px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3);--shadow:0 8px 20px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);--shadow-lg:0 14px 30px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.5);--shadow-xl:0 20px 44px rgba(0,0,0,.7),0 8px 16px rgba(0,0,0,.6);--shadow-card:0 8px 20px rgba(0,0,0,.4);--shadow-elevated:0 18px 40px rgba(0,0,0,.6),0 6px 16px rgba(0,0,0,.5);--modal-mask:rgba(0,0,0,.7);--modal-bg:#1a1a1a;--modal-bg-2:#2a2a2a;--modal-border:hsla(0,0%,100%,.07);--modal-border-strong:hsla(0,0%,100%,.12);--modal-text:#fff;--modal-text-muted:hsla(0,0%,100%,.55);--modal-input-bg:hsla(0,0%,100%,.03);--modal-shadow:0 18px 48px rgba(0,0,0,.5),0 4px 14px rgba(0,0,0,.4)}body{color:var(--text-0);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vue-flow,body{background-color:var(--bg-base)}.vue-flow{background:radial-gradient(circle at 20% 20%,rgba(255,107,0,.03) 0,transparent 40%),radial-gradient(circle at 80% 80%,rgba(122,167,255,.03) 0,transparent 40%),var(--bg-base)}.vue-flow__node{border-radius:var(--radius-lg)}.vue-flow__node-label{display:none!important}.vue-flow__edge-path{stroke:var(--border);stroke-width:2}.vue-flow__handle{background-color:var(--accent)!important;border:2px solid var(--bg-0);height:14px;opacity:0;transition:opacity .2s,transform .2s,background-color .2s;width:14px}.vue-flow__node.node-selected .vue-flow__handle,.vue-flow__node:hover .vue-flow__handle{opacity:1}.vue-flow__handle:hover{background-color:var(--accent-text)!important;transform:scale(1.3)}.vue-flow__minimap{background:var(--bg-0)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;overflow:hidden}.vue-flow__controls{display:none}.vue-flow__background{background-color:transparent}.canvas-subheader{align-items:center;background:var(--bg-0);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;height:44px;justify-content:space-between;padding:0 16px;z-index:100}.subheader-left{align-items:center;display:flex;gap:12px;position:relative}.subheader-right{align-items:center;display:flex;gap:8px}.canvas-header{background:var(--bg-0);border-bottom:1px solid var(--border);flex-shrink:0;height:52px;justify-content:space-between;padding:0 16px;z-index:100}.canvas-header,.header-left{align-items:center;display:flex}.header-left{gap:12px;position:relative}.header-right{align-items:center;display:flex;gap:8px}.project-dropdown{align-items:center;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-1);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .3s cubic-bezier(.16,1,.3,1)}.project-dropdown:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-0)}.project-menu{animation:fadeIn .15s ease-out;left:52px;min-width:140px;padding:6px;position:absolute;top:calc(100% + 8px)}.project-menu button{background:none;border:none;border-radius:var(--radius);color:var(--text-1);cursor:pointer;display:block;font-size:13px;padding:8px 12px;text-align:left;transition:all .2s;width:100%}.project-menu button:hover{background:var(--bg-hover);color:var(--text-0)}.menu-divider{background:var(--border);height:1px;margin:4px 0}.text-error{color:var(--error)!important}.user-area{align-items:center;border-left:1px solid var(--border);display:flex;gap:12px;margin-left:8px;padding-left:12px}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.username{color:var(--text-1);font-size:13px;font-weight:500}.points{color:var(--accent-text);font-size:11px;font-weight:500}.canvas-main{flex:1;overflow:hidden;position:relative}.left-toolbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--bg-surface);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:4px;left:16px;padding:8px;position:absolute;top:50%;transform:translateY(-50%);z-index:10}.toolbar-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius);color:var(--text-2);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s cubic-bezier(.16,1,.3,1);width:40px}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-0)}.toolbar-btn:disabled{cursor:not-allowed;opacity:.3}.toolbar-btn:disabled:hover{background:transparent}.toolbar-btn-primary{background:var(--accent-gradient);box-shadow:0 4px 12px #ff6b0040;color:#fff}.toolbar-btn-primary:hover{box-shadow:0 6px 16px #ff6b004d;filter:brightness(1.1);transform:scale(1.05)}.toolbar-divider{background:var(--border);height:1px;margin:4px 0}.node-menu{animation:fadeIn .15s ease-out;left:70px;min-width:160px;padding:8px;position:absolute;top:50%;transform:translateY(-50%);z-index:20}.node-menu-item{align-items:center;background:none;border:none;border-radius:var(--radius);color:var(--text-1);cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 12px;text-align:left;transition:all .2s;width:100%}.node-menu-item:hover{background:var(--bg-hover);color:var(--text-0)}.context-menu{background:var(--panel-bg);min-width:140px;padding:4px;position:fixed;z-index:9999}.bottom-controls,.context-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.bottom-controls{align-items:center;background:var(--bg-surface);bottom:16px;display:flex;gap:4px;left:16px;padding:6px;position:absolute;z-index:10}.zoom-controls{align-items:center;display:flex;gap:2px;padding:0 4px}.zoom-level{color:var(--text-2);font-size:11px;min-width:38px;text-align:center}.bottom-input-panel{bottom:16px;display:none;left:50%;max-width:680px;position:absolute;transform:translate(-50%);width:calc(100% - 160px);z-index:20}.chat-sidebar{background:var(--bg-surface);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000004d;display:flex;flex-direction:column;height:100%;position:absolute;right:0;top:0;width:380px;z-index:25}.chat-sidebar-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 18px}.chat-sidebar-title{color:var(--text-0);font-size:15px;font-weight:600}.chat-sidebar-model{border-bottom:1px solid var(--border);padding:14px 18px}.chat-sidebar-model :deep(.n-select){width:100%}.chat-sidebar-model :deep(.n-select-trigger){background:var(--bg-input);border-color:var(--border);color:var(--text-0)}.chat-sidebar-model :deep(.n-select-placeholder){color:var(--text-3)}.vue-flow__minimap{margin-bottom:10px;margin-right:10px;z-index:100!important}.canvas-page.chat-sidebar-open .vue-flow__minimap{margin-left:10px;margin-right:0}.processing-indicator{animation:pulse-glow 2s infinite;background:var(--bg-0);border:1px solid var(--accent);border-radius:var(--radius-lg);margin:10px 12px;padding:12px 16px}.processing-info{align-items:center;color:var(--accent-text);display:flex;font-size:13px;gap:8px;margin-bottom:6px}.processing-text{color:var(--text-1);font-size:13px;line-height:1.5;white-space:pre-wrap}.input-card{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:12px;padding:12px 14px}.chat-textarea{background:transparent;color:var(--text-0);font-family:var(--font-body);font-size:14px;line-height:1.5;max-height:160px;min-height:80px;outline:none;resize:none;width:100%}.chat-textarea::-moz-placeholder{color:var(--text-3)}.chat-textarea::placeholder{color:var(--text-3)}.chat-textarea:disabled{opacity:.5}.input-actions{justify-content:space-between;margin-top:8px}.input-actions,.input-right{align-items:center;display:flex}.input-right{gap:12px}.auto-execute{color:var(--text-2);font-size:12px;gap:6px}.auto-execute,.send-btn{align-items:center;cursor:pointer;display:flex}.send-btn{background:var(--accent-gradient);border:none;border-radius:var(--radius);box-shadow:0 4px 12px #ff6b0040;color:#fff;height:36px;justify-content:center;transition:all .3s cubic-bezier(.16,1,.3,1);width:36px}.send-btn:hover{box-shadow:0 6px 16px #ff6b004d;filter:brightness(1.08);transform:translateY(-1px)}.send-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.quick-suggestions{display:none}.node-base{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:240px;overflow:visible;transition:border-color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}.vue-flow__node.selected .node-base{overflow:auto;resize:both}.vue-flow__node:not(.selected) .node-base{resize:none}.node-base:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.vue-flow__node.selected .camera-angle-node,.vue-flow__node.selected .image-node,.vue-flow__node.selected .node-base,.vue-flow__node.selected .video-node{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-glow),var(--shadow)!important}.vue-flow__node.selected .node-base::-webkit-resizer{background:transparent;border-radius:0 0 var(--radius-lg) 0;height:12px;width:12px}.image-node.node-base,.video-node{border-color:transparent;box-shadow:none}.image-node.node-base:hover,.video-node:hover{border-color:var(--border);box-shadow:var(--shadow-card)}.node-collapsed-icon{align-items:center;border-radius:12px;cursor:pointer;display:flex;height:40px;justify-content:center;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1);width:40px}.node-collapsed-icon:hover{box-shadow:var(--shadow);transform:scale(1.1)}.node-collapsed-icon .collapsed-label{bottom:-16px;color:var(--text-3);font-size:9px;left:50%;max-width:80px;overflow:hidden;position:absolute;text-overflow:ellipsis;transform:translate(-50%);white-space:nowrap}.collapsed-handle{height:10px!important;opacity:.6;transition:opacity .2s;width:10px!important}.collapsed-handle:hover{opacity:1}.collapsed-handle-left{left:-5px!important}.collapsed-handle-left,.collapsed-handle-right{top:50%!important;transform:translateY(-50%)!important}.collapsed-handle-right{left:auto!important;right:-5px!important}.node-collapsed-icon.image-collapsed{background:var(--success-bg);border:1px solid rgba(76,175,80,.3);color:var(--success)}.node-collapsed-icon.video-collapsed{background:var(--warning-bg);border:1px solid rgba(255,152,0,.3);color:var(--warning)}.node-collapsed-icon.llm-collapsed{background:var(--accent-bg);border:1px solid rgba(255,107,0,.3);color:var(--accent-text)}.node-collapsed-icon.text-collapsed{background:var(--info-bg);border:1px solid rgba(33,150,243,.3);color:var(--info)}.node-collapsed-icon.media-collapsed{background:var(--bg-2);border:1px solid var(--border);color:var(--text-2)}.node-collapse-toggle{align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;color:var(--text-3);cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;transition:all .2s;width:22px}.node-collapse-toggle:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-0)}.bottom-mini-bar{align-items:center;background:var(--bg-surface);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--border);display:flex;justify-content:space-between;min-height:28px;padding:4px 8px}.mini-bar-left{gap:4px}.mini-bar-left,.mini-bar-right{align-items:center;display:flex}.mini-bar-right{gap:2px}.node-header{align-items:center;border-bottom:1px solid var(--border);cursor:grab;display:flex;justify-content:space-between;padding:10px 12px}.node-header:active{cursor:grabbing}.node-title{align-items:center;display:flex;gap:6px}.node-title,.node-title-input{color:var(--text-0);font-size:12px;font-weight:600}.node-title-input{background:var(--bg-hover);border:1px solid var(--border-focus);border-radius:var(--radius-sm);outline:none;padding:2px 6px}.node-badge{background:var(--bg-2);border-radius:4px;color:var(--text-3);font-size:10px;font-weight:600;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.node-badge-text{background:var(--info-bg);color:var(--info)}.node-badge-image{background:var(--success-bg);color:var(--success)}.node-badge-video{background:var(--warning-bg);color:var(--warning)}.node-badge-llm{background:var(--accent-bg);color:var(--accent-text)}.node-action-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s;width:24px}.node-action-btn:hover{background:var(--bg-hover);color:var(--text-0)}.node-content{padding:12px}.node-footer{border-top:1px solid var(--border);gap:6px;justify-content:flex-end;padding:8px 12px}.config-row,.node-footer{align-items:center;display:flex}.config-row{justify-content:space-between}.config-label{color:var(--text-2);font-size:12px}.config-value{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-1);cursor:pointer;display:flex;font-size:12px;gap:4px;padding:4px 8px;transition:all .2s}.config-value:hover{background:var(--bg-hover);color:var(--accent-text)}.config-tip{background:var(--bg-1);border-radius:var(--radius-sm);color:var(--text-2);font-size:11px;line-height:1.4;padding:6px 10px}.connection-indicators{align-items:center;border-top:1px solid var(--border);display:flex;gap:6px;padding-top:8px}.connection-badge{border-radius:99px;font-size:11px;padding:3px 8px}.badge-active{background:var(--success-bg);color:var(--success)}.badge-active-blue{background:var(--info-bg);color:var(--info)}.badge-active-purple{background:#a855f733;color:#a855f7}.badge-active-orange{background:var(--warning-bg);color:var(--warning)}.badge-inactive{background:var(--bg-2);color:var(--text-3)}.error-message{align-items:flex-start;background:var(--error-bg,rgba(239,68,68,.08));border:1px solid rgba(239,68,68,.2);border-radius:6px;color:var(--error);display:flex;font-size:11px;gap:6px;margin-top:6px;max-width:100%;overflow:hidden;padding:6px 8px}.error-text{flex:1;line-height:1.4;min-width:0;word-break:break-all}.error-close{align-items:center;background:#ef44441f;border:none;border-radius:50%;color:var(--error);cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .15s;width:18px}.error-close:hover{background:#ef444440}.node-status{align-items:center;background:var(--bg-2);border-radius:99px;color:var(--text-3);display:flex;font-size:11px;gap:4px;padding:3px 8px}.node-status.success{background:var(--success-bg);color:var(--success)}.node-status.error{background:var(--error-bg);color:var(--error)}.node-status.loading{background:var(--accent-bg);color:var(--accent-text)}.image-config-node-wrapper{position:relative}.text-node-content{min-width:200px;padding:12px}.text-node-textarea{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-family:var(--font-body);font-size:13px;line-height:1.5;max-height:200px;min-height:60px;outline:none;padding:10px;resize:none;transition:all .2s;width:100%}.text-node-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.text-node-textarea::-moz-placeholder{color:var(--text-3)}.text-node-textarea::placeholder{color:var(--text-3)}.mention-chip{align-items:center;background:var(--accent-bg);border-radius:99px;color:var(--accent-text);cursor:pointer;display:inline-flex;font-size:11px;gap:3px;padding:2px 6px}.mention-chip:hover{background:var(--accent);color:#fff}.image-node-wrapper{min-width:200px}.image-node-preview{align-items:center;aspect-ratio:1;background:var(--bg-1);border-radius:var(--radius);display:flex;justify-content:center;overflow:hidden;width:100%}.image-node-preview img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.image-node-placeholder{align-items:center;color:var(--text-3);display:flex;flex-direction:column;gap:8px}.image-node-actions{display:flex;gap:6px;margin-top:8px}.video-node-wrapper{min-width:240px}.video-node-preview{align-items:center;aspect-ratio:16/9;background:var(--bg-1);border-radius:var(--radius);display:flex;justify-content:center;overflow:hidden;width:100%}.video-node-preview video{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.llm-config-wrapper{min-width:280px}.system-prompt-area{margin-bottom:10px}.system-prompt-label{color:var(--text-2);font-size:11px;margin-bottom:4px}.system-prompt-input{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-family:var(--font-body);font-size:12px;line-height:1.5;min-height:50px;outline:none;padding:8px 10px;resize:vertical;transition:all .2s;width:100%}.system-prompt-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.output-format-select{display:flex;gap:6px;margin-top:8px}.format-option{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;flex:1;font-size:11px;padding:6px 10px;text-align:center;transition:all .2s}.format-option:hover{background:var(--bg-hover);color:var(--text-1)}.format-option.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text)}.image-node-wrapper{position:relative}.image-node{max-width:360px}.image-loading-state{align-items:center;aspect-ratio:1;background:linear-gradient(135deg,#67e8f9,#60a5fa 50%,#fbbf24);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;justify-content:center;overflow:hidden;position:relative}.image-loading-overlay{animation:pulse-glow 2s infinite;background:linear-gradient(135deg,#06b6d433,#60a5fa33 50%,#fbbf2433);inset:0;position:absolute}.image-loading-icon{height:48px;position:relative;width:56px;z-index:1}.image-loading-text{color:#fff;font-size:13px;font-weight:500;position:relative;z-index:1}.image-error-state{aspect-ratio:1;background:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius);max-width:240px;overflow:hidden;position:relative}.image-error-content,.image-error-state{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center}.image-error-content{padding:12px}.image-error-text{color:var(--error);font-size:12px;line-height:1.4;max-height:80px;overflow-y:auto;padding:0 8px;text-align:center;word-break:break-all}.image-error-close{align-items:center;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:50%;color:var(--error);cursor:pointer;display:flex;height:22px;justify-content:center;position:absolute;right:4px;top:4px;transition:all .15s;width:22px}.image-error-close:hover{background:#ef44444d}.image-preview-container{border-radius:var(--radius);overflow:hidden;position:relative}.image-preview-img{display:block;height:auto;width:100%}.image-upload-placeholder{background:var(--bg-1);border:2px dashed var(--border);border-radius:var(--radius);padding:12px}.image-upload-area{align-items:center;aspect-ratio:16/9;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;position:relative;transition:all .2s}.image-upload-area:hover{background:var(--bg-hover)}.image-upload-input{cursor:pointer;inset:0;opacity:0;position:absolute}.inpaint-canvas{cursor:none;height:100%;inset:0;position:absolute;width:100%;z-index:10}.brush-cursor{background:#a855f74d;border:2px solid #a855f7;border-radius:50%;pointer-events:none;position:absolute;transition:none;z-index:11}.inpaint-toolbar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:99px;box-shadow:var(--shadow);display:flex;gap:6px;left:50%;padding:4px 8px;position:absolute;top:6px;transform:translate(-50%);z-index:100}.inpaint-toolbar-section{align-items:center;border-right:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:11px;gap:4px;padding-right:6px}.inpaint-toolbar-slider{align-items:center;display:flex;gap:4px;width:64px}.slider-dot{background:#a855f7;border-radius:50%;height:6px;width:6px}.inpaint-toolbar-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:#9ca3af;cursor:pointer;padding:4px;transition:all .2s}.inpaint-toolbar-btn:hover{background:#f3f4f6;color:#6b7280}.inpaint-toolbar-apply{background:#a855f7;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s}.inpaint-toolbar-apply:hover{background:#9333ea}.llm-node-wrapper{position:relative}.llm-node{max-width:400px}.llm-header{background:linear-gradient(90deg,rgba(168,85,247,.1),transparent)}.llm-generate-btn{background:#a855f7;border-color:#a855f7;color:#fff}.llm-generate-btn:hover{background:#9333ea;border-color:#9333ea;box-shadow:0 4px 12px #a855f74d}.llm-copy-btn{align-items:center;background:none;border:none;color:var(--text-2);cursor:pointer;display:flex;font-size:11px;gap:4px;transition:color .2s}.llm-copy-btn:hover{color:#a855f7}.llm-output-preview{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-size:11px;max-height:150px;overflow-y:auto;padding:8px}.vue-flow__edge.imageRole .vue-flow__edge-path{stroke:var(--accent);stroke-width:2}.vue-flow__edge.promptOrder .vue-flow__edge-path{stroke:var(--info);stroke-dasharray:5 3;stroke-width:1.5}.vue-flow__edge.imageOrder .vue-flow__edge-path{stroke:var(--success);stroke-width:1.5}.edge-label{background:var(--bg-1);border:1px solid var(--border);border-radius:4px;color:var(--text-2);font-size:10px;padding:2px 6px}.text-accent{color:var(--accent)!important}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 8px transparent}}.placeholder\:text-\[var\(--text-secondary\)\]::-moz-placeholder{color:var(--text-secondary)}.placeholder\:text-\[var\(--text-secondary\)\]::placeholder{color:var(--text-secondary)}.hover\:bg-\[var\(--accent-hover\)\]:hover{background-color:var(--accent-hover)}.hover\:bg-\[var\(--bg-secondary\)\]:hover{background-color:var(--bg-secondary)}.hover\:bg-\[var\(--bg-tertiary\)\]:hover{background-color:var(--bg-tertiary)}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:text-\[var\(--accent-color\)\]:hover{color:var(--accent-color)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-\[var\(--accent-color\)\]:focus{border-color:var(--accent-color)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:768px){.md\:px-8{padding-left:2rem;padding-right:2rem}}@media(prefers-color-scheme:dark){.dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/20{background-color:#7f1d1d33}.dark\:text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:hover\:bg-purple-900\/20:hover{background-color:#581c8733}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#0a0a0a;--bg-0:#1a1a1a;--bg-1:#2a2a2a;--bg-2:#3a3a3a;--bg-3:#4a4a4a;--bg-hover:#333;--bg-active:#444;--bg-input:#2d2d2d;--bg-surface:rgba(26,26,26,.9);--border:#404040;--border-strong:#555;--border-focus:#ff8533;--text-0:#fff;--text-1:#e6e6e6;--text-2:#b3b3b3;--text-3:grey;--accent:#ff6b00;--accent-dark:#c50;--accent-bg:rgba(255,107,0,.2);--accent-text:#ff9a50;--accent-glow:rgba(255,107,0,.3);--accent-gradient:linear-gradient(135deg,#ff9a50,#ff6b00 46%,#c50);--panel-bg:rgba(26,26,26,.88);--panel-border:rgba(80,80,80,.3);--shadow-panel:0 18px 48px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.3);--success:#4caf50;--success-bg:rgba(76,175,80,.2);--error:#f44336;--error-bg:rgba(244,67,54,.2);--info:#2196f3;--info-bg:rgba(33,150,243,.2);--warning:#ff9800;--warning-bg:rgba(255,152,0,.2);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 3px 10px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3);--shadow:0 8px 20px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);--shadow-lg:0 14px 30px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.5);--shadow-xl:0 20px 44px rgba(0,0,0,.7),0 8px 16px rgba(0,0,0,.6);--shadow-card:0 8px 20px rgba(0,0,0,.4);--shadow-elevated:0 18px 40px rgba(0,0,0,.6),0 6px 16px rgba(0,0,0,.5);--shadow-inset:inset 0 1px 3px rgba(0,0,0,.3);--radius-sm:4px;--radius:8px;--radius-lg:14px;--radius-xl:20px;--font-display:"Microsoft YaHei","微软雅黑",sans-serif;--font-body:"Microsoft YaHei","微软雅黑",sans-serif;--font-mono:"Microsoft YaHei","微软雅黑",monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--modal-mask:rgba(0,0,0,.7);--modal-bg:#1a1a1a;--modal-bg-2:#2a2a2a;--modal-border:hsla(0,0%,100%,.07);--modal-border-strong:hsla(0,0%,100%,.12);--modal-text:#fff;--modal-text-muted:hsla(0,0%,100%,.55);--modal-input-bg:hsla(0,0%,100%,.03);--modal-shadow:0 18px 48px rgba(0,0,0,.5),0 4px 14px rgba(0,0,0,.4);--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}.light-theme{--bg-base:#f3f6fb;--bg-0:#fff;--bg-1:#f8fbff;--bg-2:#eef3f9;--bg-3:#d7e0ec;--bg-hover:#f1f5fb;--bg-active:#e8eef8;--bg-input:#fcfdff;--bg-surface:hsla(0,0%,100%,.9);--border:#dbe4f0;--border-strong:#bcc9d9;--text-0:#182132;--text-1:#2c3850;--text-2:#60718a;--text-3:#8fa0b8;--accent-bg:rgba(255,107,0,.1);--accent-text:#b34700;--accent-glow:rgba(255,107,0,.2);--panel-bg:hsla(0,0%,100%,.88);--panel-border:rgba(86,108,150,.12);--shadow-panel:0 18px 48px rgba(73,95,131,.12),0 4px 14px rgba(73,95,131,.08);--success:#3f8a63;--success-bg:rgba(63,138,99,.1);--error:#d24f66;--error-bg:rgba(210,79,102,.1);--info:#e65c00;--info-bg:rgba(58,115,204,.1);--warning:#ff8533;--warning-bg:rgba(255,133,51,.1);--shadow-xs:0 1px 2px rgba(50,74,114,.05);--shadow-sm:0 3px 10px rgba(50,74,114,.08),0 1px 3px rgba(50,74,114,.05);--shadow:0 8px 20px rgba(50,74,114,.1),0 2px 6px rgba(50,74,114,.06);--shadow-lg:0 14px 30px rgba(50,74,114,.13),0 4px 12px rgba(50,74,114,.08);--shadow-xl:0 20px 44px rgba(50,74,114,.16),0 8px 16px rgba(50,74,114,.1);--shadow-card:0 8px 20px rgba(50,74,114,.08);--shadow-elevated:0 18px 40px rgba(50,74,114,.16),0 6px 16px rgba(50,74,114,.1);--shadow-inset:inset 0 1px 3px rgba(50,74,114,.07);--modal-mask:rgba(35,48,74,.32);--modal-bg:#fff;--modal-bg-2:#f8fbff;--modal-border:#dbe4f0;--modal-border-strong:#bcc9d9;--modal-text:#182132;--modal-text-muted:#60718a;--modal-input-bg:#fcfdff;--modal-shadow:0 18px 48px rgba(73,95,131,.12),0 4px 14px rgba(73,95,131,.08)}.dark-theme{--bg-base:#0a0a0a;--bg-0:#1a1a1a;--bg-1:#2a2a2a;--bg-2:#3a3a3a;--bg-3:#4a4a4a;--bg-hover:#333;--bg-active:#444;--bg-input:#2d2d2d;--bg-surface:rgba(26,26,26,.9);--border:#404040;--border-strong:#555;--text-0:#fff;--text-1:#e6e6e6;--text-2:#b3b3b3;--text-3:grey;--accent-bg:rgba(255,107,0,.2);--accent-text:#ff9a50;--accent-glow:rgba(255,107,0,.3);--panel-bg:rgba(26,26,26,.88);--panel-border:rgba(80,80,80,.3);--shadow-panel:0 18px 48px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.3);--success:#4caf50;--success-bg:rgba(76,175,80,.2);--error:#f44336;--error-bg:rgba(244,67,54,.2);--info:#2196f3;--info-bg:rgba(33,150,243,.2);--warning:#ff9800;--warning-bg:rgba(255,152,0,.2);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 3px 10px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3);--shadow:0 8px 20px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);--shadow-lg:0 14px 30px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.5);--shadow-xl:0 20px 44px rgba(0,0,0,.7),0 8px 16px rgba(0,0,0,.6);--shadow-card:0 8px 20px rgba(0,0,0,.4);--shadow-elevated:0 18px 40px rgba(0,0,0,.6),0 6px 16px rgba(0,0,0,.5);--shadow-inset:inset 0 1px 3px rgba(0,0,0,.3);--modal-mask:rgba(0,0,0,.7);--modal-bg:#1a1a1a;--modal-bg-2:#2a2a2a;--modal-border:hsla(0,0%,100%,.07);--modal-border-strong:hsla(0,0%,100%,.12);--modal-text:#fff;--modal-text-muted:hsla(0,0%,100%,.55);--modal-input-bg:hsla(0,0%,100%,.03);--modal-shadow:0 18px 48px rgba(0,0,0,.5),0 4px 14px rgba(0,0,0,.4)}#__nuxt,body,html{height:100%;margin:0;overflow:hidden;padding:0;width:100%}body{background:radial-gradient(circle at top left,rgba(122,167,255,.08),transparent 24%),radial-gradient(circle at top right,rgba(255,107,0,.04),transparent 22%),linear-gradient(180deg,#1a1a1a,#0a0a0a);color:var(--text-0);font-family:var(--font-body);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;letter-spacing:.01em;min-height:100vh;overflow:hidden;transition:background .3s var(--ease-out)}.light-theme body{background:radial-gradient(circle at top left,rgba(122,167,255,.16),transparent 24%),radial-gradient(circle at top right,rgba(255,107,0,.08),transparent 22%),linear-gradient(180deg,#f8fbff,#eef3f9)}h1,h2,h3,h4,h5{color:var(--text-0);font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.25}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}p{line-height:1.75}.btn{align-items:center;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);color:var(--text-1);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:13px;font-weight:500;gap:var(--sp-2);justify-content:center;letter-spacing:.01em;padding:7px 14px;transition:all .3s var(--ease-out);white-space:nowrap}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:var(--text-0);transform:translateY(-1px)}.btn:active{background:var(--bg-active);box-shadow:var(--shadow-xs);transform:translateY(0)}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.4;transform:none}.btn-primary{background:var(--accent-gradient);border-color:transparent;box-shadow:0 8px 20px #355fce38,0 2px 6px #2548a62e;color:#fff}.btn-primary:hover{box-shadow:0 12px 24px #355fce47,0 4px 10px #2548a633;color:#fff;filter:brightness(1.08);transform:translateY(-1px)}.btn-primary:active{filter:brightness(.97);transform:translateY(0)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost,.btn-ghost:hover{border-color:transparent;box-shadow:none}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-0)}.btn-sm{font-size:12px;gap:var(--sp-1);padding:4px 10px}.btn-xs{flex:0 0 auto;font-size:11px;gap:2px;padding:2px 5px;white-space:nowrap}.btn-icon{border-radius:var(--radius);height:32px;padding:0;width:32px}.input,.textarea,select.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-family:var(--font-body);font-size:13.5px;outline:none;padding:9px 13px;transition:all .3s var(--ease-out);width:100%}.input:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.textarea:focus{background:var(--bg-0);border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-3);font-weight:300}.input::placeholder,.textarea::placeholder{color:var(--text-3);font-weight:300}.textarea{line-height:1.75;resize:none}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238fa0b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.tag{align-items:center;background:var(--bg-2);border-radius:99px;color:var(--text-2);display:inline-flex;font-family:var(--font-body);font-size:11px;font-weight:500;gap:4px;letter-spacing:.02em;padding:3px 9px}.tag-accent{background:var(--accent-bg);color:var(--accent-text)}.tag-success{background:var(--success-bg);color:var(--success)}.tag-error{background:var(--error-bg);color:var(--error)}.tag-info{background:var(--info-bg);color:var(--info)}.tag-warning{background:var(--warning-bg);color:var(--warning)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:visible;transition:all .3s var(--ease-out)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.card-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin .9s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideRight{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dim{color:var(--text-3)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.ml-auto{margin-left:auto}.flex-1{flex:1;min-width:0}.sr-only{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}.overlay{align-items:center;animation:fadeIn .18s var(--ease-out);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#23304a52;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.page-enter{animation:fadeUp .35s var(--ease-out) both}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}*,body{font-family:Microsoft YaHei,微软雅黑,sans-serif}
