:root{--color-bg-primary:#121212;--color-bg-elevated:#1e1e1e;--color-bg-overlay:rgba(0,0,0,0.95);--color-bg-overlay-subtle:rgba(0,0,0,0.7);--color-bg-hover:rgba(255,255,255,0.1);--color-bg-hover-subtle:rgba(255,255,255,0.05);--color-bg-active:rgba(255,255,255,0.08);--color-bg-code:#1a1a1a;--color-bg-input:rgba(0,0,0,0.25);--color-bg-input-hover:rgba(0,0,0,0.35);--color-bg-input-focus:rgba(0,0,0,0.45);--color-text-primary:#f0f0f0;--color-text-secondary:#a0a0a0;--color-text-muted:rgba(255,255,255,0.75);--color-text-disabled:rgba(255,255,255,0.4);--color-text-inverse:#000000;--color-text-link:#4ea1ff;--color-border-default:#2e2e2e;--color-border-subtle:rgba(255,255,255,0.08);--color-border-highlight:rgba(255,255,255,0.25);--color-border-focus:rgba(255,255,255,0.2);--color-border-input:rgba(255,255,255,0.12);--color-border-code:#333;--color-accent-primary:#ffffff;--color-accent-brand:#2d22fa;--color-accent-selection:#3b82f6;--color-state-danger:#f44336;--color-state-danger-text:#f28b82;--color-state-success:#4CAF50;--color-state-warning:#FF9800;--color-state-error:#ef4444;--color-grid-dots:#464a53;--color-shadow-default:rgba(0,0,0,0.3);--color-shadow-strong:rgba(0,0,0,0.5);--color-shadow-glow:rgba(255,255,255,0.2);--bg-color:var(--color-bg-primary);--grid-color:var(--color-grid-dots);--node-bg:var(--color-bg-elevated);--node-border:var(--color-border-default);--node-border-highlight:var(--color-border-highlight);--node-shadow:var(--color-shadow-default);--text-color:var(--color-text-primary);--text-secondary-color:var(--color-text-secondary);--accent-color:var(--color-accent-primary);--accent-color-selected:var(--color-accent-primary);--handle-color:#555;--danger-color:var(--color-state-danger);--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-family-mono:"Monaco","Menlo","Ubuntu Mono",monospace;--font-family-display:"Satoshi",var(--font-family-sans);--font-size-xs:0.6875rem;--font-size-sm:0.75rem;--font-size-md:0.8125rem;--font-size-base:0.875rem;--font-size-lg:1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.1;--line-height-snug:1.3;--line-height-normal:1.5;--line-height-relaxed:1.6;--letter-spacing-tight:-0.03em;--letter-spacing-normal:-0.01em;--letter-spacing-wide:0.02em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.08em;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-10:20px;--space-12:24px;--space-16:32px;--space-20:40px;--space-24:48px;--node-padding-x:20px;--node-padding-y:12px;--node-header-height:32px;--node-footer-height:44px;--node-min-width:340px;--node-max-width:700px;--node-default-width:340px;--picker-padding:6px;--picker-option-padding-x:12px;--picker-option-padding-y:8px;--modal-padding:24px;--modal-header-padding:16px;--control-gap:6px;--control-padding:8px 12px;--position-offset-sm:6px;--position-offset-md:16px;--position-offset-lg:20px;--margin-vertical-nodes:20px;--border-width-default:1px;--border-width-thick:2px;--border-width-focus:2px;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-3xl:14px;--radius-4xl:16px;--radius-full:9999px;--node-corner-radius:12px;--picker-radius:12px;--button-radius:8px;--input-radius:10px;--modal-radius:16px;--card-radius:14px;--shadow-xs:0 2px 4px rgba(0,0,0,0.2);--shadow-sm:0 2px 8px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.25);--shadow-lg:0 10px 20px rgba(0,0,0,0.3);--shadow-xl:0 10px 30px rgba(0,0,0,0.4);--shadow-2xl:0 15px 35px rgba(0,0,0,0.3),0 5px 15px rgba(0,0,0,0.2);--shadow-node:0 15px 35px var(--color-shadow-default),0 5px 15px rgba(0,0,0,0.2);--shadow-node-selected:0 0 0 2px rgba(255,255,255,0.2),0 15px 35px var(--color-shadow-default),0 5px 15px rgba(0,0,0,0.2);--shadow-node-drop:0 0 15px var(--color-border-highlight);--shadow-picker:0 10px 20px var(--color-shadow-default);--shadow-picker-submenu:0 10px 20px var(--color-shadow-default);--shadow-modal:0 10px 30px rgba(0,0,0,0.5);--shadow-button-hover:0 4px 12px rgba(0,0,0,0.3);--shadow-button-active:0 2px 8px rgba(0,0,0,0.4);--shadow-cta:0 8px 20px rgba(0,0,0,0.35);--shadow-connection-btn:0 2px 5px var(--color-shadow-default);--shadow-scrubber:0 2px 8px rgba(0,0,0,0.4),0 0 0 4px rgba(255,255,255,0.1);--shadow-credit-pill:0 10px 30px rgba(0,0,0,0.35);--shadow-profile:0 4px 12px rgba(0,0,0,0.25);--glow-progress:0 0 8px rgba(255,255,255,0.2);--glow-selection:0 0 15px rgba(59,130,246,0.5);--duration-instant:0ms;--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:500ms;--ease-default:ease;--ease-in:ease-in;--ease-out:ease-out;--ease-in-out:ease-in-out;--ease-spring:cubic-bezier(0.2,0.6,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--transition-fast:all 150ms ease;--transition-normal:all 200ms ease;--transition-slow:all 300ms ease;--transition-transform:transform 200ms ease;--transition-opacity:opacity 200ms ease;--transition-colors:background-color 200ms ease,color 200ms ease,border-color 200ms ease}@keyframes spin{to{transform:rotate(1turn)}}@keyframes dash-flow{to{stroke-dashoffset:-12}}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdown-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}@keyframes profileDropdownFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdownFadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}:root{--z-base:1;--z-above:10;--z-elevated:100;--z-floating:1000;--z-node:1;--z-node-hovered:1000;--z-node-selected:100;--z-node-action-btn:10;--z-node-connector:10;--z-node-connector-hovered:15;--z-node-delete-btn:20;--z-picker:11;--z-picker-open:1001;--z-picker-dropdown:1002;--z-picker-submenu:1003;--z-file-controls:1000;--z-credit-pill:1200;--z-profile-dropdown:1200;--z-profile-menu:1202;--z-modal:10000;--z-modal-controls:10001;--z-connection-delete:10000;--z-marquee:20000}.node{position:absolute;display:flex;flex-direction:column;width:340px;min-width:340px;max-width:700px;min-height:80px;max-height:210vh;background-color:var(--node-bg);border:1px solid var(--node-border);border-radius:var(--node-corner-radius);box-shadow:var(--shadow-node);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);resize:both;overflow:visible;cursor:default;z-index:var(--z-node);box-sizing:border-box}.node.box-selected,.node.selected{z-index:var(--z-node-selected)!important}.node.box-selected{border-color:var(--node-border-highlight);box-shadow:var(--shadow-node-selected);outline:2px solid var(--color-accent-selection)}.node:hover{z-index:var(--z-node-hovered)!important}.node.drop-target-highlight{border-color:var(--node-border-highlight);box-shadow:var(--shadow-node-drop)}.drag-handle{position:relative;height:var(--node-header-height);flex-shrink:0;cursor:-webkit-grab;cursor:grab;padding:4px 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center}.drag-handle:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:32px;height:4px;background:rgba(255,255,255,.1);border-radius:2px}.model-display{position:absolute;top:4px;left:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary-color);padding:2px 6px;border-radius:4px;pointer-events:none;z-index:1}.node-content-editable,.node-text-content{padding:0 var(--node-padding-x) var(--node-padding-x);box-sizing:border-box}.node-content-editable{width:100%;height:100%;flex-grow:1;background:transparent;border:none;outline:none;resize:none;color:var(--text-color);font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);touch-action:auto;overscroll-behavior:contain}.node-content-editable::placeholder{color:var(--text-secondary-color)}.node-content-editable::-webkit-scrollbar{width:8px}.node-content-editable::-webkit-scrollbar-track{background:transparent}.node-content-editable::-webkit-scrollbar-thumb{background-color:var(--handle-color);border-radius:4px}.node-content-editable::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}.node-footer{position:absolute;bottom:0;left:4px;right:4px;height:var(--node-footer-height);display:flex;justify-content:space-between;align-items:center;padding:0 44px 0 16px;box-sizing:border-box}.footer-left-controls{display:flex;gap:var(--control-gap);align-items:center;flex:1 1;min-width:0}.node-action-btn{position:absolute;background:none;border:none;color:var(--text-secondary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(5px);transition:var(--transition-normal);z-index:var(--z-node-action-btn)}.node:hover .node-action-btn{opacity:1;transform:translateY(0)}.node-generate-btn{width:36px;height:36px;bottom:4px;right:4px;border-radius:50%;background:white;border:1px solid var(--node-border);color:black;box-shadow:0 2px 8px rgba(0,0,0,.2);transition:var(--transition-normal)}.node-generate-btn:hover{background:#f0f0f0;color:black;border-color:var(--node-border-highlight);transform:translateY(0) scale(1.08)}.node-generate-btn.loading{animation:spin 1s linear infinite}.node-delete-btn{width:30px;height:30px;top:6px;right:6px}.node-delete-btn:hover{color:#fff}.resize-handle{position:absolute;bottom:6px;right:6px;width:16px;height:16px;border:1px solid var(--node-border);background:rgba(255,255,255,.06);border-radius:4px;cursor:se-resize;display:flex;align-items:center;justify-content:center;z-index:12;opacity:0;transform:translateY(5px);transition:var(--transition-normal)}.resize-handle:after{content:"";width:8px;height:8px;border-right:2px solid rgba(255,255,255,.18);border-bottom:2px solid rgba(255,255,255,.18);border-radius:0;transform:translate(1px,1px)}.resize-handle.with-generate{right:48px}.node:hover .resize-handle{opacity:1;transform:translateY(0)}.connector{position:absolute;width:8px;height:16px;background:var(--bg-color);border:1px solid var(--node-border);top:50%;transform:translateY(-50%) scale(.8);cursor:crosshair;pointer-events:all;transition:var(--transition-normal);opacity:0;z-index:var(--z-node-connector)}.node:hover .connector{opacity:1;transform:translateY(-50%) scale(1)}.connector:hover{background:var(--accent-color);border-color:var(--accent-color)}.connector.input{left:0;border-radius:0 8px 8px 0;border-left:none}.connector.output{right:0;border-radius:8px 0 0 8px;border-right:none}#marquee-selection{position:absolute;pointer-events:none;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);border-radius:6px;z-index:var(--z-marquee);box-sizing:border-box}.selection-marquee{position:absolute;border:1px solid var(--color-accent-selection);background-color:rgba(59,130,246,.1);pointer-events:none;z-index:9999}@media (pointer:coarse){.connector{opacity:1;width:12px;height:24px;transform:translateY(-50%) scale(1)}.node-action-btn{opacity:1;transform:translateY(0)}}.text-node{display:flex;flex-direction:column}.text-node .markdown-content{padding:0 var(--node-padding-x) var(--node-padding-x);box-sizing:border-box;width:100%;height:100%;flex-grow:1;background:transparent;color:var(--text-color);font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);overflow-y:auto;touch-action:auto;overscroll-behavior:contain}.text-node .markdown-content::-webkit-scrollbar{width:8px}.text-node .markdown-content::-webkit-scrollbar-track{background:transparent}.text-node .markdown-content::-webkit-scrollbar-thumb{background-color:var(--handle-color);border-radius:4px}.text-node .markdown-content::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}.text-node .markdown-content .ProseMirror{outline:none;border:none;background:transparent;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;padding:0;margin:0;min-height:60px}.text-node .markdown-content .ProseMirror h1,.text-node .markdown-content .ProseMirror h2,.text-node .markdown-content .ProseMirror h3,.text-node .markdown-content .ProseMirror h4,.text-node .markdown-content .ProseMirror h5,.text-node .markdown-content .ProseMirror h6{font-family:"Instrument Serif",serif}.text-node .markdown-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-secondary-color);pointer-events:none;float:left;height:0}.image-node{padding:0;overflow:hidden;display:flex;flex-direction:column}.image-container{flex:1 1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:calc(var(--node-corner-radius) - 1px)}.image-container img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.image-node .node-delete-btn{position:absolute;top:6px;right:6px;background-color:rgba(0,0,0,.7);color:#fff;border-radius:50%;z-index:var(--z-node-delete-btn)}.image-node .connector{z-index:var(--z-node-connector-hovered)}.video-node{padding:0;overflow:hidden;display:flex;flex-direction:column}.video-node .drag-handle{height:20px;background:transparent;cursor:move;flex-shrink:0}.video-container{flex:1 1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:0 0 calc(var(--node-corner-radius) - 1px) calc(var(--node-corner-radius) - 1px);background:rgba(0,0,0,.2)}.video-container video{width:100%;height:100%;display:block;background:#000}.video-node .node-delete-btn{position:absolute;top:6px;right:6px;background-color:rgba(0,0,0,.7);color:#fff;border-radius:50%;z-index:var(--z-node-delete-btn)}.video-node .connector{z-index:var(--z-node-connector-hovered)}@media (pointer:coarse){.video-node .drag-handle{height:32px}}.audio-node{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:120px;max-height:120px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.audio-node .drag-handle{height:32px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);cursor:move;flex-shrink:0;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.06)}.audio-node .drag-handle .audio-title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:rgba(255,255,255,.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:var(--letter-spacing-normal)}.audio-player{flex:1 1;display:flex;align-items:center;gap:16px;padding:0 16px 16px;box-sizing:border-box}.audio-player audio{display:none}.audio-play-btn{width:48px;height:48px;min-width:48px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;position:relative}.audio-play-btn:before{content:"";position:absolute;inset:-1px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.03));opacity:0;transition:opacity .2s ease;pointer-events:none}.audio-play-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);transform:translateY(-1px);box-shadow:var(--shadow-button-hover)}.audio-play-btn:hover:before{opacity:1}.audio-play-btn:active{transform:translateY(0)}.audio-play-btn:focus-visible{outline:2px solid rgba(255,255,255,.4);outline-offset:2px}.audio-play-btn svg{color:rgba(255,255,255,.92);transition:transform .2s ease}.audio-play-btn:hover svg{transform:scale(1.05)}.audio-timeline{flex:1 1;display:flex;flex-direction:column;gap:8px;min-width:0}.audio-progress-bar{position:relative;width:100%;height:8px;background:rgba(255,255,255,.08);border-radius:4px;cursor:pointer;overflow:visible;transition:all .2s ease}.audio-progress-bar:hover{background:rgba(255,255,255,.12);height:10px}.audio-progress-bar:hover .audio-scrubber{width:16px;height:16px;opacity:1}.audio-progress-fill{top:0;height:100%;background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.72));border-radius:4px;transition:width .05s linear;box-shadow:var(--glow-progress)}.audio-progress-fill,.audio-scrubber{position:absolute;left:0;pointer-events:none}.audio-scrubber{top:50%;width:14px;height:14px;background:#fff;border:2px solid var(--node-bg);border-radius:50%;transform:translate(-50%,-50%);box-shadow:var(--shadow-scrubber);opacity:.95;transition:all .2s ease}.audio-time-display{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:rgba(255,255,255,.64);letter-spacing:var(--letter-spacing-wide);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.audio-current-time{color:rgba(255,255,255,.92)}.audio-node .node-delete-btn{position:absolute;top:6px;right:6px;background-color:rgba(0,0,0,.8);color:#fff;border-radius:50%;z-index:var(--z-node-delete-btn);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .2s ease}.audio-node .node-delete-btn:hover{background-color:rgba(0,0,0,.95);transform:scale(1.05)}.audio-node .connector{z-index:var(--z-node-connector-hovered)}.html-preview-node{padding:0;overflow:hidden;display:flex;flex-direction:column}.html-preview-node .drag-handle{height:20px;background:transparent;cursor:move;flex-shrink:0}.html-preview-container{flex:1 1;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden;border-radius:0 0 calc(var(--node-corner-radius) - 1px) calc(var(--node-corner-radius) - 1px)}.html-preview-container iframe{width:100%;height:100%;border:0;display:block;background:#fff;border-radius:inherit}.html-preview-node .node-delete-btn{top:6px;right:6px;border-radius:50%}.html-preview-node .fullscreen-btn,.html-preview-node .node-delete-btn{position:absolute;background-color:rgba(0,0,0,.7);color:#fff;z-index:var(--z-node-delete-btn)}.html-preview-node .fullscreen-btn{top:8px;right:40px;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--duration-normal)}.html-preview-node .fullscreen-btn:hover{background-color:rgba(0,0,0,.9)}.html-preview-node .fullscreen-btn .material-icons{font-size:16px}.html-preview-node .connector{z-index:var(--z-node-connector-hovered)}.view-mode-toggle{position:absolute;top:8px;left:50%;transform:translateX(-50%);display:flex;gap:0;background:rgba(0,0,0,.7);border-radius:8px;padding:2px;z-index:var(--z-node-delete-btn);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.view-mode-btn{background:transparent;border:none;color:rgba(255,255,255,.6);padding:6px 12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:6px;transition:var(--transition-normal);font-family:inherit}.view-mode-btn:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.1)}.view-mode-btn.active{color:#fff;background:rgba(255,255,255,.2)}.html-code-view{flex:1 1;display:flex;flex-direction:column;overflow:hidden;border-radius:0 0 calc(var(--node-corner-radius) - 1px) calc(var(--node-corner-radius) - 1px);background:var(--color-bg-code)}.html-code-editor{flex:1 1;width:100%;background:var(--color-bg-code);color:var(--color-text-primary);border:none;outline:none;padding:12px;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal);resize:none;overflow-y:auto;border-radius:inherit}.html-code-editor::-webkit-scrollbar{width:8px}.html-code-editor::-webkit-scrollbar-track{background:transparent}.html-code-editor::-webkit-scrollbar-thumb{background-color:var(--handle-color);border-radius:4px}.html-code-editor::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}.html-preview-node.loading-animation{border-radius:var(--node-corner-radius);overflow:hidden}.html-preview-node.loading-animation .html-preview-container,.html-preview-node.loading-animation .html-preview-container iframe{border-radius:var(--node-corner-radius);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.html-preview-node.loading-animation .html-preview-container iframe{pointer-events:none}.html-preview-node.loading-animation .drag-overlay{border-radius:var(--node-corner-radius);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (pointer:coarse){.html-preview-node .drag-handle{height:32px}}.model-3d-node{padding:0;overflow:hidden;resize:none!important;position:relative}.model-3d-wrapper{position:relative;width:100%;height:100%}.model-3d-node .drag-handle{position:absolute;top:0;left:0;right:0;height:30px;background:rgba(0,0,0,.45);cursor:move;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--node-border);z-index:var(--z-node-connector-hovered);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.model-3d-node .drag-handle .model-display{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;text-transform:uppercase;letter-spacing:.04em}.model-3d-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-bg-code);border-radius:0 0 calc(var(--node-corner-radius) - 1px) calc(var(--node-corner-radius) - 1px)}.model-3d-node .node-delete-btn{position:absolute;top:6px;right:6px;background-color:rgba(0,0,0,.7);color:#fff;border-radius:50%;z-index:var(--z-node-delete-btn)}.model-3d-node .connector{z-index:var(--z-node-connector-hovered)}.markdown-node .markdown-content{flex-grow:1;padding:8px 12px 12px;color:var(--text-color);font-size:var(--font-size-base);line-height:var(--line-height-normal);overflow-y:scroll;width:100%;box-sizing:border-box;touch-action:auto;overscroll-behavior:contain}.markdown-node .markdown-content::-webkit-scrollbar{width:8px}.markdown-node .markdown-content::-webkit-scrollbar-track{background:transparent}.markdown-node .markdown-content::-webkit-scrollbar-thumb{background-color:var(--handle-color);border-radius:4px}.markdown-node .markdown-content::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}.markdown-node .markdown-content code{background:var(--color-bg-code);border:1px solid var(--color-border-code);border-radius:4px;padding:2px 4px;font-family:var(--font-family-mono);font-size:.9em}.markdown-node .markdown-content h1,.markdown-node .markdown-content h2,.markdown-node .markdown-content h3,.markdown-node .markdown-content h4,.markdown-node .markdown-content h5,.markdown-node .markdown-content h6,.thinking-node .thinking-content h1,.thinking-node .thinking-content h2,.thinking-node .thinking-content h3,.thinking-node .thinking-content h4,.thinking-node .thinking-content h5,.thinking-node .thinking-content h6{font-family:"Instrument Serif",serif}.markdown-node .markdown-content pre{background:var(--color-bg-code);border:1px solid var(--color-border-code);border-radius:6px;padding:12px;overflow-x:auto;margin:8px 0}.markdown-node .markdown-content pre code{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important;font-family:var(--font-family-mono);font-size:inherit;display:block;white-space:pre}.markdown-node .markdown-content pre code *{background:transparent!important;border:none!important;padding:0!important;margin:0!important}.markdown-node .markdown-content a{color:var(--color-text-link);text-decoration:none}.markdown-node .markdown-content a:hover{text-decoration:underline}.thinking-node .thinking-content{flex-grow:1;padding:8px 12px 12px;color:var(--text-color);font-size:var(--font-size-base);line-height:var(--line-height-normal);overflow-y:scroll;width:100%;box-sizing:border-box;font-style:italic;opacity:.9;touch-action:auto;overscroll-behavior:contain}.thinking-node .thinking-content code{background:#141414;border:1px dashed var(--color-border-code);border-radius:4px;padding:2px 4px;font-family:var(--font-family-mono);font-size:.9em}.thinking-node .thinking-content pre{background:#141414;border:1px dashed var(--color-border-code);border-radius:6px;padding:12px;overflow-x:auto;margin:8px 0}.markdown-body.editable{height:100%;display:flex;flex-direction:column}.markdown-editor-content{flex-grow:1}.markdown-editor-content,.markdown-editor-content .ProseMirror{outline:none;border:none;background:transparent;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;padding:0;margin:0;min-height:100px}.markdown-editor-content .ProseMirror p{margin:0 0 8px}.markdown-editor-content .ProseMirror p:last-child{margin-bottom:0}.markdown-editor-content .ProseMirror h1,.markdown-editor-content .ProseMirror h2,.markdown-editor-content .ProseMirror h3,.markdown-editor-content .ProseMirror h4,.markdown-editor-content .ProseMirror h5,.markdown-editor-content .ProseMirror h6{font-weight:var(--font-weight-bold);margin:12px 0 8px;font-family:"Instrument Serif",serif}.markdown-editor-content .ProseMirror h1{font-size:1.5em}.markdown-editor-content .ProseMirror h2{font-size:1.3em}.markdown-editor-content .ProseMirror h3{font-size:1.1em}.markdown-editor-content .ProseMirror strong{font-weight:var(--font-weight-bold)}.markdown-editor-content .ProseMirror em{font-style:italic}.markdown-editor-content .ProseMirror code{background:var(--color-bg-code);border:1px solid var(--color-border-code);border-radius:4px;padding:2px 4px;font-family:var(--font-family-mono);font-size:.9em}.markdown-editor-content .ProseMirror pre{background:var(--color-bg-code);border:1px solid var(--color-border-code);border-radius:6px;padding:12px;overflow-x:auto;margin:8px 0}.markdown-editor-content .ProseMirror pre code{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important;font-family:var(--font-family-mono);font-size:inherit;display:block;white-space:pre}.markdown-editor-content .ProseMirror pre code *{background:transparent!important;border:none!important;padding:0!important;margin:0!important}.markdown-editor-content .ProseMirror ol,.markdown-editor-content .ProseMirror ul{padding-left:20px;margin:8px 0}.markdown-editor-content .ProseMirror li{margin:4px 0}.markdown-editor-content .ProseMirror blockquote{border-left:3px solid var(--color-text-link);padding-left:12px;margin:8px 0;font-style:italic;color:#ccc}.markdown-editor-content .ProseMirror a{color:var(--color-text-link);text-decoration:none}.markdown-editor-content .ProseMirror a:hover{text-decoration:underline}.markdown-editor-content .ProseMirror p.is-editor-empty:first-child:before{content:"Type your markdown here...";float:left;color:#666;pointer-events:none;height:0}.model-picker{position:relative;z-index:var(--z-picker);opacity:0;transform:translateY(5px);transition:var(--transition-normal);flex-shrink:0}.model-picker.open,.node:hover .node-footer .model-picker{opacity:1;transform:translateY(0)}.model-picker.open,.node:hover .model-picker{z-index:var(--z-picker-open)}.model-picker-btn{display:flex;align-items:center;gap:4px;background:none;border:none;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-secondary-color);cursor:pointer;transition:var(--transition-normal)}.model-picker-btn:hover{background:var(--color-bg-hover);color:var(--text-color)}.model-picker-btn svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;transition:transform var(--duration-normal) ease}.model-picker.open .model-picker-btn svg{transform:rotate(180deg)}.model-picker-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;min-width:100%;list-style:none;margin:0;background:var(--node-bg);border:1px solid var(--node-border);border-radius:var(--picker-radius);box-shadow:var(--shadow-picker);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--picker-padding);opacity:0;transform-origin:bottom left;transform:translateY(10px) scale(.95);pointer-events:none;transition:var(--transition-normal);z-index:var(--z-picker-dropdown)}.model-picker.open .model-picker-dropdown{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.model-picker-option{padding:var(--picker-option-padding-y) var(--picker-option-padding-x);font-size:var(--font-size-md);color:var(--text-secondary-color);border-radius:8px;cursor:pointer;white-space:normal;transition:var(--transition-normal)}.model-picker-option:hover{background:var(--color-bg-hover);color:var(--text-color)}.model-picker-option.selected{color:var(--text-color);font-weight:var(--font-weight-medium)}.model-option-title{display:block;color:var(--text-color);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal)}.model-option-meta{display:block;font-size:var(--font-size-xs);color:rgba(255,255,255,.65);margin-top:2px}.model-picker-option.disabled .model-option-meta{color:var(--color-state-danger-text)}.model-picker-option.has-submenu{padding-right:32px;position:relative;display:flex;align-items:center;gap:8px}.model-picker-option.has-submenu .model-option-label{display:flex;align-items:center;gap:6px;flex:1 1}.model-picker-option.has-submenu .submenu-chevron{width:12px;height:12px;opacity:.6;transition:transform var(--duration-normal) ease,opacity var(--duration-normal) ease}.model-picker-option.has-submenu.submenu-open .submenu-chevron{transform:translateX(2px);opacity:1}.model-picker-option.has-submenu .model-picker-submenu{position:absolute;top:-6px;left:calc(100% + 14px);padding:6px 10px;background:var(--node-bg);border:1px solid var(--node-border);border-radius:10px;box-shadow:var(--shadow-picker-submenu);list-style:none;margin:0;opacity:0;pointer-events:none;transform:translateX(-8px);transition:all .18s ease;z-index:var(--z-picker-submenu);min-width:0;width:max-content}.model-picker-option.has-submenu .model-picker-submenu .model-picker-option{padding:6px 12px;border-radius:6px;font-size:var(--font-size-sm)}.model-picker-option.has-submenu.submenu-open .model-picker-submenu{opacity:1;pointer-events:auto;transform:translateX(0)}.model-picker-option.has-submenu .submenu-hover-buffer{position:absolute;top:-10px;bottom:-10px;left:calc(100% + 4px);right:calc(-160px);pointer-events:auto}.model-picker-option.has-submenu.submenu-open,.model-picker-option.has-submenu.submenu-open:hover{background:var(--color-bg-active);color:var(--text-color)}.model-picker-option.locked{opacity:.6;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:rgba(0,0,0,.2)}.model-picker-option.locked:hover{background:var(--color-bg-hover-subtle);opacity:.8}.lock-icon{font-size:var(--font-size-sm);margin-left:8px}.model-picker-option.disabled{opacity:.4;cursor:pointer;color:var(--text-secondary-color)}.model-picker-option.disabled:hover{background:var(--color-bg-hover-subtle);opacity:.55}@media (pointer:coarse){.model-picker{opacity:1;transform:translateY(0)}}.kling-controls{display:flex;gap:var(--control-gap);align-items:center;opacity:0;transform:translateY(5px);transition:var(--transition-normal);flex-shrink:0}.node:hover .kling-controls{opacity:1;transform:translateY(0)}.kling-picker{position:relative;z-index:var(--z-picker);flex-shrink:0}.kling-picker.open{z-index:var(--z-picker-open)}.kling-picker-btn{display:flex;align-items:center;gap:3px;background:none;border:1px solid var(--node-border);border-radius:6px;padding:4px 8px;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary-color);cursor:pointer;transition:var(--transition-normal)}.kling-picker-btn:hover{background:var(--color-bg-active);color:var(--text-color);border-color:var(--node-border-highlight)}.kling-picker-btn svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;transition:transform var(--duration-normal) ease}.kling-picker.open .kling-picker-btn svg{transform:rotate(180deg)}.kling-picker-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;min-width:100%;list-style:none;margin:0;background:var(--node-bg);border:1px solid var(--node-border);border-radius:10px;box-shadow:0 8px 16px var(--color-shadow-default);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:4px;opacity:0;transform-origin:bottom left;transform:translateY(8px) scale(.95);pointer-events:none;transition:var(--transition-normal);z-index:var(--z-picker-dropdown)}.kling-picker.open .kling-picker-dropdown{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.kling-picker-option{padding:6px 10px;font-size:var(--font-size-sm);color:var(--text-secondary-color);border-radius:6px;cursor:pointer;white-space:nowrap;transition:var(--transition-normal)}.kling-picker-option:hover{background:var(--color-bg-hover);color:var(--text-color)}.kling-picker-option.selected{color:var(--text-color);font-weight:var(--font-weight-medium);background:var(--color-bg-hover-subtle)}@media (pointer:coarse){.kling-controls{opacity:1;transform:translateY(0)}}.qwen-settings-container{position:relative}.qwen-settings-container.open{opacity:1;transform:translateY(0);z-index:1005}.qwen-settings-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:none;border:none;border-radius:6px;color:var(--text-secondary-color);cursor:pointer;transition:color var(--duration-fast) ease;flex-shrink:0}.qwen-settings-btn:hover{background:none;color:var(--text-color)}.qwen-settings-btn svg{width:20px;height:20px}.qwen-settings-panel{position:absolute;bottom:calc(100% + 8px);left:0;min-width:320px;max-width:520px;background:var(--node-bg);border:1px solid var(--node-border);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.6);padding:12px 14px;display:none;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.qwen-settings-container.open .qwen-settings-panel{display:block}.qwen-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.qwen-settings-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:rgba(255,255,255,.92)}.qwen-settings-actions{display:flex;align-items:center;gap:10px;font-size:var(--font-size-sm)}.qwen-settings-apply,.qwen-settings-reset{background:none;border:none;color:rgba(255,255,255,.64);padding:4px;border-radius:6px;font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-normal)}.qwen-settings-reset:hover{color:rgba(255,255,255,.9);background:var(--color-bg-hover-subtle)}.qwen-settings-apply{font-weight:var(--font-weight-medium);color:rgba(255,255,255,.9)}.qwen-settings-apply:hover{background:var(--color-bg-hover-subtle)}.qwen-settings-divider{width:1px;height:16px;background:rgba(255,255,255,.12)}.qwen-settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.qwen-settings-column{display:flex;flex-direction:column;gap:10px}.qwen-form-group{display:flex;flex-direction:column;gap:6px}.qwen-field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:rgba(255,255,255,.9)}.qwen-input{background:var(--color-bg-input);border-radius:10px;border:1px solid transparent;color:rgba(255,255,255,.92);font-family:inherit;font-size:var(--font-size-sm);padding:8px 10px;outline:none;transition:var(--transition-normal);width:100%;box-sizing:border-box}.qwen-input::placeholder{color:rgba(255,255,255,.4)}.qwen-input:hover{background:var(--color-bg-input-hover)}.qwen-input:focus{background:var(--color-bg-input-focus);border-color:var(--color-border-focus)}textarea.qwen-input{min-height:90px;resize:vertical;line-height:var(--line-height-normal)}.qwen-ratio-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.qwen-ratio-item{display:flex;align-items:center;justify-content:space-between;border-radius:10px;padding:6px 8px;cursor:pointer;transition:background .18s ease;color:rgba(255,255,255,.9);font-size:var(--font-size-sm)}.qwen-ratio-item:hover{background:rgba(255,255,255,.04)}.qwen-ratio-item.selected{background:#2c2c2c}.qwen-ratio-left{display:flex;align-items:center;gap:8px}.qwen-ratio-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6)}.qwen-ratio-item.selected .qwen-ratio-icon{color:rgba(255,255,255,.95)}.qwen-ratio-name,.qwen-ratio-value{font-size:var(--font-size-sm)}.qwen-ratio-value{color:rgba(255,255,255,.64);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qwen-ratio-item.selected .qwen-ratio-value{color:rgba(255,255,255,.92)}@media (max-width:520px){.qwen-settings-panel{min-width:260px;max-width:320px}.qwen-settings-grid{grid-template-columns:1fr}}.fullscreen-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-bg-overlay);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.fullscreen-content{width:90%;height:90%;background:#fff;border-radius:8px;overflow:hidden;position:relative;box-shadow:var(--shadow-modal)}.fullscreen-content iframe{width:100%;height:100%;border:none}.fullscreen-exit-btn{position:absolute;top:16px;right:16px;background-color:rgba(0,0,0,.8);color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-modal-controls);transition:background-color var(--duration-normal)}.fullscreen-exit-btn:hover{background-color:rgba(0,0,0,1)}.fullscreen-exit-btn .material-icons{font-size:24px}#connections-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.connection-path{stroke:var(--node-border-highlight);stroke-width:2px;fill:none;pointer-events:visibleStroke;cursor:pointer}.connection-path:hover{stroke:var(--accent-color)}.connection-path.selected{stroke:var(--accent-color-selected);stroke-width:2px}.connection-path-drawing{stroke:var(--accent-color);stroke-dasharray:6 6;animation:dash-flow 1s linear infinite;pointer-events:none}#connection-delete-btn{position:absolute;display:none;width:22px;height:22px;background-color:var(--danger-color);color:#fff;border:2px solid var(--bg-color);border-radius:50%;font-size:var(--font-size-base);line-height:18px;text-align:center;cursor:pointer;z-index:var(--z-connection-delete);-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:var(--shadow-connection-btn)}.profile-dropdown-container{position:fixed;top:16px;right:16px;z-index:var(--z-profile-dropdown)}.profile-avatar-btn{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.15);padding:0;cursor:pointer;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.05));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-profile);transition:var(--transition-normal);display:flex;align-items:center;justify-content:center}.profile-avatar-btn:hover{border-color:rgba(255,255,255,.35);transform:scale(1.05)}.profile-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--node-bg);border:1px solid var(--node-border);border-radius:var(--card-radius);box-shadow:var(--shadow-xl);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:8px;z-index:var(--z-profile-menu)}.profile-dropdown-option{width:100%;background:none;border:none;color:var(--text-secondary-color);text-align:left;padding:10px 12px;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:8px;transition:var(--transition-normal);display:flex;align-items:center;gap:10px}.profile-dropdown-option:hover{background:var(--color-bg-hover);color:var(--text-color)}.file-controls-dropdown{animation:dropdownFadeIn .2s ease forwards}.file-controls-dropdown.closing{animation:dropdownFadeOut .2s ease forwards}.file-controls-option:hover{background:var(--color-bg-hover)!important;color:var(--text-color)!important}#app-container{width:100%;height:100%;cursor:-webkit-grab;cursor:grab;touch-action:none;background-image:radial-gradient(var(--grid-color) 1px,transparent 1px);background-size:25px 25px}#app-container.grabbing{cursor:-webkit-grabbing;cursor:grabbing}#canvas{position:relative;width:100%;height:100%;transform-origin:0 0;will-change:transform;transform:translateZ(0)}