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}.multiselect-container{position:relative;width:100%}.multiselect-header{align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;min-height:48px;padding:.75rem 1rem;transition:all .2s ease}.multiselect-header:hover{border-color:var(--border-color-light)}.multiselect-header.open{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.selected-values{flex:1 1;min-width:0}.placeholder{color:var(--text-secondary);font-size:.9rem}.selected-tags{display:flex;flex-wrap:wrap;gap:.5rem}.selected-tag{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);display:inline-flex;font-size:.8rem;font-weight:500;gap:.5rem;padding:.25rem .5rem}.remove-tag{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:16px;justify-content:center;padding:0;transition:background-color .2s ease;width:16px}.remove-tag:hover{background:var(--bg-tertiary)}.dropdown-arrow{color:var(--text-secondary);font-size:.8rem;margin-left:.5rem;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.multiselect-dropdown{background:var(--bg-primary);border:2px solid #2563eb;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 6px -1px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.option{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s ease}.option:last-child{border-bottom:none}.option:hover{background:var(--bg-secondary)}.option.selected{background:var(--bg-tertiary);color:var(--text-primary)}.option-label{color:var(--text-primary);font-size:.9rem}.checkmark{color:var(--success-color);font-size:1rem;font-weight:700}.output-display{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:2rem}.generating-state{padding:3rem 2rem;text-align:center}.loading-spinner{margin:0 auto 1rem}.generating-state h3{color:#1f2937;font-size:1.25rem;margin-bottom:.5rem}.generating-state p{color:#6b7280;font-size:.9rem}.output-header{margin-bottom:2rem;text-align:center}.output-header h2{color:#1a1a1a;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.output-header p{color:#666;font-size:1rem}.images-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}@media (max-width:768px){.images-grid{grid-template-columns:1fr}}.image-card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.image-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.loading-card{opacity:.7}.loading-card:hover{box-shadow:0 2px 10px #00000014;transform:none}.loading-placeholder{align-items:center;background:#f9fafb;color:#6b7280;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.loading-placeholder .loading-spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;height:30px;margin-bottom:1rem;width:30px}.loading-placeholder p{font-size:.9rem;margin:0}.image-container{aspect-ratio:1;overflow:hidden;position:relative}.generated-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.image-container:hover .generated-image{transform:scale(1.05)}.image-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.image-container:hover .image-overlay{opacity:1}.download-btn{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0003;cursor:pointer;display:flex;height:48px;justify-content:center;transition:transform .2s ease;width:48px}.download-btn:hover{transform:scale(1.1)}.download-btn svg{color:#374151}.image-info{padding:1.5rem}.image-info h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.prompt-text{color:#6b7280;font-size:.85rem;font-style:italic;line-height:1.4}.output-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:center;padding-top:1.5rem}.action-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.action-btn.primary{background:#2563eb;color:#fff}.action-btn.primary:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.action-btn.secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.action-btn.secondary:hover{background:#e5e7eb;transform:translateY(-1px)}.language-selector{display:inline-block;position:relative}.language-button{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.language-button:hover{background:var(--bg-secondary);border-color:var(--border-color)}.language-flag{font-size:1.25rem;line-height:1}.language-code{font-weight:600;letter-spacing:.5px}.language-chevron{color:#6b7280;transition:transform .2s ease}.language-chevron.open{transform:rotate(180deg)}.language-dropdown{animation:slideDown .2s ease;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow-hover);min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.language-option{align-items:center;background:var(--bg-primary);border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;position:relative;text-align:left;transition:background .2s ease;width:100%}.language-option:hover{background:var(--bg-secondary)}.language-option.active{background:var(--info-bg);color:#2563eb}.language-option .language-flag{font-size:1.25rem}.language-option .language-name{flex:1 1}.check-icon{color:#2563eb;flex-shrink:0}@media (max-width:480px){.language-button{font-size:.8rem;padding:.4rem .6rem}.language-flag{font-size:1.1rem}.language-code{display:none}.language-dropdown{min-width:150px}.language-option{font-size:.8rem;padding:.6rem .75rem}}.theme-toggle{align-items:center;background:var(--theme-toggle-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.theme-toggle:hover{background:var(--theme-toggle-hover);transform:scale(1.05)}.theme-toggle svg{height:20px;width:20px}@media (max-width:480px){.theme-toggle{height:36px;width:36px}.theme-toggle svg{height:18px;width:18px}}.carpet-generator{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.header{margin-bottom:3rem;text-align:center}.header-top{justify-content:space-between;margin-bottom:2rem}.header-controls,.header-top{align-items:center;display:flex}.header-controls{gap:.75rem}.user-info{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow);gap:1.5rem}.auth-prompt,.user-info{align-items:center;display:flex;padding:1rem 1.5rem}.auth-prompt{background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:12px;gap:1rem}.auth-message{color:var(--text-secondary);font-size:.9rem;font-weight:500}.login-btn-header{align-items:center;background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.login-btn-header:hover{background:#1d4ed8;box-shadow:0 2px 8px #2563eb4d;transform:translateY(-1px)}.login-btn-header svg{height:14px;width:14px}.user-details{display:flex;flex-direction:column;gap:.25rem}.username{color:var(--text-primary);font-size:.9rem;font-weight:600}.credits{color:var(--text-secondary);font-size:.8rem;font-weight:500}.logout-btn{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.logout-btn:hover{background:#dc2626;box-shadow:0 2px 8px #ef44444d;transform:translateY(-1px)}.logout-btn svg{height:14px;width:14px}.header h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.header p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px}.main-content{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:400px 1fr}@media (max-width:1024px){.main-content{gap:2rem;grid-template-columns:1fr}.header-top{justify-content:center}.auth-prompt,.user-info{flex-direction:column;gap:1rem;text-align:center}.user-details{align-items:center}}.form-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 10px var(--shadow);padding:2rem}.input-group{margin-bottom:1.5rem}.input-label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.generate-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:1rem 1.5rem;transition:all .2s ease;width:100%}.generate-btn.enabled{background:#2563eb;color:#fff}.generate-btn.enabled:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.generate-btn.disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.generate-btn.auth-required{background:#f59e0b;color:#fff;cursor:pointer}.generate-btn.auth-required:hover{background:#d97706;box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.error-message{align-items:center;display:flex;gap:.5rem;margin-top:1rem}.warning-message{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;color:var(--warning-text)}.info-message,.warning-message{align-items:center;display:flex;font-size:.9rem;gap:.5rem;margin-top:1rem;padding:.75rem 1rem}.info-message{background:var(--info-bg);border:1px solid var(--info-border);border-radius:8px;color:var(--info-text)}.prompt-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:1.5rem;padding:1rem}.prompt-preview h3{color:var(--text-primary);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.prompt{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:.5rem}.prompt strong{color:var(--text-primary);font-weight:600}.prompt:last-child{margin-bottom:0}.loading-overlay{animation:fadeIn .3s ease-in;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 20px var(--shadow);margin-top:2rem;padding:4rem 2rem;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.loading-content .loading-spinner{animation:spin .8s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top:4px solid #2563eb;height:60px;width:60px}.loading-content h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.loading-content p{animation:pulse 1.5s ease-in-out infinite;color:var(--text-secondary);font-size:1rem;margin:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.login-container{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 40px var(--shadow-hover);max-width:500px;padding:3rem;text-align:center;width:100%}.login-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.login-header-top{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.login-header .header-controls{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.login-header h2{font-size:2rem;font-weight:700;margin:0}.back-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.back-btn:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.back-btn svg{height:16px;width:16px}.login-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.login-header p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:2rem}.login-form{gap:1.5rem;text-align:left}.input-group,.login-form{display:flex;flex-direction:column}.input-group{gap:.5rem}.input-group label{color:var(--text-primary);font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.input-group input{background:var(--input-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:1rem;transition:all .2s ease}.input-group input:focus{background:var(--bg-primary);border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.input-group input:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.login-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem 1.5rem;transition:all .2s ease}.login-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.login-btn:disabled{background:var(--bg-tertiary);box-shadow:none;color:var(--text-tertiary);cursor:not-allowed;transform:none}.error-message{background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-text)}.error-message,.success-message{font-size:.9rem;margin-top:.5rem;padding:.75rem 1rem;transition:all .3s ease}.success-message{background:#f0f9ff;background:var(--success-bg,#f0f9ff);border:1px solid #10b981;border:1px solid var(--success-border,#10b981);border-radius:8px;color:#065f46;color:var(--success-text,#065f46)}.login-footer{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem}.login-footer p{color:var(--text-secondary);font-size:.85rem;line-height:1.5}@media (max-width:560px){.login-card{max-width:100%;padding:2rem 1.5rem}.login-header-top{align-items:stretch;flex-direction:column;gap:1rem}.back-btn{align-self:flex-start}.login-header .header-controls{align-self:center;justify-content:center}}:root{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--text-primary:#1a1a1a;--text-secondary:#666;--text-tertiary:#6b7280;--border-color:#e5e7eb;--border-color-light:#e5e5e5;--shadow:#00000014;--shadow-hover:#00000026;--theme-toggle-bg:#fff;--theme-toggle-hover:#f9fafb;--input-bg:#fafafa;--error-bg:#fef2f2;--error-border:#fecaca;--error-text:#dc2626;--warning-bg:#fffbeb;--warning-border:#fed7aa;--warning-text:#d97706;--info-bg:#f8fafc;--info-border:#cbd5e1;--info-text:#1d4ed8}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#242424;--bg-tertiary:#2d2d2d;--text-primary:#f5f5f5;--text-secondary:#d1d1d1;--text-tertiary:#a0a0a0;--border-color:#3d3d3d;--border-color-light:#333;--shadow:#0000004d;--shadow-hover:#00000080;--theme-toggle-bg:#2d2d2d;--theme-toggle-hover:#3d3d3d;--input-bg:#2d2d2d;--error-bg:#2d1a1a;--error-border:#4a2626;--error-text:#ff6b6b;--warning-bg:#2d2618;--warning-border:#4a3d1a;--warning-text:#fbbf24;--info-bg:#1a2332;--info-border:#2d3d54;--info-text:#60a5fa}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1a1a1a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}.App,body,html{background-color:#fff;background-color:var(--bg-primary)}.App{min-height:100vh}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#2563eb;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:#666;color:var(--text-secondary);font-size:1rem}
/*# sourceMappingURL=main.9467185b.css.map*/