@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Jost:wght@300;400;500;600;700&display=swap";:root{--bg-color:#f7f3ed;--text-primary:#1a1410;--text-secondary:#8a7d72;--accent-color:#c9956c;--accent-light:#e8d5b0;--accent-gradient:linear-gradient(135deg, #c9956c 0%, #e8d5b0 55%, #c9956c 100%);--glass-bg:#ffffffad;--glass-border:#1a141017;--card-bg:#f0ead9;--warm-glow:#c9956c33}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Jost,sans-serif;overflow-x:hidden}h1,h2,h3{font-family:Cormorant Garamond,serif}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 #c9956c4d}70%{box-shadow:0 0 0 18px #c9956c00}to{box-shadow:0 0 #c9956c00}}.animate-fade-in{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeIn}.btn-primary{background:var(--accent-gradient);color:#000;cursor:pointer;border:none;border-radius:50px;padding:16px 32px;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600;transition:transform .3s,box-shadow .3s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #c9956c66}.btn-primary:active{transform:translateY(0)}h1,h2,h3{letter-spacing:.01em;font-weight:600}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.container{max-width:1200px;margin:0 auto;padding:24px}.flex-center{justify-content:center;align-items:center;display:flex}.mobile-container{background-image:radial-gradient(at 100% 0,#c9956c1f 0%,#0000 55%),radial-gradient(at 0 100%,#c9956c12 0%,#0000 50%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.mobile-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:400px;min-height:500px;padding:32px 24px;display:flex;position:relative;overflow:hidden}.step-welcome h1{margin-bottom:16px;font-size:2.5rem}.step-welcome p{color:var(--text-secondary);margin-bottom:32px;font-size:1.1rem;line-height:1.5}.icon-pulse{background:#d4a5740f;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:40px;margin-left:auto;margin-right:auto;animation:3s infinite pulse;display:flex}.text-accent{color:var(--accent-color)}.w-full{width:100%}.sample-photo-hint{flex-direction:column;align-items:center;gap:10px;margin:20px 0 4px;display:flex}.sample-photo{aspect-ratio:3/4;object-fit:cover;object-position:top;border:2px solid var(--accent-color);border-radius:12px;width:130px;box-shadow:0 4px 16px #c9956c33}.sample-caption{color:var(--text-secondary);letter-spacing:.03em;font-size:.75rem}.upload-notice{color:#c0392b;text-align:center;margin-bottom:4px;font-size:.75rem}.upload-options{grid-template-columns:1fr 1fr;gap:16px;width:100%;margin:32px 0;display:grid}.upload-btn{border:1px solid var(--glass-border);cursor:pointer;color:var(--text-primary);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;transition:all .3s;display:flex}.upload-btn:hover{border-color:var(--accent-color);background:#ffffff1a}.btn-text{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:10px;font-weight:500}.garment-grid{grid-template-columns:1fr 1fr;gap:12px;width:100%;max-height:350px;margin:24px 0;padding:4px;display:grid;overflow-y:auto}.garment-card{cursor:pointer;border:2px solid #0000;border-radius:12px;transition:all .3s;position:relative;overflow:hidden}.garment-card.active{border-color:var(--accent-color)}.garment-card img{aspect-ratio:3/4;object-fit:cover;width:100%}.garment-info{background:#0009;width:100%;padding:8px;font-size:.8rem;position:absolute;bottom:0}.check-badge{background:var(--accent-color);color:#000;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:8px;right:8px}.action-footer{justify-content:space-between;align-items:center;width:100%;margin-top:16px;display:flex}.step-processing{flex-direction:column;align-items:center;width:100%;padding:8px 0;display:flex}.loading-emoji{filter:drop-shadow(0 4px 12px #c9956c4d);margin-bottom:20px;font-size:4rem;line-height:1;display:block}.loading-title{color:var(--text-primary);text-align:center;min-height:2.4em;margin:0 0 16px;font-size:1.15rem;font-weight:600;line-height:1.4}.loading-dots{gap:6px;margin-bottom:24px;display:flex}.loading-dots span{background:var(--accent-color);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dotBounce}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.progress-bar{background:var(--glass-border);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-fill{background:var(--accent-gradient);border-radius:3px;height:100%}.progress-label{color:var(--text-secondary);letter-spacing:.02em;margin-top:10px;font-size:.72rem}.fun-fact{color:var(--text-secondary);text-align:left;background:#c9956c14;border:1px solid #c9956c33;border-radius:12px;flex-direction:column;gap:5px;width:100%;margin-top:24px;padding:14px 16px;font-size:.78rem;line-height:1.55;display:flex}.fun-fact-label{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-color);font-size:.65rem;font-weight:600}.step-error{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.error-emoji{filter:drop-shadow(0 2px 8px #0000001a);margin-bottom:20px;font-size:3.5rem}.step-error h2{margin-bottom:10px}.error-details{text-align:left;border:1px solid var(--glass-border);width:100%;color:var(--text-secondary);background:#0000000a;border-radius:10px;margin-top:16px;padding:10px 14px;font-size:.75rem}.error-details summary{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;margin-bottom:6px;font-size:.75rem}.error-details p{word-break:break-word;color:#c0392b;margin:0;font-size:.72rem;line-height:1.5}.success-icon{color:#22c55e;background:#22c55e1a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:24px;display:flex}.preview-mini{border-radius:16px;align-items:center;margin:32px 0;padding:16px;display:flex}.result-image-wrapper{aspect-ratio:2/3;background:#f0ece6;border-radius:12px;width:100%;margin:20px 0 24px;overflow:hidden;box-shadow:0 8px 32px #00000026}.result-image{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.user-mini,.garment-mini{object-fit:cover;border-radius:8px;width:60px;height:60px}.step-review{width:100%}.review-form{flex-direction:column;gap:20px;margin-top:24px;display:flex}.input-group{text-align:left}.input-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;display:block}.input-group input,.input-group textarea{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);background:#fffc;border-radius:12px;padding:12px 16px;font-family:inherit;font-size:1rem}.input-group input:focus,.input-group textarea:focus{border-color:var(--accent-color);background:#fff;outline:none}.input-group textarea{resize:none;height:100px}
