.app-header[data-v-a02f914f]{display:flex;align-items:center;padding:10px 22px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);height:60px;flex-shrink:0}.logo[data-v-a02f914f]{display:flex;align-items:center;gap:10px}.logo-mark[data-v-a02f914f]{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:#2e2a25;color:#fffaf2;font-size:13px;font-weight:700;letter-spacing:0}.logo-text[data-v-a02f914f]{font-size:16px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.logo-subtitle[data-v-a02f914f]{font-size:12px;color:var(--color-text-muted);line-height:1.2;margin-top:2px}.spinner[data-v-744f7e6f]{animation:spin .8s linear infinite}.api-key-input[data-v-577d53c8]{display:flex;flex-direction:column;gap:8px}.input-wrapper[data-v-577d53c8]{position:relative;display:flex}.key-input[data-v-577d53c8]{padding-right:40px;font-family:monospace;font-size:13px}.toggle-visibility[data-v-577d53c8]{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:14px;padding:4px;opacity:.6}.toggle-visibility[data-v-577d53c8]:hover{opacity:1}.actions[data-v-577d53c8]{display:flex;gap:6px}.test-result[data-v-577d53c8]{font-size:12px;padding:4px 0}.test-result.success[data-v-577d53c8]{color:var(--color-success)}.test-result.error[data-v-577d53c8]{color:var(--color-error)}.history-item[data-v-15ae9d85]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.history-item[data-v-15ae9d85]:hover{background:var(--color-bg-hover)}.item-thumb[data-v-15ae9d85]{width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--color-bg-input)}.item-thumb img[data-v-15ae9d85]{width:100%;height:100%;object-fit:cover}.item-thumb.placeholder[data-v-15ae9d85]{display:flex;align-items:center;justify-content:center;font-size:20px}.item-info[data-v-15ae9d85]{flex:1;min-width:0}.item-prompt[data-v-15ae9d85]{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta[data-v-15ae9d85]{display:flex;gap:4px;align-items:center;margin-top:4px;flex-wrap:wrap}.item-time[data-v-15ae9d85]{font-size:11px;color:var(--color-text-muted);margin-left:auto}.item-actions[data-v-15ae9d85]{display:flex;gap:4px;flex-shrink:0}.action-btn[data-v-15ae9d85]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--color-text-muted)}.action-btn[data-v-15ae9d85]:hover{background:var(--color-accent);color:#fff}.action-btn[data-v-15ae9d85]:disabled{opacity:.4}.history-list[data-v-7ccca09a]{display:flex;flex-direction:column;height:100%}.history-header[data-v-7ccca09a]{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 8px}.search-input[data-v-7ccca09a]{margin:0 12px 8px;font-size:13px}.history-scroll[data-v-7ccca09a]{flex:1;overflow-y:auto;padding:0 4px}.history-group[data-v-7ccca09a]{margin-bottom:8px}.group-date[data-v-7ccca09a]{font-size:12px;font-weight:600;color:var(--color-text-muted);padding:8px 12px 4px;text-transform:uppercase}.prompt-input[data-v-a2b1388f]{display:flex;flex-direction:column;gap:6px}.textarea-wrapper[data-v-a2b1388f]{position:relative}.textarea[data-v-a2b1388f]{min-height:120px}.prompt-meta[data-v-a2b1388f]{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-muted)}.prompt-meta code[data-v-a2b1388f]{background:var(--color-bg-hover);padding:0 4px;border-radius:3px;font-size:11px;color:var(--color-accent)}.at-dropdown[data-v-a2b1388f]{position:absolute;z-index:50;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:120px;padding:4px;display:flex;flex-direction:column}.at-item[data-v-a2b1388f]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.at-item[data-v-a2b1388f]:hover,.at-item.active[data-v-a2b1388f]{background:var(--color-bg-hover);color:var(--color-text-primary)}.at-icon[data-v-a2b1388f]{font-size:14px}.image-upload[data-v-b3e0fc02]{display:flex;flex-direction:column;gap:6px}.drop-zone[data-v-b3e0fc02]{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:16px;text-align:center;transition:all var(--transition-fast);cursor:pointer}.drop-active[data-v-b3e0fc02]{border-color:var(--color-accent);background:#f973160d}.drop-hint[data-v-b3e0fc02]{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--color-text-muted);font-size:13px}.drop-icon[data-v-b3e0fc02]{font-size:28px;color:var(--color-text-muted)}.upload-btn[data-v-b3e0fc02]{color:var(--color-accent);cursor:pointer;font-weight:500}.upload-btn[data-v-b3e0fc02]:hover{text-decoration:underline}.preview-grid[data-v-b3e0fc02]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.preview-item[data-v-b3e0fc02]{position:relative;width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.preview-item img[data-v-b3e0fc02]{width:100%;height:100%;object-fit:cover}.img-tag[data-v-b3e0fc02]{position:absolute;bottom:0;left:0;right:0;padding:2px 0;background:#000000b3;color:var(--color-accent);font-size:10px;font-weight:700;text-align:center;font-family:monospace}.remove-btn[data-v-b3e0fc02]{position:absolute;top:2px;right:2px;width:20px;height:20px;background:#000000b3;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}.add-more[data-v-b3e0fc02]{width:80px;height:80px;border:2px dashed var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--color-text-muted);cursor:pointer}.add-more[data-v-b3e0fc02]:hover{border-color:var(--color-accent);color:var(--color-accent)}.upload-error[data-v-b3e0fc02]{font-size:12px;color:var(--color-error)}.upload-info[data-v-b3e0fc02],.upload-hint[data-v-b3e0fc02]{font-size:12px;color:var(--color-text-muted)}.upload-hint code[data-v-b3e0fc02]{background:var(--color-bg-hover);padding:1px 5px;border-radius:3px;font-size:11px;color:var(--color-accent)}.size-selector[data-v-2f64530e]{display:flex;flex-direction:column;gap:10px}.size-rows[data-v-2f64530e]{display:flex;flex-direction:column;gap:0}.size-row[data-v-2f64530e]{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--color-border)}.size-row[data-v-2f64530e]:last-child{border-bottom:none}.row-label[data-v-2f64530e]{width:36px;flex-shrink:0;font-size:11px;font-weight:700;color:var(--color-accent);letter-spacing:0;text-align:right}.row-options[data-v-2f64530e]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.size-chip[data-v-2f64530e]{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-input);font-size:12px;color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap}.size-chip[data-v-2f64530e]:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.size-chip.active[data-v-2f64530e]{border-color:var(--color-accent);background:#f3e8dc;color:var(--color-text-primary)}.chip-icon[data-v-2f64530e]{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.chip-box[data-v-2f64530e]{border:1.5px solid var(--color-text-muted);border-radius:1px;transition:border-color var(--transition-fast)}.size-chip.active .chip-box[data-v-2f64530e]{border-color:var(--color-accent)}.chip-ratio[data-v-2f64530e]{font-weight:600;font-size:12px}.chip-res[data-v-2f64530e]{font-size:10px;color:var(--color-text-muted);font-family:monospace}.custom-fields[data-v-2f64530e]{display:inline-flex;align-items:center;gap:4px}.num-input[data-v-2f64530e]{width:64px;text-align:center;font-family:monospace;font-size:12px;padding:4px 2px;border-radius:var(--radius-sm)}.num-sep[data-v-2f64530e]{font-size:13px;color:var(--color-text-muted)}.num-unit[data-v-2f64530e]{font-size:11px;color:var(--color-text-muted)}.num-error[data-v-2f64530e]{font-size:11px;color:var(--color-error);margin-left:6px}.num-info[data-v-2f64530e]{font-size:11px;color:var(--color-text-muted);font-family:monospace;margin-left:6px}.quality-selector[data-v-9fa45124]{display:flex;flex-direction:column;gap:8px}.quality-options[data-v-9fa45124]{display:flex;gap:8px;flex-wrap:wrap}.quality-option[data-v-9fa45124]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-input);transition:all var(--transition-fast);flex:1;min-width:80px}.quality-option[data-v-9fa45124]:hover{border-color:var(--color-accent)}.quality-option.active[data-v-9fa45124]{border-color:var(--color-accent);background:#f3e8dc}.quality-label[data-v-9fa45124]{font-size:13px;font-weight:500}.quality-desc[data-v-9fa45124]{font-size:11px;color:var(--color-text-muted)}.batch-input[data-v-d06c1f1b]{display:flex;flex-direction:column;gap:6px}.batch-header[data-v-d06c1f1b]{display:flex;justify-content:space-between;align-items:center}.batch-count[data-v-d06c1f1b]{font-size:12px;color:var(--color-text-muted)}.parallel-config[data-v-90c65239]{display:flex;flex-direction:column;gap:6px}.config-header[data-v-90c65239]{display:flex;justify-content:space-between;align-items:center}.config-value[data-v-90c65239]{font-size:16px;font-weight:700;color:var(--color-accent)}.slider[data-v-90c65239]{width:100%;height:6px;border-radius:3px;outline:none;-webkit-appearance:none;background:var(--color-bg-input);border:1px solid var(--color-border)}.slider[data-v-90c65239]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-bg-card);cursor:pointer;border:2px solid var(--color-accent);box-shadow:var(--shadow-sm)}.slider-labels[data-v-90c65239]{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-muted)}.task-progress[data-v-032569f7]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-bg-input);border:1px solid var(--color-border);transition:all var(--transition-fast)}.task-progress.completed[data-v-032569f7]{border-color:var(--color-success)}.task-progress.failed[data-v-032569f7]{border-color:var(--color-error)}.task-status[data-v-032569f7]{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon[data-v-032569f7]{font-size:14px}.status-icon.completed[data-v-032569f7]{color:var(--color-success)}.status-icon.failed[data-v-032569f7]{color:var(--color-error)}.status-icon.cancelled[data-v-032569f7]{color:var(--color-text-muted)}.task-info[data-v-032569f7]{flex:1;min-width:0}.task-prompt[data-v-032569f7]{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta[data-v-032569f7]{font-size:11px;color:var(--color-text-muted)}.cancel-btn[data-v-032569f7]{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--color-text-muted);flex-shrink:0}.cancel-btn[data-v-032569f7]:hover{background:var(--color-error);color:#fff}.modal-backdrop[data-v-69b0551d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;animation:fadeIn .2s ease}.modal-content[data-v-69b0551d]{position:relative;max-width:90vw;max-height:90vh;background:var(--color-bg-card);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.modal-close[data-v-69b0551d]{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;z-index:1;cursor:pointer}.modal-close[data-v-69b0551d]:hover{background:var(--color-error)}.modal-image[data-v-69b0551d]{max-width:80vw;max-height:75vh;object-fit:contain}.modal-footer[data-v-69b0551d]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--color-border)}.modal-prompt[data-v-69b0551d]{font-size:13px;color:var(--color-text-secondary);flex:1;margin-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast[data-v-3a425232]{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);transform:translate(120%);transition:transform .3s ease;min-width:280px;max-width:400px}.toast-visible[data-v-3a425232]{transform:translate(0)}.toast-success[data-v-3a425232]{border-color:var(--color-success)}.toast-error[data-v-3a425232]{border-color:var(--color-error)}.toast-warning[data-v-3a425232]{border-color:var(--color-warning)}.toast-info[data-v-3a425232]{border-color:var(--color-info)}.toast-icon[data-v-3a425232]{font-size:16px;flex-shrink:0}.toast-success .toast-icon[data-v-3a425232]{color:var(--color-success)}.toast-error .toast-icon[data-v-3a425232]{color:var(--color-error)}.toast-warning .toast-icon[data-v-3a425232]{color:var(--color-warning)}.toast-info .toast-icon[data-v-3a425232]{color:var(--color-info)}.toast-message[data-v-3a425232]{font-size:13px;line-height:1.4}.prompt-templates[data-v-3bf3dc04]{display:flex;flex-direction:column;gap:6px}.templates-header[data-v-3bf3dc04]{display:flex;justify-content:space-between;align-items:center}.templates-hint[data-v-3bf3dc04]{font-size:11px;color:var(--color-text-muted)}.template-categories[data-v-3bf3dc04]{display:flex;flex-direction:column;gap:2px}.category-header[data-v-3bf3dc04]{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer}.category-header[data-v-3bf3dc04]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.category-header.expanded[data-v-3bf3dc04]{color:var(--color-text-primary)}.category-name[data-v-3bf3dc04]{flex:1;text-align:left}.category-count[data-v-3bf3dc04]{font-size:11px;color:var(--color-text-muted);background:var(--color-bg-hover);padding:0 6px;border-radius:10px}.category-arrow[data-v-3bf3dc04]{font-size:16px;color:var(--color-text-muted);width:16px;text-align:center}.category-body[data-v-3bf3dc04]{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px 28px}.template-item[data-v-3bf3dc04]{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-secondary);text-align:left;transition:all var(--transition-fast);cursor:pointer}.template-item[data-v-3bf3dc04]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tpl-name[data-v-3bf3dc04]{flex:1}.tpl-badge[data-v-3bf3dc04]{font-size:10px;padding:1px 5px;border-radius:3px;background:var(--color-bg-hover);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.tpl-badge-2[data-v-3bf3dc04]{background:#ece7df;color:var(--color-text-secondary)}.tpl-badge-fill[data-v-3bf3dc04]{background:#f3e8dc;color:var(--color-accent)}.app[data-v-7474d85d]{display:flex;flex-direction:column;height:100vh}.sidebar-tabs[data-v-7474d85d]{display:flex;border-bottom:1px solid var(--color-border)}.tab-btn[data-v-7474d85d]{flex:1;padding:12px 8px;font-size:13px;font-weight:500;color:var(--color-text-muted);text-align:center;border-bottom:2px solid transparent;transition:all var(--transition-fast)}.tab-btn[data-v-7474d85d]:hover{color:var(--color-text-primary)}.tab-btn.active[data-v-7474d85d]{color:var(--color-text-primary);border-bottom-color:var(--color-accent);background:var(--color-bg-hover)}.sidebar-content[data-v-7474d85d]{flex:1;overflow-y:auto;display:flex;flex-direction:column}.config-section[data-v-7474d85d]{padding:16px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.config-actions[data-v-7474d85d]{display:flex;gap:6px}.config-hint[data-v-7474d85d]{font-size:12px;color:var(--color-text-muted);word-break:break-all}.promo-section[data-v-7474d85d]{display:flex;align-items:center;gap:10px;padding:12px 16px;margin:0 12px;border-radius:var(--radius-md);background:#fbfaf8;border:1px solid var(--color-border)}.promo-badge[data-v-7474d85d]{font-size:11px;font-weight:600;color:var(--color-accent);background:#f3e8dc;border-radius:4px;padding:2px 6px;flex-shrink:0}.promo-text[data-v-7474d85d]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--color-text-secondary)}.promo-price[data-v-7474d85d]{font-size:11px;color:var(--color-text-muted)}.promo-price strong[data-v-7474d85d]{color:var(--color-accent);font-weight:600}.promo-btn[data-v-7474d85d]{flex-shrink:0;text-decoration:none;text-align:center;font-size:12px;padding:4px 10px}.url-input[data-v-7474d85d]{font-family:monospace;font-size:13px}.endpoint-presets[data-v-7474d85d]{display:flex;gap:6px;flex-wrap:wrap}.endpoint-presets .btn[data-v-7474d85d]{font-size:12px;padding:4px 10px;border-radius:var(--radius-sm)}.endpoint-presets .btn.active[data-v-7474d85d]{background:var(--color-accent);color:#fff}.generator-card[data-v-7474d85d]{display:flex;flex-direction:column;gap:20px}.batch-toggle[data-v-7474d85d]{display:flex;align-items:center}.toggle-label[data-v-7474d85d]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.toggle-label input[data-v-7474d85d]{accent-color:var(--color-accent)}.generate-section[data-v-7474d85d]{display:flex;flex-direction:column;gap:8px;padding-top:8px}.task-section[data-v-7474d85d]{display:flex;flex-direction:column;gap:6px;margin-top:20px}.task-header[data-v-7474d85d]{display:flex;justify-content:space-between;align-items:center}.task-actions[data-v-7474d85d]{display:flex;gap:8px;align-items:center}.status-bar[data-v-7474d85d]{height:32px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);display:flex;align-items:center;padding:0 24px;font-size:12px;color:var(--color-text-muted)}.status-content[data-v-7474d85d]{display:flex;align-items:center;gap:8px}.status-dot[data-v-7474d85d]{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:pulse 1.5s infinite}.toast-container[data-v-7474d85d]{position:fixed;top:80px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:8px}.preview-backdrop[data-v-7474d85d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;animation:fadeIn .2s ease}.preview-content[data-v-7474d85d]{position:relative;max-width:90vw;max-height:90vh;background:var(--color-bg-card);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.preview-close[data-v-7474d85d]{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;z-index:1;cursor:pointer}.preview-close[data-v-7474d85d]:hover{background:var(--color-error)}.preview-img[data-v-7474d85d]{max-width:85vw;max-height:75vh;object-fit:contain}.preview-footer[data-v-7474d85d]{padding:12px 16px;border-top:1px solid var(--color-border)}.preview-prompt[data-v-7474d85d]{font-size:13px;color:var(--color-text-secondary)}.cat-welcome[data-v-7474d85d]{padding:18px 0;animation:fadeIn .3s ease}.empty-panel[data-v-7474d85d]{border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:#ffffff8c;padding:28px 20px;text-align:center}.empty-title[data-v-7474d85d]{font-size:15px;font-weight:700;color:var(--color-text-primary);margin-bottom:6px}.cat-text[data-v-7474d85d]{font-size:14px;color:var(--color-text-muted)}:root{--color-bg-primary: #f6f5f2;--color-bg-secondary: #ffffff;--color-bg-card: #ffffff;--color-bg-hover: #f1efea;--color-bg-input: #fbfaf8;--color-border: #ded9d0;--color-border-focus: #b8652a;--color-text-primary: #2e2a25;--color-text-secondary: #625b52;--color-text-muted: #8d857a;--color-accent: #b8652a;--color-accent-hover: #9f5420;--color-success: #2f7d4f;--color-warning: #b7841c;--color-error: #b5473f;--color-info: #426c8f;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(46, 42, 37, .06);--shadow-md: 0 8px 24px rgba(46, 42, 37, .08);--shadow-lg: 0 16px 36px rgba(46, 42, 37, .12);--font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:14px;line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#c9c1b6}#app{display:flex;flex-direction:column;min-height:100vh}.app-layout{display:flex;flex:1;overflow:hidden}.sidebar{width:280px;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.results-panel{width:420px;background:var(--color-bg-secondary);border-left:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.generator-area{flex:1;overflow-y:auto;padding:22px;background:var(--color-bg-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:#c9c1b6}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{opacity:.85}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:14px 28px;font-size:16px}.btn-block{width:100%}.input{width:100%;padding:9px 12px;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:14px;transition:border-color var(--transition-fast);outline:none}.input:focus{border-color:var(--color-border-focus)}.input::placeholder{color:var(--color-text-muted)}.textarea{resize:vertical;min-height:100px;line-height:1.6}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm)}.section-title{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0;margin-bottom:10px}.tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;background:var(--color-bg-hover);color:var(--color-text-secondary)}.tag-active{background:var(--color-accent);color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--color-text-muted);text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease}.animate-pulse{animation:pulse 2s ease-in-out infinite}@media(max-width:1200px){.sidebar{width:240px}.results-panel{width:320px}}@media(max-width:768px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;max-height:200px}.results-panel{width:100%;height:40vh}.generator-area{padding:16px}}
