:root{--bg-primary:#0f0f14;--bg-secondary:#18181f;--bg-tertiary:#1e1e28;--bg-hover:#252532;--border:#2a2a3a;--border-light:#353548;--text-primary:#e8e8ef;--text-secondary:#9898ab;--text-muted:#5c5c72;--accent:#7c5cfc;--accent-hover:#6a4ae0;--accent-soft:#7c5cfc1f;--red:#ef4444;--green:#22c55e;--orange:#f59e0b;--radius-sm:8px;--radius-lg:12px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-primary);color:var(--text-primary);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:13px;line-height:1.5}a{color:var(--accent);text-decoration:none}button{font:inherit;color:inherit}#app-shell{height:100%}.home-page{place-items:center;min-height:100vh;padding:24px;display:grid}.home-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:32px}.home-title{margin:0 0 8px;font-size:24px;font-weight:600}.home-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:13px}.home-nav{flex-wrap:wrap;gap:8px;display:flex}.home-nav-link{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:8px 14px;font-size:13px;transition:background .12s}.home-nav-link:hover{background:var(--bg-hover)}.home-nav-link.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.simple-page{padding:24px}.app-shell-root{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-shell-main{flex:1;min-height:0;display:flex;overflow:hidden}.header-bar{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;align-items:center;gap:10px;height:40px;padding:0 14px;font-size:12px;display:flex}.header-logo{letter-spacing:.2px;color:var(--accent);font-size:13px;font-weight:600}.header-version-badge{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--green);border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;display:inline-flex}.header-caret{color:var(--text-muted);width:10px;height:10px}.header-autoprompt-pill{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c5cfc 0%,#b36cff 100%);border:none;border-radius:999px;height:24px;padding:0 12px;font-size:11px;font-weight:600}.header-autoprompt-pill:disabled,.header-folder-btn:disabled,.header-api-keys-btn:disabled{opacity:.75;cursor:not-allowed}.header-sep{background:var(--border);align-self:stretch;width:1px;margin:6px 2px}.header-shortcuts{color:var(--text-muted);margin-left:2px;font-size:11px}.header-combo{color:var(--text-secondary);margin-right:2px;font-weight:500}.header-spacer{flex:1}.header-folder-btn{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);height:26px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:inline-flex}.header-api-keys-btn{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.header-status{color:var(--text-muted);text-align:right;min-width:60px;font-size:11px}.header-nav-links{gap:2px;display:flex}.header-profile{position:relative}.header-avatar-btn{background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;border-radius:999px;place-items:center;width:28px;height:28px;padding:0;transition:border-color .15s,background .15s;display:inline-grid;overflow:hidden}.header-avatar-btn:hover,.header-avatar-btn.open{border-color:var(--accent);background:var(--accent-soft)}.header-avatar-image{object-fit:cover;width:100%;height:100%}.header-avatar-fallback{color:var(--text-primary);letter-spacing:.3px;font-size:11px;font-weight:700}.header-profile-menu{background:var(--bg-secondary);border:1px solid var(--border-light);z-index:40;border-radius:10px;flex-direction:column;gap:4px;width:230px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 34px #00000061}.header-profile-head{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:2px;padding:4px 6px 8px;display:flex}.header-profile-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.header-profile-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.header-profile-item{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:7px 8px;font-size:11px;text-decoration:none}.header-profile-item:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border)}.header-profile-item.danger{color:#fda4af}.header-profile-item.danger:hover{color:#fecdd3;background:#f43f5e1a;border-color:#f43f5e66}.header-profile-item:disabled{opacity:.65;cursor:not-allowed}.header-nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);padding:4px 10px;font-size:11px}.header-nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.header-nav-link.active{background:var(--accent-soft);color:var(--accent)}.sessions-panel{border-right:1px solid var(--border);background:#16161e;flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:80px;min-width:80px;padding:8px 6px;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sessions-panel.expanded{width:220px;min-width:220px}.sessions-toggle{width:100%;color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.8px;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:10px;font-weight:600;transition:color .15s;display:flex}.sessions-toggle:hover{color:var(--text-primary)}.sessions-toggle-chev{width:10px;height:10px;transition:transform .15s;transform:rotate(90deg)}.sessions-toggle-chev.expanded{transform:rotate(-90deg)}.sessions-toggle-label{letter-spacing:.8px}.sessions-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;align-items:stretch;gap:6px;width:100%;min-height:0;display:flex;overflow-y:auto}.sessions-empty{color:var(--text-muted);text-align:center;margin:12px 4px;font-size:11px;line-height:1.5}.session-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;width:100%;padding:4px;transition:all .15s;display:flex;position:relative}.sessions-panel.expanded .session-card{flex-wrap:wrap;align-items:flex-start}.sessions-panel:not(.expanded) .session-card{flex-direction:column;justify-content:center;align-items:center;gap:0}.sessions-panel:not(.expanded) .session-info,.sessions-panel:not(.expanded) .session-menu-btn{display:none!important}.session-card:hover{border-color:var(--border-light);background:var(--bg-hover)}.session-card.active{border-color:var(--accent);background:var(--accent-soft)}.session-thumb{border-radius:var(--radius);object-fit:cover;background:var(--bg-primary);width:42px;height:42px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid}.session-thumb-empty svg{width:22px;height:22px}.session-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex;overflow:hidden}.session-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.session-meta{color:var(--text-muted);white-space:nowrap;font-size:9px}.session-menu-btn{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:none;position:absolute;top:3px;right:3px}.session-card:hover .session-menu-btn{display:flex}.session-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.session-hist-wrap{border-top:1px solid #ffffff12;flex-direction:column;flex-basis:100%;gap:6px;width:100%;margin-top:6px;padding-top:6px;display:flex}.sh-header{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.sh-header>span:first-child{text-transform:uppercase;letter-spacing:.7px;color:#14b8a6;font-size:9px;font-weight:700}.sh-count{color:#14b8a6;background:#14b8a624;border-radius:999px;padding:3px 6px;font-size:9px;line-height:1}.sh-body{flex-direction:column;gap:4px;max-height:220px;padding-right:2px;display:flex;overflow-y:auto}.h-step{border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:8px;width:100%;padding:4px;transition:border-color .15s,background .15s;display:flex}.h-step:hover{border-color:var(--border-light);background:var(--bg-hover)}.h-step.viewing{border-color:var(--accent);background:var(--accent-soft)}.h-step-thumb{object-fit:cover;background:var(--bg-primary);border-radius:6px;flex-shrink:0;width:36px;height:36px}.h-step-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.h-step-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.h-step-model{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.session-add-btn{border-radius:var(--radius-lg);background:var(--accent-soft);border:1px dashed var(--border);width:100%;height:36px;color:var(--accent);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:all .15s;display:flex}.session-add-btn:hover{background:var(--accent);color:#fff;border-style:solid}.inpaint-panel{border-right:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;gap:10px;width:280px;min-width:280px;padding:16px 14px 14px;display:flex;position:relative;overflow-y:auto}.inpaint-section-header,.inpaint-pro-header{color:var(--accent);letter-spacing:1px;text-transform:uppercase;font-size:13px;font-weight:700}.inpaint-section-header{margin:0 0 6px}.inpaint-sub-label,.settings-section-label{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;font-size:10px;font-weight:600}.inpaint-sub-label{margin-top:0}.inpaint-prompt-area{border-radius:var(--radius-sm);background:var(--bg-primary);border:1px solid var(--border);min-height:160px;color:var(--text-primary);resize:vertical;padding:8px 10px;font-family:inherit;font-size:11px;line-height:1.4}.inpaint-prompt-area:focus,.inpaint-select:focus{border-color:var(--accent);outline:none}.inpaint-prompt-area::placeholder{color:var(--text-muted)}.inpaint-fixed-prompt-row{color:var(--text-muted);align-items:flex-start;gap:8px;font-size:10px;display:flex}.inpaint-fixed-prompt-row input[type=checkbox]{accent-color:var(--accent);margin-top:2px}.inpaint-fixed-prompt-row label{cursor:pointer;line-height:1.4}.inpaint-row{align-items:stretch;gap:6px;margin-bottom:2px;display:flex;position:relative}.inpaint-gear-btn{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;transition:all .2s;display:flex}.inpaint-gear-btn:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.inpaint-gear-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.inpaint-select{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);min-width:0;height:30px;color:var(--text-primary);appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;flex:1;padding:6px 24px 6px 8px;font-size:11px;font-weight:600}.inpaint-run-btn{border-radius:var(--radius-sm);background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;height:44px;margin-top:4px;font-size:13px;font-weight:600}.inpaint-run-btn:hover:not(:disabled){background:var(--accent-hover)}.inpaint-run-btn:disabled{opacity:.55;cursor:not-allowed}.inpaint-settings-summary{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.inpaint-chip{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:10px}.inpaint-divider{background:var(--border);height:1px;margin:6px 0}.inpaint-pro-header{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 0 0;transition:color .15s;display:flex}.inpaint-pro-header:hover{color:var(--accent-hover)}.inpaint-chev{color:var(--accent);width:10px;height:10px;transition:transform .15s}.inpaint-chev.closed{transform:rotate(-90deg)}.inpaint-placeholder,.settings-lora-placeholder,.enhancement-placeholder{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px dashed var(--border-light);color:var(--text-muted);margin:0;padding:10px;font-size:11px;line-height:1.5}.settings-popup{z-index:100;border:1px solid var(--border);background:#0a0a0f;border-radius:10px;flex-direction:column;gap:8px;width:250px;max-height:520px;padding:10px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 32px #0009}.settings-row{gap:6px;display:flex}.settings-row>.settings-section{flex:1;min-width:0}.settings-section{flex-direction:column;gap:4px;margin-bottom:0;display:flex}.settings-section-label{letter-spacing:.8px;color:var(--text-muted);font-size:9px;font-weight:600}.settings-pills{background:var(--bg-tertiary);border-radius:6px;flex-wrap:wrap;gap:3px;padding:3px;display:flex}.settings-pill{min-width:0;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:0 6px;font-size:10px;font-weight:500}.settings-ar-grid{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.settings-ar-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:36px;padding:4px 1px;font-size:8px;transition:all .15s;display:flex}.settings-ar-btn:hover{color:var(--text-primary);border-color:var(--border-light)}.settings-ar-btn.active,.settings-pill.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.settings-pill:hover{color:var(--text-primary)}.settings-slider-row{grid-template-columns:90px 1fr 48px;align-items:center;gap:8px;display:grid}.settings-slider-row input[type=range]{accent-color:var(--accent);width:100%}.settings-slider-label{color:var(--text-secondary);font-size:11px}.settings-slider-value{color:var(--text-muted);text-align:right;font-size:11px}.canvas-area{background:#0a0a0f;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.canvas-topbar{z-index:20;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);background:#0f0f14d9;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;top:16px;left:12px;right:12px}.canvas-label{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;padding:0;font-size:10px;font-weight:600}.canvas-tool-btn,.canvas-load-btn,.canvas-clear-btn,.canvas-save-btn,.canvas-zoom-btn{cursor:pointer}.canvas-tool-btn{background:var(--bg-tertiary);border:1px solid var(--border);height:30px;color:var(--text-primary);white-space:nowrap;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:500}.canvas-tool-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.canvas-tool-btn:hover:not(:disabled),.canvas-load-btn:hover:not(:disabled),.canvas-zoom-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.canvas-tool-btn:disabled,.canvas-clear-btn:disabled,.canvas-save-btn:disabled,.canvas-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.canvas-load-btn{background:var(--bg-tertiary);border:1px solid var(--border);height:30px;color:var(--text-primary);white-space:nowrap;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:500}.canvas-load-btn.pulse{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;animation:2s ease-in-out infinite loadPulse;box-shadow:0 0 #7c5cfc99}.canvas-load-btn.pulse:hover:not(:disabled){background:var(--accent-hover);color:#fff}@keyframes loadPulse{0%,to{box-shadow:0 0 #7c5cfc99}50%{box-shadow:0 0 0 8px #7c5cfc00}}.canvas-clear-btn{background:var(--red);border:1px solid var(--red);color:#fff;border-radius:8px;width:30px;height:30px;padding:0;font-size:14px;line-height:1}.canvas-clear-btn:hover:not(:disabled){filter:brightness(1.1)}.canvas-save-btn{background:var(--green);border:1px solid var(--green);color:#fff;white-space:nowrap;border-radius:8px;height:30px;padding:4px 8px;font-size:11px;font-weight:600}.canvas-save-btn:hover:not(:disabled){filter:brightness(1.05)}.canvas-divider{background:var(--border);width:1px;height:22px;margin:0 4px}.canvas-num{min-width:28px;color:var(--text-muted);text-align:right;white-space:nowrap;font-size:11px}.canvas-slider{appearance:none;background:var(--border);border-radius:2px;outline:none;width:80px;height:4px}.canvas-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg-secondary);border-radius:50%;width:14px;height:14px}.canvas-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid var(--bg-secondary);border-radius:50%;width:14px;height:14px}.canvas-slider::-moz-range-track{background:var(--border);border-radius:2px;height:4px}.canvas-spacer{flex:1}.canvas-crop-info{color:var(--accent);font-size:11px;font-weight:500}.canvas-zoom-btn{background:var(--bg-tertiary);border:1px solid var(--border);height:30px;color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;padding:4px 12px;font-size:11px;font-weight:600}.canvas-zoom-btn.icon{width:30px;padding:0;font-size:22px;line-height:1}.canvas-zoom-readout{text-align:center;color:var(--text-muted);min-width:52px;font-size:11px}.canvas-zoom-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.canvas-zoom-btn:disabled{opacity:.45;cursor:not-allowed}.canvas-hidden-input{display:none}.canvas-viewport{cursor:crosshair;outline-offset:-8px;outline:2px dashed #0000;place-items:center;transition:outline-color .12s;display:grid;position:absolute;inset:0;overflow:hidden}.canvas-viewport.panning{cursor:grab}.canvas-viewport.no-image{cursor:pointer}.canvas-viewport.drop-hover{outline-color:var(--accent)}.canvas-container{transform-origin:0 0;position:relative}.canvas-image{image-rendering:pixelated;display:block}.canvas-mask{opacity:.45;pointer-events:none;image-rendering:pixelated;position:absolute;inset:0}.canvas-crop-overlay{border:2px dashed var(--accent);pointer-events:none;border-radius:4px;position:absolute;box-shadow:0 0 0 1px #0000004d}.canvas-crop-label{background:var(--accent);color:#fff;letter-spacing:.3px;white-space:nowrap;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;position:absolute;top:-11px;left:50%;transform:translate(-50%,-100%)}.canvas-empty{color:var(--text-muted);pointer-events:auto;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.canvas-empty-art{color:#fff;opacity:.25;width:120px;height:auto;margin-bottom:16px}.canvas-empty-title{color:var(--text-secondary);font-size:15px;font-weight:500}.canvas-empty-title strong{color:var(--accent);font-weight:600}.canvas-empty-sub{color:var(--text-muted);font-size:12px}.canvas-kbd{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-family:SF Mono,Fira Code,Monaco,Menlo,Consolas,monospace;font-size:11px}.canvas-use-source-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;margin-top:8px;padding:10px 22px;font-size:13px;font-weight:600;transition:background .12s;display:inline-flex}.canvas-use-source-btn:hover:not(:disabled){background:var(--accent-soft)}.canvas-use-source-btn:disabled{opacity:.55;cursor:not-allowed}.canvas-brush-cursor{border:1px solid var(--accent);pointer-events:none;mix-blend-mode:difference;background:#7c5cfc33;border-radius:50%;display:none;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.canvas-brush-cursor.erase{border-color:var(--orange);background:#f59e0b26}.right-panel-wrap{border-left:1px solid var(--border);background:#16161e;flex-shrink:0;display:flex}.rp-tabs{flex-direction:column;flex-shrink:0;align-items:stretch;gap:8px;width:32px;padding:8px 0;display:flex}.rp-tab-open{background:var(--bg-tertiary);border:1px solid var(--border);width:100%;height:30px;color:var(--text-secondary);cursor:pointer;border-right:none;border-radius:8px 0 0 8px;justify-content:center;align-items:center;margin-left:4px;transition:background .15s,color .15s;display:flex}.rp-tab-open:hover{background:var(--bg-hover);color:var(--text-primary)}.rp-tab-open .rp-chev{width:10px;height:10px;transform:rotate(180deg)}.rp-tab-group-sep{background:var(--border);height:1px;margin:0 8px}.rp-tab-item{writing-mode:vertical-rl;text-orientation:mixed;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-left:3px solid #0000;border-radius:8px 0 0 8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;padding:16px 6px;font-size:9px;font-weight:700;transition:color .2s,background .2s,border-left-color .2s,transform .2s;display:flex}.rp-tab-item:hover{transform:translate(-4px)}.rp-tab-item.tab-pink{color:#f472b68c;background:#ec48990d}.rp-tab-item.tab-pink:hover{color:#f472b6;background:#ec489926;border-left-color:#ec4899}.rp-tab-item.tab-blue{color:#60a5fa8c;background:#3b82f60d}.rp-tab-item.tab-blue:hover{color:#60a5fa;background:#3b82f626;border-left-color:#3b82f6}.rp-tab-item.tab-purple{color:#a78bfa8c;background:#8b5cf60d}.rp-tab-item.tab-purple:hover{color:#a78bfa;background:#8b5cf626;border-left-color:#8b5cf6}.rp-tab-item.tab-amber{color:#fbbf248c;background:#f59e0b0d}.rp-tab-item.tab-amber:hover{color:#fbbf24;background:#f59e0b26;border-left-color:#f59e0b}.rp-tab-item.tab-emerald{color:#34d3998c;background:#10b9810d}.rp-tab-item.tab-emerald:hover{color:#34d399;background:#10b98126;border-left-color:#10b981}.right-panel{border-left:1px solid var(--border);background:#16161e;flex-direction:column;width:0;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.right-panel-wrap.open .right-panel{scrollbar-width:thin;scrollbar-color:var(--border) transparent;width:290px;overflow-y:auto}.rp-header{flex-shrink:0;align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.rp-header-title{color:var(--accent);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;flex:1;font-size:13px;font-weight:700}.rp-header-gear,.rp-header-close{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex}.rp-header-gear{color:var(--text-muted);background:0 0}.rp-header-gear:disabled{opacity:.5;cursor:not-allowed}.rp-header-gear:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.rp-header-close{background:var(--accent-soft);color:var(--accent)}.rp-header-close:hover{background:var(--accent);color:#fff}.rp-header-close svg{width:12px;height:12px}.rp-section{border-left:3px solid #0000;border-radius:8px 0 0 8px;margin:4px 0 4px 10px;transition:transform .2s,border-left-color .2s,background .2s}.rp-section:not(.open):hover{transform:translate(-4px)}.rp-section-header{cursor:pointer;width:100%;min-height:42px;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:11px 14px;transition:background .2s;display:flex}.rp-section-indicator{border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .2s}.rp-section-title{letter-spacing:.8px;text-align:left;text-transform:uppercase;flex:1;font-size:10px;font-weight:600;transition:color .2s}.rp-section-chev{color:currentColor;opacity:.65;width:10px;height:10px;transition:transform .2s;transform:rotate(-90deg)}.rp-section-chev.open{opacity:1;transform:rotate(0)}.rp-section-inner{flex-direction:column;gap:8px;padding:2px 14px 14px;display:flex}.rp-section.theme-pink{background:#ec48990d}.rp-section.theme-pink .rp-section-indicator{background:#ec489980}.rp-section.theme-pink .rp-section-title{color:#f472b68c}.rp-section.theme-pink .rp-section-header:hover{background:#ec489926}.rp-section.theme-pink .rp-section-header:hover .rp-section-title,.rp-section.theme-pink.open .rp-section-title{color:#f472b6}.rp-section.theme-pink .rp-section-header:hover .rp-section-indicator,.rp-section.theme-pink.open .rp-section-indicator{background:#ec4899}.rp-section.theme-pink:hover,.rp-section.theme-pink.open{border-left-color:#ec4899}.rp-section.theme-blue{background:#3b82f60d}.rp-section.theme-blue .rp-section-indicator{background:#3b82f680}.rp-section.theme-blue .rp-section-title{color:#60a5fa8c}.rp-section.theme-blue .rp-section-header:hover{background:#3b82f626}.rp-section.theme-blue .rp-section-header:hover .rp-section-title,.rp-section.theme-blue.open .rp-section-title{color:#60a5fa}.rp-section.theme-blue .rp-section-header:hover .rp-section-indicator,.rp-section.theme-blue.open .rp-section-indicator{background:#3b82f6}.rp-section.theme-blue:hover,.rp-section.theme-blue.open{border-left-color:#3b82f6}.rp-section.theme-purple{background:#8b5cf60d}.rp-section.theme-purple .rp-section-indicator{background:#8b5cf680}.rp-section.theme-purple .rp-section-title{color:#a78bfa8c}.rp-section.theme-purple .rp-section-header:hover{background:#8b5cf626}.rp-section.theme-purple .rp-section-header:hover .rp-section-title,.rp-section.theme-purple.open .rp-section-title{color:#a78bfa}.rp-section.theme-purple .rp-section-header:hover .rp-section-indicator,.rp-section.theme-purple.open .rp-section-indicator{background:#8b5cf6}.rp-section.theme-purple:hover,.rp-section.theme-purple.open{border-left-color:#8b5cf6}.rp-section.theme-amber{background:#f59e0b0d}.rp-section.theme-amber .rp-section-indicator{background:#f59e0b80}.rp-section.theme-amber .rp-section-title{color:#fbbf248c}.rp-section.theme-amber .rp-section-header:hover{background:#f59e0b26}.rp-section.theme-amber .rp-section-header:hover .rp-section-title,.rp-section.theme-amber.open .rp-section-title{color:#fbbf24}.rp-section.theme-amber .rp-section-header:hover .rp-section-indicator,.rp-section.theme-amber.open .rp-section-indicator{background:#f59e0b}.rp-section.theme-amber:hover,.rp-section.theme-amber.open{border-left-color:#f59e0b}.rp-section.theme-emerald{background:#10b9810d}.rp-section.theme-emerald .rp-section-indicator{background:#10b98180}.rp-section.theme-emerald .rp-section-title{color:#34d3998c}.rp-section.theme-emerald .rp-section-header:hover{background:#10b98126}.rp-section.theme-emerald .rp-section-header:hover .rp-section-title,.rp-section.theme-emerald.open .rp-section-title{color:#34d399}.rp-section.theme-emerald .rp-section-header:hover .rp-section-indicator,.rp-section.theme-emerald.open .rp-section-indicator{background:#10b981}.rp-section.theme-emerald:hover,.rp-section.theme-emerald.open{border-left-color:#10b981}.rp-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:600}.rp-textarea,.rp-input{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius);resize:vertical;padding:8px 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.rp-textarea:focus,.rp-input:focus{border-color:var(--accent);outline:none}.rp-select{background:var(--bg-primary);border:1px solid var(--border);width:100%;height:30px;color:var(--text-primary);border-radius:var(--radius);appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:0 28px 0 10px;font-family:inherit;font-size:12px}.rp-select.compact{height:26px;font-size:11px}.rp-btn{border-radius:var(--radius);color:#fff;cursor:pointer;border:none;height:32px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:600;transition:filter .15s,opacity .15s}.rp-btn:disabled{opacity:.55;cursor:not-allowed}.rp-btn:hover:not(:disabled){filter:brightness(1.1)}.rp-btn-pink{background:linear-gradient(135deg,#ec4899 0%,#8b5cf6 100%)}.rp-btn-blue{background:linear-gradient(135deg,#3b82f6 0%,#6366f1 100%)}.rp-btn-purple{background:linear-gradient(135deg,#8b5cf6 0%,#ec4899 100%)}.rp-btn-orange{background:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%)}.rp-btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-weight:500}.rp-style-grid{gap:8px;display:flex}.rp-style-slot{aspect-ratio:1;background:var(--bg-primary);border:2px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;font-family:inherit;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.rp-style-slot:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#7c5cfc0a;box-shadow:0 0 0 1px #7c5cfc1a}.rp-style-slot:disabled{opacity:.7;cursor:not-allowed}.rp-style-slot-label{letter-spacing:.5px;font-size:10px;font-weight:500}.rp-result-block{flex-direction:column;gap:6px;display:flex}.rp-prompt-result{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:60px;color:var(--text-secondary);resize:vertical;padding:8px;font-family:inherit;font-size:11px;line-height:1.5;transition:border-color .2s;overflow-y:auto}.rp-prompt-result:focus{border-color:var(--accent);outline:none}.rp-result-actions{justify-content:flex-end;gap:6px;display:flex}.rp-copy-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;padding:3px 10px;font-family:inherit;font-size:10px;transition:all .15s}.rp-copy-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.rp-copy-btn:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);background:#08080c99;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-box{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:460px;max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-header h3{color:var(--text-primary);letter-spacing:.2px;margin:0;font-size:14px;font-weight:600}.modal-close{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:18px;line-height:1}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex;overflow-y:auto}.modal-help{color:var(--text-muted);margin:0 0 4px;font-size:11px;line-height:1.55}.modal-field{flex-direction:column;gap:4px;display:flex}.modal-field-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.modal-input{background:var(--bg-primary);border:1px solid var(--border);width:100%;height:32px;color:var(--text-primary);border-radius:var(--radius);padding:0 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.modal-input:focus{border-color:var(--accent);outline:none}.modal-divider{background:var(--border);height:1px;margin:6px 0}.modal-error{color:var(--red);border-radius:var(--radius);background:#ef444414;border:1px solid #ef444440;padding:6px 10px;font-size:11px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.modal-btn{border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;height:32px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s,opacity .15s}.modal-btn:disabled{opacity:.55;cursor:not-allowed}.modal-btn.ghost{color:var(--text-secondary);background:0 0}.modal-btn.ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.modal-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.modal-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.header-api-keys-btn.locked{color:var(--orange);border-color:#f59e0b73}.header-api-keys-btn.configured{color:var(--green);border-color:#22c55e73}.header-status.status-busy{color:var(--accent)}.header-status.status-error{color:var(--red)}.header-status.status-success{color:var(--green)}.inpaint-run-btn.running{background-image:linear-gradient(90deg, var(--accent) 0%, var(--accent-hover) 50%, var(--accent) 100%);cursor:progress;background-size:200% 100%;animation:1.6s linear infinite runStripe}@keyframes runStripe{0%{background-position:0 0}to{background-position:-200% 0}}.rp-section-error{color:var(--red);border-radius:var(--radius);background:#ef444414;border:1px solid #ef444440;padding:6px 10px;font-size:11px}.rp-style-slot.filled{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--bg-primary);border:1px solid var(--border);flex:1;position:relative;overflow:hidden}.rp-style-slot-img{object-fit:cover;width:100%;height:100%;display:block}.rp-style-slot-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:6px;place-items:center;width:20px;height:20px;font-size:14px;line-height:1;transition:background .15s;display:grid;position:absolute;top:4px;right:4px}.rp-style-slot-remove:hover{background:var(--red)}.login-page{background:var(--bg,#0c0d10);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface-1,#16181d);border:1px solid var(--border,#2a2d35);border-radius:12px;flex-direction:column;align-items:center;gap:16px;min-width:320px;padding:32px;display:flex}.login-title{color:var(--text,#f0f1f4);margin:0;font-size:22px;font-weight:600}.login-subtitle{color:var(--text-muted,#9aa0a6);margin:0;font-size:14px}.login-google-btn{color:#1f1f1f;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:opacity .15s}.login-google-btn:hover:not(:disabled){opacity:.9}.login-google-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--red,#f47174);text-align:center;margin:0;font-size:13px}.canvas-area.busy .canvas-viewport,.canvas-area.busy .canvas-topbar{pointer-events:none}.canvas-busy-overlay{z-index:30;-webkit-backdrop-filter:blur(2px);pointer-events:auto;cursor:progress;background:#08090c8c;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.canvas-busy-spinner{border:3px solid #ffffff2e;border-top-color:#fffffff2;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite canvas-busy-spin}.canvas-busy-text{color:#ffffffeb;letter-spacing:.2px;background:#00000059;border:1px solid #ffffff14;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}@keyframes canvas-busy-spin{to{transform:rotate(360deg)}}.canvas-area.in-detail{background:#0a0a0f}.canvas-area .canvas-viewport-host{display:contents}.step-detail{z-index:25;background:#0a0a0f;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.step-detail-header{border-bottom:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 20px;display:flex}.step-detail-back{color:#c4b5fd;cursor:pointer;background:#7c5cfc29;border:1px solid #7c5cfc59;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500}.step-detail-back:hover{color:#ddd6fe;background:#7c5cfc47}.step-detail-title{color:#c4b5fd;font-size:14px;font-weight:600}.step-detail-prompt{color:#ffffffa6;flex:1;min-width:200px;font-size:13px}.step-detail-grid{flex:1;grid-template-columns:1fr 1fr;place-items:start center;gap:24px;padding:24px;display:grid;overflow:auto}:is(.step-detail-grid:has(.sd-card-before:only-child),.step-detail-grid:has(.sd-card-after:only-child)){grid-template-columns:1fr}.sd-card{background:#111118;border:2px solid #ffffff14;border-radius:12px;max-width:100%;margin:0;position:relative;overflow:hidden;box-shadow:0 6px 28px #00000073}.sd-card-after{border-color:#14b8a68c}.sd-card-after[role=button]{cursor:zoom-in}.sd-card img{object-fit:contain;max-width:100%;max-height:76vh;display:block}.sd-card-label{color:#fff;z-index:2;letter-spacing:.3px;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.sd-label-before{background:#3b82f6d9}.sd-label-after{background:#22c55ecc}.compare-modal-backdrop{z-index:200;background:#000000e0;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.compare-modal-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;place-items:center;width:36px;height:36px;font-size:22px;line-height:1;display:grid;position:absolute;top:16px;right:20px}.compare-modal-close:hover{background:#ffffff2e}.compare-wrap{cursor:ew-resize;border-radius:12px;max-width:calc(100vw - 80px);max-height:calc(100vh - 80px);position:relative;overflow:hidden;box-shadow:0 20px 80px #0009}.compare-img-after,.compare-img-before{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:calc(100vw - 80px);max-height:calc(100vh - 80px);display:block}.compare-clip{z-index:2;height:100%;position:absolute;top:0;left:0;overflow:hidden}.compare-clip .compare-img-before{height:100%}.compare-divider{z-index:5;cursor:ew-resize;background:#fff;width:2px;height:100%;margin-left:-1px;position:absolute;top:0;box-shadow:0 0 12px #0009,0 0 4px #fff6}.compare-divider:before{content:"";cursor:ew-resize;width:33px;height:100%;position:absolute;top:0;left:-15px}.compare-handle{color:#333;pointer-events:none;background:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 12px #0006}.compare-label{letter-spacing:1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:6;pointer-events:none;border-radius:999px;padding:4px 14px;font-size:10px;font-weight:700;position:absolute;top:12px}.compare-label-before{color:#fbbf24;background:#f59e0b38;border:1px solid #f59e0b66;left:12px}.compare-label-after{color:#a78bfa;background:#7c5cfc38;border:1px solid #7c5cfc66;right:12px}
