body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}.App{background:linear-gradient(135deg,#ffc9e5,#d4e4f7 35%,#c8e8d5 70%,#ffe8d0);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:40px 20px}.header{padding:30px 0 40px;text-align:center}.logo-container{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:8px}.logo-icon{animation:sparkle 2s ease-in-out infinite;font-size:40px}@keyframes sparkle{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.1) rotate(5deg)}}.logo{color:#1a1a1a;font-size:56px;font-weight:300;letter-spacing:-2px}.tagline{display:none}.container{align-items:stretch;display:flex;gap:24px;justify-content:center;margin:0 auto;max-width:1400px}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9;border:none;border-radius:20px;box-shadow:0 4px 20px #00000014;flex:1 1;padding:30px;transition:all .3s ease}.card:hover{box-shadow:0 6px 24px #0000001f;transform:translateY(-2px)}.selector-card{padding:20px 24px}.output-card{overflow:hidden;padding:30px}.output-card>div{padding:0}.footer{display:none}@media (max-width:1100px){.container{align-items:center;flex-direction:column}.card{max-width:500px;width:100%}}.upload-section{width:100%}.section-title{font-size:20px;font-weight:400;text-align:left}.section-title,.upload-button{color:#1a1a1a;margin-bottom:20px}.upload-button{align-items:center;background:#d4b5d8;border:none;border-radius:30px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:all .3s ease;width:100%}.upload-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.upload-icon{font-size:16px}.preview-container{align-items:center;background:#f0f0f0;border-radius:16px;display:flex;justify-content:center;min-height:300px;overflow:hidden}.preview-image{display:block;height:auto;width:100%}.preview-placeholder{color:#ccc;font-size:14px;min-height:300px}.person-upload .preview-container{background:#e8e8e8;border:2px solid #d0d0d0;border-radius:12px;height:400px;overflow:hidden;width:100%}.person-upload .preview-image{height:100%;object-fit:cover;width:100%}.person-upload .preview-placeholder{background:#e8e8e8;height:100%;width:100%}.jewelry-upload .upload-button{background:#b8d4f1}.product-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);width:100%}.product-slot{aspect-ratio:1;background:#e8e8e8;border:2px solid #d0d0d0;border-radius:12px;overflow:hidden;position:relative;width:100%}.product-slot.filled{cursor:pointer}.product-slot.filled:hover .remove-overlay{opacity:1}.product-image{height:100%;object-fit:cover;width:100%}.remove-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s}.remove-icon{color:#fff;font-size:24px;font-weight:700}.product-slot.empty{background:#e8e8e8}.output-section{width:100%}.output-section .section-title{color:#1a1a1a;font-size:20px;font-weight:400;margin-bottom:20px;text-align:left}.generate-button{align-items:center;background:#ffd4a3;border:none;border-radius:30px;color:#1a1a1a;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;margin-bottom:20px;padding:12px 20px;transition:all .3s ease;width:100%}.generate-button:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.generate-button:disabled{cursor:not-allowed;opacity:.7}.button-icon{font-size:20px}.button-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.preview-container.output{background:#e8e8e8;border:2px solid #d0d0d0;border-radius:16px;min-height:450px;overflow:hidden}.loading-container{flex-direction:column;padding:60px 40px;text-align:center}.loading-container,.loading-visual{align-items:center;display:flex;justify-content:center}.loading-visual{height:120px;margin-bottom:30px;position:relative;width:120px}.shimmer-ring{animation:shimmer 1.5s ease-in-out infinite;border:3px solid #0000;border-radius:50%;border-top-color:#667eea;height:100%;position:absolute;width:100%}.shimmer-ring.delay-1{animation-delay:.2s;animation-direction:reverse;border-top-color:#764ba2;height:80%;width:80%}.shimmer-ring.delay-2{animation-delay:.4s;border-top-color:#f093fb;height:60%;width:60%}@keyframes shimmer{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-icon{animation:pulse 1.5s ease-in-out infinite;font-size:36px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.loading-text{color:#1a1a1a;font-size:18px;font-weight:600;margin-bottom:8px}.loading-subtext{color:#666;font-size:14px;margin-bottom:24px}.progress-bar{background:#fff3;border-radius:3px;height:6px;overflow:hidden;width:200px}.progress-fill{animation:shimmer-gradient 2s linear infinite;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);background-size:200% 100%;border-radius:3px;height:100%;transition:width .3s ease}@keyframes shimmer-gradient{0%{background-position:200% 0}to{background-position:-200% 0}}.result-container{padding:20px}.preview-image.zoomable{border-radius:12px;cursor:grab;height:auto;width:100%}.preview-image.zoomable:active{cursor:grabbing}.result-actions{border-top:1px solid #ddd;justify-content:space-between;margin-top:16px;padding-top:16px}.action-button,.result-actions{align-items:center;display:flex}.action-button{border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.action-button.download{background:linear-gradient(135deg,#11998e,#38ef7d);box-shadow:0 4px 15px #38ef7d4d;color:#fff}.action-button.download:hover{box-shadow:0 6px 20px #38ef7d66;transform:translateY(-2px)}.zoom-hint{color:#999;font-size:12px}.preview-placeholder{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 40px;text-align:center}.placeholder-icon{font-size:64px;margin-bottom:20px;opacity:.6}.placeholder-text{color:#999;font-size:16px;font-weight:500;margin-bottom:8px}.placeholder-subtext{color:#bbb;font-size:13px}
/*# sourceMappingURL=main.1adedd6f.css.map*/