@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";
:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-main:#0b0f19;--bg-card:#111827b3;--bg-card-hover:#1f2937cc;--border-color:#ffffff14;--border-focus:#6366f166;--color-primary:#6366f1;--color-secondary:#a855f7;--color-accent:#14b8a6;--color-success:#10b981;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-heading:#fff}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .2s,border-color .2s,transform .2s}html,body{background-color:var(--bg-main);max-width:100vw;min-height:100vh;color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0 0,#6366f126 0,#0000 50%),radial-gradient(at 100% 100%,#a855f71f 0,#0000 50%),radial-gradient(at 50% 0,#14b8a614 0,#0000 50%);overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-heading)}.app-container{max-width:1200px;margin:0 auto;padding:40px 24px}.app-header{text-align:center;margin-bottom:48px}.app-title{background:linear-gradient(135deg,#fff 30%,#a5b4fc 70%,#c084fc 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;margin-bottom:12px;font-size:2.75rem;font-weight:800}.app-subtitle{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.1rem;line-height:1.6}.main-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));align-items:start;gap:32px;display:grid}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:20px;padding:32px;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000005e}.glass-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff08,#0000);width:200%;height:100%;position:absolute;top:0;left:-50%;transform:skew(-25deg)}.form-group{margin-bottom:24px}.form-label{color:var(--text-heading);letter-spacing:.01em;margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.form-helper{color:var(--text-muted);margin-bottom:12px;font-size:.8rem;display:block}.text-area,.text-input{border:1px solid var(--border-color);width:100%;color:var(--text-main);font-family:var(--font-sans);resize:vertical;background:#ffffff08;border-radius:10px;outline:none;padding:12px 16px;font-size:.95rem;line-height:1.5}.text-area:focus,.text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--border-focus);background:#ffffff0d}.file-upload-zone{text-align:center;cursor:pointer;background:#ffffff03;border:2px dashed #ffffff26;border-radius:12px;padding:24px;position:relative}.file-upload-zone:hover{border-color:var(--color-primary);background:#6366f105}.file-upload-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-icon{color:var(--text-muted);opacity:.7;margin:0 auto 12px}.file-upload-zone:hover .upload-icon{color:var(--color-primary);opacity:1;transform:translateY(-2px)}.preview-image-container{border:1px solid var(--border-color);border-radius:8px;margin-top:16px;position:relative;overflow:hidden}.preview-image{object-fit:cover;width:100%;max-height:160px;display:block}.preview-overlay{opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.preview-image-container:hover .preview-overlay{opacity:1}.remove-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600}.submit-btn{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);color:#fff;font-weight:700;font-family:var(--font-display);cursor:pointer;letter-spacing:.02em;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:1.05rem;display:flex;box-shadow:0 4px 14px #6366f166}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f199}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.reset-btn{color:var(--text-muted);font-weight:600;font-family:var(--font-display);cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #ffffff26;border-radius:12px;align-items:center;gap:7px;padding:16px 18px;font-size:.9rem;transition:border-color .2s,color .2s,background .2s;display:flex}.reset-btn:hover:not(:disabled){color:#fca5a5;background:#ef444414;border-color:#ef444480}.reset-btn:disabled{opacity:.4;cursor:not-allowed}.furniture-desc-input{width:100%;color:var(--text-body);font-family:var(--font-body);resize:none;box-sizing:border-box;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:10px;outline:none;padding:10px 14px;font-size:.875rem;line-height:1.5;transition:border-color .2s,background .2s}.furniture-desc-input::placeholder{color:var(--text-muted);opacity:.7}.furniture-desc-input:focus{background:#ffffff12;border-color:#6366f180}.output-pane{background-color:#ffffff03;border:2px dashed #ffffff1a;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:480px;padding:32px;display:flex;position:relative;overflow:hidden}.output-pane.has-result{border-style:solid;border-color:var(--border-color);background:var(--bg-card)}.placeholder-text{text-align:center;color:var(--text-muted)}.placeholder-icon{color:var(--text-muted);opacity:.4;margin-bottom:16px}.result-container{flex-direction:column;align-items:center;width:100%;height:100%;animation:.5s ease-out fadeIn;display:flex}.result-image{object-fit:contain;border:1px solid var(--border-color);border-radius:12px;max-width:100%;max-height:420px;box-shadow:0 12px 40px #00000080}.download-link{color:#a5b4fc;background:#6366f11a;border:1px solid #6366f133;border-radius:8px;align-items:center;gap:8px;margin-top:20px;padding:10px 20px;font-size:.95rem;font-weight:600;display:inline-flex}.download-link:hover{color:#fff;background:#6366f133;border-color:#6366f166}.loading-overlay{z-index:10;-webkit-backdrop-filter:blur(8px);background-color:#0b0f19e6;flex-direction:column;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:absolute;inset:0}.spinner{border:3px solid #ffffff0d;border-top-color:var(--color-primary);border-right-color:var(--color-secondary);border-radius:50%;width:50px;height:50px;animation:1s cubic-bezier(.55,.055,.675,.19) infinite spin}.loading-title{background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-top:24px;font-size:1.25rem;font-weight:700}.loading-desc{color:var(--text-muted);margin-top:6px;font-size:.875rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.error-container{text-align:center;background:#ef44440d;border:1px dashed #ef444433;border-radius:12px;flex-direction:column;align-items:center;width:100%;padding:24px;animation:.4s ease-out fadeIn;display:flex}.error-icon{margin-bottom:12px;animation:2s ease-in-out infinite pulseError}@keyframes pulseError{0%{filter:drop-shadow(0 0 #ef444400);transform:scale(1)}50%{filter:drop-shadow(0 0 8px #ef44444d);transform:scale(1.05)}to{filter:drop-shadow(0 0 #ef444400);transform:scale(1)}}.output-pane.has-error{border-color:#ef444433}.tab-nav{border:1px solid var(--border-color);background:#ffffff08;border-radius:14px;gap:4px;width:fit-content;margin:0 auto;padding:4px;display:flex}.tab-btn{color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;outline:none;align-items:center;gap:7px;padding:9px 20px;font-size:.9rem;font-weight:500;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex}.tab-btn:hover:not(.active){color:var(--text-main);background:#ffffff0d}.tab-btn.active{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);color:#fff;font-weight:600;box-shadow:0 4px 12px #6366f159}.style-card-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (min-width:480px){.style-card-grid{grid-template-columns:repeat(3,1fr)}}.style-card{cursor:pointer;text-align:left;background:#ffffff05;border:1.5px solid #ffffff14;border-radius:10px;outline:none;flex-direction:column;gap:4px;padding:10px 12px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.style-card:hover:not(.selected){background:#6366f10a;border-color:#6366f14d}.style-card.selected{border-color:var(--color-primary);background:#6366f11a;box-shadow:0 0 0 1px #6366f133,0 0 16px #6366f11a}.style-card-name{color:var(--text-heading);font-size:.82rem;font-weight:700;font-family:var(--font-display);letter-spacing:.01em}.style-card.selected .style-card-name{color:#c7d2fe}.style-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.68rem;line-height:1.4;display:-webkit-box;overflow:hidden}.tab-banner-container{width:100%;margin:24px 0 32px}.banner-glass{border:1px solid var(--border-color);background:var(--bg-card);border-radius:20px;height:220px;position:relative;overflow:hidden;box-shadow:0 12px 32px #0006}.banner-glass:after{content:"";pointer-events:none;background:linear-gradient(135deg,#6366f126 0%,#a855f71a 100%);border:1px solid #ffffff0d;border-radius:20px;position:absolute;inset:0;box-shadow:inset 0 0 40px #6366f11a}.banner-image-wrapper{width:100%;height:100%;position:absolute;inset:0}.banner-image{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform 1.2s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;transform:scale(1.05)}.banner-image.active{opacity:.35;transform:scale(1)}.banner-overlay{z-index:2;background:linear-gradient(90deg,#0b0f19f2 0%,#0b0f19cc 40%,#0b0f1966 100%);flex-direction:column;justify-content:center;padding:0 40px;display:flex;position:absolute;inset:0}.banner-badge{color:#c7d2fe;text-transform:uppercase;letter-spacing:.05em;background:#6366f133;border:1px solid #6366f166;border-radius:99px;align-items:center;gap:6px;width:fit-content;margin-bottom:12px;padding:4px 10px;font-size:.72rem;font-weight:700;animation:2s infinite alternate pulseGlow;display:inline-flex}.banner-title{background:linear-gradient(135deg,#fff 40%,#c7d2fe 100%);-webkit-text-fill-color:transparent;letter-spacing:-.01em;-webkit-background-clip:text;margin-bottom:6px;font-size:1.8rem;font-weight:800}.banner-desc{color:var(--text-muted);max-width:550px;font-size:.92rem;line-height:1.5}.scanner-container{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.scanner-grid{opacity:.5;background-image:linear-gradient(#6366f114 1px,#0000 1px),linear-gradient(90deg,#6366f114 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.scanner-laser{background:linear-gradient(90deg, transparent 5%, var(--color-primary) 50%, transparent 95%);width:100%;height:3px;box-shadow:0 0 15px 4px var(--color-primary), 0 0 30px 8px var(--color-secondary);opacity:.9;animation:3s ease-in-out infinite scanSweep;position:absolute;left:0}@keyframes scanSweep{0%{top:0%}50%{top:100%}to{top:0%}}@keyframes pulseGlow{0%{box-shadow:0 0 4px #6366f133}to{box-shadow:0 0 12px #6366f199}}.glass-card{transition:all .3s cubic-bezier(.25,.8,.25,1)}.glass-card:hover{border-color:#6366f133;box-shadow:0 12px 40px #00000080,0 0 20px #6366f10d}.file-upload-zone{transition:all .3s cubic-bezier(.25,.8,.25,1)}.file-upload-zone:hover{border-color:var(--color-primary);background:#6366f108;box-shadow:inset 0 0 12px #6366f10d}body{background-size:200% 200%;animation:15s infinite alternate gradientPulse}@keyframes gradientPulse{0%{background-position:0%}to{background-position:100%}}@media (max-width:1024px){.main-grid{grid-template-columns:1fr;gap:24px}.banner-glass{height:180px}.banner-overlay{padding:0 32px}}@media (max-width:768px){.app-container{padding:24px 16px}.app-header{margin-bottom:24px}.app-title{font-size:2.1rem}.app-subtitle{font-size:.95rem;line-height:1.5}.glass-card{border-radius:16px;padding:20px}.banner-glass{height:160px}.banner-overlay{padding:0 20px}.banner-badge{margin-bottom:8px;padding:3px 8px;font-size:.65rem}.banner-title{margin-bottom:4px;font-size:1.35rem}.banner-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.output-pane{min-height:380px;padding:20px}}@media (max-width:480px){.app-title{font-size:1.8rem}.tab-nav{justify-content:center;width:100%}.tab-btn{flex:1;justify-content:center;padding:8px 12px;font-size:.82rem}.banner-glass{height:130px}.banner-desc{display:none}.style-card-grid{grid-template-columns:repeat(2,1fr);gap:6px}.style-card{padding:8px}.style-card-name{font-size:.78rem}.style-card-desc{display:none}.submit-btn{padding:12px;font-size:.95rem}}.auth-container{background:radial-gradient(circle at 100% 0,#6366f114,#0000 40%),radial-gradient(circle at 0 100%,#c084fc14,#0000 40%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 16px;display:flex;position:relative;overflow:hidden}.auth-card{width:100%;max-width:480px;margin:0 auto}.auth-title{text-align:center;letter-spacing:-.02em;background:linear-gradient(135deg,#fff 40%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:28px;font-size:2.25rem;font-weight:800}.auth-links{text-align:center;margin-top:20px}.auth-link{color:var(--color-primary);font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--color-secondary)}.auth-footer{gap:24px;margin-top:40px;display:flex}.auth-footer-link{color:var(--text-muted);font-size:.85rem;text-decoration:none;transition:color .2s}.auth-footer-link:hover{color:#fff}.checkbox-container{cursor:pointer;align-items:flex-start;gap:10px;margin:16px 0;display:flex}.checkbox-input{accent-color:var(--color-primary);width:16px;height:16px;margin-top:3px}.checkbox-label{color:var(--text-muted);font-size:.85rem;line-height:1.4}.danger-btn{color:#fff;font-weight:700;font-family:var(--font-display);cursor:pointer;text-align:center;background:#ef4444;border:none;border-radius:10px;width:100%;padding:12px 20px;font-size:.95rem;transition:transform .2s,background-color .2s}.danger-btn:hover{background:#dc2626;transform:translateY(-1px)}.danger-btn:active{transform:translateY(0)}.action-btn{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);color:#fff;font-weight:700;font-family:var(--font-display);cursor:pointer;text-align:center;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;transition:transform .2s,opacity .2s}.action-btn:hover{opacity:.95;transform:translateY(-1px)}.outline-btn{color:var(--text-heading);border:1px solid var(--border-color);font-weight:600;font-family:var(--font-display);cursor:pointer;text-align:center;background:0 0;border-radius:8px;padding:10px 20px;font-size:.9rem;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-block}.outline-btn:hover{border-color:var(--color-primary);background:#ffffff0d}.alert-message{border:1px solid #0000;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:.9rem;line-height:1.4}.alert-success{color:#34d399;background:#10b9811a;border-color:#10b98133}.alert-error{color:#f87171;background:#ef44441a;border-color:#ef444433}.alert-info{color:#a5b4fc;background:#6366f11a;border-color:#6366f133}.account-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.account-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:16px;display:flex}.account-section-title{color:var(--text-heading);border-bottom:1px solid #ffffff0d;margin-bottom:16px;padding-bottom:8px;font-size:1.25rem;font-weight:700}.account-field{color:var(--text-main);margin-bottom:12px;font-size:.95rem}.account-field strong{color:var(--text-heading)}.account-field-desc{color:var(--text-muted);margin-bottom:16px;font-size:.8rem;line-height:1.4}.header-auth-container{align-items:center;gap:12px;display:flex;position:absolute;top:10px;right:0}.header-login-btn{color:var(--text-muted);padding:8px 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s}.header-login-btn:hover{color:#fff}.header-register-btn{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);color:#fff;border-radius:8px;padding:8px 20px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #6366f133}.header-register-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.header-pricing-btn{border:1px solid var(--border-color);color:var(--text-heading);font-weight:600;font-family:var(--font-sans);cursor:pointer;background:#ffffff08;border-radius:8px;outline:none;padding:8px 18px;font-size:.9rem;transition:border-color .2s,background-color .2s}.header-pricing-btn:hover{border-color:var(--color-primary);background:#ffffff0d}.header-account-btn{border:1px solid var(--border-color);color:var(--text-heading);background:#ffffff08;border-radius:8px;padding:8px 18px;font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color .2s,background-color .2s}.header-account-btn:hover{border-color:var(--color-primary);background:#ffffff0d}@media (max-width:768px){.header-auth-container{justify-content:center;margin-bottom:24px;position:static}}
