:root{font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;--primary-pink: #ee4699;--primary-pink-dark: #c2185b;--primary-pink-light: #f06292;--primary-magenta: #e91e63;--accent-gold: #ffc107;--accent-gold-light: #ffd54f;--accent-cyan: #00bcd4;--background-light: #ffffff;--background-pink: #fff0f5;--background-pink-light: #ffe0f0;--text-primary: #1a1a1a;--text-secondary: rgba(26, 26, 26, .7);--text-tertiary: rgba(26, 26, 26, .5);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--safe-area-inset-top: env(safe-area-inset-top, 0);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;min-width:320px;min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,var(--background-light) 0%,var(--background-pink) 100%);color:var(--text-primary);overflow-x:hidden;position:relative}#root{min-height:100vh;min-height:100dvh;width:100%}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}p{line-height:1.6}@media(min-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}}a{color:var(--accent-gold);text-decoration:none;transition:color .3s ease}a:hover{color:var(--accent-gold-light)}button{font-family:inherit;-webkit-appearance:none;appearance:none}button:focus,button:focus-visible{outline:2px solid rgba(212,175,55,.5);outline-offset:2px}button:active{transform:scale(.98)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--background-dark)}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-burgundy),var(--accent-gold));border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--primary-burgundy-light),var(--accent-gold-light))}::selection{background:#d4af374d;color:var(--text-primary)}@media(max-width:768px){button,a{min-height:44px;min-width:44px}}.app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#fff,#fff0f5);color:#1a1a1a;overflow-x:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;text-decoration:none;white-space:nowrap;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-icon{width:18px;height:18px;flex-shrink:0}.btn-primary{background:linear-gradient(135deg,#ee4699,#e91e63);color:#fff;box-shadow:0 4px 15px #ea1e6366}.btn-primary:hover{background:linear-gradient(135deg,#f06292,#ee4699);box-shadow:0 6px 20px #ea1e6399;transform:translateY(-2px)}.btn-secondary{background:#ea1e631a;color:#ee4699;border:2px solid rgba(234,30,99,.3)}.btn-secondary:hover{background:#ea1e6333;border-color:#ea1e6380;transform:translateY(-2px)}.btn-capture{background:linear-gradient(135deg,#ee4699 0% 100%);color:#fff;padding:1rem 2rem;font-size:1rem;box-shadow:0 6px 20px #ea1e6380;width:100%}.btn-capture:hover{background:linear-gradient(135deg,#f06292,#ee4699);box-shadow:0 8px 25px #ea1e63b3;transform:translateY(-2px)}.capture-icon{width:24px;height:24px;flex-shrink:0}@media(min-width:768px){.btn{padding:.875rem 1.75rem;font-size:1rem}.btn-icon{width:20px;height:20px}.btn-capture{padding:1.25rem 2.5rem;font-size:1.125rem;width:auto}.capture-icon{width:28px;height:28px}}.error-message{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.error-message p{background:#dc26261a;border:1px solid rgba(220,38,38,.4);border-radius:.75rem;color:#fca5a5;font-size:1rem;line-height:1.6;max-width:420px;padding:1.5rem 2rem}.camera-capture{display:flex;flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;padding:1rem .75rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));width:100%;gap:1rem}.camera-header{text-align:center;flex-shrink:0;animation:fadeInDown .6s ease}.camera-header h1{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;background:linear-gradient(135deg,#ea1e63,#ffc107);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.camera-header p{font-size:.875rem;color:#1a1a1ab3;margin:0;padding:0 1rem}.camera-container{position:relative;width:100%;max-width:640px;aspect-ratio:3/4;max-height:60vh;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 8px 30px #ea1e634d;animation:fadeIn .8s ease;flex-shrink:0}.camera-video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}.camera-video.ready{opacity:1}.camera-overlay{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.face-guide{width:70%;height:85%;border:3px solid rgba(255,193,7,.6);border-radius:50%/60%;box-shadow:0 0 0 2000px #0000004d,inset 0 0 20px #ffc10733;animation:pulse 2s ease-in-out infinite}.camera-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:#1a1a1ae6;background:#fffffff2}.error-icon{width:64px;height:64px;color:#ee4699;margin-bottom:1rem}.camera-error p{font-size:1rem;margin:0 0 1.5rem;max-width:400px;line-height:1.6}.camera-controls{flex-shrink:0;width:100%;max-width:640px;padding:0 1rem;animation:fadeInUp .8s ease}.terms-notice{font-size:.75rem;color:#1a1a1a99;text-align:center;margin:0 0 .75rem}.terms-link{color:#ea1e63;text-decoration:underline;text-underline-offset:2px}.terms-link:hover{color:#c0174f}@keyframes pulse{0%,to{border-color:#ffc10799;box-shadow:0 0 0 2000px #0000004d,inset 0 0 20px #ffc10733}50%{border-color:#ffc107e6;box-shadow:0 0 0 2000px #0000004d,inset 0 0 30px #ffc10766}}@media(min-width:768px){.camera-capture{padding:2rem 1rem;gap:1.5rem}.camera-header h1{font-size:2.5rem;margin-bottom:.5rem}.camera-header p{font-size:1.125rem}.camera-container{aspect-ratio:4/3;max-height:none;border-radius:20px}.camera-controls{padding:0}}.image-preview{display:flex;flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;padding:1rem .75rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));width:100%;gap:1rem}.preview-header{text-align:center;flex-shrink:0;animation:fadeInDown .6s ease}.preview-header h1{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;background:linear-gradient(135deg,#ea1e63,#ffc107);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.preview-header p{font-size:.875rem;color:#1a1a1ab3;margin:0;padding:0 1rem}.preview-container{position:relative;width:100%;max-width:640px;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 8px 30px #ea1e634d;animation:fadeIn .8s ease;flex-shrink:0}.preview-image{width:100%;height:auto;display:block}.preview-controls{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:640px;padding:0 1rem;animation:fadeInUp .8s ease;flex-shrink:0}.preview-controls .btn{width:100%}@media(min-width:768px){.image-preview{padding:2rem 1rem;gap:1.5rem}.preview-header h1{font-size:2.5rem;margin-bottom:.5rem}.preview-header p{font-size:1.125rem}.preview-container{border-radius:20px}.preview-controls{flex-direction:row;padding:0}.preview-controls .btn{width:auto;min-width:160px}}.preview-error{display:flex;align-items:center;gap:.5rem;background:#dc26261f;border:1px solid rgba(220,38,38,.4);border-radius:.625rem;color:#fca5a5;font-size:.875rem;margin:0 1rem .5rem;padding:.75rem 1rem}.processing-view{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;width:100%;padding:1rem .75rem}.processing-content{text-align:center;max-width:500px;width:100%;padding:0 .5rem;animation:fadeIn .6s ease}.spinner-container{margin-bottom:1.5rem;display:flex;justify-content:center}.spinner{width:60px;height:60px;border:3px solid rgba(234,30,99,.1);border-top:3px solid #ea1e63;border-right:3px solid #ffc107;border-radius:50%;animation:spin 1s linear infinite}.processing-content h2{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;background:linear-gradient(135deg,#ea1e63,#ffc107);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.processing-content>p{font-size:.9375rem;color:#1a1a1ab3;margin:0 0 1.5rem}.processing-steps{display:flex;flex-direction:column;gap:.75rem;text-align:left;padding:0}.step{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#ea1e630d;border-radius:10px;color:#1a1a1a80;transition:all .3s ease;position:relative;overflow:hidden;font-size:.9rem}.step:before{content:"";width:10px;height:10px;border-radius:50%;background:#ea1e634d;flex-shrink:0}.step.active{background:#ea1e6326;border:1px solid rgba(234,30,99,.4);color:#1a1a1a}.step.active:before{background:linear-gradient(135deg,#ea1e63,#ffc107);animation:pulse-dot 2s ease-in-out infinite}.step.active:after{content:"";position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient(90deg,transparent,rgba(255,193,7,.1),transparent);animation:shimmer 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 #ffc107b3}50%{box-shadow:0 0 0 8px #ffc10700}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(min-width:768px){.processing-view{padding:2rem 1rem}.processing-content{padding:0}.spinner{width:80px;height:80px;border-width:4px}.spinner-container{margin-bottom:2rem}.processing-content h2{font-size:2rem;margin-bottom:1rem}.processing-content>p{font-size:1.125rem;margin-bottom:2rem}.processing-steps{gap:1rem}.step{padding:1rem;gap:1rem;border-radius:12px;font-size:1rem}.step:before{width:12px;height:12px}}.result-view{display:flex;flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;padding:1rem .75rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));width:100%;gap:1rem}.result-header{text-align:center;flex-shrink:0;animation:fadeInDown .6s ease}.result-header h1{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;background:linear-gradient(135deg,#ea1e63,#ffc107);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-header p{font-size:.875rem;color:#1a1a1ab3;margin:0;padding:0 1rem}.result-container{position:relative;width:100%;max-width:640px;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 8px 30px #ea1e634d;animation:fadeIn .8s ease;flex-shrink:0}.result-image{width:100%;height:auto;display:block}.result-error{padding:3rem 2rem;text-align:center;color:#1a1a1ab3}.result-controls{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:640px;padding:0 1rem;animation:fadeInUp .8s ease;flex-shrink:0}.action-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%}.notification{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#22c55e26,#22c55e0d);border:1px solid rgba(34,197,94,.3);border-radius:12px;color:#22c55e;font-size:.9rem;font-weight:500;animation:slideInNotification .3s ease,fadeOutNotification .3s ease 2.7s forwards;width:100%;box-shadow:0 4px 12px #22c55e33}.notification svg{width:20px;height:20px;flex-shrink:0;stroke-width:2.5}@keyframes slideInNotification{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutNotification{to{opacity:0;transform:translateY(-10px)}}.btn-download{background:linear-gradient(135deg,#ffc107,#ffd54f);color:#1a1a1a;font-weight:700;box-shadow:0 4px 15px #ffc10766}.btn-download:hover{background:linear-gradient(135deg,#ffd54f,#ffeb3b);box-shadow:0 6px 20px #ffc10799;transform:translateY(-2px)}.btn-share{background:linear-gradient(135deg,#ea1e63,#e91e63);color:#fff;box-shadow:0 4px 15px #ea1e6366}.btn-share:hover{background:linear-gradient(135deg,#f06292,#ea1e63);box-shadow:0 6px 20px #ea1e6399;transform:translateY(-2px)}.share-menu{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%;padding:1rem;background:#ea1e630d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .3s ease}.share-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#fff;font-family:inherit}.share-btn svg{width:20px;height:20px}.share-btn.facebook{background:linear-gradient(135deg,#1877f2,#0c63d4)}.share-btn.facebook:hover{background:linear-gradient(135deg,#2b88ff,#1877f2);transform:translateY(-2px);box-shadow:0 4px 12px #1877f266}.share-btn.twitter{background:linear-gradient(135deg,#1da1f2,#0c85d0)}.share-btn.twitter:hover{background:linear-gradient(135deg,#33b0ff,#1da1f2);transform:translateY(-2px);box-shadow:0 4px 12px #1da1f266}.share-btn.whatsapp{background:linear-gradient(135deg,#25d366,#1eaf53)}.share-btn.whatsapp:hover{background:linear-gradient(135deg,#34e876,#25d366);transform:translateY(-2px);box-shadow:0 4px 12px #25d36666}.share-btn.instagram{background:linear-gradient(135deg,#e4405f,#f77737,#ffdc7d)}.share-btn.instagram:hover{background:linear-gradient(135deg,#f1516f,#fd8751,#ffe89d);transform:translateY(-2px);box-shadow:0 4px 12px #e4405f66}.navigation-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-buttons .btn,.navigation-buttons .btn{width:100%}@media(min-width:768px){.result-view{padding:2rem 1rem;gap:1.5rem}.result-header h1{font-size:2.5rem;margin-bottom:.5rem}.result-header p{font-size:1.125rem}.result-container{border-radius:20px}.result-controls{gap:1.5rem;padding:0}.action-buttons{flex-direction:row}.action-buttons .btn{width:auto;min-width:160px}.share-menu{grid-template-columns:repeat(2,1fr);border-radius:16px}.navigation-buttons{flex-direction:row}.navigation-buttons .btn{width:auto;min-width:180px}}
