:root{--color-bg-canvas: #121212;--color-bg-surface: #2B2B2B;--color-bg-node-body: #373737;--color-bg-control: #373737;--color-bg-hover: #3F3F46;--color-border: #373737;--color-bg-primary: var(--color-bg-surface);--color-bg-secondary: var(--color-bg-node-body);--color-text-primary: #EEEEEE;--color-text-secondary: #A2A2A2;--color-text-tertiary: #575757;--color-text-disabled: #4B5563;--color-accent-primary: #7FC45D;--color-accent-primary-hover: #8FD06A;--color-accent-primary-text: #2B2B2B;--color-accent-success: #10B981;--color-accent-warning: #F59E0B;--color-accent-error: #EF4444;--color-node-label-text: #FED402;--color-node-label-image: #42C3D7;--color-node-label-video: #EF4444;--color-border-hover: var(--color-bg-hover);--color-border-focus: var(--color-accent-primary);--color-header-model-loader-from: #9333EA;--color-header-model-loader-to: #6B21A8;--color-header-text-positive-from: #15803D;--color-header-text-positive-to: #14532D;--color-header-text-negative-from: #B91C1C;--color-header-text-negative-to: #7F1D1D;--color-header-utility-from: #3F3F46;--color-header-utility-to: #27272A;--color-header-output-from: #1E3A8A;--color-header-output-to: #01113d;--color-variant-positive: #10B981;--color-variant-positive-border: rgba(16, 185, 129, .4);--color-variant-positive-selected-shadow: rgba(16, 185, 129, .2);--color-header-positive-from: #059669;--color-header-positive-to: #047857;--color-variant-negative: #EF4444;--color-variant-negative-border: rgba(239, 68, 68, .4);--color-variant-negative-selected-shadow: rgba(239, 68, 68, .2);--color-variant-purple: #A855F7;--color-variant-purple-border: rgba(168, 85, 247, .4);--color-variant-purple-selected-shadow: rgba(168, 85, 247, .2);--color-header-purple-from: #7C3AED;--color-header-purple-to: #5B21B6;--color-variant-neutral: #6B7280;--color-variant-neutral-border: #333333;--color-variant-neutral-selected: #4F46E5;--color-variant-neutral-selected-shadow: rgba(79, 70, 229, .2);--color-variant-warning: #F59E0B;--color-variant-warning-border: rgba(245, 158, 11, .4);--color-variant-warning-selected-shadow: rgba(245, 158, 11, .2);--color-variant-orange: #F97316;--color-variant-orange-border: rgba(249, 115, 22, .4);--color-variant-orange-selected-shadow: rgba(249, 115, 22, .2);--color-header-orange-from: #EA580C;--color-header-orange-to: #C2410C;--color-wire-model: #FACC15;--color-wire-clip: #FACC15;--color-wire-latent: #C084FC;--color-wire-conditioning: #4ADE80;--color-wire-image: #F87171;--color-wire-vae: #F87171;--color-badge-model-bg: rgba(250, 204, 21, .2);--color-badge-model-text: #FACC15;--color-badge-clip-bg: rgba(250, 204, 21, .2);--color-badge-clip-text: #FACC15;--color-badge-latent-bg: rgba(192, 132, 252, .2);--color-badge-latent-text: #C084FC;--color-badge-conditioning-bg: rgba(74, 222, 128, .2);--color-badge-conditioning-text: #4ADE80;--color-badge-image-bg: rgba(248, 113, 113, .2);--color-badge-image-text: #F87171;--color-badge-vae-bg: rgba(248, 113, 113, .2);--color-badge-vae-text: #F87171;--color-control-toggle-enabled: #4ADE80;--color-control-toggle-disabled: #F87171;--color-control-slider-fill: #3B82F6;--color-control-slider-track: #3F3F46;--color-disabled-text: rgba(243, 244, 246, .6);--color-disabled-text-muted: rgba(243, 244, 246, .4);--color-disabled-bg: #1F1F23;--color-disabled-border: #3F3F46;--color-disabled-opacity: .5;--color-disabled-cursor: not-allowed;--color-textarea-positive-bg: rgba(20, 83, 45, .3);--color-textarea-positive-border: rgba(21, 128, 61, .5);--color-textarea-negative-bg: rgba(127, 29, 29, .3);--color-textarea-negative-border: rgba(185, 28, 28, .5);--spacing-xxs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--radius-none: 0px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--radius-base: var(--radius-sm);--radius-xl: var(--radius-md);--radius-round: var(--radius-full);--font-primary: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-monospace: "SF Mono", Monaco, Consolas, monospace;--font-family-primary: var(--font-primary);--font-family-code: var(--font-monospace);--font-size-3xs: 10px;--font-size-2xs: 11px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-size-5xl: 36px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-base: var(--line-height-normal);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--color-shadow: rgba(0, 0, 0, .08);--shadow-focus: 0 0 0 2px var(--color-accent-primary);--node-min-width: 320px;--node-min-height: 352px;--node-max-width: 400px;--node-border-width: 1px;--node-border-radius: var(--radius-md);--node-border-color: var(--color-bg-control);--node-shadow: var(--shadow-lg);--node-header-padding: 10px 16px;--node-header-font-size: var(--font-size-sm);--node-header-font-weight: var(--font-weight-semibold);--node-header-border-radius: 12px 12px 0 0;--node-header-background: #121212;--node-header-border: rgba(255, 255, 255, .05);--node-body-padding: 12px;--node-body-background: rgba(30, 30, 30, .5);--node-state-default-border: var(--color-bg-control);--node-state-default-opacity: 1;--node-state-hover-border: var(--color-bg-hover);--node-state-selected-border: var(--color-accent-warning);--node-state-selected-border-width: 2px;--node-state-selected-shadow: 0 0 0 3px rgba(245, 158, 11, .2);--node-state-disabled-opacity: .5;--port-size: 10px;--port-border-radius: var(--radius-full);--port-gap: var(--spacing-sm);--port-badge-padding: 2px 6px;--port-badge-font-size: var(--font-size-xs);--port-badge-font-weight: var(--font-weight-medium);--port-badge-border-radius: var(--radius-sm);--control-spacing: var(--spacing-sm);--control-padding: var(--spacing-xs) 0;--control-font-size: var(--font-size-xs);--control-border-bottom: 1px solid var(--color-bg-control);--control-arrow-color: var(--color-text-tertiary);--control-label-color: var(--color-text-secondary);--control-value-color: var(--color-text-primary);--slider-track-height: 4px;--slider-track-background: var(--color-bg-hover);--slider-fill-background: var(--color-accent-primary);--slider-border-radius: var(--radius-full);--slider-margin: var(--spacing-xs) var(--spacing-lg);--textarea-padding: var(--spacing-sm);--textarea-font-size: var(--font-size-xs);--textarea-line-height: var(--line-height-relaxed);--textarea-text-color: #A2A2A2;--textarea-border-radius: var(--radius-sm);--textarea-min-height: 80px;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-pulse: 2s;--easing-default: cubic-bezier(.4, 0, .2, 1);--easing-in: cubic-bezier(.4, 0, 1, 1);--easing-out: cubic-bezier(0, 0, .2, 1);--glow-processing: 0 0 20px rgba(96, 165, 250, .6);--glow-selected: 0 0 0 3px rgba(245, 158, 11, .2);--glow-edge-selected: 0 0 8px rgba(245, 158, 11, .8);--color-glow-processing: rgba(96, 165, 250, .6);--color-glow-selected: rgba(245, 158, 11, .5);--color-type-text: #FED402;--color-type-image: #42C3D7;--color-type-video: #FF4B42;--color-type-any: #6B7280;--color-header-type-text-from: #B59600;--color-header-type-text-to: #8A7200;--color-header-type-image-from: #2A8A9A;--color-header-type-image-to: #1F6B77;--color-header-type-video-from: #CC3C35;--color-header-type-video-to: #992D28;--min-contrast-ratio: 4.5;--min-touch-target: 44px;--focus-outline-width: 2px;--focus-outline-color: var(--color-accent-primary);--canvas-bg: var(--color-bg-canvas);--canvas-grid-size: 20px;--canvas-grid-color: rgba(255, 255, 255, .05);--z-dropdown: 100;--z-modal: 1000;--z-tooltip: 1001;--topbar-height: 36px;--palette-width: 160px;--palette-width-collapsed: 50px;--palette-header-min-height: 60px;--palette-z-index: 10;--palette-collapse-btn-size: 32px;--palette-item-min-height: 40px;--palette-emoji-size: 16px;--palette-scrollbar-width: 6px;--palette-transition-duration: .3s;--palette-transition-easing: ease;--minimap-bottom: 20px;--minimap-left-expanded: 190px;--minimap-left-collapsed: 60px}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow:hidden;height:100%;width:100%}body{font-family:var(--font-family-primary);font-optical-sizing:auto;font-feature-settings:"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:var(--line-height-base)}#root{height:100%;width:100%;overflow:hidden}code{font-family:var(--font-family-code)}*:focus{outline:none}::selection{background:#fff3}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-bold{font-weight:700}.font-normal{font-weight:400}.italic{font-style:italic}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.opacity-70{opacity:.7}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.transition{transition:all .2s ease}.transition-transform{transition:transform .2s ease}.scale-hover:hover{transform:scale(1.02)}.app-container{width:100%;height:100vh;padding-top:0;box-sizing:border-box}.app-loading{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-canvas)}.app-loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin .8s linear infinite}.react-flow{background-color:var(--canvas-bg)!important;background-image:linear-gradient(var(--canvas-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid-color) 1px,transparent 1px)!important;background-size:var(--canvas-grid-size) var(--canvas-grid-size)!important}.react-flow__controls{background:var(--color-bg-node-body)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;z-index:10!important}.react-flow__controls-button{background:transparent!important;border:none!important;color:var(--color-text-primary)!important}.react-flow__controls-button:hover{background:var(--color-bg-hover)!important}.minimap-panel-wrapper{position:relative;margin:0 8px 56px 0!important}.minimap-panel-wrapper .react-flow__minimap{position:relative!important;bottom:auto!important;right:auto!important;margin:0!important;background:var(--color-bg-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.minimap-panel-wrapper .minimap-fit-view-button{position:absolute;bottom:4px;right:4px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;z-index:15}.minimap-panel-wrapper .minimap-auto-arrange-button{position:absolute;bottom:4px;right:30px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;z-index:15}.react-flow__minimap-mask{fill:#000!important;fill-opacity:.4!important;stroke:var(--color-border)!important;stroke-width:1!important}.react-flow__minimap-node{stroke:var(--color-border)!important;stroke-width:1!important}.react-flow__minimap-node.selected{fill:var(--color-accent-primary)!important;stroke:var(--color-accent-primary)!important}.react-flow__minimap{cursor:pointer!important}.react-flow__minimap:hover{border-color:var(--color-accent-primary)!important}.minimap-fit-view-button:hover,.minimap-auto-arrange-button:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.node-header{display:flex;align-items:center;gap:8px;padding:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--node-border-color);border-radius:var(--node-header-border-radius);color:var(--color-text-primary);background:#121212}.node-header[data-variant=positive]:not([style*=background]){background:#121212}.node-header[data-variant=loader]:not([style*=background]){background:#121212}.node-header[data-variant=output]:not([style*=background]){background:#121212}.node-header[data-variant=panel]:not([style*=background]){background:#121212}.node-header[data-output-type=text]:not([style*=background]){background:#121212}.node-header[data-output-type=image]:not([style*=background]){background:#121212}.node-header[data-output-type=video]:not([style*=background]){background:#121212}.node-icon{font-size:var(--font-size-base);line-height:1}.node-title{flex:1}.node-header-actions{display:flex;gap:4px;align-items:center}.node-status-bar{display:none;padding:8px 12px;border-bottom:1px solid var(--node-border-color);background:var(--color-bg-secondary);font-size:var(--font-size-xs);align-items:center;gap:6px;position:relative;overflow:hidden}.status-progress-bar{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#3b82f626,#3b82f640);transition:width .3s ease-out;z-index:0}.status-progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:progress-shimmer 1.5s ease-in-out infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.node-status-bar[data-status=processing]:not(:has(.status-progress-bar)):before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.3) 50%,transparent 100%);animation:status-bar-progress 1.5s ease-in-out infinite;z-index:0}@keyframes status-bar-progress{0%{left:-100%}to{left:100%}}.status-primary{display:flex;align-items:center;gap:6px;flex:1;position:relative;z-index:1}.status-icon{font-size:var(--font-size-sm);line-height:1;display:flex;align-items:center;justify-content:center}.status-icon-spinning{animation:icon-spin 2s linear infinite}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-text{color:var(--color-accent-warning);flex:1}.node-status-bar[data-status=processing] .status-text{color:var(--color-accent-primary)}.node-status-bar[data-status=error] .status-text{color:var(--color-accent-error)}.node-status-bar[data-status=warning] .status-text,.node-status-bar[data-status=warning] .status-icon{color:#f59e0b}.node-status-bar[data-status=success] .status-text{color:var(--color-accent-success)}.node-status-bar[data-status=idle] .status-text{color:var(--color-text-secondary)}.status-secondary,.progress-bar-container,.progress-bar{display:none}.node-connectors{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:#0000001a}.connector-row{display:flex;justify-content:space-between;align-items:center;min-height:32px;padding:4px 8px;position:relative;border-bottom:1px solid rgba(255,255,255,.05)}.connector-row:last-child{border-bottom:none}.connector-row:hover{background:#ffffff0d}.connector-cell{display:flex;align-items:center;gap:16px;flex:1;position:relative}.connector-input{justify-content:flex-start;padding-left:24px}.connector-output{justify-content:flex-end;padding-right:24px;text-align:right}.connector-handle{width:15px;height:15px;border-radius:50%;z-index:100!important;position:relative;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease;border:2px solid rgba(255,255,255,.85);background:#ffffff26;box-shadow:0 2px 4px #0000004d}.connector-input .connector-handle{position:absolute;left:-6px;top:50%;transform:translateY(-50%);margin-left:0;z-index:100!important}.connector-output .connector-handle{position:absolute;right:-6px;top:50%;transform:translateY(-50%);margin-right:0;margin-left:0;z-index:100!important}.connector-label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);-webkit-user-select:none;user-select:none;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap}.connector-output .connector-label{padding-right:0;margin-left:auto}.react-flow__handle.connector-handle.connected-input,.react-flow__handle.connector-handle.connected-output,.connector-handle.connected-input,.connector-handle.connected-output{--sphere-color: var(--connector-color, orange);background:radial-gradient(120% 120% at 30% 28%,#fffffffa,#fff9 14%,#ffffff24 32%,#fff0 46%),radial-gradient(100% 100% at 50% 58%,color-mix(in oklab,var(--sphere-color) 78%,black 22%),color-mix(in oklab,var(--sphere-color) 88%,black 36%) 68%,color-mix(in oklab,var(--sphere-color) 94%,black 52%))!important;border-color:color-mix(in oklab,var(--sphere-color) 70%,white 30%)!important;box-shadow:inset 0 1px 2px #ffffffb3,inset 0 -1px 3px #0006,0 0 0 3px color-mix(in oklab,var(--sphere-color) 35%,transparent),0 0 12px color-mix(in oklab,var(--sphere-color) 40%,transparent);transform:scale(1.08)}.connector-handle:hover{filter:brightness(1.15) saturate(1.05);transform:translateY(-50%) scale(1.12)}.node-body{flex:1;padding:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:0}.node-body-section{display:flex;flex-direction:column;gap:8px}.section-header{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.5px;padding:4px 0}.section-label{flex:1}.section-toggle{font-size:var(--font-size-3xs);color:var(--color-text-tertiary);transition:transform var(--duration-normal) ease}.section-header:hover .section-toggle{color:var(--color-accent-primary)}.section-content{display:flex;flex-direction:column;gap:8px}.node-panel.processing{border-color:var(--color-accent-primary);animation:processing-pulse var(--duration-pulse) ease-in-out infinite}@keyframes processing-pulse{0%,to{box-shadow:var(--glow-processing),var(--node-shadow)}50%{box-shadow:0 0 30px var(--color-glow-processing),var(--node-shadow)}}.node-panel.error{border-color:var(--color-accent-error)}.node-header,.node-status-bar,.node-body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.node-panel:focus-within{outline:2px solid var(--color-accent-primary);outline-offset:2px}.panel-container{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-bg-primary);border-radius:var(--radius-xl);border:1px solid var(--color-border);color:var(--color-text-primary)}.panel-title{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-primary)}.panel-button{padding:calc(var(--spacing-xs) + 2px) var(--spacing-md);font-size:var(--font-size-xs);border-radius:var(--radius-base);border:1px solid var(--color-border);background-color:var(--color-border);color:var(--color-text-primary);cursor:pointer;transition:background-color .2s ease}.panel-button:hover{background-color:var(--color-border-hover)}.panel-select{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:inherit}.panel-select:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.react-flow__node-startingPrompt,.react-flow__node-agentPrompt,.react-flow__node-imagePrompt,.react-flow__node-gptImage,.react-flow__node-fluxImage,.react-flow__node-zImageTurbo,.react-flow__node-qwenImage,.react-flow__node-qwenImageEdit,.react-flow__node-seedream,.react-flow__node-recraftV3,.react-flow__node-videoPrompt,.react-flow__node-veo31Video,.react-flow__node-sora2Video,.react-flow__node-kling26Video,.react-flow__node-kling25Video,.react-flow__node-wanVideo,.react-flow__node-wan26Video,.react-flow__node-wanAnimateVideo,.react-flow__node-ltxVideo,.react-flow__node-ltxFastVideo,.react-flow__node-minimaxVideo,.react-flow__node-pixverseVideo,.react-flow__node-hunyuanVideo,.react-flow__node-klingAvatar,.react-flow__node-veo3FalAI{min-width:calc(var(--node-min-width) * 1.4)!important}.react-flow__node-startingPrompt,.react-flow__node-agentPrompt,.react-flow__node-imagePrompt,.react-flow__node-gptImage,.react-flow__node-fluxImage,.react-flow__node-zImageTurbo,.react-flow__node-qwenImage,.react-flow__node-qwenImageEdit,.react-flow__node-seedream,.react-flow__node-recraftV3,.react-flow__node-output,.react-flow__node-customOutput,.react-flow__node-imagePanel,.react-flow__node-videoPrompt,.react-flow__node-veo31Video,.react-flow__node-sora2Video,.react-flow__node-kling26Video,.react-flow__node-kling25Video,.react-flow__node-wanVideo,.react-flow__node-wan26Video,.react-flow__node-wanAnimateVideo,.react-flow__node-ltxVideo,.react-flow__node-ltxFastVideo,.react-flow__node-minimaxVideo,.react-flow__node-pixverseVideo,.react-flow__node-hunyuanVideo,.react-flow__node-klingAvatar,.react-flow__node-veo3FalAI,.react-flow__node-inpaint{min-width:var(--node-min-width);max-width:none;padding:0;width:100%;height:100%;will-change:transform;contain:layout style}.react-flow__edges{z-index:1!important}.react-flow__connectionline{z-index:0!important}.react-flow__nodes{z-index:2!important}.react-flow__handle{z-index:100!important}.react-flow__node,.react-flow__node>*,.react-flow__node>*>*,.node-panel,.base-node,.custom-node{overflow:visible!important}.react-flow__handle{z-index:1000!important;overflow:visible!important}.react-flow__handle{position:absolute!important}.react-flow__node-animated .node-panel{animation:nodeDropIn var(--duration-normal) var(--easing-out)}.react-flow__node-deleting .node-panel{animation:nodeExit var(--duration-normal) var(--easing-in);pointer-events:none}@keyframes nodeDropIn{0%{opacity:0;transform:scale(.92) translateY(-8px)}60%{transform:scale(1.01) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes nodeExit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(4px)}}.node-panel{width:100%;height:100%;background:var(--node-body-background);border:none;border-radius:var(--node-border-radius);box-shadow:var(--node-shadow);overflow:visible;font-family:var(--font-primary);color:var(--color-text-primary);transition:border-color var(--duration-normal) var(--easing-default);position:relative;display:flex;flex-direction:column;box-sizing:border-box}.react-flow__node-startingPrompt:hover .node-panel,.react-flow__node-agentPrompt:hover .node-panel,.react-flow__node-imagePrompt:hover .node-panel,.react-flow__node-customOutput:hover .node-panel,.node-panel:hover{border-color:var(--node-state-hover-border)}.react-flow__node-startingPrompt.selected .node-panel,.react-flow__node-agentPrompt.selected .node-panel,.react-flow__node-imagePrompt.selected .node-panel,.react-flow__node-customOutput.selected .node-panel,.node-panel.selected{box-shadow:none}.react-flow__node.selected:has(.base-node-type-video){outline:2px solid var(--color-type-video)!important;outline-offset:14px;border-radius:var(--node-border-radius)}.react-flow__node.selected:has(.base-node-type-image){outline:2px solid var(--color-type-image)!important;outline-offset:14px;border-radius:var(--node-border-radius)}.react-flow__node.selected:has(.base-node-type-text){outline:2px solid var(--color-type-text)!important;outline-offset:14px;border-radius:var(--node-border-radius)}.react-flow__node.primary-image-source .node-panel{border:2px solid var(--color-accent-primary);box-shadow:0 0 12px #3b82f666,0 0 24px #3b82f633;animation:primaryImagePulse 2s ease-in-out infinite}@keyframes primaryImagePulse{0%,to{box-shadow:0 0 12px #3b82f666,0 0 24px #3b82f633}50%{box-shadow:0 0 16px #3b82f699,0 0 32px #3b82f64d}}.react-flow__node-startingPrompt.disabled .node-panel,.react-flow__node-agentPrompt.disabled .node-panel,.react-flow__node-imagePrompt.disabled .node-panel,.react-flow__node-customOutput.disabled .node-panel,.node-panel.disabled{opacity:var(--node-state-disabled-opacity);pointer-events:none}.node-header{padding:var(--node-header-padding);font-size:var(--node-header-font-size);font-weight:var(--node-header-font-weight);border-radius:var(--node-header-border-radius);color:var(--color-text-primary)}.node-header.model-loader{background:linear-gradient(to bottom,var(--color-header-model-loader-from),var(--color-header-model-loader-to))}.node-header.text-positive{background:linear-gradient(to bottom,var(--color-header-text-positive-from),var(--color-header-text-positive-to))}.node-header.text-negative{background:linear-gradient(to bottom,var(--color-header-text-negative-from),var(--color-header-text-negative-to))}.node-header.utility{background:linear-gradient(to bottom,var(--color-header-utility-from),var(--color-header-utility-to))}.node-header.output{background:linear-gradient(to bottom,var(--color-header-output-from),var(--color-header-output-to))}.react-flow__node-startingPrompt .node-header,.react-flow__node-agentPrompt .node-header,.react-flow__node-imagePrompt .node-header,.react-flow__node-videoPrompt .node-header{background:linear-gradient(to bottom,var(--color-header-utility-from),var(--color-header-utility-to))}.react-flow__node-customOutput .node-header{background:linear-gradient(to bottom,var(--color-header-output-from),var(--color-header-output-to))}.react-flow__node-customOutput.empty .node-header,.node-panel.empty .node-header.output{background:linear-gradient(to bottom,var(--color-header-utility-from),var(--color-header-utility-to))}.react-flow__node-customOutput.has-content .node-header,.node-panel.has-content .node-header.output{background:linear-gradient(to bottom,var(--color-header-output-from),var(--color-header-output-to))}.node-body{padding:var(--node-body-padding);width:100%;box-sizing:border-box;display:flex;flex-direction:column;flex:1;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;border-radius:0 0 var(--node-border-radius) var(--node-border-radius);min-height:0;gap:var(--spacing-xs)}.custom-node{text-align:left;font-family:var(--font-primary);font-optical-sizing:auto;font-feature-settings:"liga" 1,"calt" 1;background:var(--node-body-background);border:var(--node-border-width) solid var(--node-border-color);border-radius:var(--node-border-radius);color:var(--color-text-primary);padding:var(--node-body-padding);box-shadow:var(--node-shadow)}.node-content{display:flex;flex-direction:column}.node-padding{padding:var(--spacing-xs)}.connection-port{display:flex;align-items:center;gap:var(--port-gap);font-size:var(--font-size-xs);margin-bottom:var(--control-spacing)}.connection-port-circle{width:var(--port-size);height:var(--port-size);border-radius:var(--port-border-radius)}.connection-port-circle.model{background:var(--color-wire-model)}.connection-port-circle.clip{background:var(--color-wire-clip)}.connection-port-circle.latent{background:var(--color-wire-latent)}.connection-port-circle.conditioning{background:var(--color-wire-conditioning)}.connection-port-circle.image{background:var(--color-wire-image)}.connection-port-circle.vae{background:var(--color-wire-vae)}.port-badge{padding:var(--port-badge-padding);font-size:var(--port-badge-font-size);font-weight:var(--port-badge-font-weight);border-radius:var(--port-badge-border-radius)}.port-badge.model{background:var(--color-badge-model-bg);color:var(--color-badge-model-text)}.port-badge.clip{background:var(--color-badge-clip-bg);color:var(--color-badge-clip-text)}.port-badge.latent{background:var(--color-badge-latent-bg);color:var(--color-badge-latent-text)}.port-badge.conditioning{background:var(--color-badge-conditioning-bg);color:var(--color-badge-conditioning-text)}.port-badge.image{background:var(--color-badge-image-bg);color:var(--color-badge-image-text)}.port-badge.vae{background:var(--color-badge-vae-bg);color:var(--color-badge-vae-text)}.parameters-container{display:flex;flex-direction:column;gap:0;margin-bottom:var(--spacing-sm);flex:none;flex-shrink:0;border:1px solid #393939;border-radius:6px;padding:6px 8px;width:100%}.parameter-control{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);padding:4px 0;font-size:var(--control-font-size);border-bottom:var(--control-border-bottom);margin-bottom:0;transition:background-color var(--duration-fast) var(--easing-default);min-height:auto;height:auto;line-height:1.2;flex:none}.parameters-container .parameter-control:last-child{border-bottom:none}.parameter-control .control-label{min-width:110px;max-width:140px;flex-shrink:0;text-align:right;margin-right:8px}.parameter-control select{flex:1;min-width:120px;max-width:200px}.parameters-container .parameter-control{margin-bottom:0}.parameter-control:hover{background:#27272a80;cursor:pointer}.control-arrow{color:var(--control-arrow-color)}.control-label{color:var(--control-label-color);flex:none;line-height:1.2}.control-value{color:var(--control-value-color)}.control-value.monospace{font-family:var(--font-monospace)}.control-value.toggle-enabled{color:var(--color-control-toggle-enabled)}.control-value.toggle-disabled{color:var(--color-control-toggle-disabled)}.parameter-control select{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--node-border-color);background:var(--node-body-background);color:var(--color-text-primary);font-size:var(--font-size-xs);line-height:1.2;min-height:auto;height:auto}.slider-control{display:flex;flex-direction:column;gap:var(--spacing-xs)}.slider-track{height:var(--slider-track-height);background:var(--slider-track-background);border-radius:var(--slider-border-radius);margin:var(--slider-margin);overflow:hidden}.slider-fill{height:100%;background:var(--slider-fill-background);border-radius:var(--slider-border-radius);transition:width var(--duration-fast) var(--easing-default)}.textarea-control{width:100%;box-sizing:border-box;padding:var(--textarea-padding);font-size:var(--textarea-font-size);line-height:var(--textarea-line-height);color:var(--textarea-text-color);background:#000;border:1px solid #333333;border-radius:var(--textarea-border-radius);min-height:var(--textarea-min-height);margin-top:var(--spacing-xs);resize:none}.node-body>div:not(.parameter-control):not(.helper-text):not(.details-section):not(.status-area):not(.file-context-indicator){display:flex;flex-direction:column;flex:1;min-height:0;margin-bottom:var(--spacing-xs)}.node-body>div>.textarea-control,.node-body>.textarea-control{flex:1;min-height:var(--textarea-min-height);height:auto;margin-top:0;margin-bottom:0}.helper-text,.parameter-control,.details-section,.parameters-container,.status-area{flex:none!important;flex-shrink:0;flex-grow:0}.output-status-bar,.agent-status-bar,.image-status-bar,.video-status-bar{display:flex;justify-content:flex-start;align-items:center;padding:var(--spacing-xs) var(--node-body-padding);background:#0000001a;border-bottom:1px solid rgba(255,255,255,.1);font-size:var(--font-size-sm);flex-shrink:0;width:100%;box-sizing:border-box;overflow:hidden}.output-status-bar{justify-content:space-between}.starting-status-bar,.agent-status-bar,.image-status-bar,.video-status-bar{background:#0000001a;border-bottom:1px solid rgba(255,255,255,.1)}.status-item{display:flex;align-items:center;gap:var(--spacing-xs);overflow:hidden;padding:var(--spacing-xs) var(--spacing-sm)}.status-icon{flex-shrink:0;font-size:var(--font-size-sm)}.status-text{color:var(--color-accent-warning);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-sm)}.status-area{flex:none;flex-shrink:0;min-height:0;height:auto}.status-area:empty{height:0;margin:0;padding:0}.status-display{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;font-size:var(--control-font-size);margin-bottom:var(--spacing-xs);flex-shrink:0;max-width:100%;overflow:hidden}.status-display .control-label{color:var(--control-label-color);font-size:var(--font-size-sm);flex-shrink:0;white-space:nowrap}.status-display .control-value{color:var(--control-value-color);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.textarea-control.positive,.textarea-control.negative,.textarea-control.purple,.textarea-control.orange,.react-flow__node-agentPrompt .textarea-control,.react-flow__node-imagePrompt .textarea-control,.react-flow__node-videoPrompt .textarea-control{background:#373737;border:1px solid #333333}.custom-node textarea,.node-text-area{width:100%;min-height:var(--textarea-min-height);padding:var(--textarea-padding);resize:none;font-family:inherit;font-size:var(--textarea-font-size);line-height:var(--textarea-line-height);box-sizing:border-box;background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--textarea-border-radius);color:var(--textarea-text-color);margin:var(--spacing-xs) 0}.custom-node textarea.nodrag,.node-text-area.nodrag{cursor:text}.custom-node textarea:focus,.node-text-area:focus{outline:none;border-color:var(--color-accent-warning);box-shadow:0 0 0 var(--focus-outline-width) #f59e0b33}.custom-node .preview-content,.preview-content-clickable{min-height:var(--textarea-min-height);padding:var(--textarea-padding);cursor:pointer;border-radius:var(--textarea-border-radius);background:var(--color-bg-control);border:1px solid var(--color-border);transition:background-color var(--duration-normal) var(--easing-default)}.preview-content-padded{padding:var(--node-body-padding);margin:var(--spacing-xs)}.helper-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.2;margin:0;padding:var(--spacing-xs) 0 0 0}.helper-text-spaced{padding:0 var(--spacing-xs);margin-top:0}.helper-text-margined{margin-top:0}.helper-text-italic{font-style:italic}.helper-text-small{font-size:var(--font-size-xs)}.helper-text-tiny{font-size:var(--font-size-xs);font-weight:400}.send-button{background:none;border:none;padding:0;margin-left:8px;cursor:pointer;align-self:flex-end;color:var(--color-accent-primary);display:flex;align-items:center;gap:4px;height:32px;transition:opacity .2s ease,transform .2s ease}.send-button.with-credits{padding:4px 8px;background:#0006;border-radius:4px;border:1px solid rgba(59,130,246,.2)}.send-button .credit-cost{font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);font-family:var(--font-monospace);color:var(--color-accent-success);display:flex;align-items:center;gap:2px;white-space:nowrap}.send-button:hover:not(:disabled){opacity:.7;transform:scale(1.05)}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{cursor:not-allowed}.status-indicator{font-size:var(--font-size-sm);padding:var(--spacing-xs);margin-top:var(--spacing-xs)}.status-indicator.processing{display:flex;align-items:center;gap:var(--spacing-xs)}.custom-node img{max-width:100%;max-height:200px;border-radius:var(--radius-base)}.output-image{width:100%;height:auto;max-height:none;border-radius:var(--radius-base);object-fit:contain;display:block}.output-image.clickable{transition:transform .2s ease;cursor:pointer}.output-image.clickable:hover{transform:scale(1.02)}.image-error{display:none;color:var(--color-text-primary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.content-display{line-height:var(--line-height-relaxed)}.text-content{overflow-y:auto;overflow-x:hidden;line-height:var(--line-height-relaxed);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;box-sizing:border-box}.waiting-content{font-style:italic;text-align:left;padding:var(--spacing-xl) var(--spacing-lg);display:flex;align-items:center;justify-content:center;min-height:80px;opacity:.7}.text-content p,.text-content div,.text-content h1,.text-content h2,.text-content h3,.text-content h4,.text-content h5,.text-content h6,.text-content ul,.text-content ol,.text-content blockquote,.text-content pre,.text-content code{word-wrap:break-word;overflow-wrap:break-word;max-width:100%;box-sizing:border-box}.text-content pre{white-space:pre-wrap;overflow-x:auto}.text-content code{white-space:pre-wrap}.details-section{margin-top:0;margin-bottom:0;max-width:100%;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;min-height:auto;height:auto;padding:0;flex:none;flex-shrink:0}.details-section-large{margin-top:var(--spacing-md);max-width:100%;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.summary-clickable{cursor:pointer}.output-item{margin-bottom:var(--spacing-xs)}.image-helper-text{margin-top:var(--spacing-sm);font-style:italic}.react-flow__node-startingPrompt .node-body,.react-flow__node-videoPrompt .node-body{overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;display:flex;flex-direction:column;flex:1}.react-flow__node-agentPrompt .node-body,.react-flow__node-imagePrompt .node-body{overflow:visible;word-wrap:break-word;overflow-wrap:break-word;display:flex;flex-direction:column;flex:1}.react-flow__node-imagePanel .node-body{overflow:visible}.react-flow__node-imagePrompt .markdown-textarea-container{flex:1;min-height:0}.react-flow__node-imagePrompt .parameter-controls-container{flex-shrink:0}.react-flow__node-videoPrompt{min-width:var(--node-min-width);min-height:var(--node-min-height);max-width:none;padding:0;width:100%;height:100%}.react-flow__node-customOutput .node-body{overflow:visible;flex:1;min-height:0;display:flex;flex-direction:column}.react-flow__node-customOutput .node-body>div:first-child{flex:1;display:flex;flex-direction:column;min-height:0}.react-flow__node-customOutput .text-content{flex:1;display:flex;flex-direction:column}.react-flow__node-customOutput .waiting-content{flex:1;display:flex;align-items:center;justify-content:center;min-height:100px}.react-flow__node-startingPrompt .textarea-control,.react-flow__node-agentPrompt .textarea-control,.react-flow__node-imagePrompt .textarea-control,.react-flow__node-videoPrompt .textarea-control{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}.react-flow__node-startingPrompt .helper-text,.react-flow__node-agentPrompt .helper-text,.react-flow__node-imagePrompt .helper-text,.react-flow__node-videoPrompt .helper-text{word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow:hidden}.connection-wire{stroke-width:2px;fill:none;stroke-linecap:round;pointer-events:none}.connection-wire.model{stroke:var(--color-wire-model)}.connection-wire.clip{stroke:var(--color-wire-clip)}.connection-wire.latent{stroke:var(--color-wire-latent)}.connection-wire.conditioning{stroke:var(--color-wire-conditioning)}.connection-wire.image{stroke:var(--color-wire-image)}.connection-wire.vae{stroke:var(--color-wire-vae)}.connection-wire.selected{stroke-width:3px;filter:drop-shadow(0 0 4px currentColor)}.react-flow__handle{width:15px!important;height:15px!important;border-radius:50%!important;position:absolute!important;z-index:10!important;transition:all var(--duration-normal) var(--easing-default)!important}.react-flow__handle.react-flow__handle-left{left:0!important;transform:translate(-50%,-50%)!important}.react-flow__handle.react-flow__handle-right{right:0!important;left:auto!important;transform:translate(50%,-50%)!important}.react-flow__handle.connector-handle.react-flow__handle-left{left:-4px!important}.react-flow__handle.connector-handle.react-flow__handle-right{right:-4px!important}.react-flow__handle.connecting{background:var(--color-accent-primary)!important;border-color:var(--color-accent-primary)!important}.react-flow__handle.valid,.react-flow__handle-target.valid{background:var(--color-accent-success)!important;border-color:var(--color-accent-success)!important}.react-flow__handle-source.valid{background:var(--color-accent-warning)!important;border-color:var(--color-accent-warning)!important}.react-flow__handle.connected,.react-flow__handle[data-nodeid][data-handleid]{opacity:1;transform:scale(1.1);transition:transform var(--duration-fast),opacity var(--duration-fast)}.react-flow__handle:hover{filter:brightness(1.2);transform:translateY(-50%) scale(1.15);box-shadow:0 0 8px currentColor}.react-flow__edge path{stroke-width:4;cursor:pointer;transition:stroke var(--duration-fast),stroke-width var(--duration-fast),filter var(--duration-fast);paint-order:stroke fill;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(0,0,0,.8)) drop-shadow(0 0 2px rgba(0,0,0,.9));stroke-dasharray:none!important;animation:none!important}.react-flow__edge:hover path{stroke-width:5;filter:brightness(1.2) drop-shadow(0 0 3px rgba(0,0,0,.8)) drop-shadow(0 0 2px rgba(0,0,0,.9))}.react-flow__edge.selected path{stroke:#fff!important;stroke-width:5;filter:drop-shadow(0 0 4px rgba(255,255,255,.6)) drop-shadow(0 0 8px rgba(255,255,255,.3)) drop-shadow(0 0 3px rgba(0,0,0,.8))}.react-flow__connectionline{stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(0,0,0,.8)) drop-shadow(0 0 2px rgba(0,0,0,.9));z-index:0!important}.node-panel:focus-visible,.parameter-control:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:2px}.transition-fast{transition-duration:var(--duration-fast);transition-timing-function:var(--easing-default)}.transition-normal{transition-duration:var(--duration-normal);transition-timing-function:var(--easing-default)}.transition-slow{transition-duration:var(--duration-slow);transition-timing-function:var(--easing-default)}.react-flow__resize-control{opacity:0;transition:opacity .2s ease;pointer-events:auto}.react-flow__node.selected .react-flow__resize-control,.react-flow__resize-control.dragging,.react-flow__resize-control:hover{opacity:1}.react-flow__node{position:relative;overflow:visible}.react-flow__node.selected{outline:2px solid var(--node-border-color);outline-offset:12px;border-radius:var(--node-border-radius)}.react-flow__resize-control{position:absolute;pointer-events:auto;z-index:10}@keyframes progress-bar{0%{transform:scaleX(0)}50%{transform:scaleX(1)}to{transform:scaleX(0)}}.react-flow__node.animating{transition:transform .2s cubic-bezier(.33,1,.68,1)!important}.node-settings-labels{opacity:0;transition:opacity .2s ease;pointer-events:none;position:relative}.react-flow__node:hover .node-settings-labels{opacity:1;pointer-events:auto}.markdown-textarea-container{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;overflow:hidden;position:relative}.markdown-textarea-container.settings-open .markdown-textarea-edit,.markdown-textarea-container.settings-open .markdown-textarea-preview{border-bottom-left-radius:0;border-bottom-right-radius:0}.markdown-textarea-edit-wrapper{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;width:100%;position:relative}.markdown-textarea-edit{flex:1 1 auto;height:100%;min-height:var(--min-height, 80px);max-height:var(--max-height, 400px);overflow-y:auto;overflow-x:hidden;resize:none;box-sizing:border-box;padding:28px 28px 48px;font-size:var(--textarea-font-size, 14px);line-height:var(--textarea-line-height, 1.6);color:var(--textarea-text-color, #A2A2A2);background:#373737;border:0;border-radius:12px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.markdown-textarea-edit:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3b82f61a}.markdown-textarea-edit::placeholder{color:var(--color-text-tertiary);opacity:.6}.markdown-textarea-preview{flex:1 1 auto;height:100%;min-height:var(--min-height, 80px);max-height:var(--max-height, 400px);overflow-y:auto;overflow-x:hidden;cursor:pointer;padding:28px;font-size:var(--textarea-font-size, 14px);line-height:var(--textarea-line-height, 1.6);color:var(--textarea-text-color, #A2A2A2);background:#373737;border:0;border-radius:12px;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;transition:background-color .2s ease,border-color .2s ease}.markdown-textarea-preview:hover{background:#0006;border-color:#444}.markdown-textarea-preview:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3b82f61a}.markdown-textarea-preview *{max-width:100%;word-wrap:break-word;overflow-wrap:break-word}.markdown-textarea-preview p{margin:0 0 .5em}.markdown-textarea-preview p:last-child{margin-bottom:0}.markdown-textarea-preview ul,.markdown-textarea-preview ol{margin:.5em 0;padding-left:1.5em}.markdown-textarea-preview code{padding:.2em .4em;background:#ffffff1a;border-radius:3px;font-size:.9em}.markdown-textarea-preview pre{padding:.75em;background:#ffffff0d;border-radius:6px;overflow-x:auto;margin:.5em 0}.markdown-textarea-preview pre code{padding:0;background:none}.markdown-textarea-placeholder{flex:1;min-height:var(--min-height, 80px);display:flex;align-items:center;justify-content:center;padding:28px;border:1px dashed #333333;border-radius:12px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;pointer-events:auto}.markdown-textarea-placeholder .helper-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;text-align:center}.markdown-textarea-placeholder .helper-text-italic{font-style:italic;opacity:.6}.markdown-textarea-placeholder:hover{border-color:#444;background:#0003}.markdown-textarea-placeholder:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3b82f61a}.markdown-textarea-submit,.send-button{position:absolute;bottom:8px;right:8px;background:#0009;border:1px solid rgba(59,130,246,.3);border-radius:4px;padding:6px 8px;cursor:pointer;color:var(--color-accent-primary);display:flex;align-items:center;justify-content:center;gap:4px;height:32px;min-width:32px;width:auto;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.send-button.with-credits{padding:6px 10px}.send-button .credit-cost{font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);font-family:var(--font-monospace);color:#4ade80;display:flex;align-items:center;gap:2px;white-space:nowrap}.markdown-textarea-submit:hover:not(:disabled),.send-button:hover:not(:disabled){background:#000c;border-color:#3b82f699;transform:scale(1.05)}.markdown-textarea-submit:active:not(:disabled),.send-button:active:not(:disabled){transform:scale(.95);background:#000000e6}.markdown-textarea-submit:disabled,.send-button:disabled{cursor:not-allowed}.send-button:disabled .send-icon{color:#6b7280;filter:grayscale(100%)}.magic-wand-button{position:absolute;bottom:8px;right:8px;background:transparent;border:none;border-radius:4px;padding:6px 8px;cursor:pointer;color:#a2a2a2;display:flex;align-items:center;justify-content:center;height:32px;width:32px;transition:all .2s ease;z-index:10}.magic-wand-button:hover:not(:disabled){color:#ccc;transform:scale(1.05)}.magic-wand-button:active:not(:disabled){transform:scale(.95)}.magic-wand-button:disabled{opacity:.4;cursor:not-allowed}.magic-wand-button.settings-shifted{bottom:28px}.markdown-textarea-edit-wrapper:has(.send-button) .magic-wand-button{right:48px}.settings-toggle-button{position:absolute;bottom:8px;right:8px;background:transparent;border:none;border-radius:4px;padding:6px 8px;cursor:pointer;color:#a2a2a2;display:flex;align-items:center;justify-content:center;height:32px;width:32px;transition:all .2s ease;z-index:10}.settings-toggle-button:hover:not(:disabled){color:#ccc;transform:scale(1.05)}.settings-toggle-button:active:not(:disabled){transform:scale(.95)}.settings-toggle-button:disabled{opacity:.4;cursor:not-allowed}.markdown-textarea-edit-wrapper:has(.settings-toggle-button) .magic-wand-button{right:48px}.markdown-textarea-edit-wrapper:has(.settings-toggle-button):has(.send-button) .magic-wand-button{right:88px}.markdown-textarea-edit-wrapper:has(.settings-toggle-button):has(.send-button) .settings-toggle-button{right:48px}.node-generate-container{display:flex;justify-content:flex-end;padding:12px 0 4px}.node-generate-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:2px solid #373737;border-radius:8px;background:transparent;color:#a2a2a2;cursor:pointer;font-size:16px;font-weight:500;transition:all .15s ease}.node-generate-button:hover:not(:disabled){border-color:#42c3d7;color:#42c3d7}.node-generate-button:active:not(:disabled){transform:scale(.98)}.node-generate-button:disabled{opacity:.5;cursor:not-allowed}.node-generate-credits{display:flex;align-items:center;gap:4px;font-size:14px;opacity:.8}.node-generate-credits .coin-icon{font-size:14px}.markdown-textarea-container.positive .markdown-textarea-edit,.markdown-textarea-container.positive .markdown-textarea-preview{border-color:#333;background:#373737}.markdown-textarea-container.positive .markdown-textarea-edit:focus{border-color:#15803d;box-shadow:0 0 0 2px #15803d33}.markdown-textarea-container.negative .markdown-textarea-edit,.markdown-textarea-container.negative .markdown-textarea-preview{border-color:#333;background:#373737}.markdown-textarea-container.negative .markdown-textarea-edit:focus{border-color:#b91c1c;box-shadow:0 0 0 2px #b91c1c33}.markdown-textarea-container.purple .markdown-textarea-edit,.markdown-textarea-container.purple .markdown-textarea-preview{border-color:#333;background:#373737}.markdown-textarea-container.purple .markdown-textarea-edit:focus{border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf633}.markdown-textarea-container.orange .markdown-textarea-edit,.markdown-textarea-container.orange .markdown-textarea-preview{border-color:#333;background:#373737}.markdown-textarea-container.orange .markdown-textarea-edit:focus{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.markdown-textarea-edit::-webkit-scrollbar,.markdown-textarea-preview::-webkit-scrollbar{width:8px}.markdown-textarea-edit::-webkit-scrollbar-track,.markdown-textarea-preview::-webkit-scrollbar-track{background:#0003;border-radius:4px}.markdown-textarea-edit::-webkit-scrollbar-thumb,.markdown-textarea-preview::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.markdown-textarea-edit::-webkit-scrollbar-thumb:hover,.markdown-textarea-preview::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.model-selector-container{margin-bottom:4px}.model-selector-container .MuiInputBase-root{font-size:var(--font-size-xs);background-color:var(--color-bg-node-body);min-height:auto;color:var(--color-text-primary)}.model-selector-container .MuiInputLabel-root{font-size:var(--font-size-xs);color:var(--color-text-primary)}.model-selector-container .MuiInputLabel-root.Mui-focused{color:var(--color-text-primary)}.model-selector-container .MuiSelect-select{padding:4px 8px!important;line-height:1.2}.model-selector-container .MuiSelect-icon{font-size:var(--font-size-base)}.MuiMenu-paper{background-color:#18181b!important}.MuiMenuItem-root{color:#f3f4f6!important;font-size:var(--font-size-xs)!important}.MuiMenuItem-root:hover,.MuiMenuItem-root.Mui-selected{background-color:#27272a!important}.MuiMenuItem-root.Mui-selected:hover{background-color:#3f3f46!important}.MuiMenuItem-root.Mui-focusVisible{background-color:#27272a!important}.model-option{display:flex;flex-direction:column;gap:4px}.model-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.model-provider{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.model-selector-positive .MuiOutlinedInput-notchedOutline{border-color:#22c55e4d!important}.model-selector-positive .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#22c55e80!important}.model-selector-positive .MuiInputLabel-root.Mui-focused{color:#22c55ecc!important}.model-selector-negative .MuiOutlinedInput-notchedOutline{border-color:#ef44444d!important}.model-selector-negative .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#ef444480!important}.model-selector-negative .MuiInputLabel-root.Mui-focused{color:#ef4444cc!important}.model-selector-purple .MuiOutlinedInput-notchedOutline{border-color:#a855f74d!important}.model-selector-purple .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#a855f780!important}.model-selector-purple .MuiInputLabel-root.Mui-focused{color:#a855f7cc!important}.model-selector-purple .MuiSelect-icon{color:#a855f799}.parameter-controls-container{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-sm, 12px);border:1px solid var(--node-border-color, #27272A);border-radius:4px;margin-top:auto}.parameter-control{display:flex;flex-direction:column;gap:var(--spacing-xs, 8px);margin-bottom:0}.parameter-control .MuiInputBase-root{font-size:var(--font-size-xs);background-color:var(--color-bg-node-body);min-height:auto;color:var(--color-text-primary)}.parameter-control .MuiInputLabel-root{font-size:var(--font-size-xs);color:var(--color-text-primary)}.parameter-control .MuiSelect-select{padding:4px 8px!important;line-height:1.2}.parameter-control .MuiSelect-icon{font-size:var(--font-size-base)}.parameter-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.parameter-label-disabled{color:var(--color-disabled-text)}.parameter-slider-container{display:flex;align-items:center;gap:var(--spacing-sm, 12px)}.parameter-value{min-width:40px;text-align:right;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.parameter-value-disabled{color:var(--color-disabled-text-muted)}.parameter-slider-positive .MuiSlider-thumb,.parameter-slider-positive .MuiSlider-track{color:#22c55e}.parameter-slider-negative .MuiSlider-thumb,.parameter-slider-negative .MuiSlider-track{color:#ef4444}.parameter-slider-purple .MuiSlider-thumb,.parameter-slider-purple .MuiSlider-track{color:#a855f7}.parameter-switch-positive .MuiSwitch-switchBase.Mui-checked{color:#22c55e}.parameter-switch-positive .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:#22c55e}.parameter-switch-negative .MuiSwitch-switchBase.Mui-checked{color:#ef4444}.parameter-switch-negative .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:#ef4444}.parameter-switch-purple .MuiSwitch-switchBase.Mui-checked{color:#a855f7}.parameter-switch-purple .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:#a855f7}.parameter-select-purple .MuiOutlinedInput-notchedOutline{border-color:#a855f74d!important}.parameter-select-purple:hover .MuiOutlinedInput-notchedOutline{border-color:#a855f780!important}.parameter-select-purple.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#a855f7!important}.parameter-select-purple .MuiSelect-icon{color:#a855f7}.parameter-select-label-purple{color:#a855f7b3!important}.parameter-select-label-purple.Mui-focused{color:#a855f7!important}.parameter-select-positive .MuiOutlinedInput-notchedOutline{border-color:#22c55e4d!important}.parameter-select-positive:hover .MuiOutlinedInput-notchedOutline{border-color:#22c55e80!important}.parameter-select-positive.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#22c55e!important}.parameter-select-positive .MuiSelect-icon{color:#22c55e}.parameter-select-negative .MuiOutlinedInput-notchedOutline{border-color:#ef44444d!important}.parameter-select-negative:hover .MuiOutlinedInput-notchedOutline{border-color:#ef444480!important}.parameter-select-negative.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#ef4444!important}.parameter-select-negative .MuiSelect-icon{color:#ef4444}.file-upload-container{display:flex;flex-direction:column;gap:var(--spacing-sm, 12px)}.file-upload-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs, 8px)}.file-upload-button-positive{border-color:#22c55e4d;color:#22c55e}.file-upload-button-positive:hover{border-color:#22c55e80;background-color:#22c55e0d}.file-upload-button-negative{border-color:#ef44444d;color:#ef4444}.file-upload-button-negative:hover{border-color:#ef444480;background-color:#ef44440d}.file-upload-button-purple{border-color:#a855f74d;color:#a855f7}.file-upload-button-purple:hover{border-color:#a855f780;background-color:#a855f70d}.file-chip-positive{background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.file-chip-negative{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3)}.file-chip-purple{background-color:#a855f71a;border:1px solid rgba(168,85,247,.3)}.media-preview-container{position:relative;display:flex;justify-content:center;align-items:center;background:#000;border-radius:var(--media-border-radius, 8px);overflow:hidden;border:1px solid #333333}.media-preview-content{width:100%;height:auto;display:block;object-fit:contain}.media-preview-fullscreen-button{position:absolute;top:8px;right:8px;background:#0009;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.media-preview-fullscreen-button:hover{background:#000c}.media-preview-dialog .MuiDialog-paper{background:#000;max-width:90vw;max-height:90vh}.media-preview-dialog .MuiDialogContent-root{padding:0;display:flex;justify-content:center;align-items:center}.media-preview-fullscreen{max-width:90vw;max-height:90vh;object-fit:contain}.media-preview-close-button{position:absolute;top:16px;right:16px;z-index:1;background:#0009;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.media-preview-close-button:hover{background:#000c}.media-preview-positive{border-color:#22c55e4d}.media-preview-negative{border-color:#ef44444d}.media-preview-purple{border-color:#a855f74d}.react-flow__node-universalStartingPrompt{padding:0}.react-flow__node{height:auto!important;min-height:448px}.base-node{display:flex;flex-direction:column;background:#12121200;border-radius:12px;border:none;overflow:visible;box-shadow:none;transition:all .2s ease;width:100%;min-height:448px}.base-node-selected{border-color:transparent;box-shadow:none}.base-node-positive{border-color:transparent}.base-node-positive.base-node-selected{border-color:transparent;box-shadow:none}.base-node-positive .base-node-header{background:#12121200}.base-node-negative{border-color:transparent}.base-node-negative.base-node-selected{border-color:transparent;box-shadow:none}.base-node-purple{border-color:transparent}.base-node-purple.base-node-selected{border-color:transparent;box-shadow:none}.base-node-purple .base-node-header{background:#12121200}.base-node-orange{border-color:transparent}.base-node-orange.base-node-selected{border-color:transparent;box-shadow:none}.base-node-orange .base-node-header{background:#12121200}.base-node-neutral{border-color:transparent}.base-node-neutral.base-node-selected{border-color:transparent;box-shadow:none}.base-node-warning{border-color:transparent}.base-node-warning.base-node-selected{border-color:transparent;box-shadow:none}.base-node-type-text{border-color:transparent}.base-node-type-text.base-node-selected{border-color:transparent;box-shadow:none}.base-node-type-text .base-node-header{background:#12121200}.base-node-type-image{border-color:transparent}.base-node-type-image.base-node-selected{border-color:transparent;box-shadow:none}.base-node-type-image .base-node-header{background:#12121200}.base-node-type-video{border-color:transparent}.base-node-type-video.base-node-selected{border-color:transparent;box-shadow:none}.base-node-type-video .base-node-header{background:#12121200}.base-node-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#12121200;border-bottom:none;border-radius:12px 12px 0 0}.base-node-header-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.base-node-title{font-family:Inter,system-ui,sans-serif;font-size:24px;font-weight:400;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-node-type{font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.base-node-type-label-text{color:var(--color-type-text, #FED402)}.base-node-type-label-image{color:var(--color-type-image, #42C3D7)}.base-node-type-label-video{color:var(--color-type-video, #FF4B42)}.base-node-actions{display:flex;gap:4px;margin-left:12px}.base-node-action-button{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;transition:all .2s ease}.base-node-action-button:hover{background:#ffffff1a;color:#fff}.base-node-delete-button:hover{background:#ef444433;color:#ef4444}.base-node-content{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;gap:0}.base-node-content:has(.image-container),.base-node-content:has(.video-container){padding:0;gap:0;overflow:hidden;border-radius:0 0 6px 6px}.image-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface)}.image-container img{width:100%;height:100%;object-fit:contain}.video-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface)}video:fullscreen{object-fit:contain!important}video:-webkit-full-screen{object-fit:contain!important}.base-node-handle{width:12px!important;height:12px!important;border:none!important;box-shadow:0 0 0 6px #1a1a1a!important;background:#4f46e5!important;border-radius:50%!important;transition:all .2s ease;cursor:crosshair;z-index:1000!important;overflow:visible!important}.base-node-handle:hover{width:14px!important;height:14px!important;box-shadow:0 0 8px #4f46e580}.base-node-handle-type-text{background:var(--color-type-text)!important}.base-node-handle-type-image{background:var(--color-type-image)!important}.base-node-handle-type-video{background:var(--color-type-video)!important}.base-node-handle-type-any{background:var(--color-type-any)!important}.base-node-handle-output.base-node-handle-active.base-node-handle-type-text{background:#1a1a1a!important;box-shadow:0 0 0 6px var(--color-type-text)!important}.base-node-handle-output.base-node-handle-active.base-node-handle-type-image{background:#1a1a1a!important;box-shadow:0 0 0 6px var(--color-type-image)!important}.base-node-handle-output.base-node-handle-active.base-node-handle-type-video{background:#1a1a1a!important;box-shadow:0 0 0 6px var(--color-type-video)!important}.base-node-handle-output.base-node-handle-active.base-node-handle-type-any{background:#1a1a1a!important;box-shadow:0 0 0 6px var(--color-type-any)!important}@property --arc-start{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --arc-end{syntax: "<angle>"; inherits: false; initial-value: 180deg;}.base-node-handle-input{background:transparent!important;box-shadow:none!important;position:relative}.base-node-handle-input:before{content:"";position:absolute;top:50%;left:50%;width:calc(100% + 12px);height:calc(100% + 12px);transform:translate(-50%,-50%);border-radius:50%;z-index:1;pointer-events:none;transition:--arc-start .2s ease-out,--arc-end .2s ease-out,background .15s ease-out;mask:conic-gradient(from var(--arc-start),black 0deg var(--arc-end),transparent var(--arc-end) 360deg);-webkit-mask:conic-gradient(from var(--arc-start),black 0deg var(--arc-end),transparent var(--arc-end) 360deg)}.base-node-handle-input:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);border-radius:50%;background:#1a1a1a;z-index:2;pointer-events:none}.base-node-handle-input.base-node-handle-input-open.base-node-handle-type-text:before{background:var(--color-type-text);--arc-start: 0deg;--arc-end: 180deg}.base-node-handle-input.base-node-handle-input-open.base-node-handle-type-image:before{background:var(--color-type-image);--arc-start: 0deg;--arc-end: 180deg}.base-node-handle-input.base-node-handle-input-open.base-node-handle-type-video:before{background:var(--color-type-video);--arc-start: 0deg;--arc-end: 180deg}.base-node-handle-input.base-node-handle-input-open.base-node-handle-type-any:before{background:var(--color-type-any);--arc-start: 0deg;--arc-end: 180deg}.base-node-handle-input.base-node-handle-input-closing.base-node-handle-type-text:before{background:var(--color-type-text);--arc-start: -45deg;--arc-end: 270deg}.base-node-handle-input.base-node-handle-input-closing.base-node-handle-type-image:before{background:var(--color-type-image);--arc-start: -45deg;--arc-end: 270deg}.base-node-handle-input.base-node-handle-input-closing.base-node-handle-type-video:before{background:var(--color-type-video);--arc-start: -45deg;--arc-end: 270deg}.base-node-handle-input.base-node-handle-input-closing.base-node-handle-type-any:before{background:var(--color-type-any);--arc-start: -45deg;--arc-end: 270deg}.base-node-handle-input.base-node-handle-input-closed.base-node-handle-type-text:before{background:var(--color-type-text);--arc-start: -90deg;--arc-end: 360deg}.base-node-handle-input.base-node-handle-input-closed.base-node-handle-type-image:before{background:var(--color-type-image);--arc-start: -90deg;--arc-end: 360deg}.base-node-handle-input.base-node-handle-input-closed.base-node-handle-type-video:before{background:var(--color-type-video);--arc-start: -90deg;--arc-end: 360deg}.base-node-handle-input.base-node-handle-input-closed.base-node-handle-type-any:before{background:var(--color-type-any);--arc-start: -90deg;--arc-end: 360deg}.base-node-handle-positive{background:#22c55e}.base-node-handle-positive:hover{box-shadow:0 0 8px #22c55e80}.base-node-handle-negative{background:#ef4444}.base-node-handle-negative:hover{box-shadow:0 0 8px #ef444480}.base-node-handle-purple{background:#8b5cf6}.base-node-handle-purple:hover{box-shadow:0 0 8px #8b5cf680}.base-node-handle-orange{background:#f97316}.base-node-handle-orange:hover{box-shadow:0 0 8px #f9731680}.base-node-handle-neutral{background:#6b7280}.base-node-handle-neutral:hover{box-shadow:0 0 8px #6b728080}.base-node-edge-label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:3px;background:#000c;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease;position:absolute;top:50%;transform:translateY(-50%)}.base-node-edge-label-input{right:calc(100% + 8px)}.base-node-edge-label-output{left:calc(100% + 8px)}.base-node-handle:hover .base-node-edge-label,.base-node:hover .base-node-edge-label{opacity:1}.base-node-connector-type-text{color:var(--color-type-text)}.base-node-connector-type-image{color:var(--color-type-image)}.base-node-connector-type-video{color:var(--color-type-video)}.base-node-connector-type-any{color:var(--color-type-any)}.file-drop-zone{position:relative;transition:all .2s ease;height:100%;display:flex;flex-direction:column}.file-drop-zone.drop-zone-active{background:var(--color-accent-primary-alpha);border:2px dashed var(--color-accent-primary);border-radius:4px}.file-context-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;margin:8px 8px 0;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-primary);transition:all var(--duration-normal) ease}.file-context-indicator:hover{background:#3b82f626}.file-context-indicator .context-icon{color:#3b82f6cc}.file-context-indicator .context-text{font-weight:500}.file-context-positive{background:#22c55e1a;border-color:#22c55e4d}.file-context-positive:hover{background:#22c55e26}.file-context-positive .context-icon{color:#22c55ecc}.file-context-purple{background:#a855f71a;border-color:#a855f74d}.file-context-purple:hover{background:#a855f726}.file-context-purple .context-icon{color:#a855f7cc}.file-context-negative{background:#ef44441a;border-color:#ef44444d}.file-context-negative:hover{background:#ef444426}.file-context-negative .context-icon{color:#ef4444cc}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);cursor:pointer;overflow:auto;padding:40px}.lightbox-content{position:relative;margin:auto;cursor:default;display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:calc(100vw - 80px);max-height:calc(100vh - 80px);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-xl);display:block}.lightbox-close{position:absolute;top:-40px;right:-40px;background:var(--color-border);border:1px solid var(--color-text-primary);border-radius:var(--radius-round);width:32px;height:32px;font-size:var(--font-size-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);transition:all .2s ease}.lightbox-close:hover{background:var(--color-bg-primary);border-color:var(--color-text-primary);transform:scale(1.1)}.lightbox-context-menu{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 6px #0006;overflow:hidden;animation:fadeIn .15s ease-out}.lightbox-context-menu .context-menu-item{display:flex;align-items:center;gap:12px;padding:10px 16px;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;font-size:14px;font-weight:500;width:100%;text-align:left;transition:background-color .15s ease}.lightbox-context-menu .context-menu-item:hover{background:var(--color-bg-hover)}.lightbox-context-menu .context-menu-item svg{color:var(--color-text-secondary)}.lightbox-context-menu .context-menu-item.danger{color:var(--color-error)}.lightbox-context-menu .context-menu-item.danger svg{color:var(--color-error)}.lightbox-context-menu .context-menu-item.danger:hover{background:#f04e4726}.lightbox-context-menu .context-menu-divider{height:1px;background-color:var(--color-border);margin:6px 0}.paged-output-context-menu{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 6px #0006;overflow:hidden;animation:fadeIn .15s ease-out}.paged-output-context-menu .context-menu-item{display:flex;align-items:center;gap:12px;padding:10px 16px;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;font-size:14px;font-weight:500;width:100%;text-align:left;transition:background-color .15s ease}.paged-output-context-menu .context-menu-item:hover{background:var(--color-bg-hover)}.paged-output-context-menu .context-menu-item svg{color:var(--color-text-secondary)}.paged-output-context-menu .context-menu-item--danger{color:var(--color-error)}.paged-output-context-menu .context-menu-item--danger svg{color:var(--color-error)}.paged-output-context-menu .context-menu-item--danger:hover{background:#f04e4726}.paged-output-context-menu .context-menu-divider{height:1px;background-color:var(--color-border);margin:6px 0}.flow-toolbar{display:none;position:fixed;top:0;left:120px;right:0;height:36px;gap:var(--spacing-sm);z-index:1001;align-items:center;padding:0 var(--spacing-sm);background:var(--color-bg-node-body);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg)}.flow-toolbar-flow-name{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--spacing-xs);box-shadow:0 1px 4px #0000001a;width:300px;flex-shrink:0}.flow-toolbar-flow-name input{background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:var(--font-size-xs);width:100%;padding:0;min-width:0}.flow-toolbar-flow-name span{cursor:pointer;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-toolbar-flow-name span[data-empty=true]{color:var(--color-text-secondary)}.flow-toolbar-flow-name span[data-empty=false]{color:var(--color-text-primary)}.flow-toolbar-separator{width:1px;height:18px;background:var(--color-border);opacity:.5;flex-shrink:0}.flow-toolbar-spacer{flex:1}.flow-toolbar-button{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-3xs);display:flex;align-items:center;gap:var(--spacing-xxs);box-shadow:0 1px 4px #0000001a;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.flow-toolbar-button:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.flow-toolbar-button.brand-voice-button{display:none}.flow-toolbar-credits{display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.flow-toolbar-credits svg{width:16px;height:16px;color:var(--color-accent-primary)}.inpaint-editor-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;pointer-events:all}.inpaint-editor-modal .modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:all}.inpaint-editor-modal .modal-content{position:relative;background:var(--node-body-background);border:2px solid var(--node-border-color);border-radius:12px;box-shadow:0 8px 32px #0006;width:95vw;height:90vh;overflow:hidden;display:flex;flex-direction:column;pointer-events:all;-webkit-user-select:none;user-select:none}.inpaint-editor-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--node-header-background);border-bottom:1px solid var(--node-border-color)}.inpaint-editor-modal .modal-header h2{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.inpaint-editor-modal .modal-header .close-button{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-3xl);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;line-height:1}.inpaint-editor-modal .modal-header .close-button:hover{background:var(--color-accent-error-alpha);color:var(--color-accent-error)}.inpaint-editor-modal .modal-prompt-section{padding:16px 20px;border-bottom:1px solid var(--node-border-color);background:var(--node-body-background)}.inpaint-editor-modal .prompt-textarea-top{width:100%;padding:12px;border-radius:6px;border:1px solid var(--node-border-color);background:var(--node-header-background);color:var(--color-text-primary);resize:none;font-family:var(--font-primary);font-size:var(--font-size-sm);line-height:1.5}.inpaint-editor-modal .prompt-textarea-top:focus{outline:none;border-color:var(--color-accent-primary)}.inpaint-editor-modal .modal-body-flex{display:flex;flex-direction:row;flex:1;overflow:hidden;gap:0}.inpaint-editor-modal .tools-sidebar{width:280px;background:var(--node-header-background);border-right:1px solid var(--node-border-color);display:flex;flex-direction:column;overflow-y:auto;padding:16px;gap:16px}.inpaint-editor-modal .tool-section{display:flex;flex-direction:column;gap:8px}.inpaint-editor-modal .tool-section h3{margin:0 0 4px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.inpaint-editor-modal .tool-section button{padding:10px 14px;background:var(--node-body-background);border:1px solid var(--node-border-color);border-radius:6px;color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s ease;text-align:left}.inpaint-editor-modal .tool-section button:hover:not(:disabled){background:var(--color-accent-primary-alpha);border-color:var(--color-accent-primary)}.inpaint-editor-modal .tool-section button.active,.inpaint-editor-modal .tool-section button:disabled{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.inpaint-editor-modal .tool-section input[type=range]{width:100%}.inpaint-editor-modal .tool-section span{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center}.inpaint-editor-modal .prompt-section{flex:1;min-height:120px}.inpaint-editor-modal .prompt-textarea{width:100%;min-height:100px;padding:10px;border-radius:6px;border:1px solid var(--node-border-color);background:var(--node-body-background);color:var(--color-text-primary);resize:vertical;font-family:var(--font-primary);font-size:var(--font-size-xs);line-height:1.5}.inpaint-editor-modal .prompt-textarea:focus{outline:none;border-color:var(--color-accent-primary)}.inpaint-editor-modal .action-section{border-top:1px solid var(--node-border-color);padding-top:16px;margin-top:auto}.inpaint-editor-modal .generate-button{background:var(--color-accent-primary)!important;color:#fff!important;font-weight:600!important}.inpaint-editor-modal .generate-button:hover:not(:disabled){background:var(--color-accent-primary-hover)!important}.inpaint-editor-modal .generate-button:disabled{opacity:.5;cursor:not-allowed}.inpaint-editor-modal .cancel-button{background:transparent!important;border-color:var(--color-accent-error)!important;color:var(--color-accent-error)!important}.inpaint-editor-modal .cancel-button:hover{background:var(--color-accent-error-alpha)!important}.inpaint-editor-modal .accept-button{background:var(--color-accent-success)!important;color:#fff!important;font-weight:600!important}.inpaint-editor-modal .accept-button:hover{background:#0d9668!important}.inpaint-editor-modal .canvas-area{flex:1;display:flex;justify-content:center;align-items:center;background:var(--node-header-background);overflow:hidden;padding:20px}.image-preview-container{margin-bottom:12px;width:100%;display:block}.node-image{width:100%;height:auto;display:block;border-radius:4px;border:1px solid var(--node-border-color)}.action-button{width:100%;padding:8px;border-radius:4px;border:1px solid var(--node-border-color);background:var(--color-accent-primary);color:#fff;cursor:pointer;transition:all .2s ease;display:block;font-size:var(--font-size-sm);font-weight:500}.action-button:hover:not(:disabled){background:var(--color-accent-primary-hover)}.action-button:disabled{background:var(--node-header-background);color:var(--color-text-secondary);cursor:not-allowed;opacity:.5}.result-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--node-border-color);width:100%;display:block}.result-section .helper-text{margin-bottom:8px}.context-menu--canvas{background:transparent;border:none;padding:0;color:var(--color-text-secondary);z-index:1000;max-height:calc(100vh - 32px);overflow:visible;-webkit-user-select:none;user-select:none;font-family:var(--font-primary)}.context-menu__wrapper{display:flex;gap:var(--spacing-sm);align-items:flex-start}.context-menu__main{min-width:172px;background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xs) 0;box-shadow:0 8px 32px #0006}.context-menu__submenu{min-width:172px;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xs) 0 var(--spacing-xs) 0;box-shadow:0 8px 32px #0006;opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity var(--duration-fast) var(--easing-default),transform var(--duration-fast) var(--easing-default)}.context-menu__submenu.is-visible{opacity:1;pointer-events:auto;transform:translate(0)}.context-menu__submenu-title{display:none}.context-menu__submenu-items{display:flex;flex-direction:column;gap:0}.context-menu__item{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px var(--spacing-md);background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:28px;cursor:pointer;transition:background var(--duration-fast) var(--easing-default),color var(--duration-fast) var(--easing-default);text-align:left}.context-menu__item:hover,.context-menu__item.is-active{background:var(--color-bg-hover);color:var(--color-text-primary)}.context-menu__item.is-disabled{color:var(--color-text-disabled);cursor:not-allowed}.context-menu__item.is-disabled:hover{background:transparent}.context-menu__chevron{color:var(--color-text-tertiary);font-size:var(--font-size-base)}.context-menu__item:hover .context-menu__chevron,.context-menu__item.is-active .context-menu__chevron{color:var(--color-text-secondary)}.context-menu__label{flex:1;white-space:nowrap}.context-menu__item--main{gap:var(--spacing-sm)}.context-menu__item-icon--main img{filter:none}.context-menu__item--submenu{justify-content:flex-start;gap:var(--spacing-sm);padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.context-menu__item--submenu:hover{background:#ffffff14}.context-menu__item-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--color-border)}.context-menu__item--main .context-menu__item-icon{width:24px;height:24px;border:none}.context-menu__item-icon img{width:18px;height:18px;object-fit:contain}.context-menu__label--accent{font-weight:var(--font-weight-semibold)}.context-menu__item.type-text .context-menu__item-icon{background:#fed40229}.context-menu__item.type-text .context-menu__item-icon:not(.context-menu__item-icon--main) img{filter:brightness(0) saturate(100%) invert(79%) sepia(96%) saturate(500%) hue-rotate(357deg) brightness(103%) contrast(102%)}.context-menu__item.type-text .context-menu__label--accent{color:#b38e00}.context-menu__item.type-image .context-menu__item-icon{background:#42c3d72e}.context-menu__item.type-image .context-menu__item-icon:not(.context-menu__item-icon--main) img{filter:brightness(0) saturate(100%) invert(70%) sepia(50%) saturate(500%) hue-rotate(150deg) brightness(100%) contrast(95%)}.context-menu__item.type-image .context-menu__label--accent{color:#00849c}.context-menu__item.type-video .context-menu__item-icon{background:#ff4b4229}.context-menu__item.type-video .context-menu__item-icon:not(.context-menu__item-icon--main) img{filter:brightness(0) saturate(100%) invert(40%) sepia(90%) saturate(1000%) hue-rotate(335deg) brightness(100%) contrast(100%)}.context-menu__item.type-video .context-menu__label--accent{color:#c22c22}.context-menu__divider{height:1px;background:var(--color-border);margin:4px var(--spacing-md)}.context-menu__empty{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.helper-chat-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fadeIn var(--duration-normal) var(--easing-default)}.helper-chat-container{width:90%;max-width:800px;height:85vh;max-height:900px;background:var(--color-bg-node-body);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xl),0 0 0 1px #8b5cf61a,0 0 60px #8b5cf61a;display:flex;flex-direction:column;overflow:hidden;padding:var(--spacing-sm);animation:slideUp var(--duration-slow) var(--easing-default)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.helper-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-control);border-bottom:1px solid var(--color-border)}.helper-chat-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.helper-chat-title .helper-icon{color:var(--color-type-video);font-size:var(--font-size-2xl)!important}.helper-chat-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-md);background:var(--color-bg-hover);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-normal) var(--easing-default)}.helper-chat-close:hover{background:var(--color-border);color:var(--color-text-primary)}.helper-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.helper-chat-messages::-webkit-scrollbar{width:6px}.helper-chat-messages::-webkit-scrollbar-track{background:transparent}.helper-chat-messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.helper-chat-messages::-webkit-scrollbar-thumb:hover{background:var(--color-bg-hover)}.helper-chat-message{display:flex;gap:var(--spacing-md);max-width:85%;animation:messageIn var(--duration-slow) var(--easing-default)}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.helper-chat-message.user{align-self:flex-end;flex-direction:row-reverse}.helper-chat-message.assistant{align-self:flex-start}.message-avatar{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:#8b5cf633;color:var(--color-type-video)}.helper-chat-message.user .message-avatar{background:#3b82f633;color:var(--color-accent-primary)}.message-avatar svg{font-size:var(--font-size-xl)!important}.message-content{background:var(--color-bg-control);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.helper-chat-message.user .message-content{background:#3b82f626;border:1px solid rgba(59,130,246,.3)}.helper-chat-message.assistant .message-content{background:var(--color-bg-control);border:1px solid var(--color-border)}.message-content p{margin:0 0 var(--spacing-sm) 0}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3{margin:var(--spacing-lg) 0 var(--spacing-sm) 0;color:var(--color-text-primary)}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content ul,.message-content ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl)}.message-content li{margin:var(--spacing-xs) 0}.message-content code{background:var(--color-bg-canvas);padding:var(--spacing-xxs) var(--spacing-xs);border-radius:var(--radius-sm);font-family:var(--font-monospace);font-size:var(--font-size-xs)}.message-content pre{background:var(--color-bg-canvas);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-sm) 0}.message-content pre code{padding:0;background:none}.message-content strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.message-content a{color:var(--color-type-video);text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content blockquote{border-left:3px solid var(--color-type-video);margin:var(--spacing-sm) 0;padding-left:var(--spacing-md);color:var(--color-text-secondary)}.message-content.loading{display:flex;align-items:center;padding:var(--spacing-lg)}.typing-indicator{display:flex;gap:var(--spacing-xs)}.typing-indicator span{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-type-video);opacity:.6;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.helper-chat-input-container{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-canvas);border-top:1px solid var(--color-border)}.helper-chat-input{flex:1;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-primary);resize:none;outline:none;transition:all var(--duration-normal) var(--easing-default);min-height:44px;max-height:120px}.helper-chat-input:focus{border-color:var(--color-type-video);background:var(--color-bg-hover)}.helper-chat-input::placeholder{color:var(--color-text-tertiary)}.helper-chat-input:disabled{opacity:.6}.helper-chat-send{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:var(--radius-lg);background:var(--color-type-video);color:#fff;cursor:pointer;transition:all var(--duration-normal) var(--easing-default);flex-shrink:0}.helper-chat-send:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #8b5cf666}.helper-chat-send:active:not(:disabled){transform:scale(.98)}.helper-chat-send:disabled{opacity:.5;cursor:not-allowed}.helper-chat-send svg{font-size:var(--font-size-xl)!important}.helper-chat-footer{padding:var(--spacing-sm) var(--spacing-xl);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-bg-canvas)}.helper-chat-footer kbd{display:inline-block;padding:var(--spacing-xxs) var(--spacing-xs);background:var(--color-bg-control);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--font-size-2xs);margin:0 var(--spacing-xxs)}.helper-chat-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-control);color:var(--color-type-video);cursor:pointer;transition:all var(--duration-normal) var(--easing-default)}.helper-chat-button:hover{background:var(--color-bg-hover);border-color:var(--color-type-video);transform:scale(1.05)}.helper-chat-button svg{font-size:var(--font-size-xl)!important}@media(max-width:768px){.helper-chat-container{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}.helper-chat-message{max-width:90%}}.embedded-helper-chat{display:flex;flex-direction:column;height:100%;background:var(--color-bg-node-body);overflow:hidden}.embedded-helper-chat .helper-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md)}.embedded-helper-chat .helper-chat-input-container{border-top:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-control)}.embedded-helper-chat .helper-chat-footer{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-control);border-top:none;font-size:var(--font-size-2xs);color:var(--color-text-tertiary);text-align:center}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.prompt-improvement-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.prompt-improvement-modal{background:var(--color-bg-secondary, #1a1a1a);border:1px solid var(--color-border, #333);border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:modal-appear .2s ease-out}@keyframes modal-appear{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.prompt-improvement-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border, #333)}.prompt-improvement-header .magic-wand-icon{color:#a855f7;font-size:var(--font-size-2xl)}.prompt-improvement-header h3{flex:1;margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary, #fff)}.prompt-improvement-header .close-button{background:transparent;border:none;color:var(--color-text-secondary, #888);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.prompt-improvement-header .close-button:hover{background:var(--color-bg-tertiary, #333);color:var(--color-text-primary, #fff)}.prompt-improvement-content{padding:20px;flex:1;overflow-y:auto}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border, #333);border-top-color:#a855f7;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{color:var(--color-text-secondary, #888);margin:0}.error-state{padding:20px;text-align:center}.error-message{color:#ef4444;margin:0}.prompt-section{margin-bottom:16px}.prompt-section:last-child{margin-bottom:0}.prompt-section label{display:block;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary, #888);margin-bottom:8px}.prompt-section.original label{color:#888}.prompt-section.improved label{color:#a855f7}.prompt-section .prompt-text{background:var(--color-bg-tertiary, #222);border:1px solid var(--color-border, #333);border-radius:8px;padding:12px 16px;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-primary, #fff);white-space:pre-wrap;word-wrap:break-word}.prompt-section.original .prompt-text{opacity:.7}.prompt-section.improved .prompt-text{border-color:#a855f74d;background:#a855f70d}.prompt-improvement-actions{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border, #333);justify-content:flex-end}.prompt-improvement-actions button{padding:10px 20px;border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.cancel-button{background:transparent;border:1px solid var(--color-border, #444);color:var(--color-text-secondary, #888)}.cancel-button:hover{background:var(--color-bg-tertiary, #333);color:var(--color-text-primary, #fff)}.use-button{background:#a855f7;border:none;color:#fff}.use-button:hover:not(:disabled){background:#9333ea}.use-button:disabled{opacity:.5;cursor:not-allowed}.text-editor-modal.floating{position:fixed;background:transparent;border:2px solid var(--color-border, #52525B);border-radius:var(--radius-lg, 12px);display:flex;flex-direction:column;box-shadow:0 25px 80px #000c,0 0 0 1px #ffffff0d;z-index:10001;-webkit-user-select:none;user-select:none;animation:modal-fade-in .2s ease-out forwards;padding:0}.text-editor-modal-inner{display:flex;flex-direction:column;flex:1;minHeight:0;padding:8px;background:var(--color-bg-node-body, #18181B);border-radius:calc(var(--radius-lg, 12px) - 2px)}.text-editor-modal.floating.variant-positive{border-color:var(--color-variant-positive, #10B981)}.text-editor-modal.floating.variant-negative{border-color:var(--color-variant-negative, #EF4444)}.text-editor-modal.floating.variant-neutral{border-color:var(--color-variant-neutral, #6B7280)}.text-editor-modal.floating.variant-purple{border-color:var(--color-variant-purple, #A855F7)}.text-editor-modal.floating.variant-orange{border-color:var(--color-variant-orange, #F97316)}.text-editor-modal.floating.media-image{border-color:#06b6d4}.text-editor-modal.floating.media-video{border-color:#ef4444}.text-editor-modal.floating.media-text{border-color:#fcd34d}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.text-editor-modal.floating.dragging{box-shadow:0 30px 100px #000000e6,0 0 0 2px var(--color-accent-primary, #3B82F6);transition:box-shadow .15s ease}.text-editor-modal.floating.resizing{-webkit-user-select:none;user-select:none;pointer-events:auto}.text-editor-modal.floating.closing{animation:shrink-to-node .3s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes shrink-to-node{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--close-translate-x, 0),var(--close-translate-y, 0)) scale(.1)}}.text-editor-textarea,.text-editor-preview{cursor:text;-webkit-user-select:text;user-select:text}.text-editor-modal-header .header-action-button,.text-editor-modal-actions button{cursor:pointer;-webkit-user-select:none;user-select:none}.resize-handle{position:absolute;background:transparent;z-index:10;transition:background .15s ease}.resize-handle-nw{top:-5px;left:-5px;width:15px;height:15px;cursor:nw-resize}.resize-handle-ne{top:-5px;right:-5px;width:15px;height:15px;cursor:ne-resize}.resize-handle-sw{bottom:-5px;left:-5px;width:15px;height:15px;cursor:sw-resize}.resize-handle-se{bottom:-5px;right:-5px;width:15px;height:15px;cursor:se-resize}.resize-handle-n{top:-5px;left:15px;right:15px;height:10px;cursor:n-resize}.resize-handle-s{bottom:-5px;left:15px;right:15px;height:10px;cursor:s-resize}.resize-handle-e{top:15px;bottom:15px;right:-5px;width:10px;cursor:e-resize}.resize-handle-w{top:15px;bottom:15px;left:-5px;width:10px;cursor:w-resize}.resize-handle:hover{background:#3b82f633}.text-editor-modal.floating.resizing .resize-handle{background:#3b82f64d}.text-editor-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10001;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.text-editor-modal:not(.floating){background:var(--color-bg-node-body, #18181B);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-lg, 12px);width:90%;max-width:800px;height:80vh;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #0009}.text-editor-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg, 16px) var(--spacing-xl, 24px);border-bottom:1px solid var(--color-border, #52525B);flex-shrink:0}.text-editor-modal-header h3{margin:0;font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #F3F4F6);flex:1}.text-editor-modal-header .header-actions{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.text-editor-modal-header .header-action-button{background:transparent;border:none;color:var(--color-text-secondary, #9CA3AF);cursor:pointer;padding:var(--spacing-xs, 4px);border-radius:var(--radius-sm, 4px);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.text-editor-modal-header .header-action-button.improve-button:hover:not(:disabled){background:#a855f71a;color:#a78bfa}.text-editor-modal-header .header-action-button.condense-button:hover:not(:disabled){background:#3b82f61a;color:#60a5fa}.text-editor-modal-header .header-action-button:disabled{opacity:.4;cursor:not-allowed}.text-editor-modal-header .dictation-button{position:relative;display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.text-editor-modal-header .dictation-language-select{background:var(--color-bg-control, #27272A);border:1px solid var(--color-border, #52525B);color:var(--color-text-primary, #F3F4F6);border-radius:var(--radius-sm, 4px);padding:6px 10px;font-size:var(--font-size-sm, 14px);font-family:inherit;cursor:pointer;transition:all .15s ease;min-width:90px}.text-editor-modal-header .dictation-language-select:hover:not(:disabled){background:var(--color-bg-hover, #3F3F46);border-color:var(--color-accent-primary, #3B82F6);color:var(--color-text-primary, #F3F4F6)}.text-editor-modal-header .dictation-language-select:disabled{opacity:.5;cursor:not-allowed}.text-editor-modal-header .dictation-language-select:focus{outline:none;border-color:var(--color-accent-primary, #3B82F6);background:var(--color-bg-control, #27272A)}.text-editor-modal-header .dictation-button.idle{color:#9ca3af}.text-editor-modal-header .dictation-button.idle:hover{color:#60a5fa;background:#3b82f61a}.text-editor-modal-header .dictation-button.recording{color:#ef4444;background:#ef44441a;animation:pulse-red 1.5s ease-in-out infinite}.text-editor-modal-header .dictation-button.recording:hover{background:#ef444433}@keyframes pulse-red{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444400}}.text-editor-modal-header .dictation-button.processing{color:#60a5fa;background:#3b82f61a;cursor:wait}.text-editor-modal-header .dictation-button.error{color:#ef4444;background:#ef44441a}.dictation-timer{font-size:11px;font-weight:600;font-family:SF Mono,Consolas,monospace;min-width:32px;text-align:center}.text-editor-modal-header .close-button{background:transparent;border:none;color:var(--color-text-secondary, #9CA3AF);cursor:pointer;padding:var(--spacing-xs, 4px);border-radius:var(--radius-sm, 4px);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.text-editor-modal-header .close-button:hover{background:var(--color-bg-hover, #3F3F46);color:var(--color-text-primary, #F3F4F6)}.text-editor-modal-tabs{display:none;gap:0;padding:0 var(--spacing-xl, 24px);border-bottom:1px solid var(--color-border, #52525B);flex-shrink:0}.tab-button{background:transparent;border:none;color:var(--color-text-secondary, #9CA3AF);cursor:pointer;padding:var(--spacing-md, 12px) var(--spacing-lg, 16px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);border-bottom:2px solid transparent;transition:all .15s ease;position:relative;bottom:-1px}.tab-button:hover:not(.active){color:var(--color-text-primary, #F3F4F6)}.tab-button.active{color:var(--color-accent-primary, #3B82F6);border-bottom-color:var(--color-accent-primary, #3B82F6)}.text-editor-modal-content{flex:1;display:flex;overflow:hidden;position:relative}.text-editor-textarea{width:100%;height:100%;padding:var(--spacing-lg, 16px) var(--spacing-xl, 24px);font-size:var(--font-size-base, 16px);line-height:var(--line-height-relaxed, 1.625);font-family:var(--font-monospace, "SF Mono", Monaco, Consolas, monospace);color:var(--color-text-primary, #F3F4F6);background:transparent;border:none;outline:none;resize:none;box-sizing:border-box;overflow-y:auto}.text-editor-textarea::placeholder{color:var(--color-text-tertiary, #6B7280);opacity:1}.text-editor-preview{width:100%;height:100%;padding:var(--spacing-lg, 16px) var(--spacing-xl, 24px);overflow-y:auto;box-sizing:border-box;color:var(--color-text-primary, #F3F4F6);line-height:var(--line-height-relaxed, 1.625)}.text-editor-preview .placeholder-text{color:var(--color-text-tertiary, #6B7280);font-style:italic}.text-editor-preview p{margin:0 0 1em}.text-editor-preview h1,.text-editor-preview h2,.text-editor-preview h3,.text-editor-preview h4,.text-editor-preview h5,.text-editor-preview h6{margin:1em 0 .5em;font-weight:600}.text-editor-preview h1{font-size:1.8em}.text-editor-preview h2{font-size:1.6em}.text-editor-preview h3{font-size:1.4em}.text-editor-preview h4{font-size:1.2em}.text-editor-preview h5{font-size:1.1em}.text-editor-preview h6{font-size:1em}.text-editor-preview ul,.text-editor-preview ol{margin:.5em 0 .5em 1.5em;padding:0}.text-editor-preview li{margin:.25em 0}.text-editor-preview code{background:var(--color-bg-control, #27272A);padding:var(--spacing-xxs, 2px) var(--spacing-xs, 4px);border-radius:var(--radius-sm, 4px);font-family:var(--font-monospace, "SF Mono", Monaco, Consolas, monospace);font-size:.9em}.text-editor-preview pre{background:var(--color-bg-control, #27272A);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-md, 8px);padding:var(--spacing-md, 12px) var(--spacing-lg, 16px);overflow-x:auto;margin:1em 0}.text-editor-preview pre code{background:none;padding:0;border-radius:0}.text-editor-preview blockquote{border-left:4px solid var(--color-accent-primary, #3B82F6);padding-left:var(--spacing-lg, 16px);margin:1em 0;opacity:.8}.text-editor-char-count{padding:var(--spacing-sm, 8px) var(--spacing-xl, 24px);font-size:var(--font-size-xs, 12px);color:var(--color-text-secondary, #9CA3AF);border-top:1px solid var(--color-border, #52525B);text-align:right;flex-shrink:0}.text-editor-modal-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md, 12px);padding:var(--spacing-lg, 16px) var(--spacing-xl, 24px);border-top:1px solid var(--color-border, #52525B);flex-shrink:0;flex-wrap:wrap}.action-group{display:flex;gap:var(--spacing-md, 12px);align-items:center}.action-group.left{flex:1}.action-group.right{flex-shrink:0}.action-button{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-lg, 16px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .15s ease;border:1px solid transparent;white-space:nowrap}.action-button svg{font-size:16px}.improve-button{background:var(--color-bg-control, #27272A);border:1px solid rgba(168,85,247,.3);color:#a78bfa}.improve-button:hover:not(:disabled){background:#a855f71a;border-color:#a78bfa}.improve-button:disabled{opacity:.4;cursor:not-allowed}.condense-button{background:var(--color-bg-control, #27272A);border:1px solid rgba(59,130,246,.3);color:#60a5fa}.condense-button:hover:not(:disabled){background:#3b82f61a;border-color:#60a5fa}.condense-button:disabled{opacity:.4;cursor:not-allowed}.close-button-text{background:var(--color-bg-control, #27272A);border:1px solid var(--color-border, #52525B);color:var(--color-text-secondary, #9CA3AF);padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .15s ease}.close-button-text:hover{background:var(--color-bg-hover, #3F3F46);border-color:var(--color-text-secondary, #9CA3AF);color:var(--color-text-primary, #F3F4F6)}.generate-button{background:var(--color-accent-success, #22C55E);border:1px solid var(--color-accent-success, #22C55E);color:#fff;padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.generate-button:hover{background:#16a34a;border-color:#16a34a}.generate-button svg{font-size:18px}.cancel-button{background:var(--color-bg-control, #27272A);border:1px solid var(--color-border, #52525B);color:var(--color-text-secondary, #9CA3AF);padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .15s ease}.cancel-button:hover{background:var(--color-bg-hover, #3F3F46);border-color:var(--color-text-secondary, #9CA3AF);color:var(--color-text-primary, #F3F4F6)}.accept-button{background:var(--color-accent-primary, #3B82F6);border:1px solid var(--color-accent-primary, #3B82F6);color:#fff;padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.accept-button:hover{background:#2563eb;border-color:#2563eb}.accept-button svg{font-size:18px}.accept-generate-button{background:var(--color-accent-success, #22C55E);border:1px solid var(--color-accent-success, #22C55E);color:#fff;padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.accept-generate-button:hover{background:#16a34a;border-color:#16a34a}.accept-generate-button svg{font-size:18px}.action-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.text-editor-textarea::-webkit-scrollbar,.text-editor-preview::-webkit-scrollbar{width:8px}.text-editor-textarea::-webkit-scrollbar-track,.text-editor-preview::-webkit-scrollbar-track{background:transparent}.text-editor-textarea::-webkit-scrollbar-thumb,.text-editor-preview::-webkit-scrollbar-thumb{background:var(--color-border, #52525B);border-radius:var(--radius-sm, 4px)}.text-editor-textarea::-webkit-scrollbar-thumb:hover,.text-editor-preview::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary, #6B7280)}@media(max-width:640px){.text-editor-modal{width:95%;height:90vh;border-radius:var(--radius-md, 8px)}.text-editor-modal-header{padding:var(--spacing-lg, 16px)}.text-editor-textarea,.text-editor-preview{padding:var(--spacing-lg, 16px);font-size:var(--font-size-sm, 14px)}.text-editor-modal-actions{flex-direction:column;gap:var(--spacing-sm, 8px);padding:var(--spacing-md, 12px) var(--spacing-lg, 16px)}.action-group{width:100%}.action-group.right{flex:1}.action-button,.cancel-button,.accept-button{flex:1;justify-content:center}}.text-editor-confirmation-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;border-radius:inherit;z-index:1000;animation:fade-in .2s ease-out}.text-editor-confirmation-dialog{background:var(--color-bg-control, #27272A);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-md, 8px);padding:var(--spacing-xl, 24px);max-width:480px;box-shadow:0 10px 40px #00000080;animation:slide-up .2s ease-out}.confirmation-header{display:flex;align-items:center;gap:var(--spacing-md, 12px);margin-bottom:var(--spacing-lg, 16px)}.confirmation-header svg{color:var(--color-accent-primary, #3B82F6);font-size:28px}.confirmation-header h3{margin:0;font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #FAFAFA)}.confirmation-message{margin:0 0 var(--spacing-xl, 24px) 0;font-size:var(--font-size-base, 15px);color:var(--color-text-secondary, #A1A1AA);line-height:1.5}.confirmation-actions{display:flex;gap:var(--spacing-md, 12px);margin-bottom:var(--spacing-lg, 16px)}.confirmation-btn{flex:1;padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-sm, 6px);background:var(--color-bg-node-body, #18181B);color:var(--color-text-primary, #FAFAFA);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .15s ease}.confirmation-btn:hover{background:var(--color-bg-hover, #3F3F46);border-color:var(--color-accent-primary, #3B82F6)}.confirmation-btn.cancel{border-color:var(--color-accent-error, #EF4444);color:var(--color-accent-error, #EF4444)}.confirmation-btn.cancel:hover{background:#ef44441a;border-color:var(--color-accent-error, #EF4444)}.confirmation-btn.background{border-color:var(--color-variant-neutral, #6B7280)}.confirmation-btn.keep,.confirmation-btn.keep:hover{background:var(--color-accent-primary, #3B82F6);border-color:var(--color-accent-primary, #3B82F6);color:#fff}.confirmation-btn.discard{border-color:var(--color-accent-error, #EF4444);color:var(--color-accent-error, #EF4444)}.confirmation-btn.discard:hover{background:#ef44441a;border-color:var(--color-accent-error, #EF4444)}.confirmation-remember{display:flex;align-items:center;gap:var(--spacing-sm, 8px);font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary, #A1A1AA);cursor:pointer;-webkit-user-select:none;user-select:none}.confirmation-remember input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent-primary, #3B82F6)}.confirmation-remember:hover{color:var(--color-text-primary, #FAFAFA)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.paged-output-content{position:relative;border-radius:12px;overflow:hidden}.paged-output-content:hover .paged-output-nav{opacity:1!important}.paged-output-nav .paged-output-nav-button,.paged-output-nav span{pointer-events:auto!important}.audio-recorder{display:flex;flex-direction:column;gap:12px;padding:12px;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.waveform-container{position:relative;width:100%;height:60px;background:#1a1a2ecc;border-radius:6px;overflow:hidden}.waveform-canvas{width:100%;height:100%}.waveform-placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff6;font-size:var(--font-size-xs)}.waveform-placeholder .placeholder-icon{font-size:var(--font-size-2xl);opacity:.6}.duration-display{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:#ffffffb3}.recording-indicator{display:flex;align-items:center;gap:6px;color:#ef4444;font-weight:500}.recording-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.transcribing-indicator{display:flex;align-items:center;gap:6px;color:#8b5cf6;font-weight:500}.transcribing-spinner{width:12px;height:12px;border:2px solid rgba(139,92,246,.3);border-top-color:#8b5cf6;border-radius:50%;animation:spin .8s linear infinite}.duration-time{font-family:var(--font-monospace);font-size:var(--font-size-sm);font-weight:500}.recorder-controls{display:flex;align-items:center;justify-content:center;gap:8px}.control-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.control-btn:disabled{opacity:.5;cursor:not-allowed}.control-btn svg{font-size:var(--font-size-xl)}.record-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef444466}.record-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #ef444480}.record-btn:active:not(:disabled){transform:scale(.98)}.stop-btn{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;box-shadow:0 2px 8px #6b728066}.stop-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #6b728080}.play-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b98166}.play-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #10b98180}.delete-btn{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.delete-btn:hover:not(:disabled){background:#ef44444d;border-color:#ef444480}.transcribe-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 2px 8px #8b5cf666}.transcribe-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #8b5cf680}.transcribe-btn:disabled{background:#8b5cf64d;box-shadow:none}.audio-recorder.positive .record-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98166}.audio-recorder.positive .record-btn:hover:not(:disabled){box-shadow:0 4px 12px #10b98180}.audio-recorder.orange .record-btn{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b66}.audio-recorder.orange .record-btn:hover:not(:disabled){box-shadow:0 4px 12px #f59e0b80}.language-selector-wrapper{display:flex;flex-direction:column;gap:4px}.language-selector-label{font-size:var(--font-size-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;padding-left:2px}.language-selector-wrapper.positive .language-selector-label{color:#10b981b3}.language-selector-wrapper.purple .language-selector-label{color:#8b5cf6b3}.language-selector-wrapper.orange .language-selector-label,.language-selector-wrapper.warning .language-selector-label{color:#f59e0bb3}.language-selector-wrapper.negative .language-selector-label{color:#ef4444b3}.language-selector{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0003;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.language-selector.disabled{opacity:.5;pointer-events:none}.language-icon{font-size:var(--font-size-lg)!important;color:#fff9}.language-select{flex:1;background:transparent;border:none;color:#ffffffe6;font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.6)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center}.language-select:focus{color:#fff}.language-select option{background:#1a1a2e;color:#fff;padding:8px}.language-selector.positive{border-color:#10b9814d}.language-selector.positive .language-icon{color:#10b981}.language-selector.purple{border-color:#8b5cf64d}.language-selector.purple .language-icon{color:#8b5cf6}.language-selector.orange{border-color:#f59e0b4d}.language-selector.orange .language-icon{color:#f59e0b}.language-selector.warning{border-color:#f59e0b4d}.language-selector.warning .language-icon{color:#f59e0b}.language-selector.negative{border-color:#ef44444d}.language-selector.negative .language-icon{color:#ef4444}.transcription-output{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.transcription-output.disabled{opacity:.6;pointer-events:none}.transcription-header{display:flex;align-items:center;justify-content:space-between}.transcription-label{font-size:var(--font-size-xs);font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.transcription-actions{display:flex;align-items:center;gap:4px}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:#ffffff1a;color:#fff9;cursor:pointer;transition:all .2s ease;position:relative}.action-btn:hover:not(:disabled){background:#fff3;color:#fff}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn svg{font-size:var(--font-size-base)!important}.action-btn.active{background:#10b9814d;color:#10b981}.copy-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:4px 8px;background:#10b981e6;color:#fff;font-size:var(--font-size-2xs);border-radius:4px;white-space:nowrap;margin-bottom:4px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.transcription-content{min-height:60px;max-height:150px;overflow-y:auto}.transcription-content:has(.transcription-textarea){overflow:visible}.transcription-text{font-size:var(--font-size-sm);line-height:1.6;color:#ffffffe6;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;cursor:text}.transcription-text.empty{color:#fff6;font-style:italic}.transcription-textarea{width:100%;height:100%;min-height:80px;max-height:150px;padding:8px;background:#1a1a2e99;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:var(--font-size-sm);font-family:inherit;line-height:1.6;resize:none;outline:none;transition:border-color .2s ease;overflow-y:auto}.transcription-textarea:focus{border-color:#8b5cf680}.transcription-textarea::placeholder{color:#fff6}.transcription-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.condense-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;color:#fff;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #8b5cf64d}.condense-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.condense-btn:active:not(:disabled){transform:translateY(0)}.condense-btn:disabled{opacity:.5;cursor:not-allowed}.condense-btn svg{font-size:var(--font-size-base)!important}.submit-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn svg{font-size:var(--font-size-base)!important}.transcription-output.positive .transcription-label{color:#10b981}.transcription-output.positive .submit-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d}.transcription-output.purple .transcription-label{color:#8b5cf6}.transcription-output.purple .submit-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 2px 8px #8b5cf64d}.transcription-output.purple .transcription-textarea:focus{border-color:#8b5cf680}.transcription-output.orange .transcription-label{color:#f59e0b}.transcription-output.orange .submit-btn{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b4d}.transcription-output.orange .transcription-textarea:focus{border-color:#f59e0b80}.transcription-output.warning .transcription-label{color:#f59e0b}.transcription-output.warning .submit-btn{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b4d}.transcription-output.negative .transcription-label{color:#ef4444}.transcription-output.negative .submit-btn{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#202020d9;border-radius:12px;z-index:10;pointer-events:none;opacity:0;animation:loading-overlay-fade-in .3s ease-out forwards}.loading-overlay--active{opacity:1}.loading-overlay--completing{animation:loading-overlay-fade-out .5s ease-out forwards}.loading-overlay__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px}.loading-overlay__timer{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;font-size:48px;line-height:1;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;white-space:nowrap;text-shadow:0 2px 8px rgba(0,0,0,.3)}.loading-overlay__estimate{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;font-size:14px;line-height:1.4;letter-spacing:0;-webkit-user-select:none;user-select:none;opacity:.8}.loading-overlay__progress{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;font-size:clamp(48px,40vw,220px);line-height:1;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;text-shadow:0 2px 8px rgba(0,0,0,.3)}@keyframes loading-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes loading-overlay-fade-out{0%{opacity:1}to{opacity:0}}.settings-panel{position:relative;width:100%;padding:12px 16px 16px;margin-top:8px;border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;animation:settingsPanelSlideIn .2s ease-out}.settings-panel-popover{position:fixed;width:320px;padding:24px 16px 16px;border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;z-index:9999;box-shadow:0 8px 32px #0006;animation:settingsPanelFadeIn .15s ease-out}.settings-panel-close{position:absolute;top:-18px;right:-4px;width:36px;height:36px;border-radius:50%;border:none;background:#eeeeee4d;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#2b2b2b;transition:background-color .15s ease;z-index:10}.settings-panel-close:hover{background:#fff6}.settings-panel-close:active{background:#ffffff80}.settings-panel-fields{display:flex;flex-direction:column;gap:16px}.settings-field{display:flex;flex-direction:column;gap:4px}.settings-field-label{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:400;font-family:Inter,sans-serif}.settings-field-info{font-size:17.5px!important;opacity:.7;cursor:help}.settings-field-dropdown{position:relative}.settings-field-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:none;background:transparent;cursor:pointer;text-align:left}.settings-field-value{font-size:24px;font-weight:400;font-family:Inter,sans-serif}.settings-field-chevron{font-size:24px!important;transition:transform .2s ease}.settings-field-chevron.open{transform:rotate(180deg)}.settings-field-options{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#474747;border-radius:12px;padding:8px 0;z-index:100;box-shadow:0 4px 12px #0000004d;max-height:200px;overflow-y:auto}.settings-field-option{display:block;width:100%;padding:12px 16px;border:none;background:transparent;color:#eee;font-size:24px;font-family:Inter,sans-serif;text-align:left;cursor:pointer;transition:background-color .15s ease}.settings-field-option:hover{background:#ffffff1a}.settings-field-option.selected{color:inherit}.settings-toggle{position:relative;width:24px;height:8px;border-radius:4px;border:2px solid #2B2B2B;background:#eeeeee80;cursor:pointer;padding:0;transition:background-color .2s ease}.settings-toggle.on{background:#eeec}.settings-toggle-knob{position:absolute;width:14px;height:14px;border-radius:50%;background:#eee;border:2px solid #2B2B2B;top:50%;left:0;transform:translate(-50%,-50%);transition:left .2s ease}.settings-toggle.on .settings-toggle-knob{left:100%}.settings-panel-actions{display:flex;justify-content:flex-end;margin-top:8px}.settings-generate-button{display:flex;align-items:center;gap:20px;padding:16px 24px;border:2px solid #373737;border-radius:12px;background:transparent;color:#a2a2a2;font-size:18px;font-family:Inter,sans-serif;cursor:pointer;transition:all .15s ease}.settings-generate-button:hover:not(:disabled){background:#3737374d;color:#fff}.settings-generate-button:disabled{opacity:.5;cursor:not-allowed}.settings-generate-credits{display:flex;align-items:center;gap:8px}.settings-generate-credits svg{flex-shrink:0}@keyframes settingsPanelFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes settingsPanelSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.settings-panel{animation:settingsPanelSlideIn .2s ease-out}.settings-field-options::-webkit-scrollbar{width:6px}.settings-field-options::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.settings-field-options::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.settings-field-options::-webkit-scrollbar-thumb:hover{background:#ffffff80}.settings-slider-container{display:flex;align-items:center;gap:12px;padding:0 2px}.settings-slider-container .settings-slider{flex:1}.settings-slider-value{font-size:14px;font-weight:500;font-family:Inter,sans-serif;min-width:36px;text-align:right}.node-settings-footer{display:flex;flex-direction:column;width:100%;margin-top:0;pointer-events:auto;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.nsf-settings-panel{position:relative;padding:20px 16px 16px;border-radius:0 0 8px 8px;margin-bottom:8px;animation:nsf-slide-down .2s ease-out;transform-origin:top center}@keyframes nsf-slide-down{0%{opacity:0;transform:translateY(-8px) scaleY(.95)}to{opacity:1;transform:translateY(0) scaleY(1)}}.nsf-settings-panel.closing{animation:nsf-slide-up .15s ease-in forwards}@keyframes nsf-slide-up{0%{opacity:1;transform:translateY(0) scaleY(1)}to{opacity:0;transform:translateY(-8px) scaleY(.95)}}.nsf-close-button{position:absolute;top:-14px;right:12px;width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:filter .2s ease}.nsf-close-button:hover{filter:brightness(.9)}.nsf-fields{display:flex;flex-direction:column;gap:12px}.nsf-field{display:flex;flex-direction:column;gap:4px}.nsf-field-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.nsf-field-info{font-size:14px!important;opacity:.7;cursor:help}.nsf-field-dropdown{position:relative}.nsf-field-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:#00000026;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:400;transition:background-color .2s ease;text-align:left}.nsf-field-dropdown-trigger:hover{background:#0003}.nsf-field-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nsf-field-chevron{font-size:20px!important;transition:transform .2s ease;flex-shrink:0}.nsf-field-chevron.open{transform:rotate(180deg)}.nsf-field-options{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#2b2b2b;border-radius:8px;box-shadow:0 4px 16px #0000004d;z-index:100;max-height:200px;overflow-y:auto}.nsf-field-option{display:flex;flex-direction:column;width:100%;padding:10px 12px;background:none;border:none;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:background-color .15s ease;gap:2px}.nsf-option-name{font-weight:500}.nsf-option-desc{font-size:11px;opacity:.7}.nsf-field-option:hover{background:#ffffff1a}.nsf-field-option.selected{background:#ffffff26}.nsf-field-option:first-child{border-radius:8px 8px 0 0}.nsf-field-option:last-child{border-radius:0 0 8px 8px}.nsf-toggle{position:relative;width:48px;height:28px;background:#0000004d;border:none;border-radius:14px;cursor:pointer;transition:background-color .2s ease}.nsf-toggle.on{background:#00000080}.nsf-toggle-knob{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .2s ease}.nsf-toggle.on .nsf-toggle-knob{transform:translate(20px)}.nsf-generate-container{padding:0;margin-top:16px;display:flex;justify-content:flex-end;align-items:center;gap:10px}.nsf-generate-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;background:var(--color-bg-canvas, #121212);border:1px solid #373737;border-radius:8px;color:#a2a2a2;font-size:14px;font-weight:400;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer;transition:all .2s ease}.nsf-generate-button:hover:not(:disabled){background:#1a1a1a;border-color:#4a4a4a;color:silver}.nsf-cancel-button{padding:8px 14px;border-radius:8px;border:1px solid #3a3a3a;background:#2b2b2b;color:#d1d1d1;font-size:14px;font-weight:500;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer;transition:all .2s ease}.nsf-cancel-button:hover:not(:disabled){background:#1f1f1f;border-color:#4a4a4a;color:#fff}.nsf-cancel-button:disabled{opacity:.6;cursor:not-allowed}.nsf-generate-button:disabled{opacity:.6;cursor:not-allowed}.nsf-generate-credits{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:400;color:#42c3d7}.nsf-generate-credits svg{position:relative;top:-1px}.nsf-coin-icon{font-weight:400;color:#4ade80}.nsf-field-options::-webkit-scrollbar{width:6px}.nsf-field-options::-webkit-scrollbar-track{background:transparent}.nsf-field-options::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.nsf-slider-container{display:flex;align-items:center;gap:12px;padding:0 2px}.nsf-slider-container .nsf-slider{flex:1}.nsf-slider-value{font-size:14px;font-weight:500;font-family:Inter,sans-serif;min-width:36px;text-align:right}.nsf-number-container{display:flex;align-items:center;gap:4px;padding:0 2px}.nsf-number-button{width:28px;height:28px;border:1px solid #3a3a3a;background:#2b2b2b;color:var(--color-text-primary, #f5f5f5);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;border-radius:4px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.nsf-number-button:hover{background:#363636;border-color:#4a4a4a}.nsf-number-button:active{transform:scale(.95)}.nsf-number-input{flex:1;height:28px;border:1px solid #3a3a3a;background:#2b2b2b;color:var(--color-text-primary, #f5f5f5);padding:0 8px;font-size:14px;font-weight:500;font-family:Inter,sans-serif;text-align:center;border-radius:4px;min-width:60px;max-width:100px}.nsf-number-input:focus{outline:none;border-color:#4a4a4a}.nsf-number-input::-webkit-inner-spin-button,.nsf-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.nsf-number-input[type=number]{-moz-appearance:textfield}.nsf-batch-cost-label{display:flex;align-items:center;gap:6px;margin-left:8px;padding:6px 12px;background:#42c3d71a;border-radius:4px;font-size:13px;font-weight:500;color:#42c3d7}.nsf-batch-cost-label svg{position:relative;top:-1px}.alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.alert-dialog{background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:24px;max-width:500px;min-width:300px;display:flex;align-items:flex-start;gap:16px;animation:slideIn .3s ease;position:relative}.alert-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;flex-shrink:0}.alert-info .alert-icon{background:#3b82f633;color:var(--color-accent-primary);border:2px solid var(--color-accent-primary)}.alert-success .alert-icon{background:#10b98133;color:var(--color-accent-success);border:2px solid var(--color-accent-success)}.alert-warning .alert-icon{background:#f59e0b33;color:var(--color-accent-warning);border:2px solid var(--color-accent-warning)}.alert-error .alert-icon{background:#ef444433;color:var(--color-accent-error);border:2px solid var(--color-accent-error)}.alert-content{flex:1;padding-top:8px}.alert-message{color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:1.5;margin:0}.alert-close{position:absolute;top:12px;right:12px;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-2xl);line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.alert-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.alert-with-suggestions{max-width:550px}.alert-suggestions{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.alert-suggestions-title{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.alert-suggestions-list{margin:0;padding:0 0 0 20px;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6}.alert-suggestions-list li{margin-bottom:4px}.alert-suggestions-list li:last-child{margin-bottom:0}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.custom-node-builder-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000}.custom-node-builder-modal{background:var(--color-bg-primary, #ffffff);border-radius:12px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.custom-node-builder-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--node-border-color, #e5e7eb)}.custom-node-builder-modal .modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary, #1f2937)}.custom-node-builder-modal .close-button{background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;color:var(--color-text-secondary, #6b7280);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.custom-node-builder-modal .close-button:hover{background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text-primary, #1f2937)}.custom-node-builder-modal .modal-body{padding:24px;overflow-y:auto;flex:1}.builder-section{margin-bottom:24px}.builder-section h3{font-size:var(--font-size-base);font-weight:600;margin:0 0 12px;color:var(--color-text-primary, #1f2937)}.form-row{margin-bottom:12px}.form-row label{display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:6px;color:var(--color-text-secondary, #6b7280)}.form-row input,.form-row select,.form-row textarea{width:100%;padding:8px 12px;border:1px solid #333333;border-radius:6px;font-size:var(--font-size-sm);background:#373737;color:#a2a2a2}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--color-accent-primary, #6366f1);box-shadow:0 0 0 3px var(--color-accent-primary-alpha, rgba(99, 102, 241, .1))}.form-row-inline{display:grid;grid-template-columns:auto 1fr 1fr;gap:12px;margin-bottom:12px}.form-row-inline label{display:flex;flex-direction:column;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary, #6b7280)}.form-row-inline input,.form-row-inline select{margin-top:6px;padding:8px 12px;border:1px solid var(--node-border-color, #e5e7eb);border-radius:6px;font-size:var(--font-size-sm);background:var(--color-bg-primary, #ffffff);color:var(--color-text-primary, #1f2937)}.icon-input{width:60px!important;text-align:center;font-size:var(--font-size-xl)}.custom-node-builder-modal .connector-row{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:8px;margin-bottom:8px;align-items:center}.custom-node-builder-modal .connector-row input,.custom-node-builder-modal .connector-row select{padding:8px 12px;border:1px solid var(--node-border-color, #e5e7eb);border-radius:6px;font-size:var(--font-size-sm);background:var(--color-bg-primary, #ffffff);color:var(--color-text-primary, #1f2937)}.variable-input{font-family:var(--font-monospace);font-size:var(--font-size-xs)}.remove-button{background:none;border:none;color:var(--color-error, #ef4444);cursor:pointer;font-size:var(--font-size-lg);padding:4px 8px;border-radius:4px;transition:all .2s}.remove-button:hover:not(:disabled){background:var(--color-error-alpha, rgba(239, 68, 68, .1))}.remove-button:disabled{opacity:.3;cursor:not-allowed}.add-button{background:var(--color-bg-secondary, #f3f4f6);border:1px dashed var(--node-border-color, #e5e7eb);color:var(--color-text-secondary, #6b7280);padding:8px 16px;border-radius:6px;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s;width:100%}.add-button:hover{background:var(--color-accent-primary-alpha, rgba(99, 102, 241, .1));border-color:var(--color-accent-primary, #6366f1);color:var(--color-accent-primary, #6366f1)}.variables-hint{font-size:var(--font-size-xs);color:var(--color-accent-primary, #6366f1);background:var(--color-accent-primary-alpha, rgba(99, 102, 241, .1));padding:8px 12px;border-radius:6px;margin-bottom:8px;font-family:var(--font-monospace)}.prompt-template-textarea{width:100%;padding:12px;border:1px solid #333333;border-radius:6px;font-size:var(--font-size-sm);font-family:var(--font-monospace);background:#373737;color:#a2a2a2;resize:vertical;min-height:200px}.prompt-template-textarea:focus{outline:none;border-color:var(--color-accent-primary, #6366f1);box-shadow:0 0 0 3px var(--color-accent-primary-alpha, rgba(99, 102, 241, .1))}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-primary, #1f2937);cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.custom-node-builder-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--node-border-color, #e5e7eb)}.custom-node-builder-modal .cancel-button,.custom-node-builder-modal .save-button,.custom-node-builder-modal .delete-button{padding:10px 20px;border-radius:6px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s}.custom-node-builder-modal .cancel-button{background:var(--color-bg-secondary, #f3f4f6);border:1px solid var(--node-border-color, #e5e7eb);color:var(--color-text-secondary, #6b7280)}.custom-node-builder-modal .cancel-button:hover{background:var(--color-bg-tertiary, #e5e7eb);color:var(--color-text-primary, #1f2937)}.custom-node-builder-modal .save-button{background:var(--color-accent-primary, #6366f1);border:none;color:#fff}.custom-node-builder-modal .save-button:hover{background:var(--color-accent-secondary, #4f46e5);box-shadow:0 4px 12px #6366f133}.custom-node-builder-modal .delete-button{background:transparent;border:1px solid var(--color-error, #ef4444);color:var(--color-error, #ef4444)}.custom-node-builder-modal .delete-button:hover{background:var(--color-error, #ef4444);color:#fff;box-shadow:0 4px 12px #ef444433}.send-to-device-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out}.send-to-device-modal{background:var(--node-body-background, #1a1a2e);border:1px solid var(--node-border-color, rgba(255, 255, 255, .1));border-radius:16px;width:360px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 16px 48px #00000080;animation:slideUp .25s ease-out}.send-to-device-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff05}.send-to-device-modal .header-title{display:flex;align-items:center;gap:10px;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary, #fff)}.send-to-device-modal .header-icon{color:#8b5cf6;font-size:var(--font-size-xl)}.send-to-device-modal .close-btn{background:transparent;border:none;color:#888;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.send-to-device-modal .close-btn:hover{background:#ffffff1a;color:#fff}.send-to-device-modal .modal-content{padding:20px;display:flex;flex-direction:column;align-items:center;gap:16px}.send-to-device-modal .asset-preview{width:100%;height:120px;border-radius:10px;overflow:hidden;background:#0000004d;display:flex;align-items:center;justify-content:center}.send-to-device-modal .preview-image,.send-to-device-modal .preview-video{width:100%;height:100%;object-fit:cover}.send-to-device-modal .preview-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#666}.send-to-device-modal .placeholder-icon{font-size:2.5rem;opacity:.5}.send-to-device-modal .file-type{font-size:var(--font-size-sm);font-weight:500;text-transform:uppercase;letter-spacing:1px}.send-to-device-modal .asset-info{text-align:center;width:100%}.send-to-device-modal .asset-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.send-to-device-modal .asset-meta{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;font-size:var(--font-size-xs);color:#888}.send-to-device-modal .meta-separator{opacity:.5}.send-to-device-modal .qr-section{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0}.send-to-device-modal .qr-code-container{background:#fff;padding:8px;border-radius:12px;box-shadow:0 4px 16px #0003}.send-to-device-modal .qr-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:#888;font-size:var(--font-size-sm)}.send-to-device-modal .loading-spinner{width:32px;height:32px;border:3px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin .8s linear infinite}.send-to-device-modal .qr-error{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center}.send-to-device-modal .error-icon{font-size:var(--font-size-4xl)}.send-to-device-modal .error-message{color:#f87171;font-size:var(--font-size-xs);line-height:1.5}.send-to-device-modal .qr-instructions{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.send-to-device-modal .instruction-text{font-size:var(--font-size-xs);color:#a0a0a0}.send-to-device-modal .expiry-timer{font-size:var(--font-size-xs);color:#888;font-family:var(--font-monospace)}.send-to-device-modal .expiry-expired{font-size:var(--font-size-xs);color:#f87171}.send-to-device-modal .copy-link-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:8px;color:#a78bfa;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.send-to-device-modal .copy-link-btn:hover{background:#8b5cf640;border-color:#8b5cf680}.send-to-device-modal .copy-link-btn:active{transform:scale(.98)}.receive-from-device-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out}.receive-from-device-modal{background:var(--node-body-background, #1a1a2e);border:1px solid var(--node-border-color, rgba(255, 255, 255, .1));border-radius:16px;width:380px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 16px 48px #00000080;animation:slideUp .25s ease-out}.receive-from-device-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff05}.receive-from-device-modal .header-title{display:flex;align-items:center;gap:10px;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary, #fff)}.receive-from-device-modal .header-icon{color:#10b981;font-size:var(--font-size-xl)}.receive-from-device-modal .close-btn{background:transparent;border:none;color:#888;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.receive-from-device-modal .close-btn:hover{background:#ffffff1a;color:#fff}.receive-from-device-modal .modal-content{padding:20px;display:flex;flex-direction:column;align-items:center;gap:16px;max-height:calc(90vh - 60px);overflow-y:auto}.receive-from-device-modal .session-code{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px}.receive-from-device-modal .code-label{font-size:var(--font-size-xs);color:#888}.receive-from-device-modal .code-value{font-size:var(--font-size-lg);font-weight:700;font-family:var(--font-monospace);color:#10b981;letter-spacing:2px}.receive-from-device-modal .qr-section{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0}.receive-from-device-modal .qr-code-container{background:#fff;padding:12px;border-radius:12px;box-shadow:0 4px 16px #0003}.receive-from-device-modal .qr-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:#888;font-size:var(--font-size-sm)}.receive-from-device-modal .loading-spinner{width:32px;height:32px;border:3px solid rgba(16,185,129,.2);border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite}.receive-from-device-modal .qr-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;text-align:center}.receive-from-device-modal .error-icon{font-size:var(--font-size-4xl)}.receive-from-device-modal .error-message{color:#f87171;font-size:var(--font-size-xs);line-height:1.5}.receive-from-device-modal .refresh-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:6px;color:#10b981;font-size:var(--font-size-xs);cursor:pointer;transition:all .15s ease}.receive-from-device-modal .refresh-btn:hover{background:#10b98140}.receive-from-device-modal .qr-instructions{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.receive-from-device-modal .instruction-icon{color:#10b981;font-size:var(--font-size-3xl)}.receive-from-device-modal .instruction-text{font-size:var(--font-size-sm);color:#a0a0a0}.receive-from-device-modal .expiry-timer{font-size:var(--font-size-xs);color:#888;font-family:var(--font-monospace)}.receive-from-device-modal .expiry-expired{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:var(--font-size-xs);color:#f87171}.receive-from-device-modal .refresh-link{background:none;border:none;color:#10b981;cursor:pointer;text-decoration:underline;font-size:var(--font-size-xs)}.receive-from-device-modal .refresh-link:hover{color:#34d399}.receive-from-device-modal .received-files-section{width:100%;padding:16px;background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:10px}.receive-from-device-modal .section-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:var(--font-size-sm);font-weight:500;color:#10b981}.receive-from-device-modal .success-icon{font-size:var(--font-size-lg)}.receive-from-device-modal .received-files-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.receive-from-device-modal .received-file-item{display:flex;align-items:center;gap:10px;padding:8px;background:#0003;border-radius:6px}.receive-from-device-modal .file-thumbnail{width:40px;height:40px;object-fit:cover;border-radius:4px;background:#0000004d}.receive-from-device-modal .file-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);background:#0000004d;border-radius:4px}.receive-from-device-modal .file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.receive-from-device-modal .file-name{font-size:var(--font-size-xs);color:var(--color-text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receive-from-device-modal .file-size{font-size:var(--font-size-2xs);color:#888}.receive-from-device-modal .refresh-session-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#888;font-size:var(--font-size-xs);cursor:pointer;transition:all .15s ease}.receive-from-device-modal .refresh-session-btn:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.file-panel{position:fixed;right:0;top:var(--topbar-height, 36px);height:calc(100vh - var(--topbar-height, 36px));width:280px;background:var(--color-bg-node-body);border-left:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;display:flex;flex-direction:column;transition:width .3s ease,transform .3s ease;overflow:hidden}.import-panel{display:flex;flex-direction:column;gap:16px;padding:16px;width:100%}.import-panel .drop-zone-large{width:100%;aspect-ratio:1 / 1;max-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;border:2px dashed var(--color-border);border-radius:12px;background:var(--color-bg-canvas);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.import-panel .drop-zone-large:hover{border-color:var(--color-accent-primary);background:#3b82f60d;color:var(--color-text-primary)}.import-panel .drop-zone-large.drag-over{border-color:var(--color-accent-primary);background:#3b82f61a;border-style:solid}.import-panel .drop-zone-large svg{font-size:48px;opacity:.6}.import-panel .drop-zone-large .drop-zone-title{font-size:14px;font-weight:500;color:var(--color-text-primary)}.import-panel .drop-zone-large .drop-zone-subtitle{font-size:12px;color:var(--color-text-tertiary)}.import-panel .import-divider{display:flex;align-items:center;gap:12px;color:var(--color-text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.import-panel .import-divider:before,.import-panel .import-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.import-panel .phone-upload-section{display:flex;flex-direction:column;gap:8px}.import-panel .phone-upload-description{font-size:12px;color:var(--color-text-quaternary, rgba(255, 255, 255, .4));line-height:1.4}.import-panel .import-phone-btn{width:100%}.import-panel .upload-progress{margin-top:8px}.import-files-section{display:flex;flex-direction:column;gap:8px;margin-top:8px}.import-files-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.import-files-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.import-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-height:320px;overflow-y:auto;padding:4px}.import-files-grid::-webkit-scrollbar{width:6px}.import-files-grid::-webkit-scrollbar-track{background:var(--color-bg-canvas);border-radius:3px}.import-files-grid::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.import-files-grid::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.import-file-item{background:var(--color-bg-elevated, #2b2b2b);border-radius:8px;overflow:hidden;cursor:grab;transition:all .2s ease;position:relative;width:100%;height:0;padding-bottom:100%}.import-file-item:not(.processing):hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.import-file-item:active:not(.processing){cursor:grabbing}.import-file-item.processing{opacity:.7;cursor:default}.import-item-preview{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg-canvas, #1a1a1a);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px}.import-item-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--color-bg-elevated)}.import-item-icon .file-type-badge{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);padding:4px 8px;background:var(--color-bg-canvas);border-radius:var(--radius-sm)}.import-item-processing-label{position:absolute;bottom:0;left:0;right:0;background:#000c;color:var(--color-text-primary);font-size:9px;font-weight:var(--font-weight-medium);padding:4px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.import-view-all-container{display:flex;justify-content:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.import-view-all-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.import-view-all-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary);color:var(--color-accent-primary);transform:translateY(-1px);box-shadow:0 2px 8px #0003}.import-view-all-btn svg{font-size:18px}.file-panel.embedded{position:relative;top:unset;right:unset;left:unset;height:100%;width:100%;border:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto}.file-panel.embedded .file-panel-header{display:none}.file-panel.embedded .file-panel-body{height:100%}.file-panel.collapsed{width:50px}.file-panel.right{right:0}.file-panel.left{left:0;right:auto;border-left:none;border-right:1px solid var(--color-border)}.file-panel-body{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.file-panel.collapsed .file-panel-body,.file-panel.collapsed .file-panel-controls,.file-panel.collapsed .file-panel-search,.file-panel.collapsed .file-list,.file-panel.collapsed .drop-zone,.file-panel.collapsed .file-panel-footer{display:none}.file-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border);min-height:36px;background:var(--color-bg-canvas)}.file-panel.collapsed .file-panel-header{justify-content:center;padding:var(--spacing-xs)}.file-panel-title{display:flex;flex-direction:column;gap:2px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-xs);transition:opacity var(--duration-slow) ease;white-space:nowrap}.file-panel.collapsed .file-panel-title{display:none}.file-panel-stats{font-size:var(--font-size-3xs);color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.selected-count{color:var(--color-accent-primary);font-weight:500}@keyframes loading-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.loading-indicator{color:var(--color-text-tertiary);font-style:italic;display:inline-flex;align-items:center;gap:4px}.loading-indicator:after{content:"";animation:loading-dots 1.5s infinite steps(1)}.collapse-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xxs);display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:24px;height:24px}.collapse-btn:hover{background:var(--color-accent-primary-alpha);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.file-panel-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);background:var(--color-bg-canvas)}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-3xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) ease;border-bottom:2px solid transparent}.tab-btn.active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary);background:var(--color-bg-node-body)}.tab-btn.disabled,.tab-btn:disabled{opacity:.5;cursor:not-allowed;color:var(--color-text-muted)}.tab-btn.disabled:hover,.tab-btn:disabled:hover{background:transparent;color:var(--color-text-muted)}.brand-voice-container{display:flex;flex-direction:column;gap:12px;padding:16px;flex:1;overflow-y:auto}.brand-voice-header h3{margin:0 0 8px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.brand-voice-description{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.brand-voice-textarea{width:100%;min-height:300px;max-height:calc(100vh - 280px);padding:12px;border:1px solid #333333;border-radius:var(--radius-md);background:#373737;color:#a2a2a2;font-size:var(--font-size-xs);font-family:var(--font-primary);line-height:1.6;resize:vertical;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;white-space:pre-wrap;box-sizing:border-box}.brand-voice-textarea::-webkit-scrollbar{width:8px}.brand-voice-textarea::-webkit-scrollbar-track{background:var(--color-bg-canvas);border-radius:4px}.brand-voice-textarea::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.brand-voice-textarea::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.brand-voice-textarea:focus{outline:none;border-color:var(--color-accent-primary);background:#3f3f3f}.brand-voice-textarea::placeholder{color:var(--color-text-tertiary);opacity:.7}.brand-voice-display{width:100%;min-height:300px;max-height:calc(100vh - 280px);padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-canvas);color:var(--color-text-primary);font-size:var(--font-size-xs);font-family:var(--font-primary);line-height:1.6;cursor:pointer;transition:all var(--duration-normal) ease;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;box-sizing:border-box}.brand-voice-display::-webkit-scrollbar{width:8px}.brand-voice-display::-webkit-scrollbar-track{background:var(--color-bg-canvas);border-radius:4px}.brand-voice-display::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.brand-voice-display::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.brand-voice-display:hover{border-color:var(--color-accent-primary);background:var(--color-bg-node-body)}.brand-voice-display h1,.brand-voice-display h2,.brand-voice-display h3,.brand-voice-display h4{color:var(--color-text-primary);margin-top:16px;margin-bottom:8px;word-wrap:break-word}.brand-voice-display h1{font-size:var(--font-size-lg)}.brand-voice-display h2{font-size:var(--font-size-base)}.brand-voice-display h3{font-size:var(--font-size-sm)}.brand-voice-display p{margin:8px 0;word-wrap:break-word}.brand-voice-display ul,.brand-voice-display ol{margin:8px 0;padding-left:24px}.brand-voice-display li{margin:4px 0;word-wrap:break-word}.brand-voice-display code{background:var(--color-bg-elevated);padding:2px 4px;border-radius:3px;font-family:var(--font-monospace);font-size:var(--font-size-xs);word-break:break-all}.brand-voice-display pre{background:var(--color-bg-elevated);padding:8px;border-radius:4px;overflow-x:hidden;overflow-wrap:break-word;white-space:pre-wrap;word-wrap:break-word;margin:8px 0}.brand-voice-display pre code{background:none;padding:0;word-break:break-all;white-space:pre-wrap}.brand-voice-placeholder{color:var(--color-text-tertiary);font-style:italic;opacity:.7}.brand-voice-footer{padding-top:8px;border-top:1px solid var(--color-border)}.brand-voice-footer .helper-text{font-size:var(--font-size-2xs);color:var(--color-text-tertiary)}.file-panel-controls{padding:6px 8px;display:flex;gap:6px;align-items:center;justify-content:flex-start;border-bottom:1px solid var(--color-border)}.upload-section{display:flex;gap:6px;align-items:center}.upload-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid rgba(59,130,246,.4);background:#3b82f61a;color:var(--color-accent-primary);border-radius:var(--radius-sm);font-size:var(--font-size-3xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) ease;white-space:nowrap}.upload-btn:hover:not(:disabled){background:#3b82f633;border-color:#3b82f699}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.receive-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid rgba(16,185,129,.4);background:#10b9811a;color:var(--color-accent-success);border-radius:var(--radius-sm);font-size:var(--font-size-3xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) ease;white-space:nowrap}.receive-btn:hover:not(:disabled){background:#10b98133;border-color:#10b98199}.receive-btn:disabled{opacity:.6;cursor:not-allowed}.send-btn{padding:4px 8px;border:1px solid var(--color-border);background:var(--color-bg-control);color:var(--color-text-primary);border-radius:var(--radius-sm);font-size:var(--font-size-3xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) ease;white-space:nowrap}.send-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.file-panel-search{padding:6px 8px;display:flex;gap:6px;border-bottom:1px solid var(--color-border);align-items:center;flex-wrap:wrap}.search-input{flex:1;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-canvas);color:var(--color-text-primary);font-size:var(--font-size-xs)}.search-input:focus{outline:none;border-color:var(--color-accent-primary);background:var(--color-bg-node-body)}.filter-select{padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-canvas);color:var(--color-text-primary);font-size:var(--font-size-xs);cursor:pointer;min-width:90px}.sort-select{padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-canvas);color:var(--color-text-primary);font-size:var(--font-size-xs);cursor:pointer;min-width:110px}.sort-select:focus{outline:none;border-color:var(--color-accent-primary)}.view-toggle{display:flex;gap:2px;background:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:4px;padding:2px}.view-toggle-btn{width:24px;height:24px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:var(--font-size-2xs)}.view-toggle-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.view-toggle-btn.active{background:var(--color-accent-primary);color:#fff}.filter-select:focus{outline:none;border-color:var(--color-accent-primary)}.import-section{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-border)}.drop-zone-compact{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px dashed var(--color-border);border-radius:8px;background:var(--color-bg-canvas);color:var(--color-text-secondary);font-size:12px;cursor:pointer;transition:all .2s ease}.drop-zone-compact:hover{border-color:var(--color-accent-primary);background:#3b82f60d;color:var(--color-text-primary)}.drop-zone-compact.drag-over{border-color:var(--color-accent-primary);background:#3b82f61a;border-style:solid}.drop-zone-compact svg{font-size:18px;opacity:.7}.import-phone-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-canvas);color:var(--color-text-primary);font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.import-phone-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.import-phone-btn:disabled{opacity:.5;cursor:not-allowed}.import-phone-btn svg{font-size:16px}.drop-zone{margin:8px 12px;padding:12px;border:2px dashed var(--color-border);border-radius:4px;background:var(--color-bg-canvas);text-align:center;transition:all .2s ease}.drop-zone.drag-over{border-color:var(--color-accent-primary);background:#3b82f61a}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.drop-icon{font-size:var(--font-size-2xl);opacity:.7}.error-message{margin:8px 12px;padding:8px 10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:var(--color-accent-error);font-size:var(--font-size-2xs);display:flex;align-items:flex-start;gap:6px}.error-icon{flex-shrink:0;margin-top:1px}.error-close{margin-left:auto;background:none;border:none;color:var(--color-accent-error);cursor:pointer;font-size:var(--font-size-base);line-height:1}.upload-progress{padding:8px 12px;border-bottom:1px solid var(--color-border)}.progress-item{margin-bottom:8px}.progress-item:last-child{margin-bottom:0}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:var(--font-size-2xs)}.progress-filename{color:var(--color-text-primary);font-weight:var(--font-weight-medium);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-stage{color:var(--color-text-secondary);font-size:var(--font-size-3xs);text-transform:capitalize}.progress-bar{height:4px;background:var(--color-bg-control);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--color-accent-primary);transition:width .3s ease}.file-list{flex:1 1 0;overflow-y:auto;overflow-x:hidden;min-height:0}.file-list::-webkit-scrollbar{width:6px}.file-list::-webkit-scrollbar-track{background:var(--color-bg-canvas)}.file-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.file-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.empty-state{padding:24px 12px;text-align:center;color:var(--color-text-secondary)}.empty-state-centered{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:200px}.empty-state-centered .empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.empty-state-centered .empty-title{margin:0 0 8px;font-size:16px;font-weight:500;color:var(--color-text-primary)}.empty-state-centered .empty-subtitle{margin:0;font-size:13px;color:var(--color-text-tertiary)}.empty-icon{font-size:var(--font-size-3xl);opacity:.5;margin-bottom:8px}.empty-state p{margin:6px 0;font-size:var(--font-size-xs)}.empty-hint{font-size:var(--font-size-2xs)!important;opacity:.7}@keyframes asset-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.asset-skeleton{width:100%;height:0;padding-bottom:100%;position:relative;border-radius:12px;overflow:hidden}.asset-skeleton .skeleton-thumbnail{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--color-bg-surface, #1a1a1a) 0%,var(--color-bg-node-body, #2b2b2b) 25%,var(--color-bg-surface, #1a1a1a) 50%,var(--color-bg-node-body, #2b2b2b) 75%,var(--color-bg-surface, #1a1a1a) 100%);background-size:200% 100%;animation:asset-skeleton-shimmer 2s ease-in-out infinite;animation-delay:var(--skeleton-delay, 0s);border-radius:12px}.file-list.grid-view{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;box-sizing:border-box;align-content:start}.file-list.grid-view>*{min-width:0;min-height:0}.file-list.list-view{display:flex;flex-direction:column}.file-item{margin:0 6px 4px;padding:4px 6px;background:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:3px;transition:all .2s ease;cursor:grab;position:relative}.file-item:active{cursor:grabbing}.file-item:hover{background:var(--color-bg-control);border-color:var(--color-bg-hover)}.file-item.selected{background:#3b82f61a;border-color:var(--color-accent-primary)}.file-item-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.file-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.file-thumbnail{width:28px;height:28px;flex-shrink:0;border-radius:2px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg-elevated)}.file-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.file-details{flex:1;min-width:0}.file-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.file-type-label{font-size:var(--font-size-3xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase;background:var(--color-bg-control);padding:1px 4px;border-radius:2px;letter-spacing:.3px}.file-name{font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.file-meta{font-size:var(--font-size-3xs);color:var(--color-text-secondary);white-space:nowrap}.file-actions{display:flex;gap:3px;flex-shrink:0;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--color-bg-canvas);padding:2px;border-radius:4px;box-shadow:0 1px 4px #0003}.file-item:hover .file-actions,.file-item.selected .file-actions{opacity:1;visibility:visible}.select-btn,.delete-btn,.action-btn{width:20px;height:20px;border:1px solid var(--color-border);background:var(--color-bg-control);color:var(--color-text-secondary);border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xs);transition:all var(--duration-normal) ease}.action-btn{font-size:var(--font-size-3xs)}.action-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.select-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.select-btn.selected{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.delete-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.send-to-device-btn:hover{background:#8b5cf626;border-color:#8b5cf6;color:#a78bfa}.file-grid-item{background:#2b2b2b;border:none;border-radius:12px;padding:0 0 100%;cursor:grab;transition:all .2s ease;position:relative;overflow:hidden;width:100%;height:0}.file-grid-item:active{cursor:grabbing}.file-grid-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.file-grid-item.selected{box-shadow:0 0 0 2px var(--color-accent-primary),0 8px 24px #0000004d}.grid-item-preview{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1a1a;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px}.thumbnail-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.thumbnail-container img{width:100%;height:100%;object-fit:cover}.thumbnail-container img.error{display:none}.thumbnail-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated)}.grid-item-preview img{width:100%;height:100%;object-fit:cover}.grid-item-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:60px;background:var(--color-bg-elevated)}.asset-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:2}.file-grid-item:hover .asset-hover-overlay{opacity:1;pointer-events:all}.asset-hover-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 40%);pointer-events:none}.asset-hover-actions{position:absolute;bottom:8px;left:8px;display:flex;gap:6px;z-index:1}.asset-hover-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#000000b3;border:none;border-radius:6px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.asset-hover-icon:hover{background:#3b82f6cc;transform:scale(1.1)}.asset-hover-icon.danger:hover{background:#ef4444cc}.asset-hover-icon svg{width:18px;height:18px}.grid-item-icon .file-type-badge{font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);padding:6px 10px;background:var(--color-bg-canvas);border-radius:var(--radius-sm)}.text-preview-snippet{font-size:9px;line-height:1.3;color:var(--color-text-tertiary);padding:4px 8px;margin-top:6px;max-width:100%;max-height:48px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word;text-align:center;font-family:var(--font-family-mono, "SF Mono", "Monaco", "Inconsolata", monospace)}.video-thumbnail-wrapper{position:relative;width:100%;height:100%}.video-thumbnail-wrapper video{width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0000004d;transition:background .2s ease}.video-thumbnail-wrapper:hover .video-overlay{background:#00000080}.play-icon{color:#fff;font-size:var(--font-size-2xl);text-shadow:0 2px 8px rgba(0,0,0,.5);opacity:.9}.video-thumbnail-wrapper:hover .play-icon{opacity:1;transform:scale(1.1);transition:all var(--duration-normal) ease}.file-thumbnail.video-thumbnail{position:relative}.video-overlay-small{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0000004d}.play-icon-small{color:#fff;font-size:var(--font-size-xs);text-shadow:0 1px 4px rgba(0,0,0,.5);opacity:.9}.file-thumbnail.video-thumbnail:hover .video-overlay-small{background:#00000080}.file-thumbnail.video-thumbnail:hover .play-icon-small{opacity:1}.grid-item-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.file-type-badge{font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase;background:var(--color-bg-control);padding:4px 8px;border-radius:var(--radius-sm);letter-spacing:.5px}.grid-item-info{padding:8px 10px;min-height:32px;display:flex;align-items:center;justify-content:center;background:#0003;border-radius:0 0 12px 12px}.grid-item-name{font-size:12px;font-weight:500;color:#eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;width:100%}.grid-item-actions{display:flex;gap:4px;padding:6px;justify-content:center;position:absolute;bottom:0;left:0;right:0;opacity:0;transition:opacity .15s ease;background:linear-gradient(transparent,#0009);z-index:2}.file-grid-item:hover .grid-item-actions{opacity:1}.file-rename-input{width:100%;padding:2px 4px;background:var(--color-bg-control);border:1px solid var(--color-accent-primary);border-radius:3px;color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);outline:none}.file-rename-input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3b82f61a}.file-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.05)}.file-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:3px;font-size:var(--font-size-2xs);color:#60a5fa;line-height:1}.tag-remove{border:none;background:none;color:inherit;cursor:pointer;padding:0;font-size:var(--font-size-xs);opacity:.7;transition:opacity var(--duration-normal)}.tag-remove:hover{opacity:1}.tag-input{padding:2px 6px;background:var(--color-bg-control);border:1px solid var(--color-accent-primary);border-radius:3px;color:var(--color-text-primary);font-size:var(--font-size-2xs);outline:none;min-width:100px}.tag-input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3b82f61a}.file-context{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.context-summary{font-size:var(--font-size-xs);color:var(--color-text-primary);line-height:1.4;margin-bottom:6px}.context-points{margin-bottom:6px}.context-point{font-size:var(--font-size-2xs);color:var(--color-text-secondary);line-height:1.3;margin-bottom:2px}.context-meta{font-size:var(--font-size-3xs);color:var(--color-text-tertiary);display:flex;align-items:center;gap:4px}.context-error{color:#ef4444;cursor:help}.file-panel-footer{padding:6px 10px;border-top:1px solid var(--color-border);background:var(--color-bg-control);border-radius:0 0 6px 6px}.storage-info{font-size:var(--font-size-2xs);color:var(--color-text-secondary)}.ai-warning{margin-top:4px;color:var(--color-accent-warning);font-size:var(--font-size-3xs);display:flex;align-items:center;gap:4px}@media(max-height:600px){.file-panel{top:40px;bottom:10px}.drop-zone{padding:15px}.file-item{padding:10px}}@media(max-width:1200px){.file-panel{width:320px}}@media(max-width:800px){.file-panel.right{right:10px}.file-panel.left{left:10px}.file-panel{width:280px}}@media(prefers-color-scheme:dark){.file-panel{box-shadow:0 4px 12px #0000004d}}.file-panel button:focus{outline:2px solid var(--color-accent-primary);outline-offset:2px}.file-panel input:focus{outline:2px solid var(--color-accent-primary);outline-offset:1px}.file-item{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-fill{animation:progressPulse 2s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}.delete-confirmation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease}.delete-confirmation-dialog{background:var(--color-bg-elevated, #2b2b2b);border:1px solid var(--color-border, #444);border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 40px #0006;animation:slideUp .2s ease}.delete-confirmation-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.delete-confirmation-header .delete-icon{font-size:24px}.delete-confirmation-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary, #fff)}.delete-confirmation-body{margin-bottom:24px}.delete-confirmation-body .delete-filename{font-weight:500;color:var(--color-text-primary, #fff);word-break:break-word;margin:0 0 12px}.delete-confirmation-body .delete-warning{color:var(--color-text-secondary, #999);font-size:14px;margin:0 0 12px;line-height:1.5}.delete-confirmation-body .delete-stage-warning{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:8px;padding:12px;color:#ffb74d;font-size:13px;margin:0 0 12px;line-height:1.5}.delete-confirmation-body .delete-undo-note{color:var(--color-text-tertiary, #666);font-size:12px;font-style:italic;margin:0}.delete-confirmation-actions{display:flex;gap:12px;justify-content:flex-end}.delete-cancel-btn{padding:10px 20px;border-radius:8px;border:1px solid var(--color-border, #444);background:transparent;color:var(--color-text-primary, #fff);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-cancel-btn:hover{background:var(--color-bg-hover, #3a3a3a)}.delete-confirm-btn{padding:10px 20px;border-radius:8px;border:none;background:#ef4444;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-confirm-btn:hover{background:#dc2626}.asset-context-menu{min-width:160px;background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 32px #0006;padding:6px 0;animation:asset-context-menu-appear .15s ease}@keyframes asset-context-menu-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.asset-context-menu .context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:none;border:none;color:var(--color-text-primary);font-family:Inter,sans-serif;font-size:14px;cursor:pointer;text-align:left;transition:background-color .15s ease}.asset-context-menu .context-menu-item:hover{background-color:var(--color-bg-node-body)}.asset-context-menu .context-menu-item svg{flex-shrink:0;color:var(--color-text-secondary)}.asset-context-menu .context-menu-item.danger{color:#f04e47}.asset-context-menu .context-menu-item.danger:hover{background-color:#f04e471a}.asset-context-menu .context-menu-item.danger svg{color:#f04e47}.asset-context-menu .context-menu-divider{height:1px;background-color:var(--color-border);margin:6px 0}.model-tooltip-content{padding:16px 20px;min-width:280px;max-width:400px}.model-tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.model-tooltip-credits{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary, #a2a2a2);font-size:14px;font-weight:500;min-width:60px}.model-tooltip-credits svg{flex-shrink:0}.model-tooltip-io{display:flex;align-items:center;gap:6px;margin-left:auto}.model-tooltip-io .io-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.model-tooltip-io .io-chevron{color:var(--color-text-secondary, #a2a2a2);font-size:16px;font-weight:600;line-height:1;margin:0 2px}.model-tooltip-name{font-size:24px;font-weight:400;color:var(--color-text-secondary, #a2a2a2);margin-bottom:12px;line-height:1.2}.model-tooltip-description{font-size:14px;font-weight:500;color:var(--color-text-secondary, #a2a2a2);line-height:1.6}.node-palette-container{position:fixed;left:0;top:0;height:100vh;display:flex;z-index:500;pointer-events:none}.node-palette-sidebar{width:120px;background:var(--color-bg-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-top:40px;padding-bottom:56px;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-logo{width:66px;height:80px;display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);cursor:pointer;transition:transform .2s ease,opacity .2s ease;flex-shrink:0}.sidebar-logo:hover{transform:scale(1.05);opacity:.85}.sidebar-logo:active{transform:scale(.98)}.sidebar-logo svg{width:100%;height:100%;object-fit:contain}.sidebar-section{display:flex;flex-direction:column;gap:26px;width:100%;align-items:center;flex-shrink:0}.sidebar-section.bottom{display:flex;flex-direction:column;gap:12px}.sidebar-button{width:70px;height:95px;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;gap:6px;padding:6px 4px}.sidebar-icon-main{width:60px;height:60px;transition:transform .2s ease;flex-shrink:0}.sidebar-button:hover .sidebar-icon-main{transform:scale(1.02)}.sidebar-icon{width:36px;height:36px;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.sidebar-button:hover .sidebar-icon,.sidebar-button.active .sidebar-icon{opacity:1}.sidebar-button.category-import,.sidebar-button.category-assets,.sidebar-button.category-help,.sidebar-button.category-settings{border:1px solid transparent}.sidebar-button.category-import:hover,.sidebar-button.category-assets:hover,.sidebar-button.category-help:hover,.sidebar-button.category-settings:hover,.sidebar-button.category-import.active,.sidebar-button.category-assets.active,.sidebar-button.category-help.active,.sidebar-button.category-settings.active{background:var(--color-bg-control);border-color:var(--color-border)}.sidebar-button.category-text.active,.sidebar-button.category-text:hover,.sidebar-button.category-image.active,.sidebar-button.category-image:hover,.sidebar-button.category-video.active,.sidebar-button.category-video:hover{background:transparent;border-color:transparent}.sidebar-button .icon{font-size:24px;display:flex;align-items:center;justify-content:center}.sidebar-button .icon-text{color:#fcd34d}.sidebar-button .icon-image{color:#06b6d4}.sidebar-button .icon-video{color:#ef4444}.sidebar-button .label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);transition:color .2s ease;max-width:100%;text-align:center;line-height:1.3;word-break:break-word;overflow-wrap:break-word}.sidebar-button.category-text .label{color:#fcd34d}.sidebar-button.category-image .label{color:#06b6d4}.sidebar-button.category-video .label{color:#ef4444}.sidebar-button:hover .label,.sidebar-button.active .label{color:var(--color-text-primary)}.node-palette-submenu{width:600px;height:100vh;max-height:100vh;background:var(--color-bg-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;animation:slideIn .2s ease-out;z-index:600}.node-palette-submenu.category-text{background:#fed402}.node-palette-submenu.category-image{background:#42c3d7}.node-palette-submenu.category-video{background:#ff4b42}n.node-palette-submenu.category-import,n.node-palette-submenu.category-settings{n background: var(--color-bg-surface);n width: 320px;n}nnn.node-palette-submenu.category-help{n background: var(--color-bg-surface);n width: 600px;n}.node-palette-submenu.category-assets{background:var(--color-bg-surface);width:600px}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.submenu-header{position:relative;padding:65px 68px 16px;flex-shrink:0}.submenu-close-button{position:absolute;top:20px;right:20px;width:24px;height:24px;padding:0;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#2b2b2b;transition:transform .2s ease,box-shadow .2s ease}.submenu-close-button:hover{transform:translateY(-4px)}.submenu-close-button:active{transform:translateY(-2px)}.node-palette-submenu.category-import .submenu-close-button,.node-palette-submenu.category-assets .submenu-close-button,.node-palette-submenu.category-help .submenu-close-button,.node-palette-submenu.category-settings .submenu-close-button{color:var(--color-text-primary)}.submenu-project-title{margin:0 0 8px;font-size:18px;font-weight:500;color:#2b2b2b}.submenu-header h3{margin:0;font-size:72px;font-weight:400;color:#2b2b2b;line-height:1.1}.node-palette-submenu.category-text .submenu-header h3,.node-palette-submenu.category-text .submenu-project-title,.node-palette-submenu.category-image .submenu-header h3,.node-palette-submenu.category-image .submenu-project-title,.node-palette-submenu.category-video .submenu-header h3,.node-palette-submenu.category-video .submenu-project-title{color:#2b2b2b}.node-palette-submenu.category-import .submenu-header h3,.node-palette-submenu.category-assets .submenu-header h3,.node-palette-submenu.category-help .submenu-header h3,.node-palette-submenu.category-settings .submenu-header h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:600}.submenu-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:32px 28px 40px 68px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-content:start;grid-auto-rows:max-content}.submenu-content>*{min-width:0;min-height:0}.node-palette-submenu.category-import .submenu-content,.node-palette-submenu.category-help .submenu-content,.node-palette-submenu.category-settings .submenu-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.node-palette-submenu.category-assets .submenu-content.assets-panel-container,.node-palette-submenu.category-help .submenu-content.help-panel-container{display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding:0}.submenu-content::-webkit-scrollbar{width:6px}.submenu-content::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.submenu-content::-webkit-scrollbar-thumb{background:#00000040;border-radius:3px}.submenu-content::-webkit-scrollbar-thumb:hover{background:#00000059}.node-card{background:#2b2b2b;border:none;border-radius:12px;padding:0;cursor:grab;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:105px;height:auto;gap:0;box-sizing:border-box}.node-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.node-card:active{cursor:grabbing}.node-card-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;flex:1;width:100%;padding:14px 11px 11px}.node-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-sm);background:transparent}.node-card-icon svg{font-size:40px}.node-card-icon .model-logo{width:40px;height:40px;object-fit:contain}.node-card-title{font-weight:500;font-size:16px;text-align:center;padding:0 8px}.node-card.type-text .node-card-title{color:#fed402}.node-card.type-image .node-card-title{color:#42c3d7}.node-card.type-video .node-card-title{color:#ff4b42}.node-card-description,.node-card-meta{display:none}.node-card.type-text .node-card-icon{color:#fed402}.node-card.type-image .node-card-icon{color:#42c3d7}.node-card.type-video .node-card-icon{color:#ff4b42}.node-card.type-text .model-logo{filter:brightness(0) saturate(100%) invert(79%) sepia(96%) saturate(500%) hue-rotate(357deg) brightness(103%) contrast(102%)}.node-card.type-image .model-logo{filter:brightness(0) saturate(100%) invert(70%) sepia(50%) saturate(500%) hue-rotate(150deg) brightness(100%) contrast(95%)}.node-card.type-video .model-logo{filter:brightness(0) saturate(100%) invert(40%) sepia(90%) saturate(1000%) hue-rotate(335deg) brightness(100%) contrast(100%)}.node-palette-submenu.category-import .node-card,.node-palette-submenu.category-assets .node-card,.node-palette-submenu.category-help .node-card,.node-palette-submenu.category-settings .node-card{background:var(--color-bg-control);border:1px solid var(--color-border);aspect-ratio:unset;min-height:unset;padding:var(--spacing-md);align-items:flex-start;justify-content:flex-start}.node-palette-submenu.category-import .node-card-header,.node-palette-submenu.category-assets .node-card-header,.node-palette-submenu.category-help .node-card-header,.node-palette-submenu.category-settings .node-card-header{flex-direction:row;padding:0;gap:var(--spacing-sm)}.node-palette-submenu.category-import .node-card-icon,.node-palette-submenu.category-assets .node-card-icon,.node-palette-submenu.category-help .node-card-icon,.node-palette-submenu.category-settings .node-card-icon{width:32px;height:32px;background:#ffffff0d}.node-palette-submenu.category-import .node-card-icon svg,.node-palette-submenu.category-assets .node-card-icon svg,.node-palette-submenu.category-help .node-card-icon svg,.node-palette-submenu.category-settings .node-card-icon svg{font-size:20px}.node-palette-submenu.category-import .node-card-title,.node-palette-submenu.category-assets .node-card-title,.node-palette-submenu.category-help .node-card-title,.node-palette-submenu.category-settings .node-card-title{color:var(--color-text-primary);font-size:var(--font-size-sm);text-align:left}.node-palette-submenu.category-import .node-card-description,.node-palette-submenu.category-assets .node-card-description,.node-palette-submenu.category-help .node-card-description,.node-palette-submenu.category-settings .node-card-description{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4;margin-top:var(--spacing-xs)}.node-palette-submenu.category-import .node-card:hover,.node-palette-submenu.category-assets .node-card:hover,.node-palette-submenu.category-help .node-card:hover,.node-palette-submenu.category-settings .node-card:hover{border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}@media(max-height:800px){.node-palette-sidebar{gap:8px;padding-top:24px;padding-bottom:32px}.sidebar-section{gap:12px}.sidebar-button{width:65px;height:80px;gap:4px}.sidebar-icon-main{width:50px;height:50px}.sidebar-button .label{font-size:11px}.node-palette-submenu{width:500px}.submenu-header{padding:40px 40px 12px}.submenu-header h3{font-size:48px}.submenu-content{padding:20px 20px 30px 40px;gap:10px}.node-card{min-height:100px}.node-card-header{padding:12px 10px 10px;gap:7px}}@media(max-height:680px){.node-card{min-height:95px}.node-card-header{padding:11px 9px 9px;gap:6px}.node-card-icon svg,.node-card-icon .model-logo{width:36px;height:36px;font-size:36px}.node-card-title{font-size:13px}}@media(max-height:600px){.node-palette-sidebar{gap:4px;padding-top:16px;padding-bottom:20px}.sidebar-section{gap:8px}.sidebar-button{width:60px;height:70px;gap:2px}.sidebar-icon-main{width:44px;height:44px}.sidebar-icon{width:28px;height:28px}.sidebar-button .label{font-size:10px}.node-palette-submenu{width:450px}.submenu-header{padding:24px 24px 8px}.submenu-header h3{font-size:36px}.submenu-content{padding:14px 14px 20px 24px;gap:6px}.node-card{min-height:85px}.node-card-header{padding:9px 7px 7px;gap:5px}.node-card-icon svg,.node-card-icon .model-logo{width:32px;height:32px;font-size:32px}.node-card-title{font-size:12px}}.brand-voice-manager-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:24px}.brand-voice-manager-container{background:var(--color-background-secondary, #1a1a1a);border-radius:12px;box-shadow:0 24px 48px #00000080;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.brand-voice-manager-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--color-border, #333)}.brand-voice-manager-header h2{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #fff)}.brand-voice-manager-header .close-btn{background:transparent;border:none;color:var(--color-text-secondary, #999);cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.brand-voice-manager-header .close-btn:hover{background:var(--color-background-hover, #2a2a2a);color:var(--color-text-primary, #fff)}.brand-voice-manager-content{display:flex;flex:1;overflow:hidden}.brand-voice-list-panel{width:40%;min-width:320px;border-right:1px solid var(--color-border, #333);display:flex;flex-direction:column;background:var(--color-background-tertiary, #141414)}.brand-voice-list-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #333)}.brand-voice-list-header h3{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #fff)}.brand-voice-list-header .create-btn{background:var(--color-primary, #3b82f6);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:6px;transition:all var(--duration-normal)}.brand-voice-list-header .create-btn:hover{background:var(--color-primary-hover, #2563eb);transform:translateY(-1px)}.brand-voice-list{flex:1;overflow-y:auto;padding:12px}.brand-voice-item{background:var(--color-background-secondary, #1a1a1a);border:2px solid transparent;border-radius:8px;padding:12px;margin-bottom:8px;transition:all .2s}.brand-voice-item:hover{border-color:var(--color-border-hover, #444);background:var(--color-background-hover, #222)}.brand-voice-item.active-voice{border-color:var(--color-primary, #3b82f6);background:#3b82f61a}.brand-voice-item.previewing{border-color:#a855f7;background:#a855f71a;box-shadow:0 0 0 1px #a855f7}.brand-voice-item.editing{border-color:var(--color-warning, #f59e0b);background:#f59e0b1a}.brand-voice-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.brand-voice-item-info{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.brand-voice-icon{font-size:var(--font-size-xl);flex-shrink:0}.brand-voice-item-details{flex:1;min-width:0}.brand-voice-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #fff);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:8px}.voice-badge{font-size:var(--font-size-3xs);font-weight:var(--font-weight-semibold);padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.voice-badge.active-badge{background:#3b82f633;color:#60a5fa;border:1px solid #3b82f6}.voice-badge.preview-badge{background:#a855f733;color:#c084fc;border:1px solid #a855f7}.brand-voice-description{font-size:var(--font-size-xs);color:var(--color-text-secondary, #999);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-voice-item-actions{display:flex;gap:4px;flex-shrink:0}.brand-voice-item-actions button{background:transparent;border:none;color:var(--color-text-secondary, #999);cursor:pointer;padding:6px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.brand-voice-item-actions button:hover{background:var(--color-background-hover, #2a2a2a);color:var(--color-text-primary, #fff)}.brand-voice-item-actions .default-btn.active{color:var(--color-warning, #f59e0b)}.brand-voice-item-actions .delete-btn:hover{color:var(--color-error, #ef4444);background:#ef44441a}.brand-voice-item-footer{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--color-border, #333)}.brand-voice-item-footer button{flex:1;padding:6px 12px;border-radius:4px;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .2s}.brand-voice-item-footer .preview-btn{background:transparent;border:1px solid var(--color-border, #444);color:var(--color-text-secondary, #999)}.brand-voice-item-footer .preview-btn:hover{background:var(--color-background-hover, #2a2a2a);color:var(--color-text-primary, #fff);border-color:var(--color-border-hover, #555)}.brand-voice-item-footer .select-btn{background:var(--color-primary, #3b82f6);border:none;color:#fff}.brand-voice-item-footer .select-btn:hover{background:var(--color-primary-hover, #2563eb)}.empty-state{text-align:center;padding:48px 24px;color:var(--color-text-secondary, #999)}.empty-state p{margin:8px 0}.empty-hint{font-size:var(--font-size-sm);opacity:.7}.brand-voice-detail-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.brand-voice-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:48px 24px;text-align:center;color:var(--color-text-secondary, #999)}.brand-voice-form-header{padding:16px 24px;border-bottom:1px solid var(--color-border, #333)}.brand-voice-form-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #fff)}.brand-voice-form{flex:1;overflow-y:auto;padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary, #fff)}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;background:#373737;border:1px solid #333333;border-radius:var(--radius-md);color:#a2a2a2;font-size:var(--font-size-sm);font-family:inherit;transition:all var(--duration-normal)}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:100px;font-family:var(--font-primary)}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.form-group input[type=color]{width:100%;height:40px;padding:4px;background:var(--color-background-tertiary, #141414);border:1px solid var(--color-border, #333);border-radius:6px;cursor:pointer}.form-hint{margin-top:6px;font-size:var(--font-size-xs);color:var(--color-text-secondary, #999)}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--color-border, #333);margin-top:20px}.form-actions button{padding:10px 24px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal)}.cancel-btn{background:transparent;border:1px solid var(--color-border, #444);color:var(--color-text-secondary, #999)}.cancel-btn:hover{background:var(--color-background-hover, #2a2a2a);color:var(--color-text-primary, #fff);border-color:var(--color-border-hover, #555)}.save-btn{background:var(--color-primary, #3b82f6);border:none;color:#fff}.save-btn:hover{background:var(--color-primary-hover, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.brand-voice-preview-header{padding:16px 24px;border-bottom:1px solid var(--color-border, #333);display:flex;align-items:center;justify-content:space-between}.brand-voice-preview-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #fff);display:flex;align-items:center;gap:8px}.close-preview-btn{background:transparent;border:none;color:var(--color-text-secondary, #999);cursor:pointer;padding:6px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-preview-btn:hover{background:var(--color-background-hover, #2a2a2a);color:var(--color-text-primary, #fff)}.brand-voice-preview{flex:1;overflow-y:auto;padding:24px}.preview-description{font-size:var(--font-size-sm);color:var(--color-text-secondary, #999);margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--color-border, #333)}.preview-instructions{color:var(--color-text-primary, #e0e0e0);line-height:1.6;margin-bottom:24px}.preview-instructions h1,.preview-instructions h2,.preview-instructions h3{color:var(--color-text-primary, #fff);margin-top:24px;margin-bottom:12px}.preview-instructions h1{font-size:var(--font-size-2xl)}.preview-instructions h2{font-size:var(--font-size-xl)}.preview-instructions h3{font-size:var(--font-size-base)}.preview-instructions ul,.preview-instructions ol{margin:12px 0;padding-left:24px}.preview-instructions li{margin:6px 0}.preview-instructions code{background:var(--color-background-tertiary, #141414);padding:2px 6px;border-radius:3px;font-family:var(--font-monospace);font-size:var(--font-size-xs)}.preview-instructions pre{background:var(--color-background-tertiary, #141414);padding:12px;border-radius:6px;overflow-x:auto}.preview-metadata{display:flex;gap:24px;padding-top:20px;border-top:1px solid var(--color-border, #333);font-size:var(--font-size-xs);color:var(--color-text-secondary, #999)}.brand-voice-list::-webkit-scrollbar,.brand-voice-form::-webkit-scrollbar,.brand-voice-preview::-webkit-scrollbar{width:8px}.brand-voice-list::-webkit-scrollbar-track,.brand-voice-form::-webkit-scrollbar-track,.brand-voice-preview::-webkit-scrollbar-track{background:transparent}.brand-voice-list::-webkit-scrollbar-thumb,.brand-voice-form::-webkit-scrollbar-thumb,.brand-voice-preview::-webkit-scrollbar-thumb{background:var(--color-border, #333);border-radius:4px}.brand-voice-list::-webkit-scrollbar-thumb:hover,.brand-voice-form::-webkit-scrollbar-thumb:hover,.brand-voice-preview::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover, #444)}.execution-progress-popup{position:fixed;top:var(--spacing-md, 12px);right:var(--spacing-md, 12px);z-index:10000;pointer-events:auto;animation:slide-in-right .2s ease-out;cursor:grab}.execution-progress-popup:active{cursor:grabbing}.execution-progress-popup.dragged{animation:none}.execution-progress-popup.running .execution-progress-card{border-color:var(--color-text-primary, #F3F4F6)}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.execution-progress-card{background:var(--color-bg-node-body, #18181B);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-md, 8px);padding:var(--spacing-sm, 8px);min-width:200px;max-width:260px;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .3))}.execution-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs, 4px)}.execution-progress-title{font-size:var(--font-size-xs, 12px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #F3F4F6);margin:0;display:flex;align-items:center;gap:var(--spacing-xxs, 2px)}.execution-progress-title.running{color:var(--color-accent-primary, #3B82F6)}.execution-progress-title.complete{color:var(--color-accent-success, #10B981)}.execution-progress-title.error{color:var(--color-accent-error, #EF4444)}.execution-progress-title.paused{color:var(--color-accent-warning, #F59E0B)}.execution-step-counter{font-size:var(--font-size-xs, 12px);color:var(--color-text-secondary, #9CA3AF)}.execution-progress-bar-container{position:relative;height:4px;background:var(--color-bg-control, #27272A);border-radius:var(--radius-full, 9999px);overflow:hidden;margin-bottom:var(--spacing-xs, 4px)}.execution-progress-bar{height:100%;background:var(--color-accent-primary, #3B82F6);border-radius:var(--radius-full, 9999px);transition:width .3s ease}.execution-progress-bar.complete{background:var(--color-accent-success, #10B981)}.execution-progress-bar.error{background:var(--color-accent-error, #EF4444)}.execution-controls{display:flex;gap:var(--spacing-xs, 4px);justify-content:flex-end}.execution-btn{font-size:var(--font-size-xs, 12px);font-weight:var(--font-weight-medium, 500);padding:var(--spacing-xxs, 2px) var(--spacing-xs, 4px);border-radius:var(--radius-sm, 4px);border:none;cursor:pointer;transition:background .15s ease,opacity .15s ease;display:flex;align-items:center;gap:var(--spacing-xxs, 2px)}.execution-btn.pause{background:var(--color-accent-warning, #F59E0B);color:#000}.execution-btn.pause:hover{opacity:.85}.execution-btn.resume{background:var(--color-accent-success, #10B981);color:#fff}.execution-btn.resume:hover{opacity:.85}.execution-btn.cancel{background:transparent;color:var(--color-text-secondary, #9CA3AF)}.execution-btn.cancel:hover{color:var(--color-accent-error, #EF4444)}.execution-btn.close{background:var(--color-bg-control, #27272A);color:var(--color-text-primary, #F3F4F6)}.execution-btn.close:hover{background:var(--color-bg-hover, #3F3F46)}.execution-error-message{font-size:var(--font-size-xs, 12px);color:var(--color-accent-error, #EF4444);background:#ef44441a;padding:var(--spacing-xxs, 2px) var(--spacing-xs, 4px);border-radius:var(--radius-sm, 4px);margin-bottom:var(--spacing-xs, 4px);max-height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-toolbar-left{position:fixed;top:12px;z-index:1001;display:flex;gap:var(--spacing-sm);align-items:center;transition:left .3s ease}.floating-toolbar-left-name{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--spacing-xs);box-shadow:var(--shadow-lg);width:300px;flex-shrink:0;height:32px}.floating-toolbar-left-name input{background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:var(--font-size-xs);width:100%;padding:0;min-width:0}.floating-toolbar-left-name span{cursor:pointer;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-toolbar-left-name span[data-empty=true]{color:var(--color-text-secondary)}.floating-toolbar-left-name span[data-empty=false]{color:var(--color-text-primary)}.floating-toolbar-center{z-index:10000;pointer-events:auto;transition:all .3s cubic-bezier(.4,0,.2,1)}.floating-toolbar-center-content{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 12px;background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:32px}.floating-toolbar-center.idle-mode .floating-toolbar-center-content,.floating-toolbar-center.selection-mode .floating-toolbar-center-content{background:var(--color-bg-node-body)}.toolbar-center-count{font-size:12px;font-weight:600;color:var(--color-text-primary)}.toolbar-center-credits{font-size:11px;color:var(--color-accent-primary);font-weight:500;padding:2px 6px;background:#3b82f626;border-radius:4px;display:flex;align-items:center;gap:4px}.toolbar-center-separator{width:1px;height:16px;background:var(--color-border);opacity:.5}.toolbar-center-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.toolbar-center-btn.run-btn{background:var(--color-accent-primary);color:#fff}.toolbar-center-btn.run-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.02)}.toolbar-center-btn.run-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-center-btn.delete-btn{background:transparent;color:var(--color-text-secondary);padding:4px 6px}.toolbar-center-btn.delete-btn:hover{background:#ef444426;color:#ef4444}.credits-display{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:16px;background:var(--bg-secondary, #1a1a2e);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:all var(--duration-normal) ease;cursor:default}.credits-display[role=button]{cursor:pointer}.credits-display[role=button]:hover{background:var(--bg-tertiary, #252545);transform:scale(1.02)}.credits-display.compact{padding:4px 8px;font-size:var(--font-size-xs);gap:3px}.credits-display.credits-good{color:#4ade80;border:1px solid rgba(74,222,128,.2)}.credits-display.credits-medium{color:#fbbf24;border:1px solid rgba(251,191,36,.2)}.credits-display.credits-low{color:#f97316;border:1px solid rgba(249,115,22,.3);animation:pulse-warning 2s infinite}.credits-display.credits-empty{color:#ef4444;border:1px solid rgba(239,68,68,.3);animation:pulse-warning 1.5s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.credits-icon{font-size:var(--font-size-sm)}.credits-display.compact .credits-icon{font-size:var(--font-size-xs)}.credits-value{font-family:var(--font-monospace);font-weight:var(--font-weight-semibold)}.credits-value.loading{display:inline-flex;gap:2px;opacity:.6}.credits-value.loading-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;animation:pulse-loading 1.4s ease-in-out infinite}.credits-value.loading-dot:nth-child(1){animation-delay:0s}.credits-value.loading-dot:nth-child(2){animation-delay:.2s}.credits-value.loading-dot:nth-child(3){animation-delay:.4s}@keyframes pulse-loading{0%,60%,to{opacity:.3;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}.credits-value.error{color:#ef4444}.credits-label{opacity:.7;font-weight:400;margin-left:2px}.credits-history-tooltip{background:var(--color-bg-node-body, #18181B);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .3));width:300px;max-height:420px;overflow:hidden;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-bottom:1px solid var(--color-border, #52525B);background:var(--color-bg-control, #27272A)}.tooltip-title{font-size:11px;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #9CA3AF);text-transform:uppercase;letter-spacing:.5px}.tooltip-count{font-size:10px;font-weight:var(--font-weight-medium, 500);color:var(--color-text-tertiary, #6B7280);background:var(--color-bg-hover, #3F3F46);padding:2px 6px;border-radius:var(--radius-full, 9999px)}.tooltip-content{max-height:380px;overflow-y:auto}.tooltip-loading,.tooltip-empty{padding:var(--spacing-lg, 16px);text-align:center;color:var(--color-text-tertiary, #6B7280);font-size:11px}.history-list{list-style:none;margin:0;padding:0}.history-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);font-size:11px;border-bottom:1px solid rgba(82,82,91,.3);transition:background .1s ease}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--color-bg-hover, #3F3F46)}.history-amount{font-family:var(--font-monospace, "SF Mono", Monaco, monospace);font-size:11px;font-weight:var(--font-weight-semibold, 600);text-align:right}.history-desc{color:var(--color-text-primary, #F3F4F6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.history-time{font-size:10px;color:var(--color-text-tertiary, #6B7280);text-align:right;min-width:32px}.tooltip-content::-webkit-scrollbar{width:4px}.tooltip-content::-webkit-scrollbar-track{background:transparent}.tooltip-content::-webkit-scrollbar-thumb{background:var(--color-border, #52525B);border-radius:2px}.tooltip-content::-webkit-scrollbar-thumb:hover{background:var(--color-bg-hover, #3F3F46)}.credits-display[title]{position:relative}.auth-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--spacing-xl)}.auth-modal{background:var(--color-bg-node-body);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:400px;position:relative;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.auth-modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:transparent;border:none;color:var(--color-text-tertiary);font-size:var(--font-size-2xl);cursor:pointer;padding:var(--spacing-xs);line-height:1;border-radius:var(--radius-sm);transition:all var(--duration-normal) ease}.auth-modal-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.auth-modal-title{margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);text-align:center}.auth-modal-error{background:#ef44441a;border:1px solid var(--color-accent-error);color:var(--color-accent-error);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.auth-modal-success{background:#10b9811a;border:1px solid var(--color-accent-success);color:var(--color-accent-success);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.auth-modal-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-modal-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.auth-modal-field label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.auth-modal-field input{padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-control);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:border-color .2s,box-shadow .2s}.auth-modal-field input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:var(--shadow-focus)}.auth-modal-field input::placeholder{color:var(--color-text-tertiary)}.auth-modal-submit{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border:none;background:var(--color-accent-primary);color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:var(--spacing-sm)}.auth-modal-submit:hover:not(:disabled){opacity:.9}.auth-modal-submit:active:not(:disabled){transform:scale(.98)}.auth-modal-submit:disabled{opacity:.5;cursor:not-allowed}.auth-modal-divider{display:flex;align-items:center;margin:var(--spacing-lg) 0;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.auth-modal-divider:before,.auth-modal-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-modal-divider span{padding:0 var(--spacing-md)}.auth-modal-google{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-control);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.auth-modal-google:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-tertiary)}.auth-modal-google:disabled{opacity:.5;cursor:not-allowed}.auth-modal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm) var(--spacing-lg);margin-top:var(--spacing-xl)}.auth-modal-links button{background:none;border:none;color:var(--color-accent-primary);font-size:var(--font-size-xs);cursor:pointer;padding:var(--spacing-xs);transition:opacity .2s}.auth-modal-links button:hover{opacity:.8;text-decoration:underline}.auth-modal-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;margin:0 0 var(--spacing-lg);line-height:1.5}.auth-modal-link-btn{width:100%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-accent-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .2s,border-color .2s;margin-bottom:var(--spacing-sm)}.auth-modal-link-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.auth-modal-link-btn:disabled{opacity:.5;cursor:not-allowed}.auth-modal-error-action{display:block;margin-top:var(--spacing-sm);background:none;border:none;color:var(--color-accent-error);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.auth-modal-error-action:hover{opacity:.8}.admin-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out;padding:var(--spacing-lg);box-sizing:border-box;overflow-y:auto}.admin-panel{background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:calc(100vh - var(--spacing-2xl));margin:auto 0;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease-out;overflow:hidden}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-bg-canvas);min-height:36px}.admin-panel-header .header-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.admin-panel-header .header-title svg{color:var(--color-accent-success);font-size:var(--font-size-lg)}.admin-panel-header .close-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all .2s}.admin-panel-header .close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.admin-panel-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.admin-panel-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.tab-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tab-btn.active{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:var(--color-text-primary)}.tab-btn svg{width:14px;height:14px}.generate-section{background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.generate-section h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.form-group{margin-bottom:var(--spacing-sm)}.form-group label{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--spacing-xxs)}.credits-input,.description-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-xs);transition:border-color .2s}.credits-input:focus,.description-input:focus{outline:none;border-color:var(--color-accent-success)}.generate-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-accent-success);border:none;border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s}.generate-btn:hover:not(:disabled){filter:brightness(1.1)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{padding:var(--spacing-xs) var(--spacing-sm);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:var(--color-accent-error);font-size:var(--font-size-xs);margin-bottom:var(--spacing-sm)}.promo-codes-section{margin-top:var(--spacing-md)}.promo-codes-section h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.loading,.empty-state{text-align:center;padding:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.promo-codes-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.promo-code-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s}.promo-code-item:hover{background:var(--color-bg-hover)}.promo-code-item.inactive{opacity:.6}.promo-code-item.used{border-color:#10b9814d;background:#10b9810d}.code-info{flex:1;min-width:0}.code-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.code-value{font-family:var(--font-monospace);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent-success);letter-spacing:.5px}.copy-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xxs);display:flex;align-items:center;transition:color .2s}.copy-btn:hover{color:var(--color-text-primary)}.copy-btn .copied-icon{color:var(--color-accent-success)}.code-details{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xxs);flex-wrap:wrap}.credits-badge,.usage-badge,.inactive-badge{padding:2px var(--spacing-xs);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-medium)}.credits-badge{background:#10b98133;color:var(--color-accent-success)}.usage-badge{background:#3b82f633;color:var(--color-accent-primary)}.inactive-badge{background:#ef444433;color:var(--color-accent-error)}.code-description{font-size:10px;color:var(--color-text-secondary);margin-bottom:var(--spacing-xxs)}.code-meta{font-size:10px;color:var(--color-text-tertiary)}.deactivate-btn{padding:var(--spacing-xs) var(--spacing-sm);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:var(--color-accent-error);font-size:10px;cursor:pointer;transition:all .2s;white-space:nowrap}.deactivate-btn:hover{background:#ef444433;border-color:#ef444480}.templates-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.templates-section h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.templates-loading,.templates-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.templates-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:350px;overflow-y:auto}.template-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease}.template-item:hover{background:var(--color-bg-hover)}.template-info{flex:1;min-width:0}.template-name{margin:0 0 var(--spacing-xxs) 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.template-description{margin:0 0 var(--spacing-xs) 0;font-size:10px;color:var(--color-text-secondary);line-height:var(--line-height-normal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);font-size:10px}.category-badge{display:inline-block;padding:2px var(--spacing-xs);background:var(--color-accent-primary);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:10px;font-weight:var(--font-weight-medium);text-transform:capitalize}.node-count,.usage-count{color:var(--color-text-tertiary)}.template-date{color:var(--color-text-disabled)}.template-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:var(--color-accent-error);cursor:pointer;transition:all .2s ease}.delete-btn:hover{background:#ef444433;border-color:#ef444480}.delete-btn svg{width:14px;height:14px}.admin-panel-content::-webkit-scrollbar{width:6px}.admin-panel-content::-webkit-scrollbar-track{background:transparent}.admin-panel-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.admin-panel-content::-webkit-scrollbar-thumb:hover{background:var(--color-bg-hover)}.templates-list::-webkit-scrollbar{width:6px}.templates-list::-webkit-scrollbar-track{background:transparent}.templates-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.subscriptions-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stats-overview h3,.plans-management h3{display:flex;align-items:center;gap:var(--spacing-xs);margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.stats-overview h3 svg,.plans-management h3 svg{color:var(--color-accent-primary);font-size:var(--font-size-md)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.stat-card{background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center}.stat-card.mrr{border-color:var(--color-accent-success);background:#22c55e1a}.stat-card .stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-2xs)}.stat-card.mrr .stat-value{color:var(--color-accent-success)}.stat-card .stat-label{font-size:var(--font-size-2xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.status-breakdown,.plan-breakdown{background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.status-breakdown h4,.plan-breakdown h4{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.breakdown-items{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.breakdown-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-2xs) var(--spacing-xs);background:var(--color-bg-canvas);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.breakdown-item .status-badge{padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.breakdown-item .status-badge.active{background:#22c55e33;color:var(--color-accent-success)}.breakdown-item .status-badge.trialing{background:#3b82f633;color:var(--color-accent-primary)}.breakdown-item .status-badge.canceled,.breakdown-item .status-badge.cancelled{background:#ef444433;color:var(--color-accent-error)}.breakdown-item .status-badge.past_due{background:#f59e0b33;color:#f59e0b}.breakdown-item .plan-name{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.breakdown-item .breakdown-count{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.plans-management{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.plans-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.plan-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-sm);background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease}.plan-item:hover{border-color:var(--color-accent-primary)}.plan-item.inactive{opacity:.6;background:var(--color-bg-canvas)}.plan-info{display:flex;flex-direction:column;gap:var(--spacing-2xs);flex:1}.plan-header{display:flex;align-items:center;gap:var(--spacing-xs)}.plan-header .plan-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.plan-description{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.plan-pricing{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs)}.plan-pricing .monthly-price{color:var(--color-accent-primary);font-weight:var(--font-weight-semibold)}.plan-pricing .divider{color:var(--color-text-tertiary)}.plan-pricing .annual-price{color:var(--color-text-secondary)}.plan-credits{font-size:var(--font-size-2xs);color:var(--color-text-tertiary)}.plan-actions{display:flex;gap:var(--spacing-xs)}.plan-actions .edit-btn{background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-2xs);cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.plan-actions .edit-btn:hover{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.redeem-code-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out;padding:20px}.redeem-code-modal{background:#1e1e2e;border-radius:12px;width:100%;max-width:450px;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease-out;overflow:hidden}.redeem-code-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.redeem-code-header .header-title{display:flex;align-items:center;gap:12px;font-size:var(--font-size-lg);font-weight:600;color:#fff}.redeem-code-header .header-title svg{color:#10b981;font-size:var(--font-size-2xl)}.redeem-code-header .close-btn{background:#ffffff1a;border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s}.redeem-code-header .close-btn:hover{background:#fff3}.redeem-code-content{padding:24px}.instructions{color:#a0a0a0;font-size:var(--font-size-sm);margin:0 0 20px;text-align:center}.input-group{margin-bottom:16px}.code-input{width:100%;padding:14px 16px;background:#0000004d;border:2px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:var(--font-size-lg);font-family:var(--font-monospace);letter-spacing:2px;text-align:center;transition:border-color .2s}.code-input:focus{outline:none;border-color:#10b981}.code-input:disabled{opacity:.5;cursor:not-allowed}.code-input::placeholder{color:#ffffff4d;letter-spacing:2px}.error-message{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:var(--font-size-xs);margin-bottom:16px;text-align:center}.redeem-btn{width:100%;padding:14px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s}.redeem-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.redeem-btn:disabled{opacity:.5;cursor:not-allowed}.hint{margin:12px 0 0;font-size:var(--font-size-xs);color:#666;text-align:center}.success-message{text-align:center;padding:20px 0}.success-icon{font-size:4rem;color:#10b981;margin-bottom:16px}.success-message h3{margin:0 0 12px;font-size:var(--font-size-xl);color:#fff}.credits-awarded{font-size:var(--font-size-4xl);font-weight:700;color:#10b981;margin:0 0 8px}.success-message .description{color:#a0a0a0;font-size:var(--font-size-sm);margin:0 0 16px}.new-balance{color:#e0e0e0;font-size:var(--font-size-sm);margin:0 0 24px}.done-btn{width:100%;padding:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s}.done-btn:hover{background:#ffffff26}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.buy-credits-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.buy-credits-modal{background:var(--panel-bg, #1e1e1e);border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.buy-credits-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color, #333)}.buy-credits-modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #fff);display:flex;align-items:center;gap:12px}.buy-credits-modal .close-button{background:transparent;border:none;color:var(--text-secondary, #888);cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.buy-credits-modal .close-button:hover{background:var(--hover-bg, rgba(255, 255, 255, .1));color:var(--text-primary, #fff)}.buy-credits-modal .modal-content{padding:24px;overflow-y:auto}.buy-credits-modal .modal-description{color:var(--text-secondary, #888);margin:0 0 24px;text-align:center}.buy-credits-modal .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.buy-credits-modal .spinner{width:40px;height:40px;border:3px solid var(--border-color, #333);border-top-color:var(--accent-color, #4ade80);border-radius:50%;animation:spin 1s linear infinite}.buy-credits-modal .error-state{text-align:center;padding:40px 20px;color:var(--error-color, #f87171)}.buy-credits-modal .retry-button{margin-top:16px;padding:10px 20px;background:var(--accent-color, #4ade80);color:#000;border:none;border-radius:6px;cursor:pointer;font-weight:500}.buy-credits-modal .packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.buy-credits-modal .package-card{background:var(--card-bg, #2a2a2a);border:1px solid var(--border-color, #333);border-radius:12px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;transition:all .2s}.buy-credits-modal .package-card:hover{border-color:var(--accent-color, #4ade80);transform:translateY(-2px)}.buy-credits-modal .package-card.featured{border-color:var(--accent-color, #4ade80);background:linear-gradient(180deg,rgba(74,222,128,.1) 0%,transparent 50%)}.buy-credits-modal .featured-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--accent-color, #4ade80);color:#000;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:4px;white-space:nowrap}.buy-credits-modal .package-name{margin:8px 0 16px;font-size:1.1rem;font-weight:600;color:var(--text-primary, #fff)}.buy-credits-modal .credits-amount{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:12px}.buy-credits-modal .credits-number{font-size:2rem;font-weight:700;color:var(--text-primary, #fff);line-height:1}.buy-credits-modal .bonus-credits{font-size:.85rem;color:var(--accent-color, #4ade80);font-weight:500}.buy-credits-modal .package-price{font-size:1.5rem;font-weight:600;color:var(--text-primary, #fff);margin-bottom:4px}.buy-credits-modal .per-credit{font-size:.8rem;color:var(--text-secondary, #888);margin-bottom:16px}.buy-credits-modal .purchase-button{width:100%;padding:12px 20px;background:var(--button-bg, #444);color:var(--text-primary, #fff);border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.buy-credits-modal .purchase-button:hover:not(:disabled){background:var(--button-hover-bg, #555)}.buy-credits-modal .purchase-button.featured{background:var(--accent-color, #4ade80);color:#000}.buy-credits-modal .purchase-button.featured:hover:not(:disabled){background:#3ecc70}.buy-credits-modal .purchase-button:disabled{opacity:.6;cursor:not-allowed}.buy-credits-modal .button-spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}.buy-credits-modal .payment-note{text-align:center;font-size:.8rem;color:var(--text-tertiary, #666);margin:0}@media(max-width:600px){.buy-credits-modal{width:95%;max-height:95vh}.buy-credits-modal .packages-grid{grid-template-columns:1fr 1fr}.buy-credits-modal .package-card{padding:20px 16px}.buy-credits-modal .credits-number{font-size:1.5rem}}@media(max-width:400px){.buy-credits-modal .packages-grid{grid-template-columns:1fr}}.user-menu{position:relative;display:flex;align-items:center;gap:8px}.user-menu-loading{color:var(--color-text-muted, #666);padding:8px 12px}.user-menu-signin{padding:8px 16px;border-radius:6px;border:1px solid var(--color-accent-primary, #6366f1);background:transparent;color:var(--color-accent-primary, #6366f1);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.user-menu-signin:hover{background:var(--color-accent-primary, #6366f1);color:#fff}.user-menu-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-border, #2a2a4e);background:var(--color-accent-primary, #6366f1);color:#fff;font-size:var(--font-size-xs);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .2s}.user-menu-avatar:hover{border-color:var(--color-accent-primary, #6366f1)}.user-menu-avatar-img{width:100%;height:100%;object-fit:cover}.user-menu-initials{text-transform:uppercase}.user-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.user-menu-dropdown{background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);overflow:hidden}.user-menu-email{padding:12px 16px;font-size:var(--font-size-xs);color:var(--color-text-secondary, #aaa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-subscription{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#6366f126,#8b5cf626);border-top:1px solid rgba(99,102,241,.2)}.user-menu-subscription .subscription-icon{color:var(--color-accent-primary, #6366f1);font-size:16px}.user-menu-subscription .subscription-plan{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-primary, #fff)}.user-menu-subscription .subscription-badge{font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;background:var(--color-accent-primary, #6366f1);color:#fff;text-transform:uppercase;letter-spacing:.5px}.user-menu-divider{margin:0;border:none;border-top:1px solid var(--color-border, #2a2a4e)}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:none;border:none;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs);text-align:left;cursor:pointer;transition:background .2s}.user-menu-item:hover{background:var(--color-bg-tertiary, #0f0f1a)}.user-menu-item.admin-item{color:#10b981}.user-menu-item.admin-item:hover{background:#10b9811a}.floating-toolbar-right{position:fixed;top:12px;right:12px;z-index:1001;display:flex;gap:var(--spacing-sm);align-items:center}.floating-toolbar-right-credits{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-xs);box-shadow:var(--shadow-lg);height:32px;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.floating-toolbar-right-credits svg{color:var(--color-accent-primary)}.spotlight-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;z-index:9998;pointer-events:auto;transition:clip-path .3s ease}.spotlight-overlay--full{clip-path:none}.spotlight-highlight{position:fixed;z-index:9997;pointer-events:none;box-shadow:0 0 0 2px var(--color-accent-primary),0 0 16px #3b82f666,0 0 32px #3b82f633;animation:spotlight-pulse 2s ease-in-out infinite}@keyframes spotlight-pulse{0%,to{box-shadow:0 0 0 2px var(--color-accent-primary),0 0 16px #3b82f666,0 0 32px #3b82f633}50%{box-shadow:0 0 0 3px var(--color-accent-primary),0 0 24px #3b82f680,0 0 48px #3b82f64d}}.tutorial-tooltip{position:fixed;z-index:9999;width:280px;max-width:calc(100vw - var(--spacing-2xl));padding:var(--spacing-md);background:var(--color-bg-node-body);border:1px solid var(--color-accent-primary);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d,0 0 30px #3b82f626;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:tooltip-appear .3s ease}@keyframes tooltip-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tutorial-tooltip--top:after,.tutorial-tooltip--bottom:after,.tutorial-tooltip--left:after,.tutorial-tooltip--right:after{content:"";position:absolute;width:10px;height:10px;background:var(--color-bg-node-body);border:1px solid var(--color-accent-primary);transform:rotate(45deg)}.tutorial-tooltip--top:after{bottom:-6px;left:50%;margin-left:-5px;border-top:none;border-left:none}.tutorial-tooltip--bottom:after{top:-6px;left:50%;margin-left:-5px;border-bottom:none;border-right:none}.tutorial-tooltip--left:after{right:-6px;top:50%;margin-top:-5px;border-left:none;border-bottom:none}.tutorial-tooltip--right:after{left:-6px;top:50%;margin-top:-5px;border-right:none;border-top:none}.tutorial-tooltip--center:after{display:none}.tutorial-tooltip-exit{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s ease}.tutorial-tooltip-exit:hover{background:#ef444433;border-color:#ef444466;color:var(--color-accent-error)}.tutorial-tooltip-step{font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent-primary);margin-bottom:var(--spacing-xs)}.tutorial-tooltip-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);padding-right:var(--spacing-lg)}.tutorial-tooltip-content{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.tutorial-tooltip-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.tutorial-tooltip-actions-right{display:flex;gap:var(--spacing-xs);margin-left:auto}.tutorial-tooltip-btn{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.tutorial-tooltip-btn--skip{background:transparent;border:1px solid var(--color-border);color:var(--color-text-tertiary)}.tutorial-tooltip-btn--skip:hover{background:var(--color-bg-control);color:var(--color-text-secondary)}.tutorial-tooltip-btn--prev{background:var(--color-bg-control);border:1px solid var(--color-border);color:var(--color-text-secondary)}.tutorial-tooltip-btn--prev:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tutorial-tooltip-btn--next{background:var(--color-accent-primary);border:1px solid var(--color-accent-primary);color:var(--color-text-primary)}.tutorial-tooltip-btn--next:hover{filter:brightness(1.1)}.tutorial-progress{position:fixed;top:0;left:0;right:0;z-index:10000;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-canvas);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:36px}.tutorial-progress-exit{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;white-space:nowrap}.tutorial-progress-exit:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tutorial-progress-center{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;gap:var(--spacing-xxs)}.tutorial-progress-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tutorial-progress-step{font-size:10px;color:var(--color-text-tertiary)}.tutorial-progress-bar-container{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-border)}.tutorial-progress-bar{height:100%;background:var(--color-accent-primary);transition:width .3s ease;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.tutorial-overlay-container{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9990;pointer-events:none}.tutorial-overlay-container>*{pointer-events:auto}.tutorial-overlay--celebration .spotlight-overlay{background:#000000d9}.celebration-container{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9996;overflow:hidden}.confetti{position:absolute;top:-10px;width:8px;height:8px;border-radius:var(--radius-xxs, 2px);animation:confetti-fall 3s ease-out forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.confetti:nth-child(odd){animation-duration:2.5s}.confetti:nth-child(3n){width:6px;height:6px}.confetti:nth-child(5n){width:10px;height:10px;border-radius:var(--radius-full)}.landing-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-canvas);position:relative;overflow:hidden;padding:var(--spacing-lg)}.landing-content{position:relative;z-index:1;text-align:center;max-width:680px;width:100%}.landing-brand{margin-bottom:var(--spacing-xl)}.landing-logo{width:64px;height:78px;margin:0 auto var(--spacing-lg)}.landing-logo svg{width:100%;height:100%}.landing-title{font-size:3.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:-.03em}.landing-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.6}.landing-capabilities{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}.landing-cap{font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.01em}.landing-cap-text{color:#fcd34d}.landing-cap-image{color:#42c3d7}.landing-cap-video{color:#ef4444}.landing-cap-voice{color:#a78bfa}.landing-cap-dot{width:4px;height:4px;border-radius:50%;background:var(--color-text-tertiary);flex-shrink:0}.landing-models{margin-bottom:var(--spacing-2xl)}.landing-models-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0 0 var(--spacing-md) 0;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.landing-models-track{overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,black 10%,black 90%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 10%,black 90%,transparent 100%)}.landing-models-scroll{display:flex;gap:var(--spacing-2xl);animation:scrollLogos 30s linear infinite;width:max-content}.landing-model-logo{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s ease}.landing-model-logo:hover{opacity:1}.landing-model-logo img{width:100%;height:100%;object-fit:contain;filter:grayscale(100%) brightness(1.5);transition:filter .2s ease}.landing-model-logo:hover img{filter:none}@keyframes scrollLogos{0%{transform:translate(0)}to{transform:translate(-50%)}}.landing-cta{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.landing-button-primary{padding:12px 40px;font-size:var(--font-size-base);font-weight:600;color:#fff;background:var(--color-accent-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.landing-button-primary:hover{opacity:.9;transform:scale(1.02)}.landing-button-primary:active{transform:scale(.98)}.landing-cta-note{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.landing-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:60px 60px;opacity:.2;pointer-events:none}.landing-bg-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.12) 0%,rgba(59,130,246,.04) 40%,transparent 70%);pointer-events:none}@media(max-width:600px){.landing-page{padding:var(--spacing-md)}.landing-title{font-size:2.5rem}.landing-subtitle{font-size:var(--font-size-sm)}.landing-capabilities{gap:var(--spacing-sm)}.landing-cap{font-size:var(--font-size-base)}.landing-model-logo{width:26px;height:26px}.landing-models-scroll{gap:var(--spacing-xl)}}.landing-footer{position:absolute;bottom:var(--spacing-lg);left:0;right:0;z-index:1}.landing-footer-content{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:var(--font-size-xs)}.landing-footer-content a{color:var(--color-text-tertiary);text-decoration:none;transition:color .15s ease}.landing-footer-content a:hover{color:var(--color-text-secondary)}.landing-footer-divider{color:var(--color-text-tertiary);opacity:.5}@keyframes flow-card-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.flow-card{background:transparent;border:none;cursor:pointer;text-align:left;padding:0;display:flex;flex-direction:column;gap:12px}.flow-card.flow-card-animate{animation:flow-card-fade-in .3s ease forwards;animation-delay:var(--animation-delay, 0s)}.flow-card-thumbnail{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.flow-card:hover .flow-card-thumbnail{transform:translateY(-6px);box-shadow:0 16px 40px #00000080}.flow-card.grid{display:flex;flex-direction:column;gap:12px}.flow-card.grid .flow-card-thumbnail{width:100%;aspect-ratio:1 / 1}.flow-card.grid .flow-card-info{padding:0}.flow-card.grid .flow-card-name{font-size:14px}.flow-card.list{flex-direction:row;align-items:center;gap:16px;padding:12px;background-color:var(--color-bg-surface);border-radius:12px}.flow-card.list .flow-card-thumbnail{width:80px;height:80px;flex-shrink:0}.flow-card.list .flow-card-info{flex:1;display:flex;justify-content:space-between;align-items:center}.flow-card.list .flow-card-name{font-size:16px;flex:1}.flow-card.list .flow-card-meta{display:flex;gap:24px}.flow-card-thumbnail{background-color:var(--color-bg-surface);border-radius:12px;overflow:hidden}.flow-card-thumbnail img{width:100%;height:100%;object-fit:cover}.flow-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.flow-card-info{background:transparent}.flow-card-name{margin:0;font-family:Inter,sans-serif;font-weight:400;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-card-meta{color:var(--color-text-secondary);font-size:14px}.flow-card-nodes,.flow-card-date{white-space:nowrap}.flow-card-context-menu{position:fixed;z-index:1000;min-width:160px;background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 32px #0006;padding:6px 0;animation:context-menu-appear .15s ease}@keyframes context-menu-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:none;border:none;color:var(--color-text-primary);font-family:Inter,sans-serif;font-size:14px;cursor:pointer;text-align:left;transition:background-color .15s ease}.context-menu-item:hover{background-color:var(--color-bg-node-body)}.context-menu-item svg{flex-shrink:0}.context-menu-item-danger{color:#f04e47}.context-menu-item-danger:hover{background-color:#f04e471a}.context-menu-divider{height:1px;background-color:var(--color-border);margin:6px 0}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.flow-card-skeleton{display:flex;flex-direction:column;gap:12px}.flow-card-skeleton .skeleton-thumbnail{width:100%;aspect-ratio:1 / 1;border-radius:12px;background:linear-gradient(90deg,var(--color-bg-surface) 0%,var(--color-bg-node-body) 25%,var(--color-bg-surface) 50%,var(--color-bg-node-body) 75%,var(--color-bg-surface) 100%);background-size:200% 100%;animation:skeleton-shimmer 2s ease-in-out infinite;animation-delay:var(--skeleton-delay, 0s)}.flow-card-skeleton .skeleton-name{height:16px;width:70%;border-radius:4px;background:linear-gradient(90deg,var(--color-bg-surface) 0%,var(--color-bg-node-body) 25%,var(--color-bg-surface) 50%,var(--color-bg-node-body) 75%,var(--color-bg-surface) 100%);background-size:200% 100%;animation:skeleton-shimmer 2s ease-in-out infinite;animation-delay:var(--skeleton-delay, 0s)}.flow-card-skeleton.list{flex-direction:row;align-items:center;gap:16px;padding:12px;background-color:var(--color-bg-surface);border-radius:12px}.flow-card-skeleton.list .skeleton-thumbnail{width:80px;height:80px;aspect-ratio:auto;flex-shrink:0}.flow-card-skeleton.list .skeleton-name{flex:1;height:20px}.dashboard-template-card{background-color:var(--color-bg-node-body);border:none;border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.dashboard-template-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.template-card-thumbnail{position:relative;width:100%;aspect-ratio:16 / 10;background-color:var(--color-bg-surface);overflow:hidden}.template-card-thumbnail img{width:100%;height:100%;object-fit:cover}.template-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.template-node-badge{position:absolute;bottom:8px;right:8px;background-color:#000000b3;color:var(--color-text-primary);font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px}.template-card-info{padding:12px 16px}.template-card-name{margin:0;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-card-description{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.youtube-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#000000e6;display:flex;align-items:center;justify-content:center;padding:40px;animation:lightbox-fade-in .2s ease}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.youtube-lightbox-container{position:relative;width:100%;max-width:1200px;animation:lightbox-scale-in .2s ease}@keyframes lightbox-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.youtube-lightbox-close{position:absolute;top:-48px;right:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease}.youtube-lightbox-close:hover{color:var(--color-text-primary);background-color:#ffffff1a}.youtube-lightbox-title{margin:0 0 16px;font-family:Inter,sans-serif;font-size:24px;font-weight:500;color:var(--color-text-primary);text-align:center}.youtube-lightbox-video{position:relative;width:100%;padding-bottom:56.25%;background-color:#000;border-radius:12px;overflow:hidden}.youtube-lightbox-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}@media(max-width:768px){.youtube-lightbox-overlay{padding:20px}.youtube-lightbox-close{top:-44px}.youtube-lightbox-title{font-size:18px}}.app-container:has(.dashboard){padding-top:0}.dashboard{display:flex;flex-direction:row;height:100vh;max-height:100vh;overflow:hidden;background-color:var(--color-bg-canvas);color:var(--color-text-primary);padding:24px 24px 24px 0;gap:24px}.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.dashboard-main::-webkit-scrollbar{display:none}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:40px 40px 24px;flex-shrink:0;position:sticky;top:0;z-index:10;background-color:var(--color-bg-canvas)}.dashboard-header-left{display:flex;align-items:center;gap:80px}.dashboard-header-right{display:flex;align-items:center;gap:16px}.dashboard-logo{width:66px;height:80px}.dashboard-create-button{display:flex;align-items:center;justify-content:center;padding:12px 20px;height:auto;background-color:var(--color-accent-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;font-family:Inter,sans-serif;font-size:15px;font-weight:500;color:var(--color-accent-primary-text)}.dashboard-create-button:hover{background-color:var(--color-accent-primary-hover);transform:translateY(-2px)}.dashboard-flows-section{display:flex;flex-direction:column;gap:16px;padding:16px 40px 40px}.dashboard-flows-title{font-family:Inter,sans-serif;font-size:40px;font-weight:300;color:var(--color-text-secondary);margin:0;flex-shrink:0;text-align:right}.dashboard-toolbar{display:flex;align-items:center;gap:12px;justify-content:flex-end;flex-shrink:0}.dashboard-view-toggle{display:flex;gap:8px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:none;border-radius:8px;color:var(--color-text-tertiary);cursor:pointer;transition:background-color .2s ease,color .2s ease}.view-toggle-btn:hover{background:#ffffff0d;color:var(--color-text-secondary)}.view-toggle-btn.active{color:var(--color-text-primary)}.view-toggle-btn svg{font-size:24px}.archive-toggle-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:none;border-radius:8px;color:var(--color-text-tertiary);cursor:pointer;transition:background-color .2s ease,color .2s ease}.archive-toggle-btn:hover{background:#ffffff0d;color:var(--color-text-secondary)}.archive-toggle-btn.active{color:var(--color-accent-primary);background:#fdd4051a}.dashboard-sort-controls{display:flex;align-items:center;gap:4px}.dashboard-sort-select{background-color:var(--color-bg-node-body);border:none;border-radius:8px;padding:12px 32px 12px 16px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.dashboard-sort-select:hover{background-color:#ffffff14}.dashboard-sort-select:focus{background-color:#ffffff1a}.dashboard-sort-select option{background-color:var(--color-bg-surface);color:var(--color-text-primary)}.sort-order-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:none;border-radius:8px;color:var(--color-text-tertiary);cursor:pointer;transition:background-color .2s ease,color .2s ease}.sort-order-btn:hover{background:#ffffff0d;color:var(--color-text-secondary)}.sort-order-btn svg{font-size:20px}.dashboard-search{display:flex;align-items:center;background-color:var(--color-bg-node-body);border-radius:12px;padding:12px 16px;gap:12px;width:188px;box-sizing:border-box}.dashboard-search-input{width:100%;min-width:0;background:transparent;border:none;outline:none;font-family:Inter,sans-serif;font-size:18px;font-weight:500;font-style:italic;color:var(--color-text-primary);box-sizing:border-box}.dashboard-search-input::placeholder{color:var(--color-text-secondary)}.dashboard-search-icon{color:var(--color-text-secondary);font-size:24px!important}.dashboard-flows-container{position:relative}.dashboard-flows-grid{display:grid;gap:20px;padding-top:8px;padding-bottom:24px}.dashboard-flows-grid.skeleton-grid{position:absolute;top:0;left:0;right:0;z-index:1;transition:opacity .4s ease-out}.dashboard-flows-grid.skeleton-grid.fade-out{opacity:0;pointer-events:none}.dashboard-flows-grid.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.dashboard-flows-grid.list{grid-template-columns:1fr}.dashboard-loading,.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;color:var(--color-text-secondary);font-size:18px;text-align:center;gap:24px}.dashboard-empty-cta{padding:16px 32px;background-color:var(--color-accent-primary);border:none;border-radius:8px;font-size:16px;font-weight:500;color:var(--color-accent-primary-text);cursor:pointer;transition:background-color .2s ease}.dashboard-empty-cta:hover{background-color:var(--color-accent-primary-hover)}.dashboard-sidebar-wrapper{display:flex;flex-direction:column;gap:16px;flex-shrink:0}.dashboard-sidebar{width:440px;flex:1;background-color:var(--color-bg-surface);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.dashboard-tabs{display:flex;padding:40px 40px 0;gap:32px;border-bottom:1px solid var(--color-border)}.dashboard-tab{background:none;border:none;padding:16px 0;font-family:Inter,sans-serif;font-size:18px;font-weight:500;letter-spacing:9px;color:var(--color-text-tertiary);cursor:pointer;position:relative;transition:color .2s ease}.dashboard-tab:hover{color:var(--color-text-secondary)}.dashboard-tab.active{color:var(--color-text-primary)}.dashboard-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:var(--color-text-primary)}.dashboard-tab-content{flex:1;padding:24px;overflow-y:auto}.dashboard-templates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dashboard-empty-templates{grid-column:1 / -1;text-align:center;color:var(--color-text-secondary);padding:40px}.dashboard-tutorials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dashboard-tutorial-card{display:flex;flex-direction:column;background-color:var(--color-bg-node-body);border:none;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-align:left;height:100%}.dashboard-tutorial-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.tutorial-thumbnail{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;margin-top:8px}.tutorial-thumbnail img{width:100%;height:100%;object-fit:cover}.tutorial-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;font-size:32px;color:#fff;opacity:0;transition:opacity .2s ease}.dashboard-tutorial-card:hover .tutorial-play-overlay{opacity:1}.tutorial-info{padding:12px 16px;flex:1;display:flex;flex-direction:column}.tutorial-info h4{margin:0 0 4px;font-size:16px;font-weight:500;color:var(--color-text-primary)}.tutorial-info p{margin:0;font-size:14px;color:var(--color-text-secondary);flex:1}.dashboard-learn-button{display:flex;align-items:center;justify-content:space-between;width:440px;padding:12px 20px;background-color:var(--color-accent-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease;flex-shrink:0;font-family:Inter,sans-serif;font-size:15px;font-weight:500;color:var(--color-accent-primary-text)}.dashboard-learn-button:hover{background-color:var(--color-accent-primary-hover)}.dashboard-learn-button svg{font-size:18px!important}@media(max-width:1400px){.dashboard-sidebar,.dashboard-learn-button{width:320px}.dashboard-templates-grid,.dashboard-tutorials-grid{grid-template-columns:1fr}.dashboard-tab{letter-spacing:4px;font-size:14px}}@media(max-width:1024px){.dashboard{flex-direction:column;padding:0}.dashboard-main{min-height:auto}.dashboard-sidebar-wrapper{flex-direction:row;padding:16px}.dashboard-sidebar,.dashboard-learn-button{width:100%}.dashboard-sidebar{min-height:400px}.dashboard-templates-grid,.dashboard-tutorials-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:24px;align-items:flex-start}.dashboard-header-left{gap:24px}.dashboard-flows-title{font-size:48px}.dashboard-create-button{width:100%}}.delete-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#0009;z-index:2000;animation:overlay-appear .2s ease}@keyframes overlay-appear{0%{opacity:0}to{opacity:1}}.delete-confirm-modal{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px;max-width:400px;width:90%;animation:modal-appear .2s ease}@keyframes modal-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.delete-confirm-modal h3{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--color-text-primary)}.delete-confirm-modal p{margin:0 0 24px;font-size:14px;color:var(--color-text-secondary);line-height:1.5}.delete-confirm-modal strong{color:var(--color-text-primary)}.delete-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.delete-confirm-cancel,.delete-confirm-delete{padding:10px 20px;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.delete-confirm-cancel{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.delete-confirm-cancel:hover{background-color:var(--color-bg-node-body)}.delete-confirm-delete{background-color:#f04e47;border:none;color:#fff}.delete-confirm-delete:hover{background-color:#d43b35}.rename-input{width:100%;padding:12px 16px;margin-bottom:24px;background-color:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-family:Inter,sans-serif;font-size:16px;outline:none;transition:border-color .15s ease}.rename-input:focus{border-color:var(--color-accent)}.rename-confirm{background-color:var(--color-accent)!important}.rename-confirm:hover{background-color:var(--color-accent-hover)!important}.page-header{display:flex;align-items:center;justify-content:space-between;padding:40px 40px 24px;flex-shrink:0;background-color:var(--color-bg-canvas)}.page-header-left{display:flex;align-items:center;gap:80px}.page-header-right{display:flex;align-items:center;gap:16px}.page-header-logo-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;transition:opacity .2s ease}.page-header-logo-btn:hover{opacity:.8}.page-header-logo{width:66px;height:80px}.page-header-create-button{display:flex;align-items:center;justify-content:center;padding:12px 20px;height:auto;background-color:var(--color-accent-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;font-family:Inter,sans-serif;font-size:15px;font-weight:500;color:var(--color-accent-primary-text)}.page-header-create-button:hover{background-color:var(--color-accent-primary-hover);transform:translateY(-2px)}@media(max-width:768px){.page-header{padding:20px 16px 16px}.page-header-left{gap:20px}.page-header-logo{width:50px;height:60px}.page-header-create-button{padding:10px 16px;font-size:14px}}.subscription-page{min-height:100vh;height:100vh;overflow-y:auto;background:var(--color-bg-canvas, #0A0A0A);color:var(--color-text-primary, #F3F4F6);box-sizing:border-box}.subscription-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl, 24px) var(--spacing-xl, 24px)}.subscription-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-lg, 16px)}.subscription-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border, #52525B);border-top-color:var(--color-accent-primary, #3B82F6);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.subscription-header{text-align:center;margin-bottom:var(--spacing-3xl, 48px)}.subscription-header h1{font-size:var(--font-size-2xl, 24px);font-weight:var(--font-weight-bold, 700);margin:0 0 var(--spacing-sm, 8px) 0;color:var(--color-text-primary, #F3F4F6)}.subscription-header .subtitle{color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-base, 16px);margin:0 0 var(--spacing-xl, 24px) 0}.billing-toggle{display:inline-flex;background:var(--color-bg-control, #27272A);border-radius:var(--radius-lg, 12px);padding:var(--spacing-xs, 4px);gap:var(--spacing-xs, 4px)}.toggle-option{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px) var(--spacing-lg, 16px);background:transparent;border:none;color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;border-radius:var(--radius-md, 8px);transition:all .2s}.toggle-option.active{background:var(--color-accent-primary, #3B82F6);color:#fff}.toggle-option:hover:not(.active){background:var(--color-bg-hover, #3F3F46)}.save-badge{background:var(--color-accent-success, #10B981);color:#fff;font-size:var(--font-size-xs, 12px);padding:2px 6px;border-radius:var(--radius-sm, 4px);font-weight:var(--font-weight-semibold, 600)}.error-banner{background:#ef44441a;border:1px solid var(--color-accent-error, #EF4444);border-radius:var(--radius-md, 8px);padding:var(--spacing-md, 12px) var(--spacing-lg, 16px);margin-bottom:var(--spacing-xl, 24px);display:flex;justify-content:space-between;align-items:center}.error-banner p{margin:0;color:var(--color-accent-error, #EF4444)}.error-banner button{background:transparent;border:none;color:var(--color-accent-error, #EF4444);cursor:pointer;text-decoration:underline}.active-subscription-banner{background:linear-gradient(135deg,#3b82f61a,#9333ea1a);border:1px solid var(--color-accent-primary, #3B82F6);border-radius:var(--radius-lg, 12px);padding:var(--spacing-lg, 16px) var(--spacing-xl, 24px);margin-bottom:var(--spacing-xl, 24px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md, 12px)}.active-sub-info h3{margin:0 0 var(--spacing-xs, 4px) 0;font-size:var(--font-size-lg, 18px);color:var(--color-text-primary, #F3F4F6)}.active-sub-info p{margin:0;color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-sm, 14px)}.active-sub-info .switch-hint{margin-top:var(--spacing-xs, 4px);color:var(--color-text-tertiary, #6B7280);font-size:var(--font-size-xs, 12px);font-style:italic}.manage-button{background:var(--color-accent-primary, #3B82F6);color:#fff;border:none;padding:var(--spacing-sm, 8px) var(--spacing-lg, 16px);border-radius:var(--radius-md, 8px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s}.manage-button:hover:not(:disabled){background:#2563eb}.manage-button:disabled{opacity:.6;cursor:not-allowed}.plans-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl, 24px);margin-bottom:var(--spacing-3xl, 48px);max-width:1200px;margin-left:auto;margin-right:auto;align-items:stretch}@media(min-width:700px){.plans-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.plans-grid{grid-template-columns:repeat(3,1fr)}}.plan-card{background:var(--color-bg-node-body, #18181B);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-lg, 12px);padding:var(--spacing-xl, 24px);display:flex;flex-direction:column;position:relative;transition:all .2s}.plan-card:hover{border-color:var(--color-bg-hover, #3F3F46);transform:translateY(-2px)}.plan-card.featured{border-color:var(--color-accent-primary, #3B82F6);background:linear-gradient(180deg,rgba(59,130,246,.05) 0%,var(--color-bg-node-body, #18181B) 100%)}.plan-card.current{border-color:var(--color-accent-success, #10B981)}.featured-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-accent-primary, #3B82F6);color:#fff;padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);border-radius:var(--radius-full, 9999px);font-size:var(--font-size-xs, 12px);font-weight:var(--font-weight-semibold, 600);display:flex;align-items:center;gap:var(--spacing-xs, 4px);white-space:nowrap}.current-badge{position:absolute;top:-12px;right:var(--spacing-lg, 16px);background:var(--color-accent-success, #10B981);color:#fff;padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);border-radius:var(--radius-full, 9999px);font-size:var(--font-size-xs, 12px);font-weight:var(--font-weight-semibold, 600)}.plan-name{font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-bold, 700);margin:0 0 var(--spacing-xs, 4px) 0;color:var(--color-text-primary, #F3F4F6)}.plan-description{color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-sm, 14px);margin:0 0 var(--spacing-lg, 16px) 0;min-height:40px}.plan-pricing{margin-bottom:var(--spacing-xs, 4px)}.plan-pricing .price{font-size:36px;font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #F3F4F6)}.plan-pricing .period{color:var(--color-text-tertiary, #6B7280);font-size:var(--font-size-sm, 14px)}.annual-total{color:var(--color-text-tertiary, #6B7280);font-size:var(--font-size-xs, 12px);margin:0 0 var(--spacing-lg, 16px) 0}.credits-highlight{background:var(--color-bg-control, #27272A);border-radius:var(--radius-md, 8px);padding:var(--spacing-md, 12px);margin-bottom:var(--spacing-lg, 16px);text-align:center}.credits-highlight .credits-amount{display:block;font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-bold, 700);color:var(--color-accent-primary, #3B82F6)}.credits-highlight .credits-label{color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-sm, 14px)}.features-list{list-style:none;padding:0;margin:0 0 var(--spacing-xl, 24px) 0;flex-grow:1}.features-list li{display:flex;align-items:flex-start;gap:var(--spacing-sm, 8px);color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-sm, 14px);margin-bottom:var(--spacing-sm, 8px)}.features-list .check-icon{color:var(--color-accent-success, #10B981);font-size:18px;flex-shrink:0}.subscribe-button{width:100%;padding:var(--spacing-md, 12px) var(--spacing-lg, 16px);border:2px solid #6B7280;background:linear-gradient(180deg,#3f3f46,#27272a);color:var(--color-text-primary, #F3F4F6);font-size:var(--font-size-base, 16px);font-weight:var(--font-weight-semibold, 600);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm, 8px);box-shadow:0 2px 4px #00000080,inset 0 1px #ffffff1a}.subscribe-button:hover:not(:disabled){background:linear-gradient(180deg,#52525b,#3f3f46);border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 4px 8px #0009,inset 0 1px #ffffff26}.subscribe-button.featured{background:var(--color-accent-primary, #3B82F6);border-color:var(--color-accent-primary, #3B82F6);color:#fff;box-shadow:0 2px 8px #3b82f64d}.subscribe-button.featured:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.subscribe-button.current-plan-btn{background:var(--color-bg-control, #27272A);border-color:var(--color-accent-success, #10B981);color:var(--color-accent-success, #10B981)}.subscribe-button.current-plan-btn:hover:not(:disabled){background:#10b9811a;border-color:var(--color-accent-success, #10B981)}.subscribe-button.free-button{background:transparent;border-color:var(--color-text-tertiary, #6B7280);color:var(--color-text-secondary, #9CA3AF)}.subscribe-button.free-button:hover:not(:disabled){background:var(--color-bg-control, #27272A);border-color:var(--color-text-secondary, #9CA3AF)}.subscribe-button:disabled{opacity:.6;cursor:not-allowed}.subscribe-button .button-spinner{width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}.subscription-footer{text-align:center;color:var(--color-text-tertiary, #6B7280);font-size:var(--font-size-sm, 14px)}.subscription-footer p{margin:0 0 var(--spacing-sm, 8px) 0}.subscription-footer .payment-note{color:var(--color-text-disabled, #4B5563);font-size:var(--font-size-xs, 12px)}.plan-card.free-tier{border-color:var(--color-border, #52525B)}.plan-card.free-tier .free-price{color:var(--color-accent-success, #10B981)}.free-badge{background:var(--color-bg-control, #27272A)!important;border:1px solid var(--color-border, #52525B)}.subscribe-button.free-button{background:transparent;border:1px solid var(--color-accent-success, #10B981);color:var(--color-accent-success, #10B981)}.subscribe-button.free-button:hover:not(:disabled){background:#10b9811a}.subscribe-button.current-plan-btn{background:var(--color-bg-hover, #3F3F46);border:1px solid var(--color-accent-primary, #3B82F6);color:var(--color-accent-primary, #3B82F6);cursor:default;pointer-events:none}@media(max-width:899px){.plans-grid{grid-template-columns:repeat(2,1fr)}.plans-grid .plan-card:nth-child(4),.plans-grid .plan-card:nth-child(5){grid-column:span 1}}@media(max-width:768px){.subscription-page{padding:var(--spacing-md, 12px)}.plans-grid{grid-template-columns:1fr}.plans-grid .plan-card:nth-child(4),.plans-grid .plan-card:nth-child(5){grid-column:span 1}.active-subscription-banner{flex-direction:column;text-align:center}.billing-toggle{flex-direction:column;width:100%;max-width:300px}.toggle-option{justify-content:center}}.back-to-account{display:flex;justify-content:center;margin:var(--spacing-2xl, 32px) 0 var(--spacing-xl, 24px)}.back-button{padding:var(--spacing-md, 12px) var(--spacing-xl, 24px);background:var(--color-bg-hover, #1F2937);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-md, 8px);color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease;text-decoration:none}.back-button:hover{background:var(--color-bg-control, #374151);color:var(--color-text-primary, #F3F4F6);border-color:var(--color-accent-primary, #3B82F6)}.subscription-success-page{min-height:100vh;height:100vh;overflow-y:auto;background:var(--color-bg-canvas, #0A0A0A);color:var(--color-text-primary, #F3F4F6);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl, 24px);box-sizing:border-box}.success-container{max-width:500px;text-align:center}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#10b98133,#10b9811a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-xl, 24px)}.success-icon svg{font-size:48px;color:var(--color-accent-success, #10B981)}.success-container h1{font-size:var(--font-size-2xl, 24px);font-weight:var(--font-weight-bold, 700);margin:0 0 var(--spacing-md, 12px) 0;color:var(--color-text-primary, #F3F4F6)}.success-message{color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-base, 16px);margin:0 0 var(--spacing-xl, 24px) 0;line-height:var(--line-height-relaxed, 1.625)}.success-details{background:var(--color-bg-node-body, #18181B);border:1px solid var(--color-border, #52525B);border-radius:var(--radius-lg, 12px);padding:var(--spacing-lg, 16px) var(--spacing-xl, 24px);margin-bottom:var(--spacing-xl, 24px);text-align:left}.success-details p{color:var(--color-text-secondary, #9CA3AF);font-size:var(--font-size-sm, 14px);margin:0 0 var(--spacing-sm, 8px) 0}.success-details ul{list-style:none;padding:0;margin:0}.success-details li{color:var(--color-text-primary, #F3F4F6);font-size:var(--font-size-sm, 14px);padding:var(--spacing-xs, 4px) 0;padding-left:var(--spacing-lg, 16px);position:relative}.success-details li:before{content:"✓";position:absolute;left:0;color:var(--color-accent-success, #10B981)}.success-actions{display:flex;gap:var(--spacing-md, 12px);justify-content:center;margin-bottom:var(--spacing-xl, 24px)}.success-actions .primary-button{background:var(--color-accent-primary, #3B82F6);color:#fff;border:none;padding:var(--spacing-md, 12px) var(--spacing-xl, 24px);border-radius:var(--radius-md, 8px);font-weight:var(--font-weight-semibold, 600);font-size:var(--font-size-base, 16px);cursor:pointer;transition:all .2s}.success-actions .primary-button:hover{background:#2563eb}.success-actions .secondary-button{background:transparent;color:var(--color-text-primary, #F3F4F6);border:1px solid var(--color-border, #52525B);padding:var(--spacing-md, 12px) var(--spacing-xl, 24px);border-radius:var(--radius-md, 8px);font-weight:var(--font-weight-medium, 500);font-size:var(--font-size-base, 16px);cursor:pointer;transition:all .2s}.success-actions .secondary-button:hover{background:var(--color-bg-hover, #3F3F46)}.redirect-notice{color:var(--color-text-tertiary, #6B7280);font-size:var(--font-size-sm, 14px);margin:0}.session-id{color:var(--color-text-disabled, #4B5563);font-size:var(--font-size-xs, 12px);margin-top:var(--spacing-lg, 16px);font-family:var(--font-monospace, monospace)}@media(max-width:480px){.success-actions{flex-direction:column}}.info-tooltip{position:relative;display:inline-flex;align-items:center;cursor:help;color:var(--color-text-tertiary);transition:color var(--duration-fast) ease}.info-tooltip:hover{color:var(--color-accent-primary)}.info-tooltip svg{width:16px;height:16px}.info-tooltip-content{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:var(--color-bg-node-body);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-primary);white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #0000004d;pointer-events:none;animation:tooltipFadeIn .15s ease-out}.info-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-border)}.info-tooltip-content:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--color-bg-node-body);z-index:1}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.info-tooltip-content{white-space:normal;max-width:200px;text-align:center}}.member-credits-page{display:flex;flex-direction:column;height:100vh;background:var(--color-bg-canvas);color:var(--color-text-primary)}.member-credits-container{flex:1;overflow-y:auto;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-2xl);max-width:1400px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-xl);align-items:start}.member-credits-title{grid-column:1 / -1;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);text-align:center}section{margin-bottom:0}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary)}.top-sections{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.membership-card{background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.membership-badge{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-accent-success);margin-bottom:var(--spacing-sm)}.membership-badge svg{width:20px;height:20px}.membership-billing{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.membership-features{margin:0 0 var(--spacing-md) 0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.membership-features .feature-item{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-xs)}.membership-renewal{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.membership-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.membership-action-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-hover);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) ease}.membership-action-btn:hover{background:var(--color-bg-control);border-color:var(--color-accent-primary)}.credit-balance-breakdown{background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.credit-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.credit-row.separator{border-bottom:none;border-top:2px solid var(--color-border);margin-top:var(--spacing-sm);padding-top:var(--spacing-md);font-weight:var(--font-weight-semibold)}.credit-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-primary)}.credit-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.credit-value.total{font-size:var(--font-size-lg);color:var(--color-accent-primary)}.credit-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.credit-action-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) ease}.credit-action-btn.secondary{background:var(--color-bg-control);color:var(--color-text-primary);border:1px solid var(--color-border)}.credit-action-btn.secondary:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.credit-action-btn.primary{background:var(--color-accent-primary);color:#fff}.credit-action-btn.primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.credit-action-btn svg{width:18px;height:18px}.credit-details-section{grid-column:1 / -1}.details-tabs{display:flex;gap:var(--spacing-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) ease}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}.tab svg{width:18px;height:18px}.tab-content{background:var(--color-bg-control);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.tab-subtitle{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);font-weight:var(--font-weight-medium)}.details-header,.history-header{display:grid;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-hover);border-bottom:1px solid var(--color-border);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.details-header{grid-template-columns:1.2fr 1.2fr 1fr 1.2fr .8fr}.history-header{grid-template-columns:1.5fr 1.5fr 1fr 1.5fr .8fr}.detail-row,.history-row{display:grid;gap:var(--spacing-md);align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.detail-row{grid-template-columns:1.2fr 1.2fr 1fr 1.2fr .8fr}.history-row{grid-template-columns:1.5fr 1.5fr 1fr 1.5fr .8fr}.detail-row:last-child,.history-row:last-child{border-bottom:none}.detail-row.color-positive .amount,.history-row.color-positive .amount{color:var(--color-accent-success)}.detail-row.color-negative .amount,.history-row.color-negative .amount{color:var(--color-accent-error)}.cell{color:var(--color-text-primary);word-break:break-word}.cell.amount{text-align:right;font-weight:var(--font-weight-semibold)}.order-id{font-family:monospace;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.action-link{background:none;border:none;color:var(--color-accent-primary);cursor:pointer;font-size:var(--font-size-sm);padding:0;transition:opacity var(--duration-fast) ease}.action-link:hover{opacity:.8;text-decoration:underline}.empty-state{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}@media(max-width:768px){.member-credits-header{padding:var(--spacing-md) var(--spacing-lg)}.member-credits-content{padding:var(--spacing-lg)}.details-header,.history-header{grid-template-columns:1fr 1fr;gap:var(--spacing-sm);font-size:var(--font-size-xs);padding:var(--spacing-md)}.history-header{grid-template-columns:1fr 1fr}.detail-row,.history-row{grid-template-columns:1fr 1fr;gap:var(--spacing-sm);padding:var(--spacing-md)}.history-row{grid-template-columns:1fr 1fr}.history-row .cell:nth-child(3),.history-row .cell:nth-child(4),.history-row .cell:nth-child(5){display:none}.header-title{font-size:var(--font-size-lg)}}.details-list::-webkit-scrollbar,.history-list::-webkit-scrollbar{width:6px}.details-list::-webkit-scrollbar-track,.history-list::-webkit-scrollbar-track{background:var(--color-bg-control)}.details-list::-webkit-scrollbar-thumb,.history-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.member-credits-footer{flex-shrink:0;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md);text-align:center;border-top:1px solid var(--color-border);background:var(--color-bg-canvas)}.member-credits-footer-content{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);max-width:1400px;margin:0 auto}.member-credits-footer-content a{color:var(--color-text-tertiary);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--duration-fast) ease}.member-credits-footer-content a:hover{color:var(--color-text-secondary);text-decoration:underline}.member-credits-footer-divider{color:var(--color-text-tertiary)}@media(max-width:1024px){.member-credits-container{grid-template-columns:1fr;grid-gap:var(--spacing-2xl);padding:0 var(--spacing-lg) var(--spacing-2xl)}}@media(max-width:768px){.member-credits-container{padding:0 var(--spacing-md) var(--spacing-xl)}.member-credits-footer{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-sm)}.member-credits-footer-content{flex-wrap:wrap}}.details-list::-webkit-scrollbar-thumb:hover,.history-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-bg-node-body, #1e1e1e);border-top:1px solid var(--color-border, #404040);z-index:9999;padding:var(--spacing-lg, 20px);box-shadow:0 -4px 12px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;gap:var(--spacing-lg, 20px);align-items:center;justify-content:space-between;flex-wrap:wrap}.cookie-banner-text{flex:1;min-width:250px}.cookie-banner-text h3{margin:0 0 var(--spacing-sm, 8px) 0;font-size:var(--font-size-lg, 16px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #ffffff)}.cookie-banner-text p{margin:0;font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary, #b0b0b0);line-height:1.5}.cookie-banner-text a{color:var(--color-accent-primary, #3B82F6);text-decoration:none}.cookie-banner-text a:hover{text-decoration:underline}.cookie-banner-actions{display:flex;gap:var(--spacing-sm, 8px);flex-wrap:wrap;justify-content:flex-end;min-width:300px}.cookie-banner-btn{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border:1px solid var(--color-border, #404040);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease;white-space:nowrap}.cookie-banner-btn-primary{background:var(--color-accent-primary, #3B82F6);color:#fff;border-color:var(--color-accent-primary, #3B82F6)}.cookie-banner-btn-primary:hover{background:#2563eb;border-color:#2563eb}.cookie-banner-btn-secondary{background:var(--color-bg-control, #2a2a2a);color:var(--color-text-primary, #ffffff);border-color:var(--color-border, #404040)}.cookie-banner-btn-secondary:hover{background:var(--color-bg-hover, #3a3a3a);border-color:var(--color-accent-primary, #3B82F6)}.cookie-preferences-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cookie-preferences-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;cursor:pointer}.cookie-preferences-content{position:relative;background:var(--color-bg-node-body, #1e1e1e);border-radius:var(--radius-lg, 8px);border:1px solid var(--color-border, #404040);max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.cookie-preferences-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg, 20px);border-bottom:1px solid var(--color-border, #404040)}.cookie-preferences-header h2{margin:0;font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #ffffff)}.cookie-preferences-close{background:none;border:none;font-size:24px;color:var(--color-text-secondary, #b0b0b0);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);transition:all .2s ease}.cookie-preferences-close:hover{background:var(--color-bg-hover, #3a3a3a);color:var(--color-text-primary, #ffffff)}.cookie-preferences-body{padding:var(--spacing-lg, 20px);overflow-y:auto;flex:1}.cookie-preferences-body p{margin:0 0 var(--spacing-lg, 20px) 0;font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary, #b0b0b0)}.cookie-preferences-body a{color:var(--color-accent-primary, #3B82F6);text-decoration:none}.cookie-preferences-body a:hover{text-decoration:underline}.cookie-preference-item{margin-bottom:var(--spacing-lg, 20px);padding:var(--spacing-md, 16px);background:var(--color-bg-canvas, #161616);border:1px solid var(--color-border, #404040);border-radius:var(--radius-md, 6px)}.cookie-preference-item:last-child{margin-bottom:0}.cookie-preference-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm, 8px)}.cookie-preference-toggle{display:flex;align-items:center;gap:var(--spacing-sm, 8px);cursor:pointer;-webkit-user-select:none;user-select:none}.cookie-preference-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-accent-primary, #3B82F6)}.cookie-preference-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.toggle-label{font-size:var(--font-size-base, 16px);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #ffffff)}.cookie-preference-required{font-size:var(--font-size-xs, 12px);padding:2px 8px;background:var(--color-accent-primary, #3B82F6);color:#fff;border-radius:var(--radius-sm, 4px);font-weight:var(--font-weight-semibold, 600)}.cookie-preference-description{margin:0;font-size:var(--font-size-sm, 14px);color:var(--color-text-tertiary, #808080);line-height:1.5}.cookie-preferences-footer{display:flex;gap:var(--spacing-sm, 8px);padding:var(--spacing-lg, 20px);border-top:1px solid var(--color-border, #404040);justify-content:flex-end;flex-wrap:wrap}@media(max-width:768px){.cookie-banner-content{flex-direction:column;align-items:stretch}.cookie-banner-actions{justify-content:stretch}.cookie-banner-btn{flex:1;text-align:center}.cookie-preferences-content{width:95%;max-height:90vh}.cookie-preferences-footer{flex-direction:column}.cookie-preferences-footer .cookie-banner-btn{flex:1}}.cookie-preferences-body::-webkit-scrollbar{width:6px}.cookie-preferences-body::-webkit-scrollbar-track{background:var(--color-bg-canvas, #161616)}.cookie-preferences-body::-webkit-scrollbar-thumb{background:var(--color-border, #404040);border-radius:3px}.cookie-preferences-body::-webkit-scrollbar-thumb:hover{background:var(--color-accent-primary, #3B82F6)}
