:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#131419;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #6c5ce7;--primary-hover: #5b4cdb;--secondary-color: #00cec9;--accent-color: #fd79a8;--dark-bg: #131419;--card-bg: #1e1f26;--card-border: #2d2e36;--text: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6)}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}a{font-weight:500;color:var(--secondary-color);text-decoration:inherit}a:hover{color:var(--primary-color)}body{margin:0;display:flex;place-items:center;justify-content:center;min-width:320px;min-height:100vh;background-color:var(--dark-bg);color:var(--text)}#root{width:100%;max-width:1200px;display:flex;justify-content:center;padding:20px}.app-container{max-width:1200px;margin:0 auto;padding:20px;width:100%;display:flex;justify-content:center}.container{display:flex;flex-direction:column;align-items:center;gap:30px;width:100%;max-width:1000px}h1{font-size:2.8em;line-height:1.1;color:var(--text);margin:20px 0;text-align:center;letter-spacing:-.5px;font-weight:700}button{border-radius:8px;border:1px solid transparent;padding:.7em 1.4em;font-size:.95em;font-weight:600;font-family:inherit;background-color:var(--primary-color);color:#fff;cursor:pointer;transition:all .25s}button:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 7px 15px #6b5ce74d}button:focus,button:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px}.upload-container{width:100%;max-width:600px;padding:30px;text-align:center;background:var(--card-bg);border-radius:16px;border:1px solid var(--card-border);box-shadow:0 4px 20px #00000026;margin:0 auto;transition:transform .3s,box-shadow .3s}.upload-container:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000040}.upload-btn{background-color:var(--primary-color);color:#fff;border:none;padding:12px 25px;font-size:16px;border-radius:8px;cursor:pointer;transition:all .3s;margin:15px 0;font-weight:600}.upload-btn:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 7px 15px #6b5ce74d}.upload-info{color:var(--text-secondary);font-size:14px}.preview-container{width:100%;padding:0;display:flex;justify-content:center}.preview-placeholder{text-align:center;padding:40px;background:var(--card-bg);border-radius:16px;border:1px solid var(--card-border);box-shadow:0 4px 20px #00000026;color:var(--text-secondary);width:100%;max-width:800px;margin:0 auto}.image-comparison{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;width:100%}.image-box{flex:1;min-width:300px;background:var(--card-bg);border-radius:16px;padding:20px;box-shadow:0 4px 20px #00000026;border:1px solid var(--card-border)}.image-box h3{text-align:center;margin-bottom:15px;color:var(--text);font-weight:600}.image-wrapper{height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background-color:#0003}.image-wrapper img{max-width:100%;max-height:100%;object-fit:contain}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);flex-direction:column}.enhancement-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px;justify-content:center}.metric{background-color:#6c5ce726;color:var(--secondary-color);padding:8px 16px;border-radius:20px;font-size:.9em;border:1px solid rgba(108,92,231,.3)}.spinner{border:3px solid rgba(255,255,255,.1);width:40px;height:40px;border-radius:50%;border-top-color:var(--secondary-color);animation:spin 1s linear infinite;margin-bottom:15px}.loading p{color:var(--text-secondary);margin-top:10px}.explanation-container{width:100%;max-width:800px;background-color:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 4px 20px #00000026;border:1px solid var(--card-border);margin:30px auto 0}.explanation-container h2{color:var(--text);text-align:center;margin-bottom:25px}.steps-container{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.explanation-step{display:flex;align-items:flex-start;gap:15px}.step-number{background-color:var(--primary-color);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.step-content h3{color:var(--text);margin-bottom:5px}.step-content p{color:var(--text-secondary);font-size:.95em}.technologies-info{background-color:#0003;padding:20px;border-radius:12px;border-left:4px solid var(--secondary-color)}.technologies-info h3{color:var(--text);margin-bottom:10px}.technologies-info p{color:var(--text-secondary);font-size:.95em;line-height:1.6}.download-btn{display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--secondary-color);color:#131419;font-weight:600;padding:12px 24px;border:none;border-radius:8px;margin:20px auto 5px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 10px #0003;width:auto;min-width:220px;position:relative;overflow:hidden;font-size:.95em;z-index:1}.download-btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff1a;transform:translate(-100%);transition:transform .3s ease;z-index:-1}.download-btn:hover{background-color:#04b3ae;transform:translateY(-2px);box-shadow:0 8px 15px #0000004d}.download-btn:hover:before{transform:translate(0)}.download-btn:active{transform:translateY(1px)}.download-btn svg{width:16px;height:16px;margin-right:5px}@media (max-width: 768px){.image-comparison{flex-direction:column}h1{font-size:2.2em}.upload-container,.image-box{padding:20px}}.fade-in{opacity:0;animation:fadeIn .5s forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #6c5ce766}70%{box-shadow:0 0 0 10px #6c5ce700}to{box-shadow:0 0 #6c5ce700}}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:#00cec9;animation:spin 1s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-container{transition:all .3s ease}.upload-container.dragging{transform:scale(1.02);border-color:#6c5ce7;box-shadow:0 0 25px #6c5ce766}.comparison-container{transition:opacity .5s ease}.preview-container.show .comparison-container{opacity:1}.preview-container:not(.show) .comparison-container{opacity:0}.slider-handle{transition:left .1s ease}.slider-circle{animation:glow 2s infinite alternate}@keyframes glow{0%{box-shadow:0 0 5px #6c5ce780}to{box-shadow:0 0 15px #6c5ce7cc}}.app-title .highlight{position:relative;color:#6c5ce7}.title-underline{height:3px;width:0;background:linear-gradient(to right,#6c5ce7,#00cec9,#fd79a8);margin-top:5px;animation:expandWidth 1s forwards .5s}@keyframes expandWidth{0%{width:0}to{width:100%}}.download-btn{transition:all .3s ease;overflow:hidden;position:relative}.download-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.download-btn:hover:after{width:300px;height:300px;opacity:.2}.enhancement-metrics .metric{opacity:0;transform:translateY(10px);animation:slideUp .5s forwards}.enhancement-metrics .metric:nth-child(2){animation-delay:.2s}.enhancement-metrics .metric:nth-child(3){animation-delay:.4s}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.glow-effect{position:relative}.glow-effect:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;box-shadow:0 0 15px #6c5ce766;opacity:0;transition:opacity .3s ease}.glow-effect:hover:after{opacity:1}
