:root{font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;--primary-burgundy: #8b1538;--primary-burgundy-dark: #a91d3a;--primary-burgundy-light: #c92952;--accent-gold: #d4af37;--accent-gold-light: #f4d03f;--background-dark: #1a1a1a;--background-gray: #2d2d2d;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .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-dark) 0%,var(--background-gray) 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,#1a1a1a,#2d2d2d);color:#fff;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,#8b1538,#a91d3a);color:#fff;box-shadow:0 4px 15px #8b153866}.btn-primary:hover{background:linear-gradient(135deg,#a91d3a,#c92952);box-shadow:0 6px 20px #8b153899;transform:translateY(-2px)}.btn-secondary{background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3)}.btn-secondary:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-2px)}.btn-capture{background:linear-gradient(135deg,#8b1538,#a91d3a);color:#fff;padding:1rem 2rem;font-size:1rem;box-shadow:0 6px 20px #8b153880;width:100%}.btn-capture:hover{background:linear-gradient(135deg,#a91d3a,#c92952);box-shadow:0 8px 25px #8b1538b3;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}}.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,#a91d3a,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.camera-header p{font-size:.875rem;color:#ffffffb3;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 #00000080;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(212,175,55,.6);border-radius:50%/60%;box-shadow:0 0 0 2000px #0000004d,inset 0 0 20px #d4af3733;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:#ffffffe6}.error-icon{width:64px;height:64px;color:#a91d3a;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}@keyframes pulse{0%,to{border-color:#d4af3799;box-shadow:0 0 0 2000px #0000004d,inset 0 0 20px #d4af3733}50%{border-color:#d4af37e6;box-shadow:0 0 0 2000px #0000004d,inset 0 0 30px #d4af3766}}@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,#a91d3a,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.preview-header p{font-size:.875rem;color:#ffffffb3;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 #00000080;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}}.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(255,255,255,.1);border-top:3px solid #a91d3a;border-right:3px solid #d4af37;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,#a91d3a,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.processing-content>p{font-size:.9375rem;color:#ffffffb3;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:#ffffff0d;border-radius:10px;color:#ffffff80;transition:all .3s ease;position:relative;overflow:hidden;font-size:.9rem}.step:before{content:"";width:10px;height:10px;border-radius:50%;background:#ffffff4d;flex-shrink:0}.step.active{background:#a91d3a33;border:1px solid rgba(169,29,58,.4);color:#fff}.step.active:before{background:linear-gradient(135deg,#a91d3a,#d4af37);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(212,175,55,.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 #d4af37b3}50%{box-shadow:0 0 0 8px #d4af3700}}@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:12x;height:60px}}.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,#a91d3a,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-header p{font-size:.875rem;color:#ffffffb3;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 #00000080;animation:fadeIn .8s ease;flex-shrink:0}.result-image{width:100%;height:auto;display:block}.result-error{padding:3rem 2rem;text-align:center;color:#ffffffb3}.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%}.btn-download{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#1a1a1a;font-weight:700;box-shadow:0 4px 15px #d4af3766}.btn-download:hover{background:linear-gradient(135deg,#f4d03f,#ffe135);box-shadow:0 6px 20px #d4af3799;transform:translateY(-2px)}.btn-share{background:linear-gradient(135deg,#8b1538,#a91d3a);color:#fff;box-shadow:0 4px 15px #8b153866}.btn-share:hover{background:linear-gradient(135deg,#a91d3a,#c92952);box-shadow:0 6px 20px #8b153899;transform:translateY(-2px)}.share-menu{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%;padding:1rem;background:#ffffff0d;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}}
