:root{--bg-root: #08080c;--bg-panel: #0c0c14;--bg-card: #13131d;--bg-card-hover: #191928;--bg-input: #111118;--bg-button: #161621;--bg-button-hover: #1e1e2e;--bg-button-active: #252538;--bg-tool-active: #1a1a30;--bg-accent: #3a3a45;--bg-accent-hover: #4a4a58;--bg-accent-muted: rgba(255, 255, 255, .06);--bg-success: rgba(255, 255, 255, .08);--bg-warning: rgba(255, 255, 255, .08);--bg-danger: rgba(255, 100, 100, .15);--border-default: #2a2a35;--border-hover: #3a3a48;--border-active: #5a5a6a;--border-accent: rgba(255, 255, 255, .1);--text-primary: #e0e0e0;--text-secondary: #999999;--text-muted: #666666;--text-accent: #cccccc;--text-success: #66bb6a;--text-warning: #ffa726;--text-danger: #ef5350;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-sans: "Inter", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-lg: 15px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(255, 255, 255, .06);--shadow-glow-strong: 0 0 24px rgba(255, 255, 255, .1);--transition-fast: .12s ease;--transition-normal: .2s ease}[data-theme=light]{--bg-root: #f5f5f7;--bg-panel: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f0f0f5;--bg-input: #f0f0f5;--bg-button: #f5f5f7;--bg-button-hover: #e8e8ed;--bg-button-active: #d8d8e0;--bg-tool-active: #e8e8ff;--bg-accent: #333340;--bg-accent-hover: #444458;--bg-accent-muted: rgba(0, 0, 0, .06);--bg-success: rgba(0, 0, 0, .06);--bg-warning: rgba(0, 0, 0, .06);--bg-danger: rgba(220, 38, 38, .08);--border-default: #d0d0d8;--border-hover: #b0b0b8;--border-active: #666666;--border-accent: rgba(0, 0, 0, .15);--text-primary: #1a1a24;--text-secondary: #5a5a6a;--text-muted: #8a8a9a;--text-accent: #444450;--text-success: #16a34a;--text-warning: #d97706;--text-danger: #dc2626;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(0, 0, 0, .08);--shadow-glow-strong: 0 0 24px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{background:var(--bg-root);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}.app-root{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-root);overflow:hidden}.app-body{flex:1;display:flex;overflow:hidden}.toolbar{height:44px;min-height:44px;display:flex;align-items:center;gap:2px;padding:0 var(--space-3);background:var(--bg-panel);border-bottom:1px solid var(--border-default);-webkit-user-select:none;user-select:none;-webkit-app-region:drag}.toolbar-section{display:flex;align-items:center;gap:2px}.toolbar-divider{width:1px;height:22px;background:var(--border-default);margin:0 var(--space-2)}.toolbar-spacer{flex:1}.tool-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);-webkit-app-region:no-drag}.tool-btn svg{width:18px;height:18px}.tool-btn:hover{background:var(--bg-button-hover);color:var(--text-primary)}.tool-btn:active{transform:scale(.93)}.tool-btn.active{background:var(--bg-accent-muted);color:var(--text-accent)}.tool-action{height:28px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-button);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);font-weight:500;font-family:var(--font-sans);white-space:nowrap;transition:all var(--transition-fast);-webkit-app-region:no-drag}.tool-action:hover{background:var(--bg-button-hover);color:var(--text-primary);border-color:var(--border-hover)}.tool-action:active{transform:scale(.97)}.tool-action.primary{background:var(--bg-accent);color:#fff;border-color:var(--bg-accent)}.tool-action.primary:hover{background:var(--bg-accent-hover)}.tool-status{font-size:var(--text-xs);color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2)}.tool-status-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.tool-status-dot.connected{background:var(--text-success)}.panel{background:var(--bg-panel);display:flex;flex-direction:column;overflow:hidden}.panel-left{width:260px;min-width:260px;border-right:1px solid var(--border-default)}.panel-right{width:300px;min-width:300px;border-left:1px solid var(--border-default)}.panel-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-4)}.panel-content::-webkit-scrollbar{width:4px}.panel-content::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0;letter-spacing:.01em}.panel-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin:2px 0 0}.stats-card{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.stat-item{text-align:center}.stat-value{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1}.stat-label{font-size:10px;color:var(--text-muted);margin-top:3px;font-weight:500}.panel-btn{width:100%;padding:9px 11px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;font-family:var(--font-sans);display:flex;align-items:center;gap:8px;transition:all var(--transition-fast)}.panel-btn svg{width:16px;height:16px;color:var(--text-muted);transition:color var(--transition-fast)}.panel-btn:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-hover)}.panel-btn:hover svg{color:var(--text-accent)}.panel-btn:active{transform:scale(.98)}.panel-section-title{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-2) 0}.template-list{display:flex;flex-direction:column;gap:2px}.template-item{width:100%;padding:9px 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);display:flex;align-items:center;gap:9px;transition:all var(--transition-fast)}.template-item svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0;transition:color var(--transition-fast)}.template-item:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-default)}.template-item:hover svg{color:var(--text-accent)}.template-item:active{background:var(--bg-button-active);transform:scale(.985)}.bridge-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border-default)}.bridge-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background var(--transition-normal)}.bridge-dot.running{background:#22c55e;box-shadow:0 0 6px #22c55e66}.bridge-dot.stopped{background:var(--text-muted)}.bridge-dot.starting{background:#f59e0b;animation:pulse 1.5s infinite}.bridge-dot.error,.bridge-dot.locked{background:#ef4444;box-shadow:0 0 6px #ef444466}.bridge-label{font-size:var(--text-xs);color:var(--text-muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.topbar{height:40px;min-height:40px;display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--bg-panel);border-bottom:1px solid var(--border-default);-webkit-user-select:none;user-select:none}.topbar-logo-l{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:linear-gradient(135deg,#1a4b8c,#2c3e7a);color:#e0f0ff;font-size:13px;font-weight:900;font-family:var(--font-sans);box-shadow:0 0 8px #1a4b8c66,inset 0 1px #fff3;margin-right:6px}.topbar-title{color:var(--text-primary);font-size:13px;font-weight:600;margin-right:4px}.topbar-btn{height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);display:flex;align-items:center;gap:4px}.topbar-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-default)}.topbar-btn.active{background:var(--bg-accent-muted);color:var(--text-accent);border-color:var(--border-accent)}.topbar-btn-accent{height:28px;padding:0 10px;border:1px solid var(--border-accent);border-radius:6px;background:var(--bg-accent-muted);color:var(--text-accent);font-size:12px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.topbar-btn-accent:hover{background:var(--bg-accent);color:#fff}.topbar-btn-primary{height:28px;padding:0 12px;border:none;border-radius:6px;background:var(--bg-accent);color:#fff;font-size:12px;font-weight:600;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.topbar-btn-primary:hover{background:var(--bg-accent-hover)}.topbar-left{display:flex;align-items:center;gap:4px}.topbar-center{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.topbar-right{display:flex;align-items:center;gap:4px}.topbar-spacer{flex:1}.topbar-workflow-name{color:var(--text-muted);font-size:12px;margin:0 8px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-stat{font-size:12px;color:var(--text-muted);margin-right:6px}.topbar-btn-vip{height:28px;padding:0 10px;border:none;border-radius:6px;background:#fff;color:#111;font-size:12px;font-weight:600;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);display:flex;align-items:center;gap:4px}.topbar-btn-vip:hover{opacity:.85}.topbar-project-input{width:130px;height:26px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);font-size:12px;font-family:var(--font-sans);text-align:center;outline:none;transition:all var(--transition-fast)}.topbar-project-input:hover{border-color:var(--border-default)}.topbar-project-input:focus{border-color:var(--border-active);color:#fff;background:var(--bg-input)}.bottom-bar{height:32px;min-height:32px;display:flex;align-items:center;gap:10px;padding:0 10px;background:var(--bg-panel);border-top:1px solid var(--border-default);-webkit-user-select:none;user-select:none}.bottom-bar-left{display:flex;align-items:center;gap:3px}.bottom-bar-center{display:flex;align-items:center;gap:4px;position:absolute;left:50%;transform:translate(-50%)}.bottom-bar-right{display:flex;align-items:center;gap:6px;margin-left:auto}.bb-icon{width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.bb-icon:hover{background:var(--bg-card);color:var(--text-primary)}.bb-icon.active{background:var(--bg-card);color:var(--accent-primary)}.bb-btn{width:24px;height:24px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.bb-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.bb-zoom-text{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);min-width:36px;text-align:center}.bb-stat{font-size:12px;color:var(--text-muted)}.bb-divider{color:var(--border-default)}.bottom-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}.bottom-dot.stopped{background:var(--text-muted)}.bottom-dot.running{background:#22c55e;box-shadow:0 0 6px #22c55e66}.right-tools-float{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:10px;z-index:50}.rtf-btn{width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.rtf-btn:hover{background:var(--bg-card);color:var(--text-primary)}.rtf-btn.active{background:var(--bg-accent);color:#fff}.rtf-btn.danger:hover{background:var(--bg-danger);color:var(--text-danger)}.rtf-divider{width:20px;height:1px;background:var(--border-default);margin:2px 0}.right-assistant{width:450px;min-width:400px;background:var(--bg-panel);border-left:1px solid var(--border-default);display:flex;flex-direction:column;overflow:hidden}.right-assistant.ra-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;width:100vw;min-width:0;height:100vh;border-left:none}.ra-fullscreen .ra-body{max-width:980px;width:100%;margin:0 auto;flex:1}.ra-fullscreen .ra-footer{padding:12px 16px}.ra-fullscreen .ra-footer>*{max-width:980px;width:100%;margin-left:auto;margin-right:auto}.ra-resize-bar{height:12px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0;margin-top:2px}.ra-resize-bar:before{content:"";width:40px;height:4px;border-radius:2px;background:var(--border-hover);transition:background var(--transition-fast)}.ra-resize-bar:hover:before{background:#9db8ff}.ra-send-btn-stretch{align-self:stretch;height:auto;width:28px}.ra-at-menu{margin-bottom:6px;background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 8px 24px #00000080;padding:4px;max-height:190px;overflow-y:auto;flex-shrink:0}.ra-at-menu .ra-at-idx{margin-left:auto;font-size:10px;color:#6e7681}.ra-input-row{align-items:stretch}.ra-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border-default)}.ra-title-group{display:flex;align-items:center;gap:6px}.ra-logo{color:var(--text-accent);font-size:14px}.ra-title{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.ra-header-actions{display:flex;align-items:center;gap:2px}.ra-icon-btn{width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.ra-icon-btn:hover{background:var(--bg-card);color:var(--text-primary)}.ra-mode-chip{padding:3px 10px;border:1px solid var(--border-default);border-radius:12px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font-sans);transition:all var(--transition-fast)}.ra-mode-chip:hover{border-color:var(--text-muted);color:var(--text-primary)}.ra-mode-chip.active{border-color:#9db8ff;color:#9db8ff;background:#9db8ff1a}.ra-tpl-chip{flex-shrink:0;padding:3px 10px;border:1px solid var(--border-default);border-radius:12px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font-sans);transition:all var(--transition-fast);white-space:nowrap}.ra-tpl-chip:hover:not(:disabled){border-color:#9db8ff;color:#9db8ff}.ra-tpl-chip:disabled{opacity:.5;cursor:not-allowed}.ra-plan-btn{padding:5px 12px;border:1px solid var(--border-default);border-radius:7px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font-sans);transition:all var(--transition-fast)}.ra-plan-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}.ra-plan-btn:disabled{opacity:.5;cursor:not-allowed}.ra-plan-btn-primary{border-color:#9db8ff;color:#9db8ff;background:#9db8ff1f;font-weight:600}.ra-plan-btn-primary:hover:not(:disabled){background:#9db8ff33;color:#9db8ff}.ra-body{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column}.ra-welcome{display:flex;flex-direction:column;gap:8px}.ra-greeting{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.ra-subtitle{font-size:14px;color:var(--text-secondary);margin:0}.ra-hint{font-size:12px;color:var(--text-muted);margin:0}.ra-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ra-action-btn{padding:6px 11px;border:1px solid var(--border-default);border-radius:14px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:var(--font-sans);display:flex;align-items:center;gap:4px;transition:all var(--transition-fast)}.ra-action-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-hover)}.ra-action-icon{font-size:16px}.ra-footer{border-top:1px solid var(--border-default);padding:8px 10px}.ra-disclaimer{font-size:12px;color:var(--text-muted);margin-bottom:6px;line-height:1.4}.ra-input-row{display:flex;gap:4px;align-items:center}.ra-model-select{padding:7px 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);font-size:14px;font-family:var(--font-sans);outline:none;cursor:pointer}.ra-input{flex:1;padding:8px 11px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;line-height:1.5}.ra-input::placeholder{color:var(--text-muted)}.ra-input:focus{border-color:var(--border-active)}.ra-textarea{resize:vertical;min-height:110px;max-height:320px;overflow-y:auto;line-height:1.5}.ra-biginput-row{flex:1;display:flex;gap:6px;align-items:stretch;margin-top:10px;min-height:0}.ra-biginput{flex:1;min-height:0;max-height:none;resize:none;font-size:14px;padding:12px 14px}.ra-biginput-row .ra-send-btn{width:36px;height:auto;align-self:stretch}.ra-send-btn{width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:var(--bg-accent);color:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.ra-send-btn:hover{background:var(--bg-accent-hover)}.ra-tabs{display:flex;border-bottom:1px solid var(--border-default)}.ra-tab{flex:1;padding:7px 0;border:none;background:transparent;color:var(--text-muted);font-size:11px;font-family:var(--font-sans);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast)}.ra-tab:hover{color:var(--text-secondary)}.ra-tab.active{color:var(--text-accent);border-bottom-color:var(--bg-accent)}.ra-skill-upload-zone{display:flex;flex-direction:column;align-items:center;gap:4px;margin:8px 0;padding:20px 12px;border:1.5px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;text-align:center;font-size:12px;transition:all var(--transition-fast)}.ra-skill-upload-zone:hover{border-color:var(--border-hover);color:var(--text-secondary);background:var(--bg-card)}.ra-skill-hint{font-size:10px;opacity:.6}.ra-skill-upload-msg{font-size:10.5px;color:var(--text-muted);margin:4px 0;line-height:1.4;padding:4px 7px;border-radius:var(--radius-sm);background:var(--bg-input)}.ra-skill-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.ra-skill-empty{text-align:center;color:var(--text-muted);font-size:12px;padding:24px 12px;line-height:1.6}.ra-skill-empty-hint{font-size:10px;opacity:.6;margin-top:4px}.ra-skill-card{display:flex;align-items:flex-start;gap:4px;padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);transition:all var(--transition-fast)}.ra-skill-card:hover{border-color:var(--border-hover)}.ra-skill-card.selected{border-color:#5ab47880;background:#5ab4780f}.ra-skill-card-main{flex:1;cursor:pointer}.ra-skill-card-title{font-size:12px;color:var(--text-primary);font-weight:600}.ra-skill-card-desc{font-size:10px;color:var(--text-muted);margin-top:2px;line-height:1.4}.ra-skill-card-meta{font-size:9px;color:var(--text-muted);opacity:.5;margin-top:3px}.ra-skill-delete{flex-shrink:0;width:20px;height:20px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.5;transition:all var(--transition-fast)}.ra-skill-delete:hover{opacity:1;color:#ff7b72;background:#ff5a5014}.minimap{position:absolute;bottom:10px;right:10px;border:1px solid var(--border-default);border-radius:var(--radius-md);opacity:.85;transition:opacity var(--transition-fast);pointer-events:none;z-index:20}.minimap:hover{opacity:1}.prop-section{display:flex;flex-direction:column;gap:3px}.prop-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.prop-value{font-size:var(--text-sm);color:var(--text-secondary);padding:6px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.prop-input{width:100%;padding:7px 9px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);outline:none;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.prop-input:focus{border-color:var(--border-active);box-shadow:0 0 0 3px var(--bg-accent-muted)}.prop-input::placeholder{color:var(--text-muted)}.prop-textarea{min-height:90px;line-height:1.5}.prop-select{width:100%;padding:7px 28px 7px 9px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);outline:none;cursor:pointer;transition:border-color var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;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='%235c5c74' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.prop-select:focus{border-color:var(--border-active)}.prop-range{width:100%;accent-color:var(--bg-accent)}.prop-hint{font-size:var(--text-xs);color:var(--text-muted)}.prop-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-5)}.canvas-area{flex:1;position:relative;overflow:hidden;outline:none;cursor:default;background-color:#111;touch-action:none;overscroll-behavior:none}[data-theme=light] .canvas-area{background-color:#f0f0f0}.canvas-transform{position:absolute;top:0;left:0}.canvas-grid{z-index:0}.zh-grid-layer{background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.09) 1.2px,transparent 1.3px);background-repeat:repeat;background-size:24px 24px;background-position:0 0;will-change:background-position;transition:opacity .12s linear}[data-theme=light] .zh-grid-layer{background-image:radial-gradient(circle at 50% 50%,rgba(0,0,0,.13) 1.2px,transparent 1.3px)}.canvas-area.grabbing{cursor:grabbing}.canvas-area.panning{cursor:grab}.canvas-area img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none}.canvas-area img[draggable=true]{-webkit-user-drag:auto;user-drag:auto}.canvas-area img,.canvas-area .zh-node{-webkit-touch-callout:none}.zoom-badge{position:absolute;bottom:16px;right:16px;padding:3px 10px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);pointer-events:none}.hint-bar{position:absolute;bottom:16px;left:16px;padding:3px 10px;background:var(--bg-card);border-radius:var(--radius-md);font-size:11px;color:var(--text-muted);pointer-events:none}.left-dock{position:fixed;left:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;padding:12px 6px;background:var(--bg-card);border-right:1px solid var(--border-default);border-radius:0 12px 12px 0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}.dock-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.dock-add-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4a4a58,#5a5a6a);border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ffffff4d}.dock-add-btn:hover{transform:scale(1.1);box-shadow:0 4px 16px #ffffff80}.dock-tool-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;color:#9898ac;transition:all .2s ease}.dock-tool-btn:hover{background:#ffffff1a;color:#e4e4ec;border-color:#ffffff4d}.dock-tool-btn.active{background:#ffffff26;color:#999;border-color:#fff6;box-shadow:0 0 12px #fff3}.dock-divider{width:24px;height:1px;background:#fff3;margin:4px auto}.dock-tooltip{position:absolute;left:44px;top:50%;transform:translateY(-50%);padding:6px 10px;background:#14141ef2;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:12px;color:#e4e4ec;white-space:nowrap;z-index:200;box-shadow:0 4px 12px #0000004d;animation:tooltip-fade .15s ease}@keyframes tooltip-fade{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.dock-side-panel{position:fixed;left:68px;top:50%;transform:translateY(-50%);width:280px;max-height:480px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;z-index:99;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.dock-side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-default);font-size:13px;font-weight:600;color:#e4e4ec}.dock-side-panel-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;color:#9898ac;font-size:18px;transition:all .2s ease}.dock-side-panel-close:hover{background:#ffffff1a;color:#e4e4ec}.dock-side-panel-body{flex:1;padding:16px 14px;overflow-y:auto}.dock-side-empty{text-align:center;color:#6a6a7a;font-size:13px;padding:32px 0}.dock-side-empty-sub{margin-top:8px;font-size:11px;color:#55555f;line-height:1.5;padding:0 12px}.dock-mytpl-list{display:flex;flex-direction:column;gap:6px;padding:4px 2px}.dock-mytpl-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:8px 10px;cursor:pointer;transition:background .15s,border-color .15s}.dock-mytpl-item:hover{background:#ffffff14;border-color:#ffffff29}.dock-mytpl-name{font-size:12px;font-weight:600;color:#d8d8e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-mytpl-content{margin-top:4px;font-size:11px;color:#8a8a96;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.dock-mytpl-actions{margin-top:6px;display:flex;gap:10px;justify-content:flex-end;font-size:11px}.dock-mytpl-copy{color:#6aa8ff}.dock-mytpl-del{color:#77777f}.dock-mytpl-del:hover{color:#ff6a6a}.zh-history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.zh-history-item{position:relative;border-radius:6px;overflow:hidden;cursor:pointer;background:#ffffff0a;border:1px solid transparent;transition:border-color .15s}.zh-history-item:hover{border-color:#fff3}.zh-history-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.zh-history-item-name{font-size:10px;color:#fff9;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-history-item-time{font-size:9px;color:#ffffff59;padding:0 4px 4px}.zh-history-item-del{position:absolute;top:2px;right:2px;width:16px;height:16px;border:none;border-radius:3px;background:#0009;color:#ffffff80;font-size:10px;cursor:pointer;display:none;align-items:center;justify-content:center;line-height:1}.zh-history-item:hover .zh-history-item-del{display:flex}.zh-history-item-del:hover{background:#dc3c3ccc;color:#fff}.zh-history-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 0 0;font-size:11px;color:#ffffff59;border-top:1px solid rgba(255,255,255,.06);margin-top:8px}.zh-history-clear-btn{background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff6;font-size:11px;padding:2px 8px;cursor:pointer}.zh-history-clear-btn:hover{background:#dc3c3c26;border-color:#dc3c3c4d;color:#dc3c3ccc}.zh-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zh-modal{background:#1e1e28;border:1px solid rgba(255,255,255,.1);border-radius:14px;width:420px;max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px #00000080}.zh-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06);font-size:15px;font-weight:600;color:#e4e4ec}.zh-modal-close{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#fff6;font-size:18px;cursor:pointer}.zh-modal-close:hover{background:#ffffff14;color:#e4e4ec}.zh-modal-body{padding:20px}.zh-storage-section{margin-bottom:20px}.zh-storage-section:last-child{margin-bottom:0}.zh-storage-section label{display:block;font-size:12px;font-weight:600;color:#ffffff80;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.zh-storage-path-row{display:flex;gap:8px;flex:0 0 auto}.zh-storage-path-input{width:280px;padding:8px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff9;font-size:12px;outline:none}.zh-storage-btn{padding:8px 14px;background:#4a9eff26;border:1px solid rgba(74,158,255,.3);border-radius:8px;color:#4a9effe6;font-size:12px;cursor:pointer;white-space:nowrap}.zh-storage-btn:hover{background:#4a9eff40}.zh-storage-reset{margin-top:8px;background:transparent;border:none;color:#ffffff59;font-size:11px;cursor:pointer;padding:0}.zh-storage-reset:hover{color:#ffffffb3}.zh-storage-stats{display:flex;gap:16px}.zh-storage-stat{text-align:center}.zh-storage-stat-value{display:block;font-size:24px;font-weight:700;color:#e4e4ec}.zh-storage-stat-label{font-size:11px;color:#fff6}.zh-storage-clear-btn{margin-top:12px;padding:6px 14px;background:transparent;border:1px solid rgba(220,60,60,.25);border-radius:6px;color:#dc3c3cb3;font-size:12px;cursor:pointer}.zh-storage-clear-btn:hover{background:#dc3c3c1a;border-color:#dc3c3c80}.zh-modal-wide{width:560px;max-width:90vw}.zh-project-grid{display:flex;flex-direction:column;gap:8px}.zh-project-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:#ffffff0a;border:1px solid transparent;cursor:pointer;transition:all .15s;position:relative}.zh-project-card:hover{background:#ffffff14;border-color:#ffffff1a}.zh-project-card-active{border-color:#4a9eff4d;background:#4a9eff0f}.zh-project-card-preview{width:48px;height:36px;border-radius:4px;overflow:hidden;background:#ffffff0a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.zh-project-card-preview img{width:100%;height:100%;object-fit:cover}.zh-project-card-info{flex:1;min-width:0}.zh-project-card-name{font-size:13px;color:#e4e4ec;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-project-card-meta{font-size:11px;color:#ffffff59;margin-top:2px}.zh-project-card-del{position:absolute;top:6px;right:8px;width:18px;height:18px;border:none;border-radius:4px;background:#0006;color:#fff6;font-size:12px;cursor:pointer;display:none;align-items:center;justify-content:center}.zh-project-card:hover .zh-project-card-del{display:flex}.zh-project-card-del:hover{background:#dc3c3cb3;color:#fff}.zh-project-footer{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.zh-modal-admin{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;background:#0d0d12;border-color:#ffffff0f}.zh-modal-admin .zh-modal-header{background:#0d0d12;border-bottom:1px solid rgba(255,255,255,.06);color:#f0f0f5}.zh-admin-layout{display:flex;flex:1;min-height:0;background:#0d0d12}.zh-admin-tabs{width:120px;flex-shrink:0;border-right:1px solid rgba(255,255,255,.06);padding:8px 0;display:flex;flex-direction:column;gap:2px;background:#0a0a0f}.zh-admin-tab{padding:12px 14px;background:transparent;border:none;color:#fff6;font-size:14px;cursor:pointer;text-align:left;transition:all .15s;border-radius:0 4px 4px 0;margin-right:4px}.zh-admin-tab:hover{color:#ffffffb3;background:#ffffff0a}.zh-admin-tab.active{color:#fff;background:#4a9eff1f;border-left:2px solid rgba(74,158,255,.6)}.zh-admin-content{flex:1;padding:32px 40px;overflow-y:auto;background:#0d0d12;color:#ffffffd9;max-width:none}.zh-admin-content label{color:#ffffff8c;margin-bottom:0;font-size:14px;white-space:nowrap;min-width:120px}.zh-admin-content .zh-storage-section{margin-bottom:28px}.zh-admin-row{display:flex;align-items:center;justify-content:flex-start;gap:24px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px;color:#fffc}.zh-admin-content .zh-storage-path-input{background:#ffffff08;border-color:#ffffff14;color:#ffffff80}.zh-admin-content .zh-storage-stat-value{color:#f0f0f5}.zh-admin-content .zh-storage-stat-label{color:#ffffff59}.zh-toggle{padding:4px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffb3;font-size:12px;cursor:pointer;transition:all .15s;min-width:48px}.zh-toggle:hover{background:#4a9eff1a;border-color:#4a9eff4d;color:#fff}.zh-admin-select{padding:4px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffffb3;font-size:12px;cursor:pointer;outline:none}.zh-admin-select:hover,.zh-admin-select:focus{border-color:#4a9eff4d}.zh-inspiration-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.06);background:#0003}.zh-inspiration-search{display:flex;align-items:center;gap:8px;flex:1;max-width:400px;padding:8px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px}.zh-inspiration-search svg{color:#fff6}.zh-inspiration-search-input{flex:1;border:none;background:transparent;color:#fffc;font-size:13px;outline:none}.zh-inspiration-search-input::placeholder{color:#ffffff4d}.zh-inspiration-actions{display:flex;gap:8px}.zh-inspiration-btn{padding:6px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffffb3;font-size:12px;cursor:pointer;transition:all .15s}.zh-inspiration-btn:hover{background:#ffffff14;border-color:#fff3;color:#fff}.zh-inspiration-btn.active{background:#4a9eff26;border-color:#4a9eff4d;color:#4a9eff}.zh-inspiration-btn-primary{background:#4a9eff33;border-color:#4a9eff66;color:#4a9eff}.zh-inspiration-btn-primary:hover{background:#4a9eff4d;color:#fff}.zh-inspiration-btn-danger{background:#ff50501a;border-color:#ff50504d;color:#ff5050}.zh-inspiration-btn-danger:hover{background:#ff505033}.zh-inspiration-wrapper{display:flex;flex-direction:column;height:100%;max-width:none;margin:0}.zh-inspiration-body{display:flex;flex:1;overflow:hidden}.zh-inspiration-nav{width:120px;flex-shrink:0;padding:16px 8px;border-right:1px solid rgba(255,255,255,.06);background:#00000026}.zh-inspiration-nav-item{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:12px 8px;border:none;border-radius:8px;background:transparent;color:#ffffff80;font-size:12px;cursor:pointer;transition:all .2s;margin-bottom:4px}.zh-inspiration-nav-item:hover{background:#ffffff0d;color:#fffc}.zh-inspiration-nav-item.active{background:#4a9eff26;color:#4a9eff}.zh-inspiration-nav-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#ffffff0d;transition:all .2s}.zh-inspiration-nav-item:hover .zh-inspiration-nav-icon{background:#ffffff1a}.zh-inspiration-nav-item.active .zh-inspiration-nav-icon{background:#4a9eff33}.zh-inspiration-nav-icon svg{width:20px;height:20px}.zh-inspiration-nav-text{font-size:12px;font-weight:500}.zh-inspiration-content{flex:1;overflow-y:auto;padding:24px}.zh-inspiration-section{height:100%;display:flex;flex-direction:column}.zh-inspiration-filters{display:flex;gap:12px;margin-bottom:16px}.zh-inspiration-select{padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffffb3;font-size:12px;cursor:pointer;outline:none}.zh-inspiration-select:hover{border-color:#4a9eff4d}.zh-inspiration-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:60px 20px;text-align:center}.zh-inspiration-empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.zh-inspiration-empty-title{font-size:16px;font-weight:500;color:#fffc;margin-bottom:8px}.zh-inspiration-empty-desc{font-size:13px;color:#fff6;margin-bottom:24px}.zh-inspiration-empty-actions{display:flex;gap:12px}.zh-images-dual-panel{display:flex;gap:32px;height:100%;min-height:500px;padding:0}.zh-images-column{flex:1;display:flex;flex-direction:column;min-width:0}.zh-images-column-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;margin-bottom:16px;background:#ffffff0a;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.zh-images-column-title{font-size:15px;font-weight:600;color:#fffffff2}.zh-images-column-count{font-size:12px;color:#ffffff80;padding:4px 10px;background:#ffffff1a;border-radius:12px;font-weight:500}.zh-images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;flex:1;align-content:start}.zh-images-empty-column{grid-column:span 3;padding:60px 20px;text-align:center;color:#ffffff4d;font-size:14px;background:#ffffff05;border-radius:14px;border:2px dashed rgba(255,255,255,.12)}.zh-images-divider{width:1px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.2) 10%,rgba(255,255,255,.2) 90%,transparent);margin:0 8px}.zh-prompts-dual-panel{display:flex;gap:32px;height:100%;min-height:500px}.zh-prompts-column{flex:1;display:flex;flex-direction:column;min-width:0}.zh-prompts-column-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;margin-bottom:16px;background:#ffffff0a;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.zh-prompts-column-title{font-size:15px;font-weight:600;color:#fffffff2}.zh-prompts-column-count{font-size:12px;color:#ffffff80;padding:4px 10px;background:#ffffff1a;border-radius:12px;font-weight:500}.zh-prompts-list{display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto}.zh-prompts-empty-column{padding:40px 20px;text-align:center;color:#ffffff4d;font-size:14px;background:#ffffff05;border-radius:14px;border:2px dashed rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center}.zh-prompts-divider{width:1px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.2) 10%,rgba(255,255,255,.2) 90%,transparent);margin:0 8px}.zh-prompt-card-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:.5px}.zh-prompt-card-badge.preset{background:#4a9eff26;color:#4a9eff;border:1px solid rgba(74,158,255,.3)}.zh-prompt-card-badge.custom{background:#ffb45026;color:#ffb450;border:1px solid rgba(255,180,80,.3)}.zh-prompt-card-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.zh-prompt-card-title{font-size:15px;font-weight:600;color:#fffffff2}.zh-prompt-card-content{padding:16px 18px;font-size:13px;color:#fff9;line-height:1.6;max-height:100px;overflow:hidden}.zh-prompt-card-footer{padding:12px 18px;border-top:1px solid rgba(255,255,255,.06);background:#00000026}.zh-prompt-card-actions{display:flex;gap:8px;flex-wrap:wrap}.zh-inspiration-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;width:100%}.zh-inspiration-grid-4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.zh-inspiration-card{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;transition:all .25s;aspect-ratio:4/3;background:#ffffff0d}.zh-inspiration-card:hover{transform:scale(1.05);box-shadow:0 12px 32px #0006;z-index:10}.zh-inspiration-card.selectable{cursor:pointer}.zh-image-card img{width:100%;height:100%;object-fit:cover}.zh-image-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);opacity:0;transition:opacity .2s}.zh-inspiration-card:hover .zh-image-card-overlay{opacity:1}.zh-image-card-name{font-size:13px;font-weight:500;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-image-card-meta{font-size:11px;color:#fff9}.zh-image-card-checkbox{position:absolute;top:8px;left:8px;width:24px;height:24px;border-radius:4px;border:2px solid rgba(255,255,255,.5);background:#0000004d;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}.zh-inspiration-list{display:flex;flex-direction:column;gap:12px;width:100%}.zh-prompt-card{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;overflow:hidden;transition:all .2s}.zh-prompt-card:hover{border-color:#4a9eff33;background:#ffffff0d}.zh-prompt-card-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.zh-prompt-card-tag{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.zh-prompt-card-tag:first-child{background:#4a9eff26;color:#4a9eff}.zh-prompt-card-tag:last-child{background:#ffb45026;color:#ffb450}.zh-prompt-card-title{font-size:14px;font-weight:500;color:#ffffffe6}.zh-prompt-card-content{padding:16px;font-size:13px;color:#fff9;line-height:1.6;max-height:80px;overflow:hidden}.zh-prompt-card-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid rgba(255,255,255,.06);background:#0000001a}.zh-prompt-card-meta{font-size:12px;color:#fff6}.zh-prompt-card-actions{display:flex;gap:8px}.zh-template-card{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;overflow:hidden;cursor:pointer;transition:all .2s}.zh-template-card:hover{border-color:#4a9eff33;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.zh-template-card-preview{aspect-ratio:16/10;background:#0003;overflow:hidden}.zh-template-card-preview img{width:100%;height:100%;object-fit:cover}.zh-template-card-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.zh-template-card-info{padding:12px}.zh-template-card-name{font-size:14px;font-weight:500;color:#ffffffe6;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-template-card-meta{font-size:12px;color:#fff6}.zh-template-card-actions{padding:8px 12px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:flex-end}.add-node-menu{width:224px;background:#14141efa;border:1px solid rgba(255,255,255,.3);border-radius:12px;overflow:visible;box-shadow:0 8px 32px #00000080,0 0 40px #ffffff1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.add-node-menu-body{padding:4px;border-radius:0 0 12px 12px}.add-node-menu-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.15);background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,transparent 100%)}.add-node-menu-title{margin:0;font-size:12px;font-weight:600;color:#e4e4ec}.add-node-menu-close{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#9898ac;cursor:pointer;transition:all .15s ease}.add-node-menu-close:hover{background:#ef44441a;color:#f87171}.menu-item{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease;color:#c4c4d0;font-size:12px}.menu-item:hover{background:#ffffff1a;color:#e4e4ec}.menu-item.has-children{position:relative}.menu-item.disabled{opacity:.6;cursor:not-allowed}.menu-item.disabled:hover{background:transparent;color:#c4c4d0}.menu-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#999}.menu-item-label{flex:1;font-weight:500}.menu-item-arrow{display:flex;align-items:center;color:#5c5c74;transition:color .15s ease}.menu-item.has-children:hover .menu-item-arrow{color:#999}.dev-badge{font-size:10px;font-weight:600;padding:2px 6px;background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:8px;color:#fbbf24;letter-spacing:.02em}.submenu-popup{position:fixed;min-width:200px;background:#14141efa;border:1px solid rgba(255,255,255,.3);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:submenu-fade-in .1s ease}@keyframes submenu-fade-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.zh-node{position:relative;border-radius:12px;background:transparent;overflow:visible;transition:box-shadow .15s ease,filter .15s ease;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}.react-flow__node{overflow:visible!important}.zh-node.is-dragging{transition:none!important;will-change:transform;backface-visibility:hidden;box-shadow:none!important;contain:layout style}.zh-node.is-dragging,.zh-node.is-dragging *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;filter:none!important;transition:none!important}.is-panning .zh-node,.is-panning .zh-node *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;transition:none!important}.is-panning .zh-node{contain:layout style}.canvas-area.is-panning .zh-node-layer,.canvas-area.is-panning .zh-conn-layer{will-change:transform}.is-panning.is-pan-degraded .zh-node>:not(.zh-node-bar){visibility:hidden}.is-panning.is-pan-degraded .zh-node .zh-bar-tools{visibility:hidden}.is-panning.is-pan-degraded .zh-node>.zh-output{visibility:visible}.canvas-area.is-node-dragging .zh-node,.canvas-area.is-node-dragging .zh-node *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;filter:none!important;transition:none!important}.canvas-area.is-node-dragging .zh-conn-layer path{filter:none!important;shape-rendering:optimizeSpeed}.canvas-area.is-node-dragging .zh-conn-layer,.canvas-area.is-node-dragging .zh-conn-layer path,.canvas-area.is-node-dragging .zh-conn-layer circle{pointer-events:none!important}.canvas-area.is-node-dragging .zh-conn-layer .zh-conn-hit{display:none!important}.canvas-area.is-node-dragging .zh-node:not(.is-dragging){contain:paint}.zh-node-bar{order:-1}.zh-output{order:0}.zh-node-label{display:none}.zh-node:hover{box-shadow:0 4px 16px #fff3,0 2px 6px #ffffff26;will-change:transform}.zh-node.selected{box-shadow:0 4px 16px #fff3,0 2px 6px #ffffff26}.zh-node.zh-group-node:hover,.zh-node.zh-group-node.selected{box-shadow:none}.zh-group-container{position:absolute;top:0;right:0;bottom:0;left:0;border:2px dashed rgba(255,255,255,.25);border-radius:12px;background:#ffffff08;pointer-events:none;overflow:hidden}[data-theme=light] .zh-group-container{border:2px dashed rgba(0,0,0,.15);background:#00000008}.zh-group-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#4a9eff2e;border-bottom:1px solid rgba(255,255,255,.06);pointer-events:all}[data-theme=light] .zh-group-header{background:#4a9eff1f;border-bottom:1px solid rgba(0,0,0,.06)}.zh-group-title{font-size:12px;font-weight:600;color:#ffffffd9;outline:none;min-width:60px;padding:2px 4px;border-radius:4px;cursor:text}.zh-group-title:hover{background:#ffffff0f}.zh-group-title:focus{background:#ffffff1a;outline:1px solid rgba(74,158,255,.5)}[data-theme=light] .zh-group-title{color:#000c}[data-theme=light] .zh-group-title:hover{background:#0000000a}[data-theme=light] .zh-group-title:focus{background:#0000000f;outline:1px solid rgba(74,158,255,.5)}.zh-group-collapse-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:#ffffff80;cursor:pointer;font-size:10px;transition:all .15s;flex-shrink:0}.zh-group-collapse-btn:hover{background:#ffffff1a;color:#ffffffd9}.zh-group-ungroup-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:#ffffff14;color:#ffffff80;cursor:pointer;transition:all .15s}.zh-group-ungroup-btn:hover{background:#ffffff26;color:#ffffffd9}[data-theme=light] .zh-group-ungroup-btn{background:#0000000f;color:#0006}[data-theme=light] .zh-group-ungroup-btn:hover{background:#0000001a;color:#000000b3}.zh-group-preview{padding:8px}.zh-group-preview img{width:100%;max-height:160px;object-fit:cover;border-radius:6px;display:block}.zh-group-preview-empty{padding:20px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#ffffff59;font-size:12px}[data-theme=light] .zh-group-preview-empty{color:#0000004d}.zh-output{position:relative;width:100%;flex:1;min-height:280px;background:linear-gradient(145deg,#2a2d35,#22252c);border-radius:0 0 12px 12px;border:1px solid #3a3e48;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.zh-node:hover .zh-output{border-color:#4a4e58;box-shadow:0 12px 40px #00000080,inset 0 1px #ffffff14}.zh-node.selected .zh-output{border-color:#ffffff4d;box-shadow:0 0 0 2px #ffffff1f,0 12px 40px #00000080}.zh-node-label{position:absolute;top:8px;left:8px;z-index:10;padding:2px 8px;background:#00000080;border-radius:3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zh-label-text{font-size:11px;font-weight:500;color:#a0a4ae;letter-spacing:.5px}.zh-node-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#1a1b1e;border-bottom:1px solid rgba(255,255,255,.08);border-radius:12px 12px 0 0;position:relative;user-select:none;-webkit-user-select:none}.zh-bar-label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:#9ca3af;flex:1}.zh-node input,.zh-node textarea{user-select:text;-webkit-user-select:text}.zh-bar-icon{width:14px;height:14px;color:#6b7280}.zh-bar-tools{display:flex;align-items:center;gap:2px;margin-left:auto}.zh-bar-btn{width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:2px}.zh-bar-btn:hover{background:#ffffff14;color:#d1d5db}.zh-bar-close:hover{background:#ef44441f;color:#f87171}.zh-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;cursor:pointer;gap:8px;border:2px dashed rgba(255,255,255,.08);border-radius:8px;margin:12px;transition:border-color .15s}.zh-upload-zone:hover{border-color:#fff3}.zh-upload-text{font-size:13px;color:#6e7681}.zh-output-img{width:100%;height:100%;object-fit:cover;display:block}.zh-node.zh-glimg .zh-output{background:transparent}.zh-node.zh-glimg .zh-output-img{opacity:0;pointer-events:auto}html.zh-no-glimg .zh-node.zh-glimg .zh-output-img{opacity:1}.zh-placeholder{width:100%;height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:repeating-linear-gradient(45deg,#252830,#252830 10px,#2a2d36 10px,#2a2d36 20px)}.zh-placeholder-icon{color:#4a4e58}.zh-placeholder-text{font-size:12px;color:#4a4e58}.zh-generating-mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#1e2028d9;color:#a0a4ae;font-size:13px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.zh-loading-spinner{width:32px;height:32px;border:3px solid #3d404a;border-top-color:#4a9eff;border-radius:50%;animation:zh-spin .8s linear infinite}.zh-generating-mask-queued{color:#c8a24a}.zh-queued-clock{animation:zh-queued-pulse 1.6s ease-in-out infinite}@keyframes zh-queued-pulse{0%,to{opacity:.45;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}.zh-loading-spinner-small{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:zh-spin .8s linear infinite;display:inline-block;margin-right:4px;vertical-align:middle}@keyframes zh-spin{to{transform:rotate(360deg)}}.zh-error-toast{position:absolute;bottom:8px;left:8px;right:8px;padding:8px 12px;background:#ef4444f2;color:#fff;font-size:12px;border-radius:4px}.zh-control-panel{width:calc(100% + 16px);margin:-20px auto 0;background:linear-gradient(180deg,#2e313a,#25282f);border-radius:10px;border:1px solid #3a3e48;box-shadow:0 8px 24px #0000004d;overflow:hidden;position:relative;z-index:2;padding:4px 6px}.zh-tabs{display:flex;border-bottom:1px solid #2d303a}.zh-tab{flex:1;padding:10px 0;border:none;background:transparent;color:#6b7280;font-size:12px;font-weight:500;cursor:pointer;transition:color .15s ease,background .15s ease;border-bottom:2px solid transparent}.zh-tab:hover{color:#a0a4ae;background:#ffffff05}.zh-tab.zh-tab-active{color:#e4e4ec;border-bottom-color:#4a9eff}.zh-prompt-input{width:100%;min-height:72px;padding:12px 14px;border:none;background:transparent;color:#e4e4ec;font-size:13px;font-family:var(--font-sans);line-height:1.6;resize:none;outline:none}.zh-enhanced-prompt{margin:0 10px 8px;padding:8px 10px;background:#4a9eff14;border:1px solid rgba(74,158,255,.15);border-radius:4px}.zh-enhanced-label{font-size:10px;font-weight:600;color:#4a9eff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.zh-enhanced-text{font-size:12px;color:#a0a4ae;line-height:1.5;max-height:60px;overflow-y:auto}.zh-footer{display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid #2d303a;background:#0003;border-radius:0 0 4px 4px}.zh-model-picker{padding:4px 8px;border:1px solid #3d404a;border-radius:4px;background:#252830;color:#e4e4ec;font-size:11px;font-family:var(--font-sans);outline:none;cursor:pointer;transition:border-color .15s ease}.zh-model-picker:hover{border-color:#4a9eff}.zh-model-picker:focus{border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff33}.zh-reso-tag{padding:4px 8px;background:#252830;border-radius:4px;color:#6b7280;font-size:11px;font-family:var(--font-mono)}.zh-footer-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.zh-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#252830;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .15s ease}.zh-action-btn:hover{background:#3d404a;color:#a0a4ae}.zh-action-btn:active{transform:scale(.95)}.zh-enhance-btn:hover{background:#4a9eff26;color:#4a9eff}.zh-generate-btn{padding:6px 14px;border:none;border-radius:4px;background:linear-gradient(135deg,#4a9eff,#357abd);color:#fff;font-size:12px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .15s ease}.zh-generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#5aaaff,#4a9eff);transform:translateY(-1px);box-shadow:0 4px 12px #4a9eff4d}.zh-generate-btn:active:not(:disabled){transform:translateY(0)}.zh-generate-btn:disabled{opacity:.5;cursor:not-allowed}.zh-port{position:absolute;display:flex;align-items:center;justify-content:center;z-index:50;width:30px;height:30px;background:transparent;border:none;opacity:0;transition:opacity .12s ease;pointer-events:auto}.zh-port-dot{width:30px;height:30px;background:#2a2d36;border:2px solid #5a5e68;border-radius:50%;transition:all .15s ease;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;flex-shrink:0}.zh-port-dot:before{content:"";width:16px;height:2px;background:#c4c4cc;border-radius:1px;position:absolute}.zh-port-dot:after{content:"";width:2px;height:16px;background:#c4c4cc;border-radius:1px;position:absolute}.zh-port:hover .zh-port-dot{background:#3a3d46;border-color:#5a5e68;transform:scale(1.1)}.zh-port:hover .zh-port-dot:before,.zh-port:hover .zh-port-dot:after{background:#fff}.zh-port-left{left:-45px;top:calc(50% - 40px);width:60px;height:80px}.zh-port-right{right:-45px;top:calc(50% - 40px);width:60px;height:80px}.zh-port-top{top:-45px;left:calc(50% - 40px);width:80px;height:60px}.zh-port-bottom{bottom:-45px;left:calc(50% - 40px);width:80px;height:60px}.zh-port:hover,.zh-node.selected .zh-port,.zh-sm-node .zh-port,.zh-port.is-connecting{opacity:1}.zh-delete-btn{position:absolute;top:-32px;left:50%;transform:translate(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:2px solid #4a4e58;background:#2a2d36;border-radius:50%;color:#8b8f99;cursor:pointer;opacity:0;transition:all .15s ease;z-index:10}.zh-node:hover .zh-delete-btn,.zh-node.selected .zh-delete-btn{opacity:1}.zh-delete-btn:hover{background:#ef4444;border-color:#ef4444;color:#fff;transform:translate(-50%) scale(1.1)}.zh-node .zh-control-panel{display:none!important;position:relative!important;margin-top:12px!important;background:#252830!important;border:1px solid #3d404a!important;border-radius:8px!important;overflow:visible!important;box-shadow:0 8px 32px #0006!important}.zh-node:hover .zh-control-panel,.zh-node.show-panel .zh-control-panel{display:block!important;animation:slideDown .15s ease}.zh-node.completed-output:hover .zh-control-panel{display:none!important}.zh-node.completed-output.show-panel .zh-control-panel{display:block!important}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.zh-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #2d303a}.zh-add-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid #3d404a;border-radius:4px;background:#2a2d36;color:#e4e4ec;font-size:13px;cursor:pointer;transition:all .15s ease}.zh-add-btn:hover{border-color:#4a9eff;color:#fff;background:#4a9eff1a}.zh-panel-header-actions{display:flex;align-items:center;gap:6px}.zh-header-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border:none;background:transparent;color:#c4c4cc;font-size:12px;cursor:pointer;border-radius:4px;transition:all .15s ease}.zh-header-btn:hover{color:#fff;background:#ffffff0d}.zh-close-panel-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:4px;transition:all .15s ease}.zh-close-panel-btn:hover{color:#ef4444;background:#ef44441a}.zh-dropdown-menu{position:absolute;z-index:100;box-shadow:0 8px 32px #0006}.zh-template-dropdown{bottom:calc(100% + 8px);left:0}.template-menu{width:240px;background:#2a2d36;border:1px solid #3d404a;border-radius:8px;overflow:hidden}.template-menu-close-btn{width:28px;height:28px;border:none;background:transparent;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;border-left:1px solid #3d404a}.template-menu-close-btn:hover{color:#ef4444;background:#ef44441a}.template-tab{flex:1;padding:8px 12px;border:none;background:transparent;color:#6b7280;font-size:12px;cursor:pointer;transition:all .15s ease;border-bottom:2px solid transparent}.template-tab:hover{color:#a0a4ae}.template-tab-active{color:#fff;border-bottom-color:#4a9eff}.template-menu-list{max-height:280px;overflow-y:auto;padding:4px}.template-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:4px;color:#a0a4ae;font-size:12px;cursor:pointer;transition:all .15s ease;text-align:left}.template-item:hover{background:#4a9eff1a;color:#fff}.template-icon{color:#4a9eff;flex-shrink:0}.template-empty{padding:20px;text-align:center;color:#6b7280;font-size:12px}.template-save-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#4a9eff;border:none;border-radius:4px;color:#fff;font-size:11px;cursor:pointer;transition:all .2s;margin-left:auto}.template-save-btn:hover{background:#3a8eef}.template-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:#4a9eff;border-radius:8px;font-size:10px;color:#fff;margin-left:4px}.template-delete-btn{display:none;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;border-radius:3px;color:#ef4444;cursor:pointer;margin-left:auto}.template-item:hover .template-delete-btn{display:flex}.template-delete-btn:hover{background:#ef444433}.template-save-dialog{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.template-save-content{background:#2a2d36;border:1px solid #3d404a;border-radius:8px;padding:16px;width:220px}.template-save-content h4{margin:0 0 12px;font-size:13px;color:#e0e0e0}.template-save-content input{width:100%;padding:8px 10px;background:#1e2028;border:1px solid #3d404a;border-radius:4px;color:#e0e0e0;font-size:12px;outline:none;margin-bottom:12px;box-sizing:border-box}.template-save-content input:focus{border-color:#4a9eff}.template-save-actions{display:flex;gap:8px;justify-content:flex-end}.template-save-actions button{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.template-save-actions button:first-child{background:#3d404a;color:#a0a4ae}.template-save-actions button:first-child:hover{background:#4d505a}.template-save-confirm{background:#4a9eff;color:#fff}.template-save-confirm:hover:not(:disabled){background:#3a8eef}.template-save-confirm:disabled{background:#3d404a;color:#6b7280;cursor:not-allowed}.template-actions{display:flex;align-items:center;gap:2px;margin-left:auto;opacity:.5;transition:opacity .2s}.template-item:hover .template-actions{opacity:1}.template-rename-btn{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;border-radius:3px;color:#4a9eff;cursor:pointer}.template-rename-btn:hover{background:#4a9eff33}.template-rename-input{flex:1;padding:4px 6px;background:#1e2028;border:1px solid #4a9eff;border-radius:3px;color:#fff;font-size:12px;outline:none}.template-item.renaming{background:#4a9eff1a}.template-item.renaming .template-actions{display:none}.template-context-menu{position:fixed;z-index:10000;background:#2a2d36;border:1px solid #3d404a;border-radius:6px;padding:4px;min-width:140px;box-shadow:0 4px 12px #0006}.template-context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:4px;color:#a0a4ae;font-size:12px;cursor:pointer;transition:all .15s}.template-context-menu button:hover{background:#4a9eff1a;color:#fff}.template-context-menu button.danger:hover{background:#ef444433;color:#ef4444}.template-menu-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #3d404a;padding:8px;gap:4px}.template-menu-tabs{display:flex;flex:1;gap:4px}.template-tab{flex:1;padding:6px 10px;border:none;background:transparent;color:#6b7280;font-size:12px;cursor:pointer;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.template-tab-active{background:#3d404a;color:#fff}.add-menu{width:200px;background:#2a2d36;border:1px solid #3d404a;border-radius:8px;overflow:hidden;padding:4px}.add-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:4px;color:#a0a4ae;font-size:13px;cursor:pointer;transition:all .15s ease;text-align:left}.add-menu-item:hover{background:#4a9eff1a;color:#fff}.add-menu-item svg{color:#4a9eff;flex-shrink:0}.add-menu-hint{margin-left:auto;font-size:11px;color:#6b7280}.zh-prompt-wrapper{position:relative;padding:0 36px 0 0}.zh-prompt-input{width:100%;min-height:100px;padding:12px 14px;border:none;background:transparent;color:#e4e4ec;font-size:14px;font-family:var(--font-sans);line-height:1.6;resize:vertical;outline:none}.zh-prompt-input::placeholder{color:#4a4e58}.zh-fullscreen-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#0009;border-radius:4px;color:#c4c4cc;cursor:pointer;transition:all .15s ease;opacity:1;z-index:10}.zh-fullscreen-btn:hover{color:#fff;background:#4a9eff4d}.zh-reference-images{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px}.zh-ref-item{position:relative;width:48px;height:48px;border-radius:4px;overflow:hidden;border:1px solid #3d404a}.zh-ref-item img{width:100%;height:100%;object-fit:cover}.zh-ref-remove{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:#000000b3;border-radius:50%;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s ease}.zh-ref-item:hover .zh-ref-remove{opacity:1}.zh-footer{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid #2d303a;background:#0003;border-radius:0 0 8px 8px}.zh-model-picker,.zh-res-picker,.zh-qty-picker{padding:4px 8px;border:1px solid #3d404a;border-radius:4px;background:#2a2d36;color:#e4e4ec;font-size:11px;font-family:var(--font-sans);outline:none;cursor:pointer;transition:border-color .15s ease}.zh-model-picker{flex:1;min-width:0}.zh-res-picker,.zh-qty-picker{white-space:nowrap}.zh-model-picker:hover,.zh-res-picker:hover,.zh-qty-picker:hover{border-color:#4a9eff}.zh-aspect-ratio-wrapper{position:relative}.zh-aspect-ratio-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid #3d404a;border-radius:4px;background:#2a2d36;color:#e4e4ec;font-size:11px;cursor:pointer;transition:border-color .15s ease}.zh-aspect-ratio-btn:hover{border-color:#4a9eff;color:#fff}.zh-aspect-ratio-menu{position:absolute;bottom:calc(100% + 8px);left:0;width:280px;padding:12px;background:#1e1f26;border:1px solid #3d404a;border-radius:8px;box-shadow:0 8px 24px #0006;z-index:100}.zh-aspect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.zh-aspect-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border:1px solid #3d404a;border-radius:6px;background:#252830;cursor:pointer;transition:all .15s ease}.zh-aspect-item:hover{border-color:#4a9eff;background:#2a2d36}.zh-aspect-item.active{border-color:#4a9eff;background:#4a9eff1a}.zh-aspect-preview{background:#3d404a;border-radius:2px}.zh-aspect-1x1{width:24px;height:24px}.zh-aspect-2x1{width:32px;height:16px}.zh-aspect-2x3{width:16px;height:24px}.zh-aspect-3x2{width:24px;height:16px}.zh-aspect-3x4{width:18px;height:24px}.zh-aspect-4x3{width:24px;height:18px}.zh-aspect-4x5{width:20px;height:24px}.zh-aspect-5x4{width:24px;height:20px}.zh-aspect-9x16{width:14px;height:24px}.zh-aspect-16x9{width:24px;height:14px}.zh-aspect-21x9{width:28px;height:12px}.zh-aspect-label{font-size:10px;color:#8b8f99}.zh-aspect-item.active .zh-aspect-label{color:#4a9eff}.zh-aspect-adaptive{margin-top:10px;padding:8px;border:1px solid #3d404a;border-radius:6px;background:#252830;text-align:center;cursor:pointer;transition:all .15s ease;font-size:11px;color:#8b8f99}.zh-aspect-adaptive:hover{border-color:#4a9eff;color:#fff}.zh-aspect-adaptive.active{border-color:#4a9eff;background:#4a9eff1a;color:#4a9eff}.zh-template-btn{padding:4px 8px;border:1px dashed #4a9eff;border-radius:4px;background:#4a9eff1a;color:#4a9eff;font-size:11px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.zh-template-btn:hover{background:#4a9eff33;border-style:solid}.zh-generate-btn{display:flex;align-items:center;gap:4px;padding:5px 14px;border:none;border-radius:4px;background:linear-gradient(135deg,#4a9eff,#3d8ae0);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.zh-generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4a9eff66}.zh-generate-btn:disabled{opacity:.6;cursor:not-allowed}.fullscreen-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fullscreen-editor{width:80%;max-width:900px;height:80%;max-height:700px;background:#2a2d36;border:1px solid #3d404a;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;overflow:hidden}.fullscreen-editor-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #3d404a}.fullscreen-editor-title{font-size:14px;font-weight:500;color:#fff}.fullscreen-editor-actions{display:flex;align-items:center;gap:8px}.fullscreen-editor-save{display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:6px;background:linear-gradient(135deg,#4a9eff,#3d8ae0);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.fullscreen-editor-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4a9eff66}.fullscreen-editor-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.fullscreen-editor-close:hover{background:#ef44441a;color:#ef4444}.fullscreen-editor-textarea{flex:1;width:100%;padding:16px;border:none;background:transparent;color:#e4e4ec;font-size:14px;font-family:var(--font-sans);line-height:1.6;resize:none;outline:none}.fullscreen-editor-textarea::placeholder{color:#4a4e58}.fullscreen-editor-hint{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid #3d404a;font-size:12px;color:#6b7280}.hint-key{padding:2px 6px;background:#3d404a;border-radius:4px;font-family:var(--font-mono);font-size:11px;color:#a0a4ae}.ic-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#000000f5;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;touch-action:none}.ic-tb{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#1a1b1e;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.ic-tt{font-size:14px;font-weight:600;color:#e0e0e0}.ic-rs{display:flex;gap:4px}.ic-rb{padding:4px 10px;border:1px solid rgba(255,255,255,.1);border-radius:5px;background:transparent;color:#999;font-size:11px;font-family:var(--font-sans);cursor:pointer}.ic-rb.on{background:#ffffff1a;color:#fff;border-color:#ffffff40}.ic-rb:hover{background:#ffffff0f}.ic-as{margin-left:auto;display:flex;gap:8px}.ic-b{padding:6px 16px;border:none;border-radius:6px;font-size:13px;font-family:var(--font-sans);cursor:pointer}.ic-c{background:#ffffff14;color:#aaa}.ic-c:hover{background:#ffffff1f}.ic-o{background:#e0e0e0;color:#111;font-weight:600}.ic-o:hover{background:#fff}.ic-ic{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.ic-im{max-width:92vw;max-height:82vh;object-fit:contain;background:#000}.ic-ma{position:absolute;cursor:move;touch-action:none}.ic-ma:hover{outline:2px solid rgba(255,255,255,.35);outline-offset:-1px;border-radius:2px}.ic-rh{position:absolute;cursor:nwse-resize;padding:8px;z-index:10;touch-action:none}.ic-rh:hover svg{stroke:#fff;filter:drop-shadow(0 0 6px rgba(255,255,255,.6))}.ca-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#000000f5;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.ca-tb{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#1a1b1e;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;flex-wrap:wrap}.ca-tt{font-size:14px;font-weight:600;color:#e0e0e0;margin:0 4px 0 0}.ca-ib{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:transparent;color:#aaa;cursor:pointer}.ca-ib:hover:not(:disabled){background:#ffffff14;color:#fff}.ca-ib:disabled{opacity:.35;cursor:default}.ca-hold{padding:6px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:transparent;color:#aaa;font-size:12px;font-family:var(--font-sans);cursor:pointer}.ca-hold:hover,.ca-hold.on{background:#ffffff1f;color:#fff}.ca-as{margin-left:auto;display:flex;gap:8px}.ca-b{padding:6px 14px;border:none;border-radius:6px;font-size:13px;font-family:var(--font-sans);cursor:pointer}.ca-b:disabled{opacity:.5;cursor:default}.ca-c{background:#ffffff14;color:#aaa}.ca-c:hover:not(:disabled){background:#ffffff1f}.ca-s{background:transparent;color:#ccc;border:1px solid rgba(255,255,255,.15)}.ca-s:hover:not(:disabled){background:#ffffff14;color:#fff}.ca-o{background:#e0e0e0;color:#111;font-weight:600}.ca-o:hover:not(:disabled){background:#fff}.ca-main{flex:1;display:flex;min-height:0}.ca-preview{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000}.ca-img-wrap{position:relative;width:96%;height:96%;display:flex;align-items:center;justify-content:center}.ca-img-fit{position:relative;display:inline-flex;max-width:100%;max-height:100%}.ca-img{max-width:100%;max-height:100%;object-fit:contain}.ca-grain{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:repeat;mix-blend-mode:overlay;pointer-events:none}.ca-panel{width:270px;flex-shrink:0;background:#1a1b1e;border-left:1px solid rgba(255,255,255,.08);padding:16px;overflow-y:auto}.ca-pl{font-size:12px;color:#8b949e;margin:0 0 8px}.ca-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.ca-chip{padding:4px 12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:transparent;color:#999;font-size:11px;font-family:var(--font-sans);cursor:pointer}.ca-chip:hover:not(:disabled){background:#ffffff0f;color:#fff}.ca-chip:disabled{opacity:.5;cursor:default}.ca-pl-note{display:block;margin-top:2px;font-size:10.5px;color:#6e7681}.ca-pl-note b{color:#7c5cff}.ca-tpl-groups{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.ca-tpl-group{padding:3px 9px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:transparent;color:#8b949e;font-size:11px;font-family:var(--font-sans);cursor:pointer}.ca-tpl-group:hover{color:#fff;border-color:#ffffff47}.ca-tpl-group.on{background:#7c5cff;border-color:#7c5cff;color:#fff;font-weight:600}.ca-tpl-items{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;max-height:176px;overflow-y:auto;padding-right:2px;margin-bottom:16px}.ca-tpl-ph{font-style:normal;color:#7c5cff;font-weight:700}.ca-tabs{display:flex;gap:2px;padding:2px;border-radius:8px;background:#ffffff0f;margin-left:6px}.ca-tab{padding:5px 14px;border:none;border-radius:6px;background:transparent;color:#999;font-size:12px;font-family:var(--font-sans);cursor:pointer}.ca-tab:hover{color:#fff}.ca-tab.on{background:#e0e0e0;color:#111;font-weight:600}.ca-anno-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.ca-anno-host{position:absolute;width:0;height:0;pointer-events:none}.ca-anno-tag{position:absolute;top:0;transform:translateY(-50%);max-width:190px;padding:2px 8px;border-radius:6px;background:#fffffff2;border:1.5px solid #ff3b30;color:#111;font-size:11px;font-weight:600;line-height:1.4;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;box-shadow:0 2px 6px #00000059;pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;font-family:PingFang SC,Microsoft YaHei,sans-serif}.ca-anno-tag:active{cursor:grabbing}.ca-anno-tag:hover{background:#fff;box-shadow:0 0 0 2px #ff3b3059,0 2px 8px #00000073}.ca-anno-tag.right{left:0}.ca-anno-tag.left{right:0}.ca-anno-tag>b{color:#ff3b30;font-weight:600}.ca-anno-inline{position:absolute;top:0;transform:translateY(-50%);width:180px;padding:2px 8px;border-radius:6px;background:#fff;border:1.5px solid #ff3b30;outline:none;color:#111;font-size:11px;font-weight:600;line-height:1.4;box-shadow:0 0 0 3px #ff3b3038,0 2px 10px #00000073;pointer-events:auto;font-family:PingFang SC,Microsoft YaHei,sans-serif}.ca-anno-inline.right{left:0}.ca-anno-inline.left{right:0}.ca-anno-inline::placeholder{color:#999;font-weight:500}.ca-anno-anchor-hit{position:absolute;border-radius:50%;pointer-events:auto;cursor:grab;touch-action:none}.ca-anno-anchor-hit:hover{box-shadow:0 0 0 1.5px #ff3b3099,0 0 6px #ff3b3059}.ca-anno-anchor-hit:active{cursor:grabbing}.ca-anno-panel{display:flex;flex-direction:column}.ca-anno-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;max-height:280px;overflow-y:auto}.ca-anno-empty{font-size:11px;color:#8b949e;line-height:1.7;margin:0}.ca-anno-item{display:flex;align-items:center;gap:6px}.ca-anno-idx{flex-shrink:0;width:20px;height:20px;border-radius:10px;background:#7c5cff;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.ca-anno-input{flex:1;min-width:0;padding:6px 8px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0d;color:#e0e0e0;font-size:12px;font-family:var(--font-sans)}.ca-anno-input:focus{outline:none;border-color:#7c5cff}.ca-anno-del{flex-shrink:0;width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:#777;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.ca-anno-del:hover{background:#ef444426;color:#ef4444}.ca-anno-copy{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.ca-anno-hint{font-size:10.5px;color:#8b949e;line-height:1.6;margin:0}.ca-slider{margin-bottom:14px}.ca-sl-head{display:flex;justify-content:space-between;font-size:12px;color:#8b949e;margin-bottom:4px}.ca-sl-val{color:#e0e0e0;font-weight:600}.ca-range{width:100%;accent-color:#4f8cff;cursor:pointer}.ca-reset{width:100%;padding:6px 0;margin-top:4px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:transparent;color:#8b949e;font-size:12px;font-family:var(--font-sans);cursor:pointer}.ca-reset:hover:not(:disabled){background:#ffffff0f;color:#fff}.ca-reset:disabled{opacity:.5;cursor:default}.zh-node.zh-text-node{width:400px}.zh-text-node .zh-output{display:none}.zh-text-node .zh-text-output-hint{padding:12px 16px;font-size:13px;color:#6b7280;background:#ffffff05;border-bottom:1px solid #2d303a}.zh-text-node .zh-control-panel{display:block!important;opacity:1!important;transform:translateY(0)!important}.zh-node.zh-image-node{width:560px}.zh-node.zh-output-node{border-color:#3a4a5a}.zh-output-node .zh-node-header{background:linear-gradient(180deg,rgba(58,74,90,.3) 0%,transparent 100%)}.zh-output-node .zh-node-title span{color:#4a9eff;font-weight:500}.zh-output-node .zh-image-placeholder{min-height:200px}.zh-output-node .zh-generated-image{border-radius:4px}.zh-output-node .zh-control-panel{display:none!important}.zh-image-node .zh-output-placeholder,.zh-output-node .zh-output-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;color:#6b7280;min-height:280px}.zh-connection-line{transition:stroke .2s,stroke-width .2s}.zh-connection-line:hover{stroke:#4a9eff;stroke-width:3}.zh-connection-line.zh-connecting{stroke-dasharray:5,5;animation:dash .5s linear infinite}@keyframes dash{to{stroke-dashoffset:-10}}.zh-snap-highlight{animation:snap-pulse 1s ease-in-out infinite}.zh-snap-highlight-inner{animation:snap-pulse-inner 1s ease-in-out infinite}@keyframes snap-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes snap-pulse-inner{0%,to{opacity:1}50%{opacity:.8}}.drop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#4a9eff1a;border:3px dashed #4a9eff;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}.drop-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;background:#1e2028f2;border-radius:12px;color:#4a9eff;font-size:16px;font-weight:500}.canvas-area.dragging-over{background:#4a9eff0d}.zh-selection-rect{border:1px dashed rgba(255,255,255,.5);background:#ffffff0f;border-radius:2px}[data-theme=light] .zh-selection-rect{border:1px dashed rgba(0,0,0,.4);background:#0000000a}.zh-output.zh-output-upload{cursor:pointer;transition:border-color .2s,background .2s}.zh-output.zh-output-upload:hover{border-color:#4a9eff}.zh-output.zh-output-upload .zh-output-placeholder{background:repeating-linear-gradient(45deg,#252830,#252830 10px,#2a2d36 10px,#2a2d36 20px)}.zh-output.zh-output-upload:hover .zh-output-placeholder{background:repeating-linear-gradient(45deg,#2a2d36,#2a2d36 10px,#2f323d 10px,#2f323d 20px)}.zh-replace-image-btn{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#e0e0e0;font-size:12px;cursor:pointer;opacity:0;transition:opacity .2s,background .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zh-replace-image-btn:hover{background:#4a9effcc;border-color:#4a9eff}.zh-output:hover .zh-replace-image-btn{opacity:1}.zh-output{-webkit-user-select:none;user-select:none}.compare-node{background:#1a1c24}.compare-container{display:flex;gap:4px;padding:8px;background:#252830;border-radius:8px;margin:8px}.compare-item{flex:1;position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:#1a1c24;border:1px dashed #3d404a;cursor:pointer}.compare-item.has-image{border-style:solid;border-color:#3d404a}.compare-item img{width:100%;height:100%;object-fit:cover}.compare-item-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280;font-size:12px;gap:8px}.compare-item-placeholder svg{opacity:.5}.compare-item:hover .compare-item-placeholder{color:#4a9eff}.compare-label{position:absolute;bottom:4px;left:4px;padding:2px 6px;background:#000000b3;border-radius:3px;color:#fff;font-size:11px;pointer-events:none}.compare-upload-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#000000b3;border-radius:3px;color:#fff;cursor:pointer;opacity:0;transition:opacity .2s}.compare-item:hover .compare-upload-btn{opacity:1}.compare-upload-btn:hover{background:#4a9eff}.compare-slider-mode{position:relative;width:100%;height:400px;overflow:hidden;border-radius:8px;margin:8px}.compare-slider-left,.compare-slider-right{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.compare-slider-right{clip-path:inset(0 0 0 50%)}.compare-slider-handle{position:absolute;top:0;bottom:0;width:3px;background:#4a9eff;cursor:ew-resize;z-index:10;transform:translate(-50%)}.compare-slider-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;background:#4a9eff;border-radius:50%;display:flex;align-items:center;justify-content:center}.compare-slider-handle:before{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:11;color:#fff;font-size:16px;pointer-events:none}.compare-mode-switch{display:flex;gap:4px;padding:8px}.compare-mode-btn{flex:1;padding:6px 12px;background:transparent;border:1px solid #3d404a;border-radius:4px;color:#a0a4ae;font-size:12px;cursor:pointer;transition:all .2s}.compare-mode-btn:hover{background:#2d3038;color:#fff}.compare-mode-btn.active{background:#4a9eff;border-color:#4a9eff;color:#fff}.connect-node-menu{position:fixed;width:280px;max-height:400px;background:#2a2d36;border:1px solid #3d404a;border-radius:12px;box-shadow:0 8px 32px #0006;overflow:hidden;z-index:1000;animation:fadeIn .15s ease}.connect-menu-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#4a9eff1a;border-bottom:1px solid #3d404a}.connect-menu-title{font-size:14px;font-weight:600;color:#fff}.connect-menu-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:#a0a4ae;cursor:pointer;transition:all .2s}.connect-menu-close:hover{background:#ffffff1a;color:#fff}.connect-menu-search{padding:12px 16px 8px}.connect-menu-search input{width:100%;padding:8px 12px;background:#1e2028;border:1px solid #3d404a;border-radius:6px;color:#fff;font-size:13px;outline:none;box-sizing:border-box;transition:border-color .2s}.connect-menu-search input:focus{border-color:#4a9eff}.connect-menu-search input::placeholder{color:#6b7280}.connect-menu-categories{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid #3d404a}.connect-menu-category{flex:1;padding:6px 8px;background:transparent;border:none;border-radius:4px;color:#6b7280;font-size:12px;cursor:pointer;transition:all .2s}.connect-menu-category:hover{background:#ffffff0d;color:#a0a4ae}.connect-menu-category.active{background:#3d404a;color:#fff}.connect-menu-list{max-height:200px;overflow-y:auto;padding:8px}.connect-menu-list::-webkit-scrollbar{width:6px}.connect-menu-list::-webkit-scrollbar-track{background:transparent}.connect-menu-list::-webkit-scrollbar-thumb{background:#3d404a;border-radius:3px}.connect-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s;text-align:left}.connect-menu-item:hover{background:#4a9eff1a}.connect-menu-icon{font-size:20px;flex-shrink:0}.connect-menu-info{display:flex;flex-direction:column;gap:2px}.connect-menu-name{font-size:13px;font-weight:500;color:#fff}.connect-menu-desc{font-size:11px;color:#6b7280}.connect-menu-hint{padding:8px 16px;background:#4a9eff0d;border-top:1px solid #3d404a;font-size:11px;color:#6b7280;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.zh-compare-node{background:#1a1c24;border:1px solid #3d404a;border-radius:8px;overflow:visible;display:flex;flex-direction:column}.zh-compare-view{position:relative;width:100%;background:#252830;overflow:hidden;-webkit-user-select:none;user-select:none}.zh-compare-img{display:block;pointer-events:none}.zh-compare-left{z-index:1}.zh-compare-right{z-index:2}.zh-compare-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6b7280;background:#1a1c24}.zh-compare-slider{position:absolute;top:0;width:2px;height:100%;background:#4a9eff;cursor:ew-resize;z-index:10;box-shadow:0 0 10px #4a9eff80}.zh-compare-slider:hover{background:#5ba8ff}.zh-compare-modes{display:flex;gap:4px;padding:8px;background:#252830;border-top:1px solid #3d404a}.zh-compare-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:#1a1c24;border:1px solid #3d404a;border-radius:4px;color:#6b7280;cursor:pointer;font-size:12px;transition:all .2s}.zh-compare-mode-btn:hover{background:#3d404a;color:#fff}.zh-compare-mode-btn.active{background:#4a9eff1a;border-color:#4a9eff;color:#4a9eff}.zh-compare-mode-btn svg{width:16px;height:16px}.zh-compare-label{position:absolute;bottom:8px;padding:4px 8px;background:#000000b3;border-radius:4px;color:#fff;font-size:11px;pointer-events:none;z-index:5}.zh-compare-label.left{left:8px}.zh-compare-label.right{right:8px}.zh-scene-panel{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.zh-scene-textarea{width:100%;min-height:56px;padding:8px 10px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);resize:vertical;outline:none}.zh-scene-textarea:focus{border-color:var(--border-hover)}.zh-scene-desc-btns{display:flex;gap:4px;margin-top:4px}.zh-scene-small-btn{padding:4px 10px;border:1px solid var(--border-default);border-radius:4px;background:transparent;color:var(--text-muted);font-size:13px;font-family:var(--font-sans);cursor:pointer}.zh-scene-small-btn:hover{background:var(--bg-button);color:var(--text-primary)}.zh-scene-textarea-wrapper{position:relative;display:flex}.zh-scene-textarea-wrapper .zh-scene-textarea{padding-right:32px}.zh-scene-textarea-fullscreen-btn{position:absolute;right:4px;top:4px;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.zh-scene-textarea-fullscreen-btn:hover{background:var(--bg-button);color:var(--text-primary)}.zh-scene-fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zh-scene-fullscreen-modal{width:90vw;max-width:900px;height:80vh;max-height:700px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;overflow:hidden}.zh-scene-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.zh-scene-fullscreen-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary)}.zh-scene-fullscreen-title svg{color:var(--bg-accent)}.zh-scene-fullscreen-actions{display:flex;align-items:center;gap:8px}.zh-scene-fullscreen-copy-btn,.zh-scene-fullscreen-paste-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-button);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:all .15s ease}.zh-scene-fullscreen-copy-btn:hover,.zh-scene-fullscreen-paste-btn:hover{background:var(--bg-button-hover);border-color:var(--border-hover)}.zh-scene-fullscreen-paste-btn{background:var(--bg-accent);border-color:var(--bg-accent);color:#fff}.zh-scene-fullscreen-paste-btn:hover{background:var(--bg-accent-hover);border-color:var(--bg-accent-hover)}.zh-scene-fullscreen-close-btn{width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.zh-scene-fullscreen-close-btn:hover{background:#ff3b301a;color:#ff3b30}.zh-scene-fullscreen-body{flex:1;padding:20px;overflow:hidden}.zh-scene-fullscreen-textarea{width:100%;height:100%;min-height:300px;padding:16px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);line-height:1.6;resize:none;outline:none}.zh-scene-fullscreen-textarea:focus{border-color:var(--bg-accent);box-shadow:0 0 0 3px #4a9eff33}.zh-scene-fullscreen-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--border-default);background:var(--bg-secondary)}.zh-scene-fullscreen-info{font-size:12px;color:var(--text-muted)}.zh-scene-fullscreen-save-btn{padding:10px 24px;border:none;border-radius:6px;background:var(--bg-accent);color:#fff;font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .15s ease}.zh-scene-fullscreen-save-btn:hover{background:var(--bg-accent-hover)}.zh-scene-core-constraint{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;background:#4a9eff14;border:1px solid rgba(74,158,255,.2);border-radius:6px}.zh-scene-core-constraint-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#4a9eff26;border-radius:4px;color:#4a9eff;flex-shrink:0}.zh-scene-core-constraint-content{flex:1;min-width:0}.zh-scene-core-constraint-title{font-size:13px;font-weight:600;color:#4a9eff;margin-bottom:2px}.zh-scene-core-constraint-desc{font-size:12px;color:var(--text-secondary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-scene-core-constraint-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.zh-scene-core-constraint-toggle input{opacity:0;width:0;height:0}.zh-scene-core-constraint-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#3a3f4a;transition:.3s;border-radius:20px}.zh-scene-core-constraint-slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.zh-scene-core-constraint-toggle input:checked+.zh-scene-core-constraint-slider{background-color:#4a9eff}.zh-scene-core-constraint-toggle input:checked+.zh-scene-core-constraint-slider:before{transform:translate(16px)}.zh-scene-reference-images{margin-top:10px;padding:10px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.zh-scene-reference-title{font-size:13px;color:var(--text-muted);margin-bottom:8px;font-weight:500}.zh-scene-reference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.zh-scene-reference-item{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--bg-input);display:flex;flex-direction:column}.zh-scene-reference-item img{width:100%;height:calc(100% - 18px);object-fit:cover}.zh-scene-reference-number{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#4a9effe6;color:#fff;font-size:10px;font-weight:600;border-radius:3px;display:flex;align-items:center;justify-content:center;z-index:1}.zh-scene-reference-label{position:absolute;bottom:0;left:0;right:0;height:18px;background:#000000b3;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.zh-scene-reference-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#000000b3;border:none;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.zh-scene-reference-remove:hover{background:#f44c}.zh-scene-reference-add{aspect-ratio:1;border-radius:4px;border:1px dashed rgba(255,255,255,.2);background:#ffffff05;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s}.zh-scene-reference-add:hover{border-color:var(--bg-accent);color:var(--bg-accent);background:#4a9eff0d;flex-direction:column;gap:4px}.zh-scene-reference-add-text{font-size:10px;display:none}.zh-scene-reference-add:hover .zh-scene-reference-add-text{display:block}.zh-scene-reference-connected{border:2px solid var(--bg-accent)}.zh-scene-reference-connected-badge{position:absolute;bottom:2px;left:2px;background:var(--bg-accent);color:#fff;font-size:9px;padding:1px 4px;border-radius:2px}.zh-scene-output{margin-top:12px;padding:12px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.zh-scene-output-title{font-size:11px;color:var(--text-muted);margin-bottom:10px;font-weight:500}.zh-scene-output-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.zh-scene-output-item{position:relative;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:var(--bg-input)}.zh-scene-output-item img{width:100%;height:100%;object-fit:cover}.zh-scene-output-actions{position:absolute;bottom:8px;right:8px;display:flex;gap:6px;opacity:0;transition:opacity .2s}.zh-scene-output-item:hover .zh-scene-output-actions{opacity:1}.zh-scene-output-actions button{width:28px;height:28px;border-radius:50%;background:#000000b3;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.zh-scene-output-actions button:hover{background:#000000e6}.zh-scene-output-placeholder{margin-top:12px;padding:20px;background:#ffffff05;border-radius:6px;border:1px dashed rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:11px}.zh-scene-output-placeholder svg{opacity:.5}.zh-scene-collapsed{display:flex;align-items:center;gap:6px}.zh-scene-select{padding:5px 8px;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);outline:none;cursor:pointer;max-width:100%}.zh-scene-expand-btn{padding:5px 12px;border:1px solid var(--border-default);border-radius:4px;background:transparent;color:var(--text-muted);font-size:13px;font-family:var(--font-sans);cursor:pointer}.zh-scene-expand-btn:hover{background:var(--bg-button);color:var(--text-primary)}.zh-scene-gen-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 16px;border:none;border-radius:6px;background:var(--bg-accent);color:#fff;font-size:14px;font-weight:600;font-family:var(--font-sans);cursor:pointer}.zh-scene-gen-btn:hover{background:var(--bg-accent-hover)}.zh-scene-expanded{display:flex;flex-direction:column;gap:4px;overflow:hidden}.zh-scene-section{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04);min-width:0}.zh-scene-section-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:32px;flex-shrink:0}.zh-scene-check{display:flex;align-items:center;gap:3px;font-size:13px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.zh-scene-check input{accent-color:var(--bg-accent)}.zh-scene-btn{padding:5px 10px;border:1px solid var(--border-default, #3a3f4a);border-radius:4px;background:var(--bg-accent, #2a2d36);color:var(--text-primary, #fff);font-size:12px;cursor:pointer;white-space:nowrap}.zh-scene-btn:hover{background:var(--bg-accent-hover, #353941)}.zh-scene-hint{font-size:11px;color:var(--text-muted, #888)}.zh-scene-categories{display:flex;flex-wrap:wrap;gap:4px 8px;padding:4px 0;width:100%}.zh-scene-categories .zh-scene-check{font-size:12px}.zh-ided-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#000000d9;display:flex;flex-direction:column}.zh-ied-toolbar{height:52px;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:0 16px;background:#1a1c24;border-bottom:1px solid #3a3f4a}.zh-ied-title{font-size:14px;font-weight:600;color:#fff;white-space:nowrap}.zh-ied-tool-group{display:flex;gap:4px;flex-wrap:wrap}.zh-ied-tool-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid #3a3f4a;border-radius:4px;background:transparent;color:#cbd5e1;font-size:12px;cursor:pointer}.zh-ied-tool-btn:hover{background:#2a2d36}.zh-ied-tool-btn.active{background:#4a9eff;color:#fff;border-color:#4a9eff}.zh-ied-icon{font-size:14px}.zh-lr-preview{position:relative;margin:0 14px 10px;border-radius:10px;overflow:hidden;background:#0a0b0e;border:1px solid #262932;min-height:120px}.zh-lr-preview-img{display:block;width:100%;max-height:260px;object-fit:cover;opacity:.92}.zh-lr-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.zh-lr-canvas.marking{cursor:crosshair}.zh-lr-preview.marking:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 0 2px #ff95008c}.zh-lr-marking-hint,.zh-op-hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%);background:#0d0e12d9;border:1px solid #3a3f4a;color:#ffb266;font-size:11px;padding:4px 12px;border-radius:12px;pointer-events:none;white-space:nowrap}.zh-lr-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#565c68;font-size:12px;cursor:pointer}.zh-lr-empty-up{width:40px;height:40px;border:1.5px dashed #3a3f4a;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#565c68}.zh-lr-tools{display:flex;gap:8px;margin:0 14px 10px}.zh-lr-tool-btn{flex:1;padding:7px 0;background:#1e212a;border:1px solid #2e323d;border-radius:8px;color:#aeb6c2;font-size:12px;cursor:pointer;transition:.15s}.zh-lr-tool-btn:hover{border-color:#4a9eff66;color:#dfe5ee}.zh-lr-tool-btn.active{background:#12233a;border-color:#4a9eff;color:#7db8ff}.zh-lr-tool-btn:disabled{opacity:.4;cursor:not-allowed}.zh-lr-tool-btn.clear{flex:0 0 110px}.zh-lr-presets{padding:0 14px}.zh-lr-group{margin-bottom:10px}.zh-lr-group-title{font-size:10px;color:#6a7180;margin-bottom:5px;letter-spacing:.5px}.zh-lr-chips{display:flex;flex-wrap:wrap;gap:6px}.zh-lr-chip{padding:5px 11px;background:#1c1f27;border:1px solid #2b2f3a;border-radius:14px;font-size:12px;color:#9aa3af;cursor:pointer;transition:.15s}.zh-lr-chip:hover{border-color:#4a9eff8c;color:#d8dee8}.zh-lr-chip.on{background:#12233a;border-color:#4a9eff;color:#8cc2ff;box-shadow:0 0 8px #4a9eff33}.zh-lr-seg{display:flex;background:#1c1f27;border:1px solid #2b2f3a;border-radius:8px;overflow:hidden}.zh-lr-seg-item{padding:5px 13px;font-size:12px;color:#9aa3af;cursor:pointer;transition:.15s;border-right:1px solid #2b2f3a}.zh-lr-seg-item:last-child{border-right:none}.zh-lr-seg-item.on{background:#12233a;color:#8cc2ff}.zh-lr-seg-item.disabled{opacity:.55;cursor:not-allowed}.zh-lr-go{margin:12px 14px 6px;width:calc(100% - 28px);padding:11px 0;border-radius:10px;border:none;font-size:14px;font-weight:600;letter-spacing:2px;background:linear-gradient(90deg,#2f7fe0,#4a9eff);color:#fff;cursor:pointer;transition:.2s}.zh-lr-go:disabled{background:#22252e;color:#565c68;cursor:not-allowed;letter-spacing:1px}.zh-lr-status{text-align:center;font-size:10px;color:#565c68;margin:2px 14px 12px}.zh-ied-info{color:#888;font-size:11px;margin-left:auto}.zh-ied-bottom-hint{position:absolute;left:50%;bottom:10px;transform:translate(-50%);max-width:calc(100% - 24px);padding:5px 14px;background:#0f1015c7;border:1px solid rgba(58,63,74,.6);border-radius:14px;color:#b8c0cc;font-size:13px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:5}.zh-ied-actions{display:flex;gap:8px}.zh-ied-btn{padding:6px 14px;border:1px solid #3a3f4a;border-radius:4px;background:transparent;color:#cbd5e1;font-size:13px;cursor:pointer}.zh-ied-btn:hover{background:#2a2d36}.zh-ied-btn.primary{background:#4a9eff;color:#fff;border-color:#4a9eff}.zh-ied-btn.danger{color:#ef4444;border-color:#ef4444}.zh-ied-btn.danger:hover{background:#ef4444;color:#fff}.zh-ied-btn:disabled{opacity:.4;cursor:not-allowed}.zh-ied-btn-row{display:flex;gap:8px;margin-top:4px}.zh-ied-btn-row .zh-ied-btn{flex:1;padding:5px 8px;font-size:12px}.zh-ied-body{flex:1;display:flex;min-height:0}.zh-ied-canvas-wrap{flex:1;position:relative;overflow:hidden;background:#0f1015}.zh-ied-canvas-wrap canvas{display:block}.zh-ied-side{width:280px;flex-shrink:0;overflow-y:auto;background:#1a1c24;border-left:1px solid #3a3f4a;padding:12px}.zh-ied-side-section{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #2a2d36}.zh-ied-side-section h4{margin:0 0 8px;font-size:13px;color:#fff;font-weight:600}.zh-ied-side-section label{display:flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1;margin-bottom:6px}.zh-ied-side-section input[type=range]{flex:1}.zh-ied-side-section select{padding:4px 6px;background:#2a2d36;color:#fff;border:1px solid #3a3f4a;border-radius:4px;font-size:12px}.zh-ied-hint{color:#888;font-size:11px;line-height:1.5}.zh-scene-node{background:var(--bg-card, #1a1c24);border:1.5px solid #3a3f4a;border-radius:12px;overflow:visible;box-shadow:0 4px 16px #00000040}.zh-scene-node:hover{border-color:#4a5060;box-shadow:0 6px 20px #00000059}.zh-scene-node.selected{box-shadow:0 4px 16px #fff3,0 2px 6px #ffffff26}.zh-scene-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #3a3f4a;background:linear-gradient(135deg,rgba(74,158,255,.08) 0%,transparent 100%);border-radius:10px 10px 0 0}.zh-scene-title{font-size:15px;font-weight:600;color:var(--text-primary, #e4e4ec)}.zh-scene-header-actions{display:flex;align-items:center;gap:6px}.zh-scene-header-btn{padding:4px 10px;border:1px solid var(--border-default, #2a2a3a);border-radius:6px;background:transparent;color:var(--text-muted, #8b949e);font-size:11px;font-family:var(--font-sans, system-ui);cursor:pointer;transition:all .15s ease}.zh-scene-header-btn:hover{background:var(--bg-button, rgba(255, 255, 255, .05));color:var(--text-primary, #e4e4ec);border-color:var(--border-hover, #3a3a4a)}.zh-scene-header-btn.active{background:var(--primary, #4a9eff);color:#fff;border-color:var(--primary, #4a9eff)}.scene-node-submenu{background:var(--bg-panel, #1e1e2e);border:1px solid var(--border-color, #2a2a3a);border-radius:8px;box-shadow:0 4px 16px #00000059;padding:4px;min-width:140px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.scene-node-submenu-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:12px;color:var(--text-primary, #e4e4ec);cursor:pointer;transition:background .15s ease;white-space:nowrap}.scene-node-submenu-item:hover{background:var(--bg-button-hover, rgba(74, 158, 255, .15))}.scene-node-submenu-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-secondary, #a0a0b0)}[data-theme=light] .scene-node-submenu{background:#fff;border-color:#e0e0e0;box-shadow:0 4px 16px #00000026}[data-theme=light] .scene-node-submenu-item{color:#333}[data-theme=light] .scene-node-submenu-item:hover{background:#4a9eff1a}.zh-multi-selection-box{border:1px dashed var(--primary, #4a9eff);border-radius:8px;background:#4a9eff0a;box-shadow:0 0 0 1px #4a9eff1a}[data-theme=light] .zh-multi-selection-box{background:#4a9eff0f}.zh-sm-node{background:#1a1c24;border:1px solid #30363d;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px #0000004d}.zh-sm-hover-show:hover>div:last-child{opacity:1!important}.zh-sm-input-slot:hover>div:last-child{opacity:1!important}.zh-sm-slot{position:relative}.zh-sm-slot-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:10}.zh-sm-slot:hover .zh-sm-slot-overlay{opacity:1;pointer-events:auto}.zh-sm-slot-btn{padding:6px 12px;font-size:12px;border:none;border-radius:4px;cursor:pointer;color:#fff;transition:all .15s ease}.zh-sm-slot-btn-replace{background:#1f6feb}.zh-sm-slot-btn-replace:hover{background:#388bfd}.zh-sm-slot-btn-delete{background:#da3633}.zh-sm-slot-btn-delete:hover{background:#f85149}[data-theme=light] .zh-sm-node{background:#fff;border-color:#d1d9e0}[data-theme=light] .zh-sm-header,[data-theme=light] .zh-sm-node div[style*="border-color: #30363d"]{border-color:#d1d9e0}[data-theme=light] .zh-sm-node div[style*="background: #21262d"],[data-theme=light] .zh-sm-node div[style*="background: #161b22"]{background:#f6f8fa}[data-theme=light] .zh-sm-node div[style*="background: #1a1c24"]{background:#fff}.zh-upscale-node{background:#161b22;border:1px solid #30363d;border-radius:8px;overflow:hidden}.zh-upscale-content{padding:12px;display:flex;flex-direction:column;gap:12px}.zh-upscale-tabs{display:flex;gap:8px;margin-bottom:4px}.zh-upscale-tab{flex:1;padding:8px 12px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#8b949e;font-size:12px;cursor:pointer;transition:all .15s ease}.zh-upscale-tab:hover{background:#30363d;color:#c9d1d9}.zh-upscale-tab.active{background:#1f6feb;border-color:#1f6feb;color:#fff}.zh-upscale-panel{display:flex;flex-direction:column;gap:12px}.zh-upscale-section{display:flex;flex-direction:column;gap:6px}.zh-upscale-label{font-size:14px;color:#8b949e;font-weight:500}.zh-upscale-select{padding:8px 12px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:13px;cursor:pointer;transition:border-color .15s ease}.zh-upscale-select:hover{border-color:#484f58}.zh-upscale-select:focus{outline:none;border-color:#1f6feb}.zh-upscale-options{display:flex;gap:8px}.zh-upscale-option{flex:1;padding:8px 12px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:12px;cursor:pointer;transition:all .15s ease}.zh-upscale-option:hover{background:#30363d;border-color:#484f58}.zh-upscale-option.active{background:#1f6feb26;border-color:#1f6feb;color:#58a6ff}.zh-upscale-textarea{width:100%;padding:8px 12px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:12px;resize:vertical;font-family:inherit;line-height:1.5}.zh-upscale-textarea:focus{outline:none;border-color:#1f6feb}.zh-upscale-config{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0d1117;border:1px solid #30363d;border-radius:6px}.zh-upscale-config-status{font-size:12px;font-weight:500}.zh-upscale-config-btn{padding:4px 10px;background:#21262d;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;font-size:11px;cursor:pointer;transition:all .15s ease}.zh-upscale-config-btn:hover{background:#30363d}.zh-upscale-cost{padding:8px 12px;background:#ffa7261a;border:1px solid rgba(255,167,38,.3);border-radius:6px;color:#ffa726;font-size:12px}.zh-upscale-io{display:flex;align-items:center;gap:12px}.zh-upscale-input,.zh-upscale-output{flex:1;display:flex;flex-direction:column;gap:6px}.zh-upscale-io-label{font-size:11px;color:#8b949e}.zh-upscale-img{width:100%;height:80px;object-fit:contain;background:#0d1117;border:1px solid #30363d;border-radius:6px}.zh-upscale-placeholder{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background:#0d1117;border:1px dashed #30363d;border-radius:6px;color:#6e7681;font-size:11px}.zh-upscale-processing{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#58a6ff;font-size:14px}.zh-upscale-arrow{font-size:20px;color:#58a6ff}.zh-upscale-start-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#1f6feb,#388bfd);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.zh-upscale-start-btn:hover:not(:disabled){background:linear-gradient(135deg,#388bfd,#58a6ff);transform:translateY(-1px);box-shadow:0 4px 12px #1f6feb4d}.zh-upscale-start-btn:disabled{background:#21262d;color:#6e7681;cursor:not-allowed}[data-theme=light] .zh-upscale-node{background:#fff;border-color:#d1d9e0}[data-theme=light] .zh-upscale-content{background:#f6f8fa}[data-theme=light] .zh-upscale-tab{background:#f6f8fa;border-color:#d1d9e0;color:#57606a}[data-theme=light] .zh-upscale-tab:hover{background:#eaeef2;color:#24292f}[data-theme=light] .zh-upscale-tab.active{background:#0969da;border-color:#0969da;color:#fff}[data-theme=light] .zh-upscale-select,[data-theme=light] .zh-upscale-textarea{background:#fff;border-color:#d1d9e0;color:#24292f}[data-theme=light] .zh-upscale-option{background:#f6f8fa;border-color:#d1d9e0;color:#24292f}[data-theme=light] .zh-upscale-option:hover{background:#eaeef2}[data-theme=light] .zh-upscale-option.active{background:#0969da1a;border-color:#0969da;color:#0969da}[data-theme=light] .zh-upscale-img,[data-theme=light] .zh-upscale-placeholder,[data-theme=light] .zh-upscale-processing{background:#fff;border-color:#d1d9e0;color:#57606a}[data-theme=light] .zh-upscale-config{background:#fff;border-color:#d1d9e0}.zh-upscale-row{display:flex;gap:12px}.zh-upscale-section-half{flex:1}.zh-upscale-label-row{display:flex;justify-content:space-between;align-items:center}.zh-upscale-action-btn{display:flex;align-items:center;padding:4px 10px;background:transparent;border:1px solid #30363d;border-radius:4px;color:#58a6ff;font-size:11px;cursor:pointer;transition:all .15s ease}.zh-upscale-action-btn:hover:not(:disabled){background:#58a6ff1a;border-color:#58a6ff}.zh-upscale-action-btn:disabled{opacity:.5;cursor:not-allowed}.zh-upscale-error{display:flex;align-items:center;padding:8px 12px;background:#f851491a;border:1px solid rgba(248,81,73,.3);border-radius:6px;color:#f85149;font-size:12px}[data-theme=light] .zh-upscale-action-btn{border-color:#d1d9e0;color:#0969da}[data-theme=light] .zh-upscale-action-btn:hover:not(:disabled){background:#0969da1a;border-color:#0969da}[data-theme=light] .zh-upscale-error{background:#f8514914;border-color:#f851494d;color:#cf222e}.zh-ai-wash-node,.zh-ai-upscale-node{background:#161b22;border:1px solid #30363d;border-radius:8px;overflow:visible}.zh-ai-wash-container,.zh-ai-upscale-container{padding:16px;background:#161b22}.zh-ai-wash-content,.zh-ai-upscale-content{display:flex;flex-direction:column;gap:12px}.zh-ai-wash-desc,.zh-ai-upscale-desc{font-size:13px;color:#8b949e;margin-bottom:8px}.zh-ai-wash-row{display:flex;gap:12px}.zh-ai-wash-field{flex:1;display:flex;flex-direction:column;gap:6px}.zh-ai-wash-label,.zh-ai-upscale-label{display:flex;align-items:center;font-size:14px;color:#8b949e}.zh-ai-wash-checkbox-label{display:flex;align-items:center;gap:4px;font-size:14px;color:#8b949e;cursor:pointer;-webkit-user-select:none;user-select:none}.zh-ai-wash-checkbox{width:16px;height:16px;accent-color:#58a6ff;cursor:pointer;margin:0}.zh-ai-wash-select{padding:8px 12px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:14px;cursor:pointer;outline:none;transition:border-color .2s}.zh-ai-wash-select:hover{border-color:#484f58}.zh-ai-wash-select:focus{border-color:#1f6feb;box-shadow:0 0 0 2px #1f6feb33}.zh-ai-wash-select option{background:#0d1117;color:#c9d1d9}.zh-ai-wash-reverse{flex:.8}.zh-ai-wash-reverse-btn{padding:8px 12px;background:#58a6ff1a;border:1px solid rgba(88,166,255,.3);border-radius:6px;color:#58a6ff;font-size:13px;cursor:pointer;transition:all .2s}.zh-ai-wash-reverse-btn:hover:not(:disabled){background:#58a6ff33;border-color:#58a6ff}.zh-ai-wash-reverse-btn:disabled{opacity:.5;cursor:not-allowed}.zh-ai-wash-textarea{width:100%;min-height:72px;padding:10px 12px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:14px;resize:vertical;outline:none;font-family:inherit;line-height:1.5;transition:border-color .2s}.zh-ai-wash-textarea::placeholder{color:#484f58}.zh-ai-wash-textarea:hover{border-color:#58a6ff}.zh-ai-wash-textarea:focus{border-color:#58a6ff;box-shadow:0 0 0 2px #58a6ff33}.zh-ai-wash-prompt-actions{display:flex;gap:8px}.zh-ai-wash-prompt{display:flex;flex-direction:column;gap:8px}.zh-ai-wash-section-header{display:flex;align-items:center;padding:8px 12px;background:#ffffff05;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.zh-ai-wash-section-header:hover{background:#ffffff0d}.zh-ai-wash-section-title{font-size:14px;font-weight:500;color:var(--zh-text-secondary);flex:1}.zh-ai-wash-clear-btn{font-size:12px;color:#8b949e;padding:2px 8px;border-radius:4px;cursor:pointer;transition:all .2s}.zh-ai-wash-clear-btn:hover{background:#f851491a;color:#f85149}.zh-ai-wash-textarea-wrapper{position:relative}.zh-ai-wash-fullscreen-btn{position:absolute;right:8px;bottom:8px;padding:4px;background:#ffffff1a;border:none;border-radius:4px;color:#8b949e;cursor:pointer;opacity:0;transition:all .2s}.zh-ai-wash-textarea-wrapper:hover .zh-ai-wash-fullscreen-btn,.zh-ai-wash-field:hover .zh-ai-wash-fullscreen-btn,.zh-ai-wash-fullscreen-btn:hover{opacity:1}.zh-ai-wash-fullscreen-btn:hover{background:#58a6ff33;color:#58a6ff}.zh-ai-wash-presets-section{display:flex;flex-direction:column;gap:8px}.zh-ai-wash-presets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.zh-ai-wash-preset-btn{padding:10px 12px;background:#ffffff05;border:1px solid var(--zh-border-color);border-radius:6px;color:var(--zh-text-primary);font-size:14px;cursor:pointer;transition:all .2s;text-align:center}.zh-ai-wash-preset-btn:hover{background:#58a6ff1a;border-color:#58a6ff}.zh-ai-wash-preset-btn.active{background:#58a6ff26;border-color:#58a6ff;color:#58a6ff}.zh-ai-wash-template-wrapper{position:relative}.zh-ai-wash-template-dropdown{position:absolute;top:100%;left:0;z-index:100;margin-top:4px}.zh-ai-wash-inline-template{position:relative;margin-left:auto}.zh-ai-wash-inline-template .zh-ai-wash-template-dropdown{position:absolute;top:100%;right:0;z-index:100;margin-top:4px}.zh-ai-wash-prompt-header{flex-wrap:wrap;gap:6px}.zh-ai-wash-prompt-header .zh-ai-wash-section-title{flex:0 0 auto}.zh-ai-wash-prompt-header .zh-ai-wash-template-btn,.zh-ai-wash-prompt-header .zh-ai-wash-reverse-btn{padding:4px 8px;font-size:12px}.zh-ai-wash-prompt-header .zh-ai-wash-clear-btn{margin-left:2px}.zh-ai-wash-template-btn{display:flex;align-items:center;padding:6px 10px;background:transparent;border:1px solid var(--zh-border-color);border-radius:6px;color:var(--zh-text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.zh-ai-wash-template-btn:hover{background:#ffffff0d;border-color:#58a6ff;color:#58a6ff}.zh-ai-wash-template-menu{position:absolute;top:100%;left:0;margin-top:4px;padding:8px;background:var(--zh-menu-bg);border:1px solid var(--zh-border-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:100;min-width:150px;display:flex;flex-direction:column;gap:4px}.zh-ai-wash-template-item{padding:8px 12px;background:transparent;border:none;border-radius:4px;color:var(--zh-text-primary);font-size:12px;text-align:left;cursor:pointer;transition:background .15s}.zh-ai-wash-template-item:hover{background:#58a6ff1a}.zh-ai-wash-save-btn{display:flex;align-items:center;padding:6px 10px;background:transparent;border:1px solid var(--zh-border-color);border-radius:6px;color:var(--zh-text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.zh-ai-wash-save-btn:hover:not(:disabled){background:#2ea0431a;border-color:#2ea043;color:#2ea043}.zh-ai-wash-save-btn:disabled{opacity:.5;cursor:not-allowed}.zh-ai-wash-input-area,.zh-ai-upscale-input-area{min-height:120px;max-height:200px;background:#ffffff05;border:2px dashed var(--zh-border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.zh-ai-wash-input-img,.zh-ai-upscale-input-img{width:100%;height:100%;object-fit:cover}.zh-ai-wash-input-placeholder,.zh-ai-upscale-input-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#8b949e;font-size:13px}.zh-ai-upscale-processing{display:flex;flex-direction:column;align-items:center;gap:8px;color:#58a6ff;font-size:12px}.zh-ai-wash-start-btn,.zh-ai-upscale-start-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 20px;background:linear-gradient(135deg,#58a6ff,#388bfd);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.zh-ai-wash-start-btn:hover:not(:disabled),.zh-ai-upscale-start-btn:hover:not(:disabled){background:linear-gradient(135deg,#79b8ff,#58a6ff);transform:translateY(-1px);box-shadow:0 4px 12px #58a6ff4d}.zh-ai-wash-start-btn:disabled,.zh-ai-upscale-start-btn:disabled{background:#30363d;color:#6e7681;cursor:not-allowed;transform:none;box-shadow:none}.zh-ai-upscale-scale{display:flex;flex-direction:column;gap:8px}.zh-ai-upscale-scale-buttons{display:flex;gap:8px}.zh-ai-upscale-scale-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background:#ffffff05;border:1px solid var(--zh-border-color);border-radius:8px;color:var(--zh-text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.zh-ai-upscale-scale-btn:hover{border-color:#58a6ff;background:#58a6ff1a}.zh-ai-upscale-scale-btn.active{border-color:#58a6ff;background:#58a6ff26;color:#58a6ff}.zh-ai-upscale-scale-desc{font-size:11px;font-weight:400;color:#8b949e}.zh-ai-upscale-info{padding:12px;background:#ffffff05;border:1px solid var(--zh-border-color);border-radius:8px}.zh-ai-upscale-info-title{display:flex;align-items:center;font-size:12px;color:#8b949e;margin-bottom:8px}.zh-ai-upscale-info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.zh-ai-upscale-info-list li{font-size:12px;color:var(--zh-text-secondary);padding-left:12px;position:relative}.zh-ai-upscale-info-list li:before{content:"•";position:absolute;left:0;color:#58a6ff}.zh-ai-upscale-config{padding:12px;background:#ffffff05;border:1px solid var(--zh-border-color);border-radius:8px}.zh-ai-upscale-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.zh-ai-upscale-config-title{display:flex;align-items:center;font-size:12px;color:#8b949e}.zh-ai-upscale-config-btn{display:flex;align-items:center;padding:4px 8px;background:transparent;border:1px solid var(--zh-border-color);border-radius:4px;color:var(--zh-text-secondary);font-size:11px;cursor:pointer;transition:all .2s}.zh-ai-upscale-config-btn:hover{border-color:#58a6ff;color:#58a6ff}.zh-ai-upscale-config-status{display:flex;align-items:center;font-size:12px;padding:6px 10px;border-radius:4px;margin-bottom:8px}.zh-ai-upscale-config-status.configured{background:#2ea0431a;color:#2ea043}.zh-ai-upscale-config-status.unconfigured{background:#f851491a;color:#f85149}.zh-ai-upscale-config-cost{display:flex;align-items:center;font-size:11px;color:#8b949e}[data-theme=light] .zh-ai-wash-node,[data-theme=light] .zh-ai-upscale-node{background:#fff;border-color:#d1d9e0}[data-theme=light] .zh-ai-wash-container,[data-theme=light] .zh-ai-upscale-container{background:#fff}[data-theme=light] .zh-ai-wash-select{background:#fff;border-color:#d1d9e0;color:#1f2328}[data-theme=light] .zh-ai-wash-select option{background:#fff;color:#1f2328}[data-theme=light] .zh-ai-wash-textarea{background:#fff;border-color:#d1d9e0;color:#1f2328}[data-theme=light] .zh-ai-wash-template-menu{background:#fff;border-color:#d1d9e0;box-shadow:0 4px 12px #00000026}[data-theme=light] .zh-ai-wash-section-header{background:#f6f8fa}[data-theme=light] .zh-ai-wash-section-header:hover{background:#eaeef2}[data-theme=light] .zh-ai-wash-section-title{color:#57606a}[data-theme=light] .zh-ai-wash-preset-btn{background:#f6f8fa;border-color:#d1d9e0;color:#1f2328}[data-theme=light] .zh-ai-wash-preset-btn:hover{background:#ddf4ff;border-color:#0969da}[data-theme=light] .zh-ai-wash-preset-btn.active{background:#ddf4ff;border-color:#0969da;color:#0969da}[data-theme=light] .zh-ai-wash-input-area,[data-theme=light] .zh-ai-upscale-input-area,[data-theme=light] .zh-ai-upscale-info,[data-theme=light] .zh-ai-upscale-config{background:#f6f8fa;border-color:#d1d9e0}[data-theme=light] .zh-ai-upscale-scale-btn{background:#f6f8fa;border-color:#d1d9e0;color:#1f2328}[data-theme=light] .zh-ai-upscale-scale-btn:hover{background:#ddf4ff;border-color:#0969da}[data-theme=light] .zh-ai-upscale-scale-btn.active{background:#ddf4ff;border-color:#0969da;color:#0969da}.zh-upscale-content{display:flex;flex-direction:column;gap:12px;padding:16px;background:#161b22;position:relative}.zh-upscale-title{font-size:18px;font-weight:600;color:#c9d1d9;display:flex;align-items:center;gap:8px}.zh-upscale-title-dot{color:#58a6ff;font-size:14px}.zh-upscale-field{position:relative;display:flex;flex-direction:column;gap:6px}.zh-upscale-label{display:flex;align-items:center;gap:8px;font-size:16px;color:#8b949e}.zh-upscale-input-res-tag{font-size:13px;color:#58a6ff;background:#58a6ff1a;padding:2px 8px;border-radius:10px;margin-left:auto}.zh-upscale-input-area{min-height:120px;max-height:180px;background:#ffffff05;border:2px dashed #30363d;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .2s}.zh-upscale-input-area:hover{border-color:#484f58}.zh-upscale-input-img{width:100%;height:100%;object-fit:contain}.zh-upscale-input-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:#484f58;font-size:16px}.zh-upscale-input-plus{font-size:40px;color:#30363d;font-weight:300;line-height:1}.zh-upscale-input-hint{font-size:13px;color:#30363d}.zh-upscale-processing{display:flex;flex-direction:column;align-items:center;gap:8px;color:#58a6ff;font-size:16px}.zh-upscale-selector{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:#ffffff08;border:1px solid #30363d;border-radius:8px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;position:relative;z-index:1}.zh-upscale-selector:hover{border-color:#58a6ff;background:#58a6ff0d}.zh-upscale-selector-left{display:flex;align-items:center;gap:10px;min-width:0}.zh-upscale-selector-icon{font-size:22px;display:flex;align-items:center}.zh-upscale-selector-text{display:flex;flex-direction:column;gap:2px;min-width:0}.zh-upscale-selector-title{font-size:17px;font-weight:600;color:#c9d1d9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zh-upscale-selector-sub{font-size:13px;color:#8b949e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zh-upscale-selector-arrow{font-size:16px;color:#484f58;transition:transform .2s}.zh-upscale-selector-arrow.open{transform:rotate(180deg);color:#58a6ff}.zh-upscale-dropdown{position:relative;background:#1c2128;border:1px solid #30363d;border-radius:8px;overflow:hidden;margin-top:-4px;z-index:50;box-shadow:0 8px 24px #0006;min-width:220px}.zh-upscale-dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none}.zh-upscale-dropdown-item.disabled:hover{background:transparent}.zh-upscale-dropdown-item:hover{background:#58a6ff14}.zh-upscale-dropdown-item.active{background:#58a6ff1f}.zh-upscale-dropdown-item-icon{font-size:18px;width:28px;display:flex;align-items:center;justify-content:center}.zh-upscale-dropdown-item-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.zh-upscale-dropdown-item-label{font-size:17px;color:#c9d1d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-upscale-dropdown-item-sub{font-size:13px;color:#8b949e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-upscale-dropdown-check{color:#58a6ff;font-size:16px;font-weight:600}.zh-upscale-dropdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49}.zh-upscale-btn-group{display:flex;gap:6px}.zh-upscale-btn-group.multi-row{display:grid;grid-template-columns:repeat(3,1fr)}.zh-upscale-btn-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:#ffffff05;border:1px solid #30363d;border-radius:8px;color:#8b949e;font-size:16px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.zh-upscale-btn-option:hover{border-color:#58a6ff;background:#58a6ff0d;color:#c9d1d9}.zh-upscale-btn-option.active{border-color:#58a6ff;background:#58a6ff1f;color:#58a6ff;font-weight:600}.zh-upscale-btn-option-sub{font-size:12px;color:inherit;opacity:.6}.zh-upscale-prompt-header{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.zh-upscale-prompt-toggle{font-size:10px;color:#484f58}.zh-upscale-fullscreen-btn{margin-left:auto;padding:2px 4px;background:none;border:none;color:#484f58;cursor:pointer;border-radius:4px;transition:all .15s}.zh-upscale-fullscreen-btn:hover{color:#58a6ff;background:#58a6ff1a}.zh-upscale-textarea{width:100%;padding:10px 12px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:12px;line-height:1.5;resize:vertical;outline:none;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.zh-upscale-textarea:hover{border-color:#484f58}.zh-upscale-textarea:focus{border-color:#58a6ff;box-shadow:0 0 0 2px #58a6ff26}.zh-upscale-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center}.zh-upscale-fullscreen-modal{width:80vw;max-width:640px;max-height:80vh;background:#161b22;border:1px solid #30363d;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.zh-upscale-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #21262d;color:#c9d1d9;font-size:14px;font-weight:600}.zh-upscale-fullscreen-header button{padding:6px 16px;background:#238636;border:none;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;transition:background .2s}.zh-upscale-fullscreen-header button:hover{background:#2ea043}.zh-upscale-fullscreen-textarea{flex:1;padding:16px;background:#0d1117;border:none;color:#c9d1d9;font-size:13px;line-height:1.6;resize:none;outline:none;font-family:inherit;min-height:250px}.zh-upscale-workflow-hint{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;color:#484f58;font-size:14px;border-top:1px solid #21262d;border-bottom:1px solid #21262d}.zh-upscale-info{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#ffffff05;border:1px solid #21262d;border-radius:8px}.zh-upscale-info-icon{font-size:15px;color:#8b949e;flex-shrink:0;margin-top:1px}.zh-upscale-info-text{display:flex;flex-direction:column;gap:2px;font-size:15px;color:#8b949e}.zh-upscale-info-hint{font-size:13px;color:#484f58}.zh-upscale-start-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 20px;background:linear-gradient(135deg,#58a6ff,#388bfd);border:none;border-radius:8px;color:#fff;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s}.zh-upscale-start-btn:hover:not(:disabled){background:linear-gradient(135deg,#79b8ff,#58a6ff);transform:translateY(-1px);box-shadow:0 4px 12px #58a6ff4d}.zh-upscale-start-btn:disabled{background:#21262d;color:#484f58;cursor:not-allowed;transform:none;box-shadow:none}.zh-upscale-task-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:8px;padding:0 6px;background:#ffffff40;border-radius:11px;font-size:13px;font-weight:700;color:#fff}.zh-style-transfer-node{background:#161b22;border:1px solid #30363d;border-radius:8px;overflow:visible}.zh-style-transfer-content{display:flex;flex-direction:column;gap:12px;padding:16px}.zh-style-transfer-title{font-size:18px;font-weight:600;color:#c9d1d9;display:flex;align-items:center;gap:8px}.zh-style-transfer-title-dot{color:#a78bfa;font-size:14px}.zh-style-transfer-refs{display:flex;flex-wrap:wrap;gap:8px}.zh-style-transfer-ref-item{position:relative;width:56px;height:56px;flex-shrink:0;border-radius:8px;border:1px solid #30363d;overflow:hidden;background:#0d1117}.zh-style-transfer-ref-img{width:100%;height:100%;object-fit:cover}.zh-style-transfer-ref-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;color:#484f58;font-size:9px;cursor:default}.zh-style-transfer-ref-upload{cursor:pointer;transition:border-color .15s;width:auto!important;min-width:56px;padding:0 8px;white-space:nowrap}.zh-style-transfer-ref-upload:hover{border-color:#a78bfa;color:#8b949e}.zh-style-transfer-ref-label{position:absolute;bottom:0;left:0;right:0;background:#000c;color:#c9d1d9;font-size:8px;text-align:center;padding:1px 0}.zh-style-transfer-ref-replace{position:absolute;top:0;right:0;background:#0009;color:#fff;border:none;font-size:10px;padding:0 3px;cursor:pointer;line-height:1.2}.zh-style-transfer-ref-replace:hover{background:#000000e6}.zh-style-transfer-hidden-input{display:none}.zh-mv-refs{display:flex;align-items:center;gap:6px}.zh-mv-slot{position:relative;flex:1;min-width:0;height:96px;border-radius:8px;border:1px solid #30363d;overflow:hidden;background:#0d1117}.zh-mv-slot-dragover{border-color:#a78bfa;box-shadow:0 0 0 2px #a78bfa40}.zh-mv-slot-src{margin-left:4px;padding:0 3px;border-radius:3px;background:#a78bfa40;color:#c9b3ff}.zh-mv-lock-hint{margin-left:8px;font-size:11px;font-weight:400;color:#ffb454;opacity:.85}.zh-mv-batch{margin-top:8px;padding:8px;border-radius:8px;border:1px solid #30363d;background:#0d111799}.zh-mv-batch-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:11px;color:#8b949e}.zh-mv-batch-add{flex-shrink:0;padding:2px 8px;border:1px solid #30363d;border-radius:4px;background:transparent;color:#a78bfa;font-size:11px;cursor:pointer}.zh-mv-batch-add:hover{border-color:#a78bfa;background:#a78bfa1f}.zh-mv-batch-grid{display:flex;flex-wrap:wrap;gap:6px}.zh-mv-batch-item{position:relative;width:56px;height:56px;border-radius:6px;overflow:hidden;border:1px solid #30363d}.zh-mv-batch-item img{width:100%;height:100%;object-fit:cover;display:block}.zh-mv-batch-idx{position:absolute;left:2px;bottom:2px;min-width:14px;height:14px;padding:0 3px;display:flex;align-items:center;justify-content:center;border-radius:3px;background:#000000a6;color:#fff;font-size:10px;line-height:1}.zh-mv-batch-del{position:absolute;top:1px;right:1px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:none;border-radius:3px;background:#000000a6;color:#ff7b72;font-size:11px;line-height:1;cursor:pointer}.zh-mv-batch-del:hover{background:#f85149d9;color:#fff}.zh-mv-batch-src{position:absolute;top:1px;left:1px;padding:0 3px;border-radius:3px;background:#58a6ffcc;color:#fff;font-size:9px;line-height:14px}.zh-mv-swap-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid #30363d;background:#161b22;color:#8b949e;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.zh-mv-swap-btn:hover,.zh-mv-swap-btn.is-on{border-color:#a78bfa;color:#c9b3ff}.zh-mv-swap-btn.is-on{background:#a78bfa1f}.zh-mv-negative-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:#8b949e;font-size:11px;cursor:pointer;padding:2px 0}.zh-mv-negative-toggle:hover{color:#c9d1d9}.zh-inpaint-mask-actions{position:absolute;top:0;right:0;display:flex;gap:2px}.zh-inpaint-mask-btn{background:#0009;color:#fff;border:none;font-size:10px;padding:1px 5px;cursor:pointer;line-height:1.4;border-radius:2px}.zh-inpaint-mask-btn:hover{background:#000000e6}.zh-inpaint-mask-btn-danger:hover{background:#dc3545cc}.zh-inpaint-anno-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 2px;padding:6px 8px;border:1px solid rgba(124,92,255,.35);border-radius:6px;background:#7c5cff1a}.zh-inpaint-anno-toggle-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#c4b5fd;cursor:pointer;-webkit-user-select:none;user-select:none}.zh-inpaint-anno-toggle-label input{cursor:pointer;accent-color:#7c5cff}.zh-inpaint-anno-thumb{width:34px;height:34px;object-fit:cover;border-radius:4px;border:1px solid rgba(255,255,255,.2);cursor:pointer}.zh-inpaint-edit-mask-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:6px 10px;margin-bottom:8px;background:#00b4d814;border:1px dashed rgba(0,180,216,.3);border-radius:6px;color:#58a6ff;font-size:12px;cursor:pointer;transition:background .15s ease}.zh-inpaint-edit-mask-btn:hover{background:#00b4d826}.zh-style-transfer-desc{font-size:12px;color:#8b949e;line-height:1.4}.zh-style-transfer-row{display:flex;gap:8px}.zh-style-transfer-checkbox{accent-color:#a78bfa;width:14px;height:14px;margin:0;cursor:pointer}.zh-style-transfer-checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#8b949e;cursor:pointer;-webkit-user-select:none;user-select:none}.zh-style-transfer-dims{font-size:12px;color:#484f58;text-align:right}.zh-style-transfer-field{display:flex;flex-direction:column;gap:6px}.zh-style-transfer-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#8b949e}.zh-style-transfer-weight-val{font-size:12px;color:#a78bfa;font-weight:600;min-width:32px;text-align:right}.zh-style-transfer-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:#30363d;outline:none;cursor:pointer}.zh-style-transfer-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#a78bfa;border:2px solid #21262d;cursor:pointer;box-shadow:0 0 0 1px #30363d}.zh-style-transfer-slider::-webkit-slider-thumb:hover{background:#c4b5fd}.zh-style-transfer-slider-labels{display:flex;justify-content:space-between;font-size:10px;color:#484f58}.zh-style-transfer-textarea-wrapper{position:relative}.zh-style-transfer-textarea{width:100%;min-height:60px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:13px;padding:8px 34px 8px 10px;resize:vertical;outline:none;font-family:inherit}.zh-style-transfer-textarea:focus{border-color:#a78bfa}.zh-style-transfer-textarea::placeholder{color:#484f58}.zh-style-transfer-fullscreen-btn{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:#ffffff0f;border-radius:4px;color:#8b949e;cursor:pointer;transition:all .15s}.zh-style-transfer-fullscreen-btn:hover{color:#c9d1d9;background:#ffffff1f}.zh-style-transfer-start-btn{display:flex;align-items:center;justify-content:center;padding:10px 16px;background:linear-gradient(135deg,#7c3aed,#a78bfa);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;gap:6px}.zh-style-transfer-start-btn:hover:not(:disabled){opacity:.92;transform:scale(1.01)}.zh-style-transfer-start-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.zh-style-transfer-task-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:8px;padding:0 6px;background:#ffffff40;border-radius:11px;font-size:13px;font-weight:700;color:#fff}.zh-ltc-params-row{display:flex;gap:8px;flex-wrap:wrap}.zh-ltc-params-row .zh-upscale-field{flex:1;min-width:100px}.zh-ltc-footer{display:flex;flex-direction:column;gap:6px;margin-top:4px}.zh-ltc-footer-row{display:flex;gap:12px;align-items:stretch}.zh-ltc-footer-row .zh-upscale-field{flex:1 1 130px;min-width:130px}.zh-ltc-footer .zh-upscale-btn-group{margin-bottom:0;flex-shrink:0}.zh-ltc-footer .zh-style-transfer-start-btn{flex-shrink:0}.zh-ltc-template-row{display:flex;gap:8px;align-items:flex-end;margin-top:4px}.zh-ltc-template-row .zh-upscale-field{flex:1;min-width:0}.zh-ltc-slider-row{display:flex;align-items:center;gap:10px;padding:4px 0}.zh-ltc-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:#3a3f4a;border-radius:2px;outline:none;cursor:pointer}.zh-ltc-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#4a9eff;border:2px solid #1a1c24;cursor:pointer}.zh-ltc-slider-val{min-width:36px;text-align:right;font-size:12px;font-weight:600;color:#8b949e}.zh-inpaint-dims-sep{margin:0 6px;color:#484f58}.zh-ided-fixed-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;background:#000000eb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;overflow:hidden}.zh-ided-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#8b949e;font-size:16px}.zh-ided-layout{display:flex;min-height:0;flex:1}.zh-ided-canvas-area{position:relative;min-width:0;flex:1;overflow:hidden}.zh-ided-canvas-stack{position:absolute;top:0;left:0;will-change:transform;box-shadow:0 20px 60px #00000073}.zh-ided-canvas-base{display:block;pointer-events:none}.zh-ided-canvas-draw{position:absolute;top:0;left:0;touch-action:none}.zh-ided-svg-overlay{pointer-events:none}.zh-ided-close-btn{position:absolute;left:20px;top:20px;z-index:50;border-radius:50%;border:1px solid #27272a;background:#18181bcc;padding:12px;color:#a1a1aa;box-shadow:0 12px 30px #00000059;transition:color .15s,background .15s;cursor:pointer;line-height:0}.zh-ided-close-btn:hover{background:#27272a;color:#fff}.zh-ided-region-label{position:absolute;transform:translate(-18%,-18%);min-width:20px;height:20px;border-radius:50%;border:1px solid;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 6px 14px #00000059;pointer-events:auto;z-index:10}.zh-ided-toolbar{position:absolute;left:50%;top:20px;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:4px;padding:12px 16px;border-radius:1.6rem;border:1px solid rgba(255,255,255,.1);background:#09090beb;box-shadow:0 20px 60px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.zh-ided-toolbar-group{display:flex;align-items:center;gap:2px;padding:2px;border-radius:1rem;background:#ffffff0a}.zh-ided-mode-btn{height:40px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:4px;border:none;border-radius:.75rem;background:transparent;color:#d4d4d8;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.zh-ided-mode-btn:hover{background:#ffffff14;color:#fff}.zh-ided-toolbar-sep{width:1px;height:32px;background:#ffffff1a}.zh-ided-toolbar-brushsize{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:1rem;background:#ffffff0a;min-width:168px}.zh-ided-toolbar-brushsize span{font-size:11px;font-weight:500;color:#a1a1aa}.zh-ided-toolbar-brushsize input[type=range]{flex:1;height:6px;accent-color:#fff}.zh-ided-brushsize-val{width:40px;text-align:right;font-family:monospace;font-size:11px;color:#a1a1aa}.zh-ided-toolbar-colors{display:flex;align-items:center;gap:6px}.zh-ided-color-dot{width:16px;height:16px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.zh-ided-zoom-btn{height:40px;min-width:3.25rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#d4d4d8;font-size:11px;cursor:pointer;transition:background .15s}.zh-ided-zoom-btn:hover{background:#ffffff1a}.zh-ided-zoom-pct{width:48px;text-align:center;font-family:monospace;font-size:11px;color:#a1a1aa}.zh-ided-hint{position:absolute;top:90px;left:50%;transform:translate(-50%);z-index:50;border-radius:2rem;border:1px solid rgba(255,255,255,.1);background:#0000008c;padding:6px 16px;font-size:11px;color:#a1a1aa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.zh-ided-hint button{pointer-events:auto;cursor:pointer}.zh-ided-mode-tabs{display:inline-flex;gap:4px;padding:3px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.zh-ided-mode-tab{padding:4px 12px;border-radius:7px;font-size:12px;color:#a1a1aa;background:transparent;border:none;cursor:pointer;transition:all .15s;white-space:nowrap}.zh-ided-mode-tab:hover{color:#fff;background:#ffffff14}.zh-ided-mode-tab.active{color:#fff;background:#3b82f6d9;font-weight:600}.zh-ided-free-wrap{display:flex;flex-direction:column;gap:10px;padding:4px 2px}.zh-ided-free-wrap .zh-ided-instruction-wrap{align-items:stretch}.zh-ided-free-textarea{min-height:180px;resize:vertical;line-height:1.6}.zh-ided-free-hint{font-size:11px;color:#71717a;line-height:1.6;padding:8px 10px;border-radius:8px;background:#ffffff0a;border:1px dashed rgba(255,255,255,.12)}.zh-ided-sidebar{width:min(360px,38vw);flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.1);background:#09090bf2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.zh-ided-sidebar-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.zh-ided-sidebar-header span{display:block;font-size:14px;font-weight:600;color:#fff}.zh-ided-sidebar-sub{margin-top:2px;font-size:11px!important;font-weight:400!important;color:#71717a!important}.zh-ided-sidebar-body{flex:1;min-height:0;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.zh-ided-sidebar-empty{border-radius:.75rem;border:1px dashed rgba(255,255,255,.1);background:#0003;padding:12px;text-align:center;font-size:11px;color:#71717a;line-height:1.5}.zh-ided-region-list-label{display:flex;justify-content:space-between;align-items:center;padding:0 2px;font-size:11px;font-weight:600;color:#d4d4d8}.zh-ided-region-list-hint{font-size:10px;font-weight:400;color:#71717a}.zh-ided-region-chips{display:flex;flex-wrap:wrap;gap:10px}.zh-ided-region-chip-wrap{position:relative}.zh-ided-region-chip{height:40px;min-width:40px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff1a;padding:0 12px;font-size:14px;font-weight:800;color:#e4e4e7;cursor:pointer;transition:all .15s}.zh-ided-region-chip:hover{background:#ffffff26}.zh-ided-region-chip.active{border-color:#fff;background:#fff;color:#18181b;box-shadow:0 0 0 2px #ffffff59}.zh-ided-region-chip-del{position:absolute;left:-8px;top:-8px;z-index:10;width:20px;height:20px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#18181bf2;color:#d4d4d8;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}.zh-ided-region-chip-del:hover{border-color:#ef444466;background:#ef4444e6;color:#fff}.zh-ided-region-editor{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.zh-ided-editmode-label{font-size:11px;font-weight:600;color:#d4d4d8}.zh-ided-editmode-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.zh-ided-editmode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 6px;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:#00000059;color:#a1a1aa;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.zh-ided-editmode-btn:hover{border-color:#fff3;background:#ffffff0f;color:#e4e4e7}.zh-ided-editmode-btn.active{border-color:#34d3998c;background:#34d39926;color:#d1fae5}.zh-ided-instruction-label{font-size:11px;font-weight:600;color:#d4d4d8}.zh-ided-instruction-wrap{position:relative;display:flex;flex:1;min-height:0}.zh-ided-instruction-textarea{width:100%;flex:1;min-height:220px;resize:none;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:#00000073;padding:12px 48px 12px 16px;font-size:14px;color:#e4e4e7;outline:none;line-height:1.5}.zh-ided-instruction-textarea::placeholder{color:#52525b}.zh-ided-instruction-textarea:focus{border-color:#818cf899}.zh-ided-instruction-refbtn{position:absolute;bottom:12px;right:12px;width:36px;height:36px;border-radius:.75rem;border:1px dashed rgba(255,255,255,.15);background:#0000008c;color:#d4d4d8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.zh-ided-instruction-refbtn:hover{border-color:#ffffff4d;background:#ffffff14}.zh-ided-instruction-refbtn:disabled{opacity:.45;cursor:not-allowed}.zh-ided-refimgs{display:flex;flex-wrap:wrap;gap:8px}.zh-ided-refimg-item{position:relative;width:44px;height:44px;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);overflow:hidden;background:#00000073}.zh-ided-refimg-item img{width:100%;height:100%;object-fit:cover}.zh-ided-refimg-remove{position:absolute;right:0;top:0;border:none;background:#000000b3;color:#fff;font-size:10px;padding:0 3px;cursor:pointer;border-bottom-left-radius:.5rem;opacity:0;transition:opacity .15s;line-height:1.2}.zh-ided-refimg-item:hover .zh-ided-refimg-remove{opacity:1}.zh-ided-sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}.zh-ided-footer-hint{margin-bottom:8px;font-size:10px;color:#71717a;line-height:1.4}.zh-ided-footer-btns{display:flex;gap:8px}.zh-ided-footer-save{flex:1;height:36px;border-radius:2rem;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#d4d4d8;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .15s}.zh-ided-footer-save:hover{background:#ffffff1f;color:#fff}.zh-ided-footer-generate{flex:1;height:36px;border-radius:2rem;border:none;background:#fff;color:#18181b;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .15s;box-shadow:0 4px 12px #ffffff1a}.zh-ided-footer-generate:hover{background:#e4e4e7}.zh-ided-footer-generate:disabled{background:#3f3f46;color:#a1a1aa;box-shadow:none;cursor:not-allowed}.zh-style-transfer-workflow-hint{display:flex;align-items:center;gap:6px;font-size:11px;color:#484f58;line-height:1.5}[data-theme=light] .zh-style-transfer-node{background:#fff;border-color:#d1d9e0}[data-theme=light] .zh-style-transfer-container{background:#fff}[data-theme=light] .zh-style-transfer-title{color:#24292f}[data-theme=light] .zh-style-transfer-ref-item,[data-theme=light] .zh-mv-slot{background:#f6f8fa;border-color:#d0d7de}[data-theme=light] .zh-mv-batch{background:#f6f8fab3;border-color:#d0d7de}[data-theme=light] .zh-mv-batch-head{color:#57606a}[data-theme=light] .zh-mv-batch-add{border-color:#d0d7de;color:#6b3fd4}[data-theme=light] .zh-mv-batch-add:hover{border-color:#6b3fd4;background:#6b3fd414}[data-theme=light] .zh-mv-batch-item{border-color:#d0d7de}[data-theme=light] .zh-mv-swap-btn{background:#f6f8fa;border-color:#d0d7de;color:#57606a}[data-theme=light] .zh-mv-swap-btn:hover,[data-theme=light] .zh-mv-swap-btn.is-on{border-color:#7c5ce0;color:#6b3fd4}[data-theme=light] .zh-mv-negative-toggle{color:#57606a}[data-theme=light] .zh-mv-negative-toggle:hover{color:#24292f}[data-theme=light] .zh-style-transfer-desc,[data-theme=light] .zh-style-transfer-checkbox-label{color:#57606a}[data-theme=light] .zh-style-transfer-textarea{background:#fff;border-color:#d0d7de;color:#24292f}[data-theme=light] .zh-style-transfer-slider{background:#d0d7de}.zh-upload-floating-toolbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:0;width:640px;max-width:calc(100vw - 48px);background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 8px 32px #00000080;z-index:1000;transition:opacity .2s,transform .2s;overflow:hidden}.zh-upload-floating-toolbar.entering{opacity:0;transform:translate(-50%) translateY(10px)}.zh-upload-floating-toolbar.visible{opacity:1;transform:translate(-50%) translateY(0)}.zh-upload-toolbar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px}.zh-upload-toolbar-header-left{display:flex;gap:6px}.zh-upload-toolbar-add-btn,.zh-upload-toolbar-reverse-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #30363d;border-radius:4px;background:#21262d;color:#c9d1d9;font-size:12px;cursor:pointer;transition:border-color .15s}.zh-upload-toolbar-add-btn:hover,.zh-upload-toolbar-reverse-btn:hover{border-color:#58a6ff}.zh-upload-toolbar-fullscreen-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #30363d;border-radius:4px;background:#21262d;color:#8b949e;cursor:pointer;transition:all .15s}.zh-upload-toolbar-fullscreen-btn:hover{color:#c9d1d9;border-color:#58a6ff}.zh-upload-toolbar-addmenu{padding:0 12px}.zh-upload-toolbar-textarea{margin:6px 12px;padding:8px 10px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:13px;font-family:inherit;resize:vertical;outline:none;min-height:56px}.zh-upload-toolbar-textarea:focus{border-color:#58a6ff}.zh-upload-toolbar-textarea::placeholder{color:#484f58}.zh-anno-ref-toggle{display:flex;align-items:center;gap:6px;margin:0 12px 6px;font-size:11px;color:#8b949e;cursor:pointer;-webkit-user-select:none;user-select:none}.zh-anno-ref-toggle input{accent-color:#ff3b30;flex:0 0 auto}[data-theme=light] .zh-anno-ref-toggle{color:#656d76}.zh-upload-toolbar-refs{display:flex;flex-wrap:wrap;gap:6px;padding:4px 12px 8px}.zh-upload-toolbar-ref-item{position:relative;width:40px;height:40px;border-radius:4px;overflow:hidden;border:1px solid #30363d}.zh-upload-toolbar-ref-item img{width:100%;height:100%;object-fit:cover}.zh-upload-toolbar-ref-remove{position:absolute;top:0;right:0;background:#000000b3;color:#fff;border:none;font-size:10px;padding:0 3px;cursor:pointer;line-height:1.2}.zh-upload-toolbar-ref-remove:hover{background:#f85149cc}.zh-upload-toolbar-ref-index{position:absolute;top:0;left:0;background:#4a9effeb;color:#fff;font-size:9px;font-weight:700;padding:0 4px;border-radius:3px 0 4px;line-height:1.5;pointer-events:none}.zh-upload-toolbar-refs.drag-over{outline:1.5px dashed #4a9eff;outline-offset:-4px;border-radius:6px;background:#4a9eff0f}.zh-upload-toolbar-ref-empty{width:100%;padding:10px 0;text-align:center;font-size:11px;color:#484f58;border:1px dashed #30363d;border-radius:6px;pointer-events:none}.zh-at-menu{position:absolute;left:12px;top:76px;z-index:40;background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 8px 24px #00000080;padding:4px;min-width:160px;max-height:260px;overflow-y:auto}.zh-at-menu-title{font-size:10px;color:#484f58;padding:4px 8px 2px}.zh-at-menu-empty{font-size:11px;color:#6e7681;padding:6px 8px}.zh-at-menu-item{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;color:#c9d1d9;font-size:12px;padding:4px 8px;cursor:pointer;border-radius:5px;text-align:left}.zh-at-menu-item:hover{background:#4a9eff26}.zh-pick-hint{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:60;background:#1f6febeb;color:#fff;font-size:12px;padding:7px 14px;border-radius:999px;box-shadow:0 6px 18px #0006;pointer-events:none;white-space:nowrap}.canvas-area.zh-picking,.canvas-area.zh-picking *{cursor:crosshair!important}.zh-at-menu-item img{width:26px;height:26px;object-fit:cover;border-radius:3px}.zh-upload-toolbar-footer{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid #30363d;background:#0003;border-radius:0 0 12px 12px}.zh-upload-toolbar-footer .zh-model-picker{flex:1;min-width:140px}[data-theme=light] .zh-upload-floating-toolbar{background:#fff;border-color:#d1d9e0;box-shadow:0 8px 32px #0000001f}[data-theme=light] .zh-upload-toolbar-add-btn,[data-theme=light] .zh-upload-toolbar-reverse-btn,[data-theme=light] .zh-upload-toolbar-fullscreen-btn{background:#f6f8fa;border-color:#d0d7de;color:#24292f}[data-theme=light] .zh-upload-toolbar-textarea{background:#fff;border-color:#d0d7de;color:#24292f}[data-theme=light] .zh-upload-toolbar-footer{background:#f6f8fa;border-color:#d0d7de}.zh-image-toolbar{position:absolute;top:6px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:4px 6px;background:#161b22f0;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 4px 16px #0006;z-index:10;opacity:0;transition:opacity .15s;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.zh-output:hover .zh-image-toolbar,.zh-output-upload:hover .zh-image-toolbar{opacity:1;pointer-events:auto}.zh-image-toolbar-btn{display:flex;align-items:center;gap:5px;padding:5px 9px;border:none;border-radius:7px;background:transparent;color:#c9d1d9;font-size:11px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.zh-image-toolbar-btn:hover{background:#ffffff1a;color:#fff}.zh-image-toolbar-sep{width:1px;height:18px;background:#ffffff1f;margin:0 2px}.zh-image-toolbar-del:hover{background:#ef444426;color:#f87171}.zh-upload-template-menu{position:fixed!important;bottom:220px!important;left:50%!important;transform:translate(-50%)!important;z-index:1001}.iv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#000000f2;display:flex;align-items:center;justify-content:center;cursor:default}.iv-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:#ffffff26;border:none;color:#fff;font-size:20px;cursor:pointer;z-index:100;display:flex;align-items:center;justify-content:center;transition:background .2s}.iv-close:hover{background:#ffffff4d}.iv-zoom-badge{position:absolute;bottom:20px;right:20px;padding:4px 12px;border-radius:12px;background:#ffffff1f;color:#ccc;font-size:14px;font-weight:600;z-index:100;pointer-events:none;font-variant-numeric:tabular-nums}.iv-hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#ffffff4d;font-size:12px;z-index:100;pointer-events:none}.iv-info{position:absolute;top:24px;padding:4px 12px;border-radius:6px;background:#ffffff14;color:#fff9;font-size:13px;z-index:100;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.iv-info-single{left:24px}.iv-info-compare-row{position:absolute;top:24px;left:0;right:0;display:flex;justify-content:space-between;padding:0 24px;z-index:100;pointer-events:none}.iv-info-left,.iv-info-right{padding:4px 12px;border-radius:6px;background:#ffffff14;color:#fff9;font-size:13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.iv-viewport{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab}.iv-viewport:active{cursor:grabbing}.iv-img-single{max-width:90vw;max-height:90vh;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.iv-compare-vp{width:100vw;height:100vh;overflow:hidden;cursor:grab;position:relative}.iv-compare-vp:active{cursor:grabbing}.iv-compare-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.iv-compare-clip{position:absolute;top:0;left:0;height:100%;overflow:hidden;z-index:2}.iv-slider{position:absolute;top:0;transform:translate(-50%);width:2px;height:100%;background:#fffffff2;cursor:ew-resize;z-index:20;box-shadow:0 0 4px #0009}.iv-slider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:#4a9eff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 6px #00000080;cursor:ew-resize}.zh-node{position:relative}.zh-node-resize-handle{position:absolute;width:36px;height:36px;z-index:50;opacity:.5;transition:opacity .15s;display:flex;align-items:flex-start;justify-content:flex-start}.zh-node-resize-handle:after{content:"";display:block;width:16px;height:16px;border-style:solid;border-color:#c8ced6e6;pointer-events:none}.zh-resize-tl{left:-18px;top:-18px}.zh-resize-tl:after{border-width:3px 0 0 3px;border-top-left-radius:14px}.zh-resize-tr{right:-18px;top:-18px;align-items:flex-start;justify-content:flex-end}.zh-resize-tr:after{border-width:3px 3px 0 0;border-top-right-radius:14px}.zh-resize-bl{left:-18px;bottom:-18px;align-items:flex-end;justify-content:flex-start}.zh-resize-bl:after{border-width:0 0 3px 3px;border-bottom-left-radius:14px}.zh-resize-br{right:-18px;bottom:-18px;align-items:flex-end;justify-content:flex-end}.zh-resize-br:after{border-width:0 3px 3px 0;border-bottom-right-radius:14px}.zh-node-resize-handle{opacity:0;pointer-events:none}.zh-node.selected .zh-node-resize-handle{opacity:1;pointer-events:auto}.zh-node-resize-handle:hover{opacity:1}.zh-node-resize-handle:hover:after{border-color:#4a9eff}.zh-text-node .zh-node-resize-handle,.zh-group-node .zh-node-resize-handle{display:none}.zh-imginput-node:hover,.zh-gen-node:hover{box-shadow:none}.zh-imginput-node .zh-node-bar,.zh-gen-node .zh-node-bar{position:absolute;left:0;right:0;bottom:calc(100% + 12px);display:none;align-items:center;gap:0;padding:0;background:transparent;border:none;border-radius:0;pointer-events:none;z-index:80;user-select:none;-webkit-user-select:none}.zh-imginput-node.selected .zh-node-bar,.zh-gen-node.selected .zh-node-bar{display:flex}.zh-imginput-node .zh-bar-label,.zh-gen-node .zh-bar-label{pointer-events:auto;flex:none;gap:6px;font-size:13px;font-weight:600;color:#8a919d;letter-spacing:.5px;text-shadow:0 1px 4px rgba(0,0,0,.8)}.zh-imginput-node .zh-bar-icon,.zh-gen-node .zh-bar-icon{width:15px;height:15px;color:#8a919d}.zh-imginput-node .zh-bar-tools,.zh-gen-node .zh-bar-tools{position:absolute;left:50%;transform:translate(-50%);margin-left:0;pointer-events:auto;gap:2px;padding:5px 10px;background:#1e2026f5;border:1px solid rgba(255,255,255,.1);border-radius:999px;box-shadow:0 10px 32px #0000008c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);white-space:nowrap}.zh-imginput-node .zh-bar-btn,.zh-gen-node .zh-bar-btn{color:#b6bcc7}.zh-imginput-node .zh-bar-btn:hover,.zh-gen-node .zh-bar-btn:hover{background:#ffffff1a;color:#fff}.zh-imginput-node .zh-bar-dims,.zh-gen-node .zh-bar-dims{margin-left:auto;flex:none;pointer-events:none;font-size:13px;font-weight:600;color:#8a919d;letter-spacing:.5px;text-shadow:0 1px 4px rgba(0,0,0,.8)}.zh-imginput-node.selected .zh-node-resize-handle:after,.zh-gen-node.selected .zh-node-resize-handle:after{border-color:#e1e6eef2}.zh-imginput-node .zh-output,.zh-gen-node .zh-output{border-radius:12px}.zh-imginput-node .zh-output:has(img),.zh-gen-node .zh-output:has(img){min-height:0}.zh-scene-collapsed .zh-upscale-field,.zh-scene-expanded .zh-upscale-field,.zh-footer .zh-upscale-field,.zh-upload-toolbar-footer .zh-upscale-field{flex:1 1 110px;min-width:100px;gap:2px}.zh-scene-collapsed .zh-model-field,.zh-scene-expanded .zh-model-field,.zh-footer .zh-model-field,.zh-upload-toolbar-footer .zh-model-field{flex:1.4 1 175px;min-width:160px}.zh-scene-collapsed .zh-upscale-selector,.zh-scene-expanded .zh-upscale-selector,.zh-footer .zh-upscale-selector,.zh-upload-toolbar-footer .zh-upscale-selector{padding:4px 8px;border-radius:4px;gap:8px}.zh-scene-collapsed .zh-upscale-selector-left,.zh-scene-expanded .zh-upscale-selector-left,.zh-footer .zh-upscale-selector-left,.zh-upload-toolbar-footer .zh-upscale-selector-left{gap:6px;min-width:0}.zh-scene-collapsed .zh-upscale-selector-text,.zh-scene-expanded .zh-upscale-selector-text,.zh-footer .zh-upscale-selector-text,.zh-upload-toolbar-footer .zh-upscale-selector-text{min-width:0}.zh-scene-collapsed .zh-upscale-selector-title,.zh-scene-expanded .zh-upscale-selector-title,.zh-footer .zh-upscale-selector-title,.zh-upload-toolbar-footer .zh-upscale-selector-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-scene-collapsed .zh-upscale-selector-sub,.zh-scene-expanded .zh-upscale-selector-sub,.zh-footer .zh-upscale-selector-sub,.zh-upload-toolbar-footer .zh-upscale-selector-sub{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zh-scene-collapsed .zh-upscale-selector-icon svg,.zh-scene-expanded .zh-upscale-selector-icon svg,.zh-footer .zh-upscale-selector-icon svg,.zh-upload-toolbar-footer .zh-upscale-selector-icon svg{width:16px;height:16px}.zh-scene-collapsed .zh-upscale-selector-arrow,.zh-scene-expanded .zh-upscale-selector-arrow,.zh-footer .zh-upscale-selector-arrow,.zh-upload-toolbar-footer .zh-upscale-selector-arrow{font-size:12px}body>.zh-upscale-dropdown{min-width:200px;z-index:10001;box-shadow:0 12px 32px #0000008c}.zh-auth-modal{width:380px}.zh-auth-body{display:flex;flex-direction:column;gap:14px;padding:24px}.zh-auth-form{display:flex;flex-direction:column;gap:14px}.zh-auth-field{display:flex;flex-direction:column;gap:6px}.zh-auth-field span{font-size:12px;color:var(--text-secondary)}.zh-auth-pwd-wrap{position:relative}.zh-auth-pwd-wrap .zh-auth-input{padding-right:40px}.zh-auth-pwd-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;color:var(--text-secondary);cursor:pointer}.zh-auth-pwd-eye:hover{color:var(--text-primary)}.zh-auth-btn:disabled{opacity:.45;cursor:default}.zh-auth-checkin-msg{text-align:center;font-size:12px;color:var(--text-secondary)}.zh-auth-input{width:100%;box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);padding:10px 12px;font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color var(--transition-fast)}.zh-auth-input::placeholder{color:var(--text-muted)}.zh-auth-input:focus{border-color:var(--border-active)}.zh-auth-input:disabled{opacity:.5}.zh-auth-btn{width:100%;padding:11px 0;margin-top:2px;border:none;border-radius:var(--radius-lg);background:var(--text-primary);color:var(--bg-panel);font-size:14px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast)}.zh-auth-btn:hover:not(:disabled){filter:brightness(1.1)}.zh-auth-btn:disabled{opacity:.4;cursor:not-allowed}.zh-auth-error{background:var(--bg-danger);border:1px solid rgba(239,83,80,.35);color:var(--text-danger);font-size:12px;border-radius:var(--radius-md);padding:8px 10px;line-height:1.5}.zh-auth-success{background:var(--bg-success);border:1px solid var(--border-default);color:var(--text-primary);font-size:13px;text-align:center;border-radius:var(--radius-md);padding:14px 12px;line-height:1.8}.zh-auth-switch{font-size:12px;color:var(--text-muted);text-align:center}.zh-auth-switch button{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:12px;padding:0 2px}.zh-auth-switch button:hover{text-decoration:underline}.zh-auth-account-email{font-size:14px;color:var(--text-primary);text-align:center;word-break:break-all;padding:4px 0}.zh-auth-stats{display:flex;gap:10px}.zh-auth-stat{flex:1;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:14px 10px;text-align:center}.zh-auth-stat-value{font-size:20px;font-weight:600;color:#fff;margin-bottom:4px}.zh-auth-stat-value.zh-auth-stat-plan{font-size:14px;line-height:28px}.zh-auth-stat-label{font-size:11px;color:var(--text-muted)}.zh-auth-btn-danger{width:100%;padding:10px 0;margin-top:4px;border:1px solid rgba(239,83,80,.35);border-radius:var(--radius-lg);background:transparent;color:var(--text-danger);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast)}.zh-auth-btn-danger:hover{background:var(--bg-danger)}
