*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Source Sans Pro','Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background-color:#f8f9fa;min-height:100vh;padding:20px}.container{max-width:1200px;margin:0 auto;background:white;border-radius:15px;box-shadow:0 20px 40px rgba(0,0,0,0.1);overflow:hidden}.header{background-color:#f8f9fa;padding:20px 30px;text-align:center;border-bottom:1px solid #e0e0e0}.header h1{font-size:2.5rem;margin-top:1rem;margin-bottom:1rem;font-weight:700;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:'Source Sans Pro',sans-serif}.header-content{display:flex;justify-content:center;align-items:center;max-width:1200px;margin:0 auto;position:relative}.header-content h1{margin:0}#creditsDisplay{font-size:16px;font-weight:600;color:#667eea;padding:10px 20px;background:rgba(102,126,234,0.1);border-radius:25px;white-space:nowrap;cursor:pointer;transition:all .3s ease;position:absolute;right:0}#creditsDisplay:hover{background:rgba(102,126,234,0.2);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.1)}#creditBalance{font-weight:700;color:#764ba2;margin-left:5px}.menu-toggle{position:fixed;top:15px;right:15px;z-index:999;width:50px;height:50px;background:rgba(52,58,64,0.5);border-radius:.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:white;font-size:20px;text-decoration:none;line-height:50px;text-align:center}.menu-toggle:hover{background:#343a40;color:white}#sidebar-wrapper{position:fixed;top:0;right:0;width:250px;height:100vh;background:#1d809f;transition:all .4s ease 0;transform:translateX(250px);z-index:2;overflow-y:auto;border-left:1px solid rgba(255,255,255,0.1)}#sidebar-wrapper.active{transform:translateX(0);right:0}.sidebar-nav{list-style:none;padding:0;margin:0;position:absolute;top:0;width:250px}.sidebar-nav-item{padding:0}.sidebar-nav-item a{display:block;padding:15px;color:#fff;text-decoration:none;border:0;background:0;width:100%;text-align:left;font-size:16px;cursor:pointer}.sidebar-nav-item button{width:calc(100% - 20px);margin:10px;font-size:.9rem;letter-spacing:.05rem;padding:.75rem 1rem;border-radius:2rem;background-color:#1d809f;border:1px solid #1d809f;color:white;box-shadow:0 .125rem .25rem rgba(0,0,0,0.075);cursor:pointer;transition:all .15s ease-in-out}.sidebar-nav-item button:hover,.sidebar-nav-item button:focus,.sidebar-nav-item button:active{background-color:#155d74;border-color:#155d74}.sidebar-nav-item a:hover{background:rgba(255,255,255,0.2);color:white;text-decoration:none}.form-section{padding:20px 20px 15px 20px;background:white}.form-group{margin-bottom:20px}label{display:block;margin-bottom:10px;font-weight:600;color:#333;font-size:1.1em}#prompt{width:100%;padding:15px;font-size:16px;border:2px solid #e0e0e0;border-radius:10px;transition:border-color .3s ease;font-family:inherit;min-height:80px;resize:vertical}#prompt:focus{outline:0;border-color:#1d809f;box-shadow:0 0 0 3px rgba(29,128,159,0.1)}.prompt-ideas{margin-top:8px}.prompt-ideas a{color:#667eea;text-decoration:none;font-size:.9em;font-weight:500}.prompt-ideas a:hover{color:#764ba2}#ideasList{margin-top:10px;padding:10px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.idea-item{padding:8px 12px;margin:4px 0;background:white;border-radius:6px;cursor:pointer;font-size:.85em;color:#555;transition:all .2s ease;border:1px solid #e9ecef}.idea-item:hover{background:#667eea;color:white;border-color:#667eea}.button-row{display:flex;gap:15px;align-items:center;justify-content:center}.generate-btn{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:white;border:0;padding:15px 40px;font-size:18px;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px rgba(102,126,234,0.3);flex:1;max-width:300px}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,0.4)}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-btn-label{background-color:#6c757d;color:white;border:0;padding:15px 40px;font-size:18px;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px rgba(108,117,125,0.3);flex:1;max-width:300px;text-align:center;display:flex;align-items:center;justify-content:center}.upload-btn-label:hover{background-color:#5a6268;transform:translateY(-2px);box-shadow:0 8px 25px rgba(108,117,125,0.4)}.spinner{border:4px solid #e0e0e0;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0{transform:rotate(0)}100%{transform:rotate(360deg)}}.progress-bar{width:100%;height:20px;background-color:#e0e0e0;border-radius:10px;overflow:hidden;margin:20px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);width:0;transition:width .5s ease;border-radius:10px}.status-text{font-size:1.2em;color:#333;margin-bottom:10px;font-weight:500}.results-section{padding:20px;padding-top:10px;background:white;display:none}.results-title{text-align:center;margin-bottom:20px;font-size:2em;color:#333}.thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;max-width:1000px;margin:0 auto}.thumbnail-container{overflow:hidden;transition:transform .3s ease;position:relative}.thumbnail-container:hover{transform:translateY(-5px)}.result-set-controls{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:100}.result-set-btn{background:0;border:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;transition:all .2s ease;color:#aaa;opacity:.3}.result-set-btn:hover{opacity:1;color:#555}.result-set-btn.delete-btn:hover{color:#dc3545}.result-set-content{transition:all .3s ease;overflow:hidden}.result-set-content.collapsed{max-height:0;opacity:0;margin:0}.thumbnail-image{object-fit:contain;cursor:pointer}.thumbnail-placeholder{width:100%;min-width:280px;min-height:200px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#999;gap:15px;padding:20px}.placeholder-progress-bar{width:80%;max-width:300px;height:8px;background:#e0e0e0;border-radius:10px;overflow:hidden}.placeholder-progress-fill{height:100%;background:#1d809f;transition:width .3s ease;width:0}.thumbnail-info{padding:20px}.provider-label{display:none !important}.download-btn{display:none !important}.download-btn:hover{background:#218838}.like-btn{display:none !important}.like-btn:hover{background:#0f5f72}.like-btn.liked{background:#28a745}.preference-indicator{background:#e8f4f8;padding:15px;border-radius:10px;margin-bottom:20px;text-align:center;font-weight:600;color:#1d809f}.clear-preference-btn{background:#6c757d;color:white;border:0;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;margin-left:10px}.clear-preference-btn:hover{background:#5a6268}.overlay-btn{background:#f4623a;color:white;border:0;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;margin-left:10px;transition:background-color .3s ease}.overlay-btn:hover{background:#e0451f}.edit-btn{background:#6f42c1;color:white;border:0;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;margin-left:10px;transition:background-color .3s ease}.edit-btn:hover{background:#5a32a1}.upload-section{margin-top:15px;padding-top:10px}.upload-divider{text-align:center;position:relative;margin:20px 0}.upload-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:#e0e0e0}.upload-divider span{background:white;padding:0 20px;color:#666;font-weight:600}.upload-btn{background:#6c757d !important;color:white !important;border:none !important;padding:12px 24px !important;border-radius:8px !important;font-size:16px !important;font-weight:600 !important;cursor:pointer !important;transition:all .3s ease !important;width:100% !important}.upload-btn:hover{background:#5a6268 !important;transform:translateY(-1px) !important}.save-btn{background:#28a745;color:white;border:0;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;margin-left:10px;transition:background-color .3s ease}.save-btn:hover{background:#218838}.save-btn:disabled{opacity:.6;cursor:not-allowed}.image-checkbox{position:absolute;top:10px;left:10px;width:20px;height:20px;cursor:pointer;z-index:10}.edit-icon-overlay{position:absolute;top:10px;right:10px;cursor:pointer;z-index:10;font-size:24px;transition:all .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));background:linear-gradient(135deg,#667eea 0,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.edit-icon-overlay:hover{transform:scale(1.15);filter:drop-shadow(0 3px 6px rgba(0,0,0,0.5))}.save-selected-container{position:fixed;bottom:20px;right:20px;background:white;padding:15px;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,0.2);display:none;z-index:1000;min-width:250px;transition:all .3s ease}.save-selected-container.minimized-disabled{display:block;padding:8px 12px;min-width:200px;background:#e9ecef;opacity:.6;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.save-selected-container.minimized-disabled .selection-info{font-size:.8rem;color:#6c757d;margin-bottom:6px}.save-selected-container.minimized-disabled #thumbnailPreview{display:none !important}.save-selected-container.minimized-disabled #tvQueueOptions{display:none !important}.save-selected-container.minimized-disabled #tvOptionsToggle{display:none !important}.save-selected-container.minimized-disabled .queue-tv-btn{display:inline-block !important;opacity:.6;background:#adb5bd;cursor:not-allowed;padding:8px 16px;font-size:.85rem}.save-selected-btn{background:#1d809f;color:white;border:0;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.save-selected-btn:hover{background:#0f5f72;transform:translateY(-1px)}.save-selected-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.selection-info{font-size:14px;color:#666;margin-bottom:10px}.queue-tv-btn{background:#f4623a;color:white;border:0;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-left:10px}.queue-tv-btn:hover{background:#e0451f;transform:translateY(-1px)}.queue-tv-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.tv-options-toggle{position:absolute;top:10px;right:10px;background:#6c757d;color:white;border:0;padding:6px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .3s ease;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;z-index:10}.tv-options-toggle:hover{background:#5a6268}.tv-options-toggle.expanded{background:#1d809f}.thumbnail-preview{margin:10px 0;padding:8px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:4px;max-width:100%;overflow-x:auto}.thumbnail-preview img{width:32px;height:24px;object-fit:cover;border-radius:3px;border:1px solid #ddd;cursor:grab;transition:transform .2s ease;user-select:none}.thumbnail-preview img:hover{transform:scale(1.1);border-color:#1d809f}.thumbnail-preview img:active{cursor:grabbing}.thumbnail-preview img.dragging{opacity:.5;transform:rotate(5deg)}.thumbnail-preview img.drag-over{border-color:#f4623a;border-width:2px}.thumbnail-deselect{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#dc3545;border:2px solid white;border-radius:50%;color:white;font-size:10px;font-weight:bold;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:15;line-height:1;box-shadow:0 2px 4px rgba(0,0,0,0.3)}.thumbnail-preview .thumbnail-wrapper{position:relative;display:inline-block}.thumbnail-preview .thumbnail-wrapper:hover .thumbnail-deselect{display:flex}.thumbnail-deselect:hover{background:#c82333;transform:scale(1.1)}.tv-queue-options{margin-top:15px;padding:15px;border:1px solid #ddd;border-radius:8px;background:#f8f9fa}.tv-option-group{margin-bottom:10px;display:flex;align-items:center;gap:10px}.tv-option-group label{font-weight:600;min-width:100px;font-size:14px;color:#333}.tv-option-group input[type="text"],.tv-option-group input[type="number"],.tv-option-group select{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:5px;font-size:14px;background:white}.tv-option-group input[type="text"]:focus,.tv-option-group input[type="number"]:focus,.tv-option-group select:focus{outline:0;border-color:#f4623a;box-shadow:0 0 0 2px rgba(244,98,58,0.1)}.tv-option-group select{cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:5px;cursor:pointer}.checkbox-label input[type="checkbox"]{margin:0}.overlay-modal{display:none;position:fixed;z-index:1001;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.8)}.overlay-modal-content{background-color:#fefefe;margin:2% auto;padding:0;border-radius:15px;width:90%;max-width:600px;max-height:96vh;overflow-y:auto}.overlay-modal-header{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:white;padding:20px;border-radius:15px 15px 0 0;position:relative}.overlay-modal-header h2{margin:0;font-size:1.5em}.overlay-close{position:absolute;top:15px;right:20px;color:#fff;font-size:28px;font-weight:bold;cursor:pointer}.overlay-close:hover{opacity:.7}.edit-close{position:absolute;top:15px;right:20px;color:#fff;font-size:28px;font-weight:bold;cursor:pointer}.edit-close:hover{opacity:.7}.overlay-tabs{display:flex;background:#f8f9fa;border-bottom:1px solid #dee2e6}.overlay-tab{flex:1;padding:15px 20px;background:0;border:0;cursor:pointer;font-size:16px;font-weight:500;color:#6c757d;transition:all .3s ease}.overlay-tab.active{color:#667eea;background:white;border-bottom:3px solid #667eea}.overlay-tab:hover{background:#e9ecef}.overlay-tab-content{padding:20px;display:none}.overlay-tab-content.active{display:block}.overlay-form-group{margin-bottom:20px}.overlay-form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.overlay-form-group input,.overlay-form-group select,.overlay-form-group textarea{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s ease}.overlay-form-group input:focus,.overlay-form-group select:focus,.overlay-form-group textarea:focus{outline:0;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,0.1)}.overlay-form-group textarea{resize:vertical;min-height:100px}.overlay-form-row{display:flex;gap:15px}.overlay-form-row .overlay-form-group{flex:1}.overlay-submit-btn{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:white;border:0;padding:12px 30px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.overlay-submit-btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(102,126,234,0.3)}.overlay-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.color-input{width:60px !important;height:40px;padding:0;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer}.error-message{color:#dc3545;font-size:14px;margin-top:10px}.success-indicator{display:none !important}.loading-text{color:#667eea;font-style:italic}.modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.9);align-items:center;justify-content:center}.modal-content{display:block;width:90%;max-width:1200px;max-height:90vh;object-fit:contain}.close{position:absolute;top:15px;right:35px;color:#f1f1f1;font-size:40px;font-weight:bold;transition:.3s;cursor:pointer;z-index:10001}.close:hover{color:#bbb}.modal-download-icon{position:absolute;top:20px;right:90px;font-size:32px;cursor:pointer;z-index:10001;text-decoration:none;transition:all .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5))}.modal-download-icon:hover{transform:scale(1.15);filter:drop-shadow(0 3px 6px rgba(0,0,0,0.7))}.modal-edit-icon{position:absolute;top:20px;right:145px;font-size:32px;cursor:pointer;z-index:10001;text-decoration:none;transition:all .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5))}.modal-edit-icon:hover{transform:scale(1.15);filter:drop-shadow(0 3px 6px rgba(0,0,0,0.7))}@media(max-width:768px){.thumbnail-grid{grid-template-columns:1fr}.header h1{font-size:2em}.form-section,.results-section{padding:20px}}@media(max-width:400px){.thumbnail-container{position:relative}.edit-icon-overlay{font-size:20px;top:6px;right:6px;padding:2px}.image-checkbox{top:6px;left:6px;width:18px;height:18px}.result-set-controls{top:6px;right:6px}.result-set-btn{width:18px;height:18px;font-size:11px}}@media(min-width:401px){.saved-images-result-set{padding:20px !important;border:1px solid rgba(0,0,0,0.125) !important}.saved-images-result-set .thumbnail-container{margin:10px !important}}