body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.loading-screen{align-items:center;background:#fff;bottom:0;color:#333;display:flex;flex-direction:column;justify-content:center;left:0;min-height:100vh;position:fixed;right:0;top:0;z-index:9999}.loading-screen .loading-spinner{animation:spin 1s linear infinite;border:5px solid #e9ecef;border-radius:50%;border-top-color:#007bff;height:50px;margin-bottom:1rem;width:50px}.loading-screen p{color:#666;font-size:1.2rem;font-weight:500;margin:0}.output-display{animation:fadeIn .3s ease-in;background:var(--bg-primary);border:1px solid var(--border-color-light);border-radius:12px;box-shadow:0 2px 10px var(--shadow);padding:2rem;transition:all .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.output-header{margin-bottom:2rem;text-align:center}.output-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.output-header p{color:var(--text-tertiary);font-size:.95rem}.loading-container{gap:1.5rem;padding:4rem 2rem}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-top-color:#2563eb;height:60px;width:60px}.loading-text{animation:pulse 1.5s ease-in-out infinite;color:var(--text-tertiary);font-size:1rem;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.result-container{align-items:center;display:flex;justify-content:center;padding:1rem}.result-image{border-radius:12px;box-shadow:0 4px 20px #0000001a;height:auto;max-height:700px;max-width:100%;object-fit:contain;transition:transform .3s ease;width:auto}.result-image:hover{transform:scale(1.02)}@media (max-width:768px){.output-display{padding:1.5rem}.output-header h2{font-size:1.5rem}.output-header p{font-size:.875rem}.loading-container{padding:3rem 1rem}.loading-spinner{border-width:3px;height:50px;width:50px}.loading-text{font-size:.9rem}.result-image{max-height:500px}}@media (max-width:480px){.output-display{padding:1rem}.output-header{margin-bottom:1.5rem}.output-header h2{font-size:1.25rem}.loading-container{padding:2rem 1rem}.result-image{border-radius:8px;max-height:400px}}.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);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem;transition:background-color .3s ease}.header{margin-bottom:3rem;text-align:center}.header-top{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.user-info{background:var(--bg-primary);border:1px solid var(--border-color-light);border-radius:12px;box-shadow:0 2px 8px var(--shadow);gap:1.5rem;transition:all .3s ease}.auth-prompt,.user-info{align-items:center;display:flex;padding:1rem 1.5rem}.auth-prompt{background:var(--info-bg);border:2px dashed #cbd5e1;border-radius:12px;gap:1rem}.auth-message{color:var(--text-tertiary);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-tertiary);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-light);border-radius:12px;box-shadow:0 2px 10px var(--shadow);padding:2rem;transition:all .3s ease}.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}.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:#e5e7eb;color:#9ca3af;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(--error-bg);border:1px solid #fed7aa;border-radius:8px;color:var(--error-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 #dbeafe;border-radius:8px;color:#2563eb}.prompt-preview{background:var(--info-bg);border:1px solid #e2e8f0;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{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}.image-field{display:flex;flex-direction:column;gap:.5rem}.image-field.disabled{opacity:.6;pointer-events:none}.image-field__control{align-items:center;display:flex;gap:.75rem}.image-field__button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.6rem 1rem;transition:all .2s ease}.image-field__button:hover:not(:disabled){background:#1d4ed8}.image-field__button:disabled{background:#9ca3af;cursor:not-allowed}.image-field__input{display:none}.image-field__preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:.5rem;max-width:220px;padding:.5rem;transition:all .3s ease;width:100%}.image-field__preview img{border-radius:6px;display:block;height:auto;width:100%}.checkbox-group{align-items:center;display:flex;gap:.5rem;margin-bottom:1.5rem}.checkbox-label{color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:500}.login-container{align-items:center;background:var(--bg-primary);display:flex;height:100vh;justify-content:center;padding:2rem;transition:background-color .3s ease}.login-card{background:var(--bg-primary);border:1px solid var(--border-color-light);border-radius:16px;box-shadow:0 20px 40px var(--shadow);margin:0 auto;max-width:400px;padding:3rem;transition:all .3s ease;width:100%}.login-header{text-align:center}.header-controls{align-items:center;display:flex;gap:.75rem}.login-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.login-header h1{color:#1a1a1a;font-size:2rem;font-weight:700;margin-bottom:.5rem}.login-subtitle{color:#6b7280}.back-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.back-btn:hover{background:var(--border-color);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,.login-subtitle{color:var(--text-tertiary);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}.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:#9ca3af;box-shadow:none;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;text-align:center}.login-footer p{color:var(--text-tertiary);font-size:.85rem;line-height:1.5;margin-bottom:1rem}.change-password-link{align-items:center;border-radius:6px;color:#2563eb;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem;text-decoration:none;transition:all .2s ease}.change-password-link:hover{background:#2563eb1a;color:#1d4ed8;transform:translateY(-1px)}.change-password-link svg{height:16px;width:16px}: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;--info-bg:#f8fafc;--info-border:#cbd5e1}[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;--info-bg:#1a2332;--info-border:#2d3d54}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;margin:0;padding:0;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;background:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #e9ecef;border-radius:50%;border-top-color:#007bff;height:50px;margin-bottom:1rem;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading-container p{color:#666;font-size:1rem}
/*# sourceMappingURL=main.cc6c2a41.css.map*/