:root{--color-primary:#1a1a2e;--color-primary-light:#2d2d44;--color-accent:#6c63ff;--color-accent-rgb:108, 99, 255;--color-accent-light:#a29bfe;--color-accent-dark:#5a52d5;--color-accent-glow:#6c63ff40;--color-success:#00d26a;--color-success-bg:#00d26a1a;--color-error:#ff5252;--color-warning:#ffb800;--color-whatsapp:#25d366;--color-whatsapp-dark:#128c7e;--color-surface:#fff;--color-surface-dim:#f5f5f7;--color-surface-glass:#ffffffb8;--color-surface-elevated:#fff;--color-backdrop:#1a1a2e80;--color-text:#1a1a2e;--color-text-secondary:#6b6b80;--color-text-muted:#8e8ea0;--color-text-inverse:#fff;--color-border:#e5e5ea;--color-border-light:#f0f0f5;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading:"Outfit", "Inter", sans-serif;--text-xs:clamp(.6875rem, .65rem + .2vw, .75rem);--text-sm:clamp(.8125rem, .77rem + .2vw, .875rem);--text-base:clamp(.9375rem, .9rem + .2vw, 1rem);--text-lg:clamp(1.0625rem, 1rem + .3vw, 1.125rem);--text-xl:clamp(1.25rem, 1.15rem + .4vw, 1.375rem);--text-2xl:clamp(1.5rem, 1.3rem + .8vw, 1.75rem);--text-3xl:clamp(1.875rem, 1.6rem + 1.2vw, 2.25rem);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 12px 32px #0000001f, 0 4px 8px #0000000f;--shadow-glow:0 0 24px rgba(var(--color-accent-rgb), .3);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--app-max-width:430px;--app-padding:20px;--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-surface-dim);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}button{cursor:pointer;-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}#app{width:100%;max-width:var(--app-max-width);background:var(--color-surface);min-height:100dvh;margin:0 auto;position:relative;overflow:hidden}.screen{padding:var(--app-padding);padding-bottom:calc(var(--app-padding) + var(--safe-bottom));-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden auto}.screen::-webkit-scrollbar{display:none}.heading-1{font-family:var(--font-heading);font-size:var(--text-3xl);letter-spacing:-.02em;color:var(--color-text);font-weight:800;line-height:1.15}.heading-2{font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:-.01em;color:var(--color-text);font-weight:700;line-height:1.2}.heading-3{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text);font-weight:600;line-height:1.3}.body-text{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.6}.caption{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.overline{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.text-center{text-align:center}.text-accent{color:var(--color-accent)}.flex-1{flex:1}.flex-col{flex-direction:column;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.mt-auto{margin-top:auto}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);width:100%;font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:.01em;transition:all var(--duration-normal) var(--ease-out);padding:16px 24px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));color:var(--color-text-inverse);box-shadow:var(--shadow-md), 0 4px 16px var(--color-accent-glow)}.btn-primary:hover{box-shadow:var(--shadow-lg), 0 8px 24px var(--color-accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:scale(.97)translateY(0)}.btn-primary:after{content:"";background:linear-gradient(105deg,#0000 40%,#fff3 45%,#ffffff4d 50%,#fff3 55%,#0000 60%);animation:3s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.btn-secondary{color:var(--color-accent);border:1.5px solid var(--color-border);background:0 0}.btn-secondary:hover{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb), .04)}.btn-whatsapp{background:linear-gradient(135deg, var(--color-whatsapp), var(--color-whatsapp-dark));color:#fff;box-shadow:var(--shadow-md)}.btn-whatsapp:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-whatsapp:after{content:"";background:linear-gradient(105deg,#0000 40%,#ffffff26 45%,#ffffff40 50%,#ffffff26 55%,#0000 60%);animation:3s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.btn-ghost{color:var(--color-text-secondary);background:0 0;padding:12px 16px}.btn-ghost:hover{color:var(--color-accent);background:rgba(var(--color-accent-rgb), .04)}.btn-sm{font-size:var(--text-sm);border-radius:var(--radius-sm);padding:10px 16px}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--space-md);transition:all var(--duration-normal) var(--ease-out)}.card-elevated{box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-interactive:active{transform:scale(.98)}.card-selected{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow);border-width:2px}.card-glass{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(20px);border:1px solid #ffffff4d}.chip{border-radius:var(--radius-full);font-size:var(--text-sm);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-out);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--color-accent-light);color:var(--color-accent)}.chip:active{transform:scale(.95)}.chip-active{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.chip-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.chip-row{gap:var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{font-size:var(--text-sm);color:var(--color-text);font-weight:500}.input-field{border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--text-base);background:var(--color-surface);transition:all var(--duration-fast) var(--ease-out);padding:14px 16px}.input-field::placeholder{color:var(--color-text-muted)}.input-field:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.progress-dots{padding:var(--space-md) 0;justify-content:center;align-items:center;gap:8px;display:flex}.progress-dot{background:var(--color-border);width:8px;height:8px;transition:all var(--duration-normal) var(--ease-spring);border-radius:50%}.progress-dot.active{border-radius:var(--radius-full);background:var(--color-accent);width:24px}.progress-dot.completed{background:var(--color-accent)}.trust-badge{font-size:var(--text-xs);color:var(--color-text-muted);justify-content:center;align-items:center;gap:6px;padding:10px 0;display:flex}.trust-badge svg{flex-shrink:0;width:14px;height:14px}.screen-header{align-items:center;gap:var(--space-sm);padding-bottom:var(--space-md);display:flex}.back-btn{border-radius:var(--radius-full);width:40px;height:40px;transition:all var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:flex}.back-btn:hover{background:var(--color-surface-dim)}.back-btn:active{transform:scale(.9)}.screen-header-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600}.divider{align-items:center;gap:var(--space-md);color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-lg) 0;display:flex}.divider:before,.divider:after{content:"";background:var(--color-border-light);flex:1;height:1px}.upload-zone{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl) var(--space-lg);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-dim);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);flex-direction:column;animation:12s linear infinite dashRotate;display:flex}.upload-zone:hover{border-color:var(--color-accent-light);background:rgba(var(--color-accent-rgb), .03)}.upload-zone-icon{border-radius:var(--radius-full);background:rgba(var(--color-accent-rgb), .1);width:56px;height:56px;color:var(--color-accent);justify-content:center;align-items:center;display:flex}.photo-preview-container{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.photo-preview{object-fit:cover;border:3px solid var(--color-accent);width:180px;height:180px;box-shadow:0 0 0 6px var(--color-accent-glow);border-radius:50%}.style-gallery{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.style-card{border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);background:var(--color-surface);border:2px solid #0000;position:relative;overflow:hidden}.style-card:active{transform:scale(.96)}.style-card img{aspect-ratio:3/4;object-fit:cover;width:100%}.style-card-name{font-size:var(--text-sm);text-align:center;background:var(--color-surface);padding:10px 12px;font-weight:500}.style-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.style-card-check{background:var(--color-accent);color:#fff;opacity:0;width:28px;height:28px;transition:all var(--duration-normal) var(--ease-spring);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px;transform:scale(0)}.style-card.selected .style-card-check{opacity:1;transform:scale(1)}.generating-ring{width:200px;height:200px;margin:0 auto;position:relative}.generating-ring-arc{border:3px solid #0000;border-top-color:var(--color-accent);border-right-color:var(--color-accent-light);border-radius:50%;animation:1.5s linear infinite spin;position:absolute;inset:0}.generating-ring-arc-2{border:2px solid #0000;border-bottom-color:var(--color-accent-light);border-radius:50%;animation:2s linear infinite reverse spin;position:absolute;inset:6px}.generating-photo{object-fit:cover;border:3px solid var(--color-surface);box-shadow:var(--shadow-md);border-radius:50%;position:absolute;inset:14px}.generating-messages{justify-content:center;align-items:center;min-height:48px;display:flex}.generating-message{font-size:var(--text-base);color:var(--color-text-secondary);animation:fadeInUp var(--duration-slow) var(--ease-out)}.progress-bar-container{background:var(--color-surface-dim);border-radius:var(--radius-full);width:100%;height:4px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-light));border-radius:var(--radius-full);height:100%;transition:width .3s var(--ease-out)}.result-image-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.result-image{aspect-ratio:3/4;object-fit:cover;width:100%}.result-label{border-radius:var(--radius-full);font-size:var(--text-xs);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;padding:6px 12px;font-weight:600;position:absolute;top:12px;left:12px}.result-share-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;width:36px;height:36px;transition:all var(--duration-fast) var(--ease-out);background:#00000080;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.result-share-btn:hover{background:#000000b3;transform:scale(1.1)}.advice-card{gap:var(--space-md);padding:var(--space-md);background:rgba(var(--color-accent-rgb), .06);border-radius:var(--radius-lg);border-left:3px solid var(--color-accent);display:flex}.advice-card-icon{flex-shrink:0;font-size:20px}.advice-card-text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.booking-summary{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface-dim);border-radius:var(--radius-lg);display:flex}.booking-summary-img{border-radius:var(--radius-md);object-fit:cover;width:64px;height:64px}.booking-summary-info{flex-direction:column;gap:2px;display:flex}.booking-summary-style{font-weight:600;font-size:var(--text-base)}.booking-summary-label{font-size:var(--text-xs);color:var(--color-text-muted)}.lang-switch{top:var(--space-md);right:var(--space-md);background:var(--color-surface-dim);border-radius:var(--radius-full);z-index:10;padding:2px;display:flex;position:absolute}.lang-btn{border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-muted);transition:all var(--duration-fast) var(--ease-out);padding:4px 10px;font-weight:600}.lang-btn.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.ai-mode-section{gap:var(--space-xs);text-align:left;margin:var(--space-xs) 0;flex-direction:column;display:flex}.ai-mode-title{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs);font-weight:600}.ai-mode-cards{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.ai-mode-card{background:var(--color-surface-dim);border:1.5px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);gap:var(--space-xs);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.ai-mode-card:hover{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ai-mode-card:active{transform:scale(.97)translateY(-1px)}.ai-mode-card.active{background:rgba(var(--color-accent-rgb), .06);border-color:var(--color-accent);box-shadow:0 4px 16px var(--color-accent-glow)}.ai-mode-card-header{align-items:center;gap:var(--space-xs);display:flex}.ai-mode-card-icon{font-size:var(--text-base)}.ai-mode-card-title{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-text);font-weight:700}.ai-mode-card-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4}@media (width<=375px){.ai-mode-card{padding:var(--space-sm)}.ai-mode-card-title{font-size:var(--text-xs)}.ai-mode-card-desc{font-size:10px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40px)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(100%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes dashRotate{to{background-position:100% 0}}@keyframes revealBlur{0%{opacity:0;filter:blur(12px);transform:scale(.85)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes confettiDrop{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes progressFill{0%{width:0%}70%{width:85%}85%{width:90%}to{width:100%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.screen-enter{animation:slideInRight var(--duration-slow) var(--ease-out) forwards}.screen-exit{animation:slideOutLeft var(--duration-slow) var(--ease-out) forwards}.screen-enter-back{animation:slideInLeft var(--duration-slow) var(--ease-out) forwards}.screen-exit-back{animation:slideOutRight var(--duration-slow) var(--ease-out) forwards}.stagger>*{opacity:0;animation:fadeInUp var(--duration-slow) var(--ease-out) forwards}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:80ms}.stagger>:nth-child(3){animation-delay:.16s}.stagger>:nth-child(4){animation-delay:.24s}.stagger>:nth-child(5){animation-delay:.32s}.stagger>:nth-child(6){animation-delay:.4s}.stagger>:nth-child(7){animation-delay:.48s}.stagger>:nth-child(8){animation-delay:.56s}.stagger>:nth-child(9){animation-delay:.64s}.stagger>:nth-child(10){animation-delay:.72s}.reveal{animation:revealBlur .8s var(--ease-out) forwards}.bounce-in{animation:bounceIn .5s var(--ease-spring) forwards}.float{animation:3s ease-in-out infinite float}.confetti-container{pointer-events:none;z-index:100;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-particle{border-radius:2px;width:8px;height:8px;animation:linear forwards confettiDrop;position:absolute;top:-10px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
