@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #671D36;--color-primary-hover: #7d2442;--color-secondary: #f4e5a9;--color-secondary-hover: #f9ecbe;--color-text: #000000;--color-text-light: #666666;--color-text-lighter: #999999;--color-bg: #ffffff;--color-bg-alt: #fafafa;--color-border: #e0e0e0;--color-error: #c92a2a;--color-error-bg: #ffe3e3;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;display:flex;min-width:320px;min-height:100vh}#root{max-width:1280px;width:100%;margin:0 auto;padding:1.5rem}h1,h2,h3,h4,h5,h6{color:var(--color-primary);line-height:1.2;font-weight:600}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background-color:var(--color-text-lighter);border-radius:20px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--transition-normal) forwards}.animate-slideInUp{animation:slideInUp var(--transition-normal) forwards}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fade-in{opacity:0;animation:fadeIn .5s ease forwards}.slide-up{opacity:0;transform:translateY(20px);animation:slideInUp .5s ease forwards}.slide-in-right{opacity:0;transform:translate(20px);animation:slideInRight .5s ease forwards}.slide-in-left{opacity:0;transform:translate(-20px);animation:slideInLeft .5s ease forwards}.scale-in{opacity:0;transform:scale(.9);animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275) forwards}.bounce{animation:bounce .5s cubic-bezier(.175,.885,.32,1.275) forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse-border{0%{box-shadow:0 0 #27ae6066}70%{box-shadow:0 0 0 5px #27ae6000}to{box-shadow:0 0 #27ae6000}}.App{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:1600px;margin:0 auto;padding:0 2rem;animation:fadeIn .4s ease-in-out}.card{background-color:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:1.5rem;transition:transform var(--transition-normal),box-shadow var(--transition-normal);overflow:hidden;position:relative;animation:slideInUp .3s ease-out forwards}.card:hover{box-shadow:var(--shadow-lg)}.app-header{text-align:center;padding:1.5rem 0;position:relative;border-bottom:none;margin-bottom:1rem}.app-header h1{font-size:2.5rem;margin:0;font-weight:600;letter-spacing:-.8px;color:var(--color-text)}.app-header h1 span{color:var(--color-primary)}.input-section,.image-selector,.scene-selector,.result-display{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal);position:relative;animation:slideInUp .3s ease-out forwards;animation-fill-mode:both}.input-section:hover,.image-selector:hover,.scene-selector:hover,.result-display:hover{box-shadow:var(--shadow-md)}.input-section{animation-delay:.1s}.image-selector{animation-delay:.2s}.scene-selector{animation-delay:.3s}.result-display{animation-delay:.4s}label{font-weight:600;color:var(--color-text);margin-bottom:.5rem;display:block;transition:color var(--transition-fast)}input:focus+label,select:focus+label{color:var(--color-primary)}input[type=url],select{width:100%;padding:.8rem 1rem;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);margin-bottom:1rem}input[type=url]:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #27ae601a}.input-group{position:relative;margin-bottom:1rem}.input-with-button{display:flex;gap:.5rem;align-items:center}button{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.8rem;font-size:1rem;font-weight:500;color:var(--color-text);background-color:var(--color-secondary);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;font-family:var(--font-family)}button:hover{background-color:var(--color-secondary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}button:active{transform:translateY(0)}button:disabled{background-color:var(--color-text-lighter);color:#fff;cursor:not-allowed;transform:none}button:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#ffffff80;opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}button:focus:not(:active):after{animation:ripple .6s ease-out}@keyframes ripple{0%{transform:scale(0);opacity:.5}20%{transform:scale(25);opacity:.3}to{opacity:0;transform:scale(40)}}.upload-section{text-align:center}.file-upload-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.file-upload-label{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1.2rem 2.5rem;font-size:1rem;font-weight:500;font-family:var(--font-family);color:var(--color-text);background-color:var(--color-secondary);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);min-width:300px}.file-upload-label:hover{background-color:var(--color-secondary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.file-upload-label:active{transform:translateY(0)}.file-upload-icon{font-size:1.5rem}h2{font-size:1.5rem;color:var(--color-primary);margin-bottom:1.2rem;font-weight:600;letter-spacing:-.3px}h2:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:2px;background-color:var(--color-secondary);border-radius:2px}.image-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem}.image-thumbnails img{width:100%;height:120px;object-fit:contain;border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:.3rem;background-color:var(--color-bg);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.image-thumbnails img:hover{transform:scale(1.05);border-color:var(--color-text-lighter);box-shadow:var(--shadow-md)}.image-thumbnails img.selected{border-color:var(--color-secondary);box-shadow:0 0 0 2px #f39c124d;transform:scale(1.05)}.scene-selector{display:flex;flex-direction:column}.select-container{position:relative;margin-bottom:1rem}.select-container:after{content:"▼";font-size:.8rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-light);pointer-events:none}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.5rem}.checkbox-container{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.checkbox-container input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.2rem;height:1.2rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;position:relative;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.checkbox-container input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-container input[type=checkbox]:checked:after{content:"";position:absolute;left:.35rem;top:.15rem;width:.3rem;height:.6rem;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-container label{display:inline;margin:0;font-weight:400;cursor:pointer}.status{padding:1rem;text-align:center;color:var(--color-text-light);font-style:italic;animation:fadeIn var(--transition-normal)}.error{padding:1rem;text-align:center;color:var(--color-error);background-color:var(--color-error-bg);border-radius:var(--radius-sm);border-left:4px solid var(--color-error);margin-top:1rem;animation:slideInUp var(--transition-normal)}.loading-spinner{display:inline-block;width:2rem;height:2rem;margin:1rem auto;border:3px solid var(--color-bg-alt);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s ease-in-out infinite}.loading-inline{display:inline-block;width:1rem;height:1rem;margin-right:.5rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}.result-display{text-align:center}.result-display img{max-width:100%;max-height:600px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-top:1rem;transition:transform var(--transition-slow)}.result-display img:hover{transform:scale(1.02)}.shimmer{background:linear-gradient(to right,var(--color-bg-alt) 0%,var(--color-border) 20%,var(--color-bg-alt) 40%);background-size:1000px 100%;animation:shimmer 2s infinite linear}.image-placeholder{width:100%;height:400px;border-radius:var(--radius-md)}.main-content{display:grid;grid-template-columns:500px 1fr;gap:2rem;animation-delay:.3s}@media (max-width: 1024px){.main-content{grid-template-columns:1fr}}.left-column{display:flex;flex-direction:column;gap:1.5rem}.selected-product-section{animation-delay:.3s}.selected-product-section .card{height:fit-content}.prompts-editor{animation-delay:.35s;height:fit-content}.prompts-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.prompt-shimmer{height:100px;border-radius:var(--radius-sm)}.image-shimmer{width:100%;height:400px;border-radius:var(--radius-sm)}.prompt-item{display:flex;flex-direction:column}.prompt-item label{font-size:.9rem;margin-bottom:.5rem;color:var(--color-text-light)}.prompt-item textarea{width:100%;min-height:120px;padding:.8rem;font-size:.95rem;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);resize:vertical}.prompt-item textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #27ae601a}.prompt-item textarea:disabled{background-color:var(--color-bg-alt);cursor:not-allowed}.selected-product-preview{padding:1rem;background-color:var(--color-bg-alt);border-radius:var(--radius-sm)}.selected-product-preview img{width:100%;height:auto;object-fit:contain;border-radius:var(--radius-sm);background-color:#fff}.image-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1rem}.image-loading-placeholder,.image-empty-placeholder{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg-alt);border-radius:var(--radius-sm);color:var(--color-text-light)}.image-loading-placeholder p,.image-empty-placeholder p{margin-top:1rem;font-size:.9rem}.generated-image-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;background-color:var(--color-bg);transition:box-shadow var(--transition-fast)}.generated-image-item:hover{box-shadow:var(--shadow-md)}.image-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.status-badge{padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.status-badge.completed{background-color:#27ae601a;color:var(--color-primary)}.status-badge.failed{background-color:#e74c3c1a;color:var(--color-error)}.status-badge.processing{background-color:#f39c121a;color:var(--color-secondary)}.generated-image-item img{width:100%;height:auto;max-height:300px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:.75rem;transition:transform var(--transition-fast)}.generated-image-item img:hover{transform:scale(1.02)}.image-prompt{font-size:.85rem;color:var(--color-text-light);line-height:1.4;margin:0;font-style:italic}.image-error{padding:.75rem;background-color:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:.9rem;margin-bottom:.75rem}.auth-modal{background-color:var(--color-bg);border-radius:var(--radius-md);padding:2rem;max-width:400px;width:90%;box-shadow:var(--shadow-lg);animation:scaleIn .3s ease-out}.auth-modal h2{margin-top:0;margin-bottom:.5rem;text-align:center;color:var(--color-text)}.auth-modal p{text-align:center;color:var(--color-text-light);margin-bottom:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form input[type=password]{width:100%;padding:.8rem 1rem;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-form input[type=password]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #27ae601a}.auth-form input[type=password]:disabled{background-color:var(--color-bg-alt);cursor:not-allowed}.auth-error{padding:.75rem;background-color:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:.9rem;text-align:center;margin-top:1rem;animation:slideInUp .3s ease-out}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;cursor:pointer}.modal-content{position:relative;max-width:90vw;max-height:90vh;animation:scaleIn .3s ease-out;cursor:default}.modal-content img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 10px 40px #00000080}.modal-close{position:absolute;top:-40px;right:0;background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),transform var(--transition-fast);padding:0}.modal-close:hover{background-color:#fff3;transform:scale(1.1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.App{padding:1rem}.image-thumbnails{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.image-thumbnails img{height:90px}.app-header h1{font-size:2rem}.input-with-button{flex-direction:column}.input-with-button button{width:100%}.prompts-grid,.main-content{grid-template-columns:1fr}}.examples-section{animation-delay:.1s}.examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;max-width:100%}.example-item{cursor:pointer;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-fast);background-color:var(--color-bg)}.example-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.example-item img{width:100%;height:150px;object-fit:cover;display:block}.example-item p{padding:.75rem;text-align:center;font-weight:600;color:var(--color-text);margin:0;font-size:.9rem}.disclaimer{margin-top:3rem;padding:2rem 1rem;border-top:1px solid var(--color-border);text-align:center;background-color:var(--color-bg-alt);border-radius:var(--radius-md)}.disclaimer p{color:var(--color-text-light);font-size:.85rem;line-height:1.6;max-width:900px;margin:0 auto}.disclaimer strong{color:var(--color-text);font-weight:600}
