*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}.preset-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reasoning-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition);margin-left:4px}.reasoning-toggle:hover{color:var(--text-primary);border-color:var(--border-hover)}.reasoning-toggle.active{color:var(--accent-text);border-color:var(--accent);background:var(--accent-light)}.preset-chip{padding:7px 14px;font-family:inherit;font-size:.78rem;font-weight:500;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap}.preset-chip:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--surface-hover)}.preset-chip.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-text)}.preset-chip.active:hover{background:var(--accent-light)}.admin-presets-list{display:flex;flex-direction:column;gap:12px}.admin-preset-item{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary)}.admin-preset-header{display:flex;align-items:center;gap:8px}.admin-preset-name{flex:1;padding:6px 10px;font-family:inherit;font-size:.82rem;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);outline:none;transition:border-color var(--transition)}.admin-preset-name:focus{border-color:var(--accent)}.preset-list-compact{display:flex;flex-direction:column;gap:2px}.preset-list-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);transition:background var(--transition)}.preset-list-item:hover{background:var(--surface-hover)}.preset-list-item.dragging{opacity:.4}.preset-drag-handle{display:flex;align-items:center;color:var(--text-tertiary);cursor:grab;flex-shrink:0;padding:2px}.preset-drag-handle:active{cursor:grabbing}.preset-list-name{flex:1;font-size:.82rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-list-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:.4;transition:opacity var(--transition)}.preset-list-item:hover .preset-list-actions{opacity:1}.preset-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.preset-action-btn:hover{color:var(--accent-text);background:var(--accent-light)}.preset-action-delete:hover{color:var(--danger);background:var(--danger-light)}.admin-preset-add{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px;margin-top:6px;font-family:inherit;font-size:.78rem;font-weight:500;border:1px dashed var(--border-hover);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.admin-preset-add:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-light)}.preset-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .15s ease-out}.preset-edit-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease-out}.preset-edit-body{padding:20px}.preset-edit-input{width:100%;padding:10px 12px;font-family:inherit;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);outline:none;transition:border-color var(--transition)}.preset-edit-input:focus{border-color:var(--accent)}.preset-edit-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}:root{--bg-primary: #fafafa;--bg-secondary: #ffffff;--surface: rgba(255, 255, 255, .85);--surface-hover: rgba(245, 245, 248, .9);--surface-elevated: #ffffff;--border: rgba(0, 0, 0, .08);--border-hover: rgba(0, 0, 0, .14);--text-primary: #111111;--text-secondary: rgba(17, 17, 17, .55);--text-tertiary: rgba(17, 17, 17, .3);--accent: #7c3aed;--accent-light: #ede9fe;--accent-glow: rgba(124, 58, 237, .12);--accent-hover: #6d28d9;--accent-text: #7c3aed;--danger: #ef4444;--danger-light: #fef2f2;--success: #22c55e;--info: #3b82f6;--info-light: #eff6ff;--info-text: #3b82f6;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--transition: .18s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .08);--shadow-accent: 0 4px 16px rgba(124, 58, 237, .2)}[data-theme=dark]{--bg-primary: #09090b;--bg-secondary: #111113;--surface: rgba(24, 24, 30, .8);--surface-hover: rgba(32, 32, 42, .85);--surface-elevated: #1a1a22;--border: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .13);--text-primary: #f4f4f5;--text-secondary: rgba(244, 244, 245, .55);--text-tertiary: rgba(244, 244, 245, .3);--accent: #8b5cf6;--accent-light: rgba(139, 92, 246, .12);--accent-glow: rgba(139, 92, 246, .18);--accent-hover: #a78bfa;--accent-text: #a78bfa;--danger-light: rgba(239, 68, 68, .1);--info-light: rgba(59, 130, 246, .1);--info-text: #93c5fd;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-accent: 0 4px 16px rgba(139, 92, 246, .25)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background var(--transition),color var(--transition)}.app{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;z-index:10}.logo{display:flex;align-items:center;gap:12px}.logo-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent-light);border-radius:var(--radius-sm);color:var(--accent)}.logo h1{font-size:1.2rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary)}.subtitle{font-size:.72rem;color:var(--text-secondary);font-weight:400;margin-top:1px}.header-actions{display:flex;align-items:center;gap:6px}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.icon-btn:hover{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-hover)}.app-main{max-width:1600px;margin:0 auto;padding:24px 20px 60px}.main-grid{display:grid;grid-template-columns:340px 1fr 320px;gap:20px;align-items:start}.left-column{display:flex;flex-direction:column;gap:16px;position:sticky;top:85px;max-height:calc(100vh - 100px);overflow-y:auto}.col-center{display:flex;flex-direction:column;gap:16px;position:sticky;top:85px;min-width:0}.right-column{display:flex;flex-direction:column;gap:16px;position:sticky;top:85px}.image-gen-controls-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.showcase-featured{position:relative;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;min-height:300px;display:flex;align-items:center;justify-content:center}.showcase-featured-img{width:100%;max-height:calc(100vh - 260px);object-fit:contain;cursor:zoom-in;display:block}.showcase-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted);padding:60px 20px}.showcase-placeholder p{font-size:14px}.showcase-progress{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:13px}.showcase-progress-bar{flex:1;height:3px;background:#ffffff26;border-radius:2px;overflow:hidden}.showcase-progress-bar>div{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.showcase-thumbs{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:thin}.showcase-thumb{flex-shrink:0;width:64px;height:64px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;position:relative;transition:border-color .2s ease,opacity .2s ease}.showcase-thumb img{width:100%;height:100%;object-fit:cover}.showcase-thumb.active{border-color:var(--accent)}.showcase-thumb:hover{border-color:var(--accent-hover)}.showcase-thumb-delete{position:absolute;top:2px;right:2px;background:#000000b3;border:none;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#ff6b6b;cursor:pointer;opacity:0;transition:opacity .2s ease}.showcase-thumb:hover .showcase-thumb-delete{opacity:1}.showcase-thumb-more{flex-shrink:0;width:64px;height:64px;border-radius:8px;background:var(--surface);border:2px dashed var(--border);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.showcase-thumb-more:hover{border-color:var(--accent);color:var(--accent)}.image-gen-featured-actions{display:flex;gap:8px}.image-gen-featured-actions .lightbox-btn{flex:1;font-size:12px;padding:6px 10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color var(--transition),box-shadow var(--transition)}.card:hover{border-color:var(--border-hover)}.card-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.card-icon{color:var(--text-secondary);display:flex}.card-header h2{font-size:.85rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.upload-zone{position:relative;border:1.5px dashed var(--border-hover);border-radius:var(--radius-md);min-height:180px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);overflow:hidden}.upload-zone:hover{border-color:var(--accent);background:var(--accent-light)}.upload-zone.dragging{border-color:var(--accent);background:var(--accent-glow)}.upload-zone.has-image{border-style:solid;border-color:var(--border);min-height:unset}.upload-zone.has-image:hover{border-color:var(--border-hover)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px}.upload-icon{color:var(--text-tertiary);transition:color var(--transition)}.upload-zone:hover .upload-icon{color:var(--accent)}.upload-text-main{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.upload-text-sub{font-size:.75rem;color:var(--text-tertiary)}.image-preview-container{position:relative;width:100%}.image-preview{width:100%;max-height:300px;object-fit:contain;border-radius:var(--radius-sm);display:block}.remove-image-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;border-radius:50%;background:#0009;color:#fff;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.remove-image-btn:hover{background:var(--danger);transform:scale(1.1)}.compress-spinner{width:32px;height:32px;border:2.5px solid var(--accent-light);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.describe-section{margin-top:12px;display:flex;flex-direction:column;gap:10px}.describe-options{display:flex;gap:14px}.checkbox-label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:.8rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none;transition:color var(--transition)}.checkbox-label:hover{color:var(--text-primary)}.checkbox-input{display:none}.checkbox-custom{width:16px;height:16px;border:1.5px solid var(--border-hover);border-radius:4px;background:transparent;position:relative;transition:all var(--transition);flex-shrink:0}.checkbox-label:hover .checkbox-custom{border-color:var(--accent)}.checkbox-input:checked+.checkbox-custom{background:var(--accent);border-color:var(--accent)}.checkbox-input:checked+.checkbox-custom:after{content:"";position:absolute;top:1.5px;left:4.5px;width:4px;height:8px;border:solid white;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.describe-btn{width:100%;padding:10px 18px;font-family:inherit;font-size:.82rem;font-weight:500;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all var(--transition);background:var(--info-light);color:var(--info-text)}.describe-btn:hover:not(:disabled){border-color:#3b82f659;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.describe-btn:disabled{cursor:not-allowed;opacity:.7}.describe-btn.describing{border-color:#3b82f64d}.describe-spinner{width:14px;height:14px;border:2px solid rgba(59,130,246,.2);border-top-color:var(--info-text);border-radius:50%;animation:spin .8s linear infinite}.describe-spinner-icon{animation:spin 1s linear infinite}.describing-badge{margin-left:auto;font-size:.68rem;font-weight:500;color:var(--info-text);background:var(--info-light);border-radius:20px;padding:2px 8px;animation:pulse-badge 1.5s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.5}}.form-textarea.ai-writing{border-color:#3b82f640;box-shadow:0 0 0 2px #3b82f60f}.prompt-form-fields{display:flex;flex-direction:column;gap:16px}.form-textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;color:var(--text-primary);font-family:inherit;font-size:.85rem;line-height:1.6;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-textarea::placeholder{color:var(--text-tertiary)}.form-textarea:hover{border-color:var(--border-hover)}.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.generate-section{display:flex;flex-direction:column;gap:12px}.preserve-checkbox{justify-content:flex-start}.generate-btn{width:100%;padding:14px 28px;font-family:inherit;font-size:.92rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition);background:var(--accent);color:#fff;box-shadow:var(--shadow-accent);letter-spacing:-.01em}.generate-btn:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 8px 24px #7c3aed4d;background:var(--accent-hover)}.generate-btn:active:not(.disabled){transform:translateY(0)}.generate-btn.disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.generate-btn.stop-btn{background:var(--danger);box-shadow:0 4px 16px #ef444433}.generate-btn.stop-btn:hover{box-shadow:0 8px 24px #ef44444d}.error-message{background:var(--danger-light);border:1px solid rgba(239,68,68,.15);border-radius:var(--radius-md);padding:10px 14px;font-size:.82rem;color:var(--danger);display:flex;align-items:center;gap:8px}.result-card{animation:slideUp .25s ease-out}.thinking-section{border-bottom:1px solid var(--border);margin:0 -20px;padding:0 20px}.thinking-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:10px 0;background:none;border:none;color:var(--text-tertiary);font-family:inherit;font-size:.75rem;font-weight:500;cursor:pointer;transition:color var(--transition)}.thinking-toggle:hover{color:var(--text-secondary)}.thinking-pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.thinking-content{max-height:200px;overflow-y:auto;padding-bottom:12px}.thinking-text{font-size:.78rem;line-height:1.6;color:var(--text-tertiary);white-space:pre-wrap;word-break:break-word;font-style:italic}.history-nav{display:flex;align-items:center;gap:2px;margin-left:auto}.history-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.history-btn:hover:not(:disabled){color:var(--text-primary);background:var(--surface-hover)}.history-btn:disabled{opacity:.3;cursor:default}.history-counter{font-size:.7rem;font-weight:500;color:var(--text-tertiary);min-width:36px;text-align:center}.copy-btn{margin-left:auto;display:flex;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:.75rem;font-weight:500;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.copy-btn:hover{background:var(--surface-hover);border-color:var(--border-hover);color:var(--text-primary)}.copy-btn.copied{background:#22c55e14;border-color:#22c55e33;color:var(--success)}.prompt-output{background:var(--bg-primary);border-radius:var(--radius-md);padding:16px;border:1px solid var(--border);max-height:300px;overflow-y:auto}.prompt-text{font-size:.85rem;line-height:1.75;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.cursor-blink{display:inline;color:var(--accent);animation:blink .8s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:fadeIn .12s ease-out}[data-theme=dark] .admin-overlay{background:#000000a6}.admin-panel{width:min(660px,92vw);max-height:85vh;background:var(--surface-elevated);border:1px solid var(--border-hover);border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .18s ease-out;box-shadow:var(--shadow-lg)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border)}.admin-title{display:flex;align-items:center;gap:8px}.admin-title h2{font-size:.95rem;font-weight:600}.admin-close{width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.admin-close:hover{background:var(--surface-hover);color:var(--text-primary)}.admin-tabs{display:flex;gap:2px;padding:10px 22px 0}.admin-tab{flex:1;padding:9px 12px;font-family:inherit;font-size:.78rem;font-weight:500;border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:5px;justify-content:center}.admin-tab:hover{color:var(--text-primary);background:var(--surface-hover)}.admin-tab.active{color:var(--accent-text);background:var(--accent-light);border-color:#7c3aed26}.admin-content{flex:1;overflow-y:auto;padding:18px 22px}.admin-prompt-section{display:flex;flex-direction:column;gap:8px}.admin-label{font-size:.82rem;font-weight:500;color:var(--text-primary);display:flex;flex-direction:column;gap:3px}.admin-hint{font-size:.72rem;font-weight:400;color:var(--text-tertiary)}.admin-textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;color:var(--text-primary);font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:.77rem;line-height:1.6;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.admin-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.admin-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-top:1px solid var(--border)}.admin-footer-right{display:flex;gap:6px}.admin-btn{padding:8px 16px;font-family:inherit;font-size:.78rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.admin-btn-reset{background:none;border:1px solid rgba(239,68,68,.15);color:var(--danger)}.admin-btn-reset:hover{background:var(--danger-light)}.admin-btn-cancel{background:none;border:1px solid var(--border);color:var(--text-secondary)}.admin-btn-cancel:hover{background:var(--surface-hover);color:var(--text-primary)}.admin-btn-save{background:var(--accent);border:none;color:#fff}.admin-btn-save:hover{background:var(--accent-hover)}@media(max-width:1200px){.main-grid{grid-template-columns:1fr 1fr}.col-center{grid-column:1 / -1;order:-1;position:static}.left-column,.right-column{position:static;max-height:none;overflow-y:visible}}@media(max-width:820px){.main-grid{grid-template-columns:1fr}.col-center{grid-column:1}.left-column,.right-column{position:static;max-height:none;overflow-y:visible}.app-header{padding:12px 16px}.app-main{padding:16px 12px 40px}}@media(max-width:480px){.logo h1{font-size:1rem}.subtitle{font-size:.65rem}.card{padding:14px}.generate-btn{padding:12px 20px;font-size:.88rem}.admin-panel{width:96vw;max-height:92vh}.admin-tabs{flex-wrap:wrap}}.image-gen-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;margin-top:16px}.image-gen-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.image-gen-header h3{font-size:14px;font-weight:600;color:var(--text-primary)}.image-gen-controls{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.image-gen-ratios{display:flex;flex-wrap:wrap;gap:6px}.ratio-chip{padding:6px 12px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition)}.ratio-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ratio-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.ratio-chip:disabled{opacity:.5;cursor:not-allowed}.image-gen-count{display:flex;align-items:center;gap:8px;margin-left:auto}.count-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.count-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.count-btn:disabled{opacity:.3;cursor:not-allowed}.count-value{font-size:16px;font-weight:600;color:var(--text-primary);min-width:20px;text-align:center}.generate-image-btn{width:100%;padding:12px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent),hsl(from var(--accent) h calc(s + 10) calc(l - 10)));color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition)}.generate-image-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #0003}.generate-image-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.image-gen-progress{height:4px;background:var(--border);border-radius:2px;margin-top:12px;overflow:hidden}.image-gen-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),hsl(from var(--accent) h s calc(l + 15)));border-radius:2px;transition:width .5s ease}.image-gen-errors{margin-top:12px;display:flex;flex-direction:column;gap:6px}.image-gen-error{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#d926261a;border:1px solid hsla(0,70%,50%,.2);border-radius:8px;color:#e05252;font-size:12px}.image-gen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:16px}.image-gen-thumb{position:relative;border-radius:10px;overflow:hidden;cursor:pointer;aspect-ratio:1;background:var(--border);transition:transform var(--transition)}.image-gen-thumb:hover{transform:scale(1.03)}.image-gen-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-gen-thumb-overlay{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(transparent,#000000b3);display:flex;align-items:center;justify-content:space-between;opacity:0;transition:opacity var(--transition)}.image-gen-thumb:hover .image-gen-thumb-overlay{opacity:1}.thumb-provider{font-size:10px;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.thumb-delete{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:2px;border-radius:4px;transition:all var(--transition)}.thumb-delete:hover{color:#ff6b6b;background:#ffffff1a}.image-gen-gallery{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.gallery-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:4px 0;transition:color var(--transition)}.gallery-toggle:hover{color:var(--text-primary)}.gallery-grid{margin-top:12px}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img{max-width:100%;max-height:80vh;border-radius:12px;box-shadow:0 20px 60px #00000080;object-fit:contain}.lightbox-actions{display:flex;gap:10px;margin-top:16px;align-items:center}.lightbox-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:13px;cursor:pointer;transition:all var(--transition)}.lightbox-btn:hover{background:#fff3}.lightbox-btn.danger:hover{background:#ff50504d;border-color:#ff505080}.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#ffffffb3;cursor:pointer;padding:4px;transition:color var(--transition)}.lightbox-close:hover{color:#fff}.lightbox-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:10001;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fffc;cursor:pointer;transition:all .2s ease}.lightbox-arrow:hover{background:#fff3;color:#fff}.lightbox-arrow-left{left:20px}.lightbox-arrow-right{right:20px}.lightbox-counter{color:#ffffff80;font-size:13px;margin-left:4px}.lightbox-prompt{margin-top:12px;padding:10px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff9;font-size:11px;max-width:600px;max-height:80px;overflow-y:auto;line-height:1.5}@media(max-width:600px){.image-gen-grid{grid-template-columns:repeat(2,1fr)}.image-gen-count{margin-left:0}.lightbox-actions{flex-wrap:wrap;justify-content:center}}.auth-loading{display:flex;align-items:center;justify-content:center}.auth-loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary);font-size:.9rem}.auth-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.auth-screen{display:flex;align-items:center;justify-content:center}.auth-card{display:flex;flex-direction:column;align-items:center;gap:32px;padding:48px 40px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg);text-align:center;max-width:380px;width:90%}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:8px}.auth-logo .logo-icon{width:56px;height:56px;margin-bottom:8px}.auth-logo h1{font-size:1.6rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary)}.auth-login-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;font-family:inherit;font-size:.9rem;font-weight:600;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-accent)}.auth-login-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 24px #7c3aed59}.auth-login-btn:active{transform:translateY(0)}.user-menu{display:flex;align-items:center;gap:6px;margin-left:4px;padding-left:10px;border-left:1px solid var(--border)}.user-avatar{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border)}.showcase-active-jobs{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:12px;width:80%;max-width:300px;z-index:10}.showcase-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--transition),background var(--transition);z-index:5}.showcase-nav-btn:hover{background:#000c}.showcase-nav-btn.prev{left:10px}.showcase-nav-btn.next{right:10px}.showcase-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease,transform .2s ease;z-index:5}.showcase-nav-btn:hover{background:#000000b3;transform:translateY(-50%) scale(1.05)}.showcase-nav-btn:active{transform:translateY(-50%) scale(.95)}.showcase-featured:hover .showcase-nav-btn{opacity:1}.showcase-nav-btn.prev{left:12px}.showcase-nav-btn.next{right:12px}
