*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;overflow-x:hidden;padding:20px;position:relative}body:before{animation:floatParticles 20s ease-in-out infinite;background:radial-gradient(circle at 20% 50%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 80%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 40% 20%,#ffffff1a 0,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}@keyframes floatParticles{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{max-width:100%;overflow-x:hidden;z-index:1}#root,#root>div{position:relative;width:100%}#root>div{animation:fadeInUp .8s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:24px;box-shadow:0 25px 80px #0000004d,inset 0 0 0 1px #ffffff1a;box-sizing:border-box;margin:0 auto;max-width:1200px;overflow:hidden;padding:50px}#root>div:before{animation:rotate 30s linear infinite;background:radial-gradient(circle,#667eea0d 0,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}h2{-webkit-text-fill-color:#0000;animation:slideInDown .6s ease-out,gradientShift 3s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;color:#2d3748;font-size:36px;font-weight:800;letter-spacing:1px;margin-bottom:10px;padding-bottom:15px;position:relative;text-align:center;text-shadow:0 4px 20px #667eea4d}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}h2:after{animation:expandWidth .8s ease-out .3s backwards,gradientFlow 2s linear infinite;background:linear-gradient(90deg,#667eea,#764ba2 50%,#f093fb);background-size:200% 100%;border-radius:2px;bottom:0;box-shadow:0 2px 10px #667eea80;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:100px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes expandWidth{0%{width:0}to{width:100px}}h3{animation:fadeInLeft .6s ease-out;color:#4a5568;font-size:24px;font-weight:700;margin-bottom:25px;margin-top:50px;padding-left:20px;position:relative}h3:before{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:3px;content:"";height:70%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:5px}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}p{animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.error-message{animation:shakeAndSlideDown .6s ease-out,errorPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fc8181,#f56565 50%,#e53e3e);background-size:200% 200%;border:2px solid #fff6;border-radius:16px;box-shadow:0 10px 30px #f5656580;font-size:15px;font-weight:600;gap:15px;margin-bottom:25px;overflow:hidden;padding:20px 28px;position:relative}.error-message:before{animation:rotate 8s linear infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}.error-message:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.error-icon{animation:bounce 1s ease infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:28px;z-index:1}@keyframes errorPulse{0%,to{box-shadow:0 10px 30px #f5656580;transform:scale(1)}50%{box-shadow:0 15px 40px #f56565b3;transform:scale(1.01)}}@keyframes shakeAndSlideDown{0%{opacity:0;transform:translateY(-20px) translateX(0)}10%{transform:translateY(-10px) translateX(-10px)}20%{transform:translateY(-5px) translateX(10px)}30%{transform:translateY(0) translateX(-10px)}40%{transform:translateY(0) translateX(10px)}50%{transform:translateY(0) translateX(0)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.file-input-wrapper{animation:fadeInScale .5s ease-out;animation-fill-mode:backwards;margin-bottom:30px}.file-input-wrapper:nth-child(2){animation-delay:.1s}.file-input-wrapper:nth-child(3){animation-delay:.2s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.file-input-label{border:3px dashed #cbd5e0;border-radius:16px;font-size:16px;font-weight:600;gap:15px;padding:24px;transition:all .4s cubic-bezier(.4,0,.2,1)}.file-input-label:before{font-size:28px;transition:transform .4s ease}.file-input-label:hover{box-shadow:0 8px 24px #667eea40;transform:translateY(-3px)}.file-input-label:hover:before{transform:scale(1.2) rotate(-10deg)}.file-input-label.has-file{animation:successPulse .6s ease;border-style:solid}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.file-input-label.has-file:before{animation:checkmark .6s ease;font-size:32px}@keyframes checkmark{0%{opacity:0;transform:scale(0) rotate(-180deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.file-info{animation:fadeIn .4s ease;margin-top:10px}.file-size{background:#667eea1a;border-radius:20px;font-size:14px;padding:6px 14px}.delete-file-btn,.file-size{display:inline-block;font-weight:600}.delete-file-btn{background:linear-gradient(135deg,#f56565,#e53e3e);border:none;border-radius:20px;box-shadow:0 2px 8px #f565654d;color:#fff;cursor:pointer;font-size:13px;margin-left:12px;padding:6px 16px;transition:all .3s ease}.delete-file-btn:hover{background:linear-gradient(135deg,#e53e3e,#c53030);box-shadow:0 4px 12px #f5656580;transform:translateY(-2px)}.delete-file-btn:active{transform:translateY(0)}.loading-container{animation:fadeInScale .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#f7fafce6,#edf2f7e6);border:2px solid #667eea1a;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:50px 0;padding:40px}.spinner{animation:spin 1s cubic-bezier(.68,-.55,.265,1.55) infinite;border-right:6px solid #e2e8f0;border-top:6px solid #e2e8f0;border-color:#667eea #764ba2 #e2e8f0 #e2e8f0;border-style:solid;border-width:6px;box-shadow:0 4px 12px #667eea4d;height:70px;margin-bottom:25px;width:70px}.progress-bar-container{border-radius:20px;box-shadow:inset 0 2px 8px #00000026;height:35px;max-width:450px}.progress-bar{animation:gradientFlow 2s linear infinite;background:linear-gradient(90deg,#667eea,#764ba2 50%,#f093fb);background-size:200% 100%;border-radius:20px;box-shadow:0 4px 12px #667eea66;font-size:15px;font-weight:700;overflow:hidden;position:relative;transition:width .4s cubic-bezier(.4,0,.2,1)}@keyframes gradientFlow{0%{background-position:0 50%}to{background-position:200% 50%}}.progress-bar:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}.progress-text{animation:pulse 2s ease-in-out infinite;font-size:17px;font-weight:700;margin-top:20px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}button{animation:fadeInScale .5s ease-out .3s backwards;border-radius:12px;box-shadow:0 6px 24px #667eea66;font-size:17px;font-weight:700;letter-spacing:1px;margin-top:15px;overflow:hidden;padding:18px 45px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}button:hover:before{height:300px;width:300px}button:hover:not(:disabled){box-shadow:0 12px 36px #667eea99;transform:translateY(-4px) scale(1.02)}button:active:not(:disabled){transform:translateY(-2px) scale(1)}button:disabled{background:linear-gradient(135deg,#a0aec0,#718096);transform:none}.results-section{animation:fadeInUp .8s ease-out;border-top:3px solid #667eea33;margin-top:60px;padding-top:40px}.preview-grid{grid-gap:35px;gap:35px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:40px}.preview-item{animation:fadeInScale .6s ease-out;animation-fill-mode:backwards}.preview-item:first-child{animation-delay:.1s}.preview-item:nth-child(2){animation-delay:.2s}.preview-image{border:3px solid #667eea33;border-radius:16px;box-shadow:0 8px 32px #0003;max-width:550px;transition:transform .4s ease,box-shadow .4s ease}.preview-image:hover{box-shadow:0 16px 48px #667eea66;transform:scale(1.03) translateY(-5px)}.preview-label{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:8px;display:inline-block;font-size:15px;font-weight:700;letter-spacing:1px;margin-top:15px;padding:8px 16px}.table-container{animation:fadeInUp .6s ease-out;border-radius:16px;box-shadow:0 8px 32px #0000001a}table{border-radius:16px;box-shadow:0 0 0 1px #667eea1a;margin-top:25px}th{font-size:15px;font-weight:700;letter-spacing:.8px;padding:18px}td{font-size:16px;font-weight:500;padding:16px 18px;transition:background .3s ease}tbody tr{animation:fadeIn .4s ease-out;animation-fill-mode:backwards;transition:all .3s ease}tbody tr:first-child{animation-delay:.05s}tbody tr:nth-child(2){animation-delay:.1s}tbody tr:nth-child(3){animation-delay:.15s}tbody tr:nth-child(4){animation-delay:.2s}tbody tr:nth-child(5){animation-delay:.25s}tbody tr:hover{background:linear-gradient(90deg,#667eea0d,#764ba20d);box-shadow:0 4px 12px #0000000d;transform:scale(1.01)}.negative-change,.positive-change{animation:colorPulse 1.5s ease infinite;font-weight:700}@keyframes colorPulse{0%,to{opacity:1}50%{opacity:.7}}.output-item{animation:fadeInUp .6s ease-out;margin:40px 0}.output-image{border:3px solid #667eea33;border-radius:16px;box-shadow:0 12px 48px #00000040;margin:25px auto;transition:transform .4s ease,box-shadow .4s ease}.output-image:hover{box-shadow:0 20px 60px #667eea66;transform:scale(1.02) translateY(-5px)}.download-btn,.download-btn-csv{background:linear-gradient(135deg,#48bb78,#38a169);border-radius:12px;box-shadow:0 6px 24px #48bb7866;font-size:15px;font-weight:700;letter-spacing:.5px;margin-top:20px;overflow:hidden;padding:14px 32px;position:relative;text-transform:uppercase;transition:all .4s cubic-bezier(.4,0,.2,1)}.download-btn-csv:before,.download-btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.download-btn-csv:hover:before,.download-btn:hover:before{height:300px;width:300px}.download-btn-csv:hover,.download-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 12px 36px #48bb7899;transform:translateY(-4px) scale(1.05)}.download-btn-csv:active,.download-btn:active{transform:translateY(-2px) scale(1.02)}.download-section{animation:fadeInUp .6s ease-out;margin-bottom:35px;margin-top:25px}.download-btn-csv{font-size:17px;padding:16px 45px}.change-stats{animation:fadeInScale .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#f7fafce6,#edf2f7e6);border:2px solid #667eea26;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:50px 0;padding:35px}.stats-grid{grid-gap:25px;gap:25px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:25px}.stat-card{animation:fadeInScale .5s ease-out;animation-fill-mode:backwards;border:2px solid #667eea1a;border-radius:16px;box-shadow:0 6px 24px #0000001f;overflow:hidden;padding:30px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:before{animation:rotate 20s linear infinite;background:radial-gradient(circle,#667eea0d 0,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}.stat-card:hover{border-color:#667eea;box-shadow:0 16px 48px #667eea40;transform:translateY(-8px) scale(1.02)}.stat-label{font-size:15px;font-weight:700;letter-spacing:1px;margin-bottom:12px}.stat-value{-webkit-text-fill-color:#0000;animation:countUp 1s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:800;margin-top:8px}@keyframes countUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){body{padding:10px}#root>div{border-radius:20px;padding:30px 20px}h2{font-size:28px}h3{font-size:20px}.preview-grid{gap:25px;grid-template-columns:1fr}table{font-size:14px}td,th{padding:12px}button{padding:16px;width:100%}.file-input-label{font-size:15px;padding:20px}.stat-value{font-size:36px}}@media (max-width:480px){body{padding:5px}#root>div{padding:25px 15px}h2{font-size:24px}.stat-value{font-size:32px}}p{line-height:1.6}.error-message{align-items:center;animation:slideDown .3s ease;background:linear-gradient(135deg,#fc8181,#f56565);border-radius:8px;box-shadow:0 4px 12px #f565654d;color:#fff;display:flex;font-weight:500;gap:10px;margin-bottom:20px;padding:15px 20px}.error-icon{font-size:20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.file-input-wrapper{margin-bottom:25px;position:relative}input[type=file]{height:0;opacity:0;position:absolute;width:0}.file-input-label{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px dashed #cbd5e0;border-radius:12px;color:#4a5568;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;justify-content:center;overflow:hidden;padding:20px;position:relative;transition:all .3s ease;width:100%}.file-input-label:hover{background:linear-gradient(135deg,#edf2f7,#e6fffa);border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.file-input-label:before{content:"📁";font-size:24px}.file-input-label.has-file{background:linear-gradient(135deg,#f0fff4,#c6f6d5);border-color:#48bb78;color:#22543d}.file-input-label.has-file:before{color:#48bb78;content:"✓";font-size:24px}.file-info{margin-top:8px;text-align:center}.file-size{color:#718096;font-size:13px;font-weight:500}.loading-container{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;justify-content:center;margin:40px 0;padding:30px}.spinner{animation:spin 1s linear infinite;border:5px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:60px;margin-bottom:20px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.progress-bar-container{background:#e2e8f0;border-radius:15px;box-shadow:inset 0 2px 4px #0000001a;height:30px;max-width:400px;overflow:hidden;position:relative;width:100%}.progress-bar{align-items:center;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 2px 4px #667eea4d;color:#fff;display:flex;font-size:14px;font-weight:600;height:100%;justify-content:center;transition:width .3s ease}.progress-text{color:#4a5568;margin-top:15px;text-align:center}.progress-text,button{font-size:16px;font-weight:600}button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;letter-spacing:.5px;margin-top:10px;padding:15px 40px;text-transform:uppercase;transition:all .3s ease}button:hover:not(:disabled){box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed}.results-section{border-top:2px solid #e2e8f0;margin-top:50px;padding-top:30px}.preview-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.preview-item{text-align:center}.preview-image{border-radius:8px;box-shadow:0 4px 12px #00000026;display:block;height:auto;margin:0 auto;max-width:500px;width:100%}.preview-label{color:#4a5568;font-size:14px;font-weight:600;letter-spacing:.5px;margin-top:10px;text-transform:uppercase}.table-container{overflow-x:auto}table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-top:20px;overflow:hidden;width:100%}thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}td{border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:15px;padding:12px 15px}tbody tr:hover{background:#f7fafc;transition:background .2s ease}tbody tr:last-child td{border-bottom:none}.positive-change{color:#48bb78;font-weight:600}.negative-change{color:#f56565;font-weight:600}.output-item{margin:30px 0;text-align:center}.output-image{border-radius:8px;box-shadow:0 10px 30px #0003;display:block;height:auto;margin:20px auto;max-width:100%}.download-btn,.download-btn-csv{background:#48bb78;border:none;border-radius:8px;box-shadow:0 4px 15px #48bb7866;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;margin-top:15px;padding:12px 30px;text-decoration:none;transition:all .3s ease}.download-btn-csv:hover,.download-btn:hover{background:#38a169;box-shadow:0 6px 20px #48bb7899;transform:translateY(-2px)}.download-section{margin-bottom:30px;margin-top:20px;text-align:center}.download-btn-csv{font-size:16px;padding:15px 40px}.change-stats{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #e2e8f0;border-radius:12px;margin:40px 0;padding:30px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.stat-card{background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;padding:25px;text-align:center;transition:transform .3s ease}.stat-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.stat-label{color:#718096;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.stat-value{color:#667eea;font-size:36px;font-weight:700;margin-top:5px}@media (max-width:768px){body{padding:10px}#root>div{border-radius:12px;padding:20px}h2{font-size:24px}h3{font-size:18px}.preview-grid{grid-template-columns:1fr}table{font-size:13px}td,th{padding:10px}button{padding:15px;width:100%}.file-input-label{font-size:14px;padding:15px}}@media (max-width:480px){body{padding:5px}#root>div{padding:15px}h2{font-size:20px}}
/*# sourceMappingURL=main.5bbd423e.css.map*/