@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes bounceGentle{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.upload-container{background:linear-gradient(135deg,#f0f4ff,#e0e7ff 50%,#f3e8ff);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:32px 16px}.header{animation:fadeIn .5s ease-in-out;margin-bottom:32px;text-align:center}.icon-container{align-items:center;animation:float 3s ease-in-out infinite;background:linear-gradient(45deg,#3b82f6,#8b5cf6);border-radius:50%;box-shadow:0 10px 25px #0000001a;display:inline-flex;height:64px;justify-content:center;margin-bottom:16px;width:64px}.upload-icon{font-size:32px}.title{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#2563eb,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:48px;font-weight:800;margin-bottom:8px;margin-top:0}.subtitle{color:#6b7280;font-size:18px;margin:0}.upload-card{background:#fff;border-radius:24px;box-shadow:0 25px 50px #0000001a;margin:0 auto 32px;max-width:896px;padding:32px;transition:all .3s ease}.upload-card:hover{box-shadow:0 35px 60px #00000026;transform:translateY(-2px)}.file-upload-section{margin-bottom:32px}.drop-zone{background:#fafafa;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;padding:32px;position:relative;text-align:center;transition:all .3s ease}.drop-zone:hover{background:#f9fafb;border-color:#3b82f6}.drop-zone.drag-over{background:#eff6ff;border-color:#3b82f6;box-shadow:0 10px 25px #3b82f61a;transform:scale(1.02)}.drop-zone.file-selected{background:#f0fdf4;border-color:#10b981}.file-input{display:none}.selected-file{animation:fadeIn .5s ease-in-out}.file-info{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;justify-content:space-between;padding:16px}.file-icon{animation:bounceGentle 2s infinite;font-size:48px;margin-right:16px}.file-details{flex:1 1;text-align:left}.file-name{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 4px}.file-size{color:#6b7280;margin:0 0 4px}.file-type{color:#9ca3af;font-size:14px;margin:0 0 8px}.filename-validation{margin-top:8px}.valid-filename{background:#dcfce7;color:#166534}.invalid-filename,.valid-filename{align-items:center;border-radius:16px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 8px}.invalid-filename{background:#fef2f2;color:#dc2626}.remove-file-btn{background:none;border:none;border-radius:8px;color:#ef4444;cursor:pointer;padding:8px;transition:all .2s ease}.remove-file-btn:hover{background:#fef2f2;transform:scale(1.1)}.close-icon{height:20px;width:20px}.empty-state{animation:fadeIn .5s ease-in-out}.drop-icon{animation:bounceGentle 2s infinite;font-size:96px;margin-bottom:16px}.drop-title{color:#374151;font-size:32px;font-weight:600;margin:0 0 8px}.drop-subtitle{color:#6b7280;margin:0 0 24px}.browse-link{color:#2563eb;cursor:pointer;font-weight:500}.supported-files{background:#f9fafb;border-radius:12px;margin:0 auto;max-width:384px;padding:24px;text-align:left}.supported-title{align-items:center;color:#374151;display:flex;font-weight:500;margin:0 0 12px}.supported-list{list-style:none;margin:0;padding:0}.supported-list li{align-items:center;color:#6b7280;display:flex;font-size:14px;margin-bottom:8px}.filename-notice{align-items:flex-start;animation:fadeIn .5s ease-in-out;background:#fffbeb;border:1px solid #f59e0b;border-radius:12px;display:flex;gap:12px;margin-top:16px;padding:16px}.notice-icon{animation:bounceGentle 2s infinite;color:#d97706;font-size:20px}.notice-content{flex:1 1}.notice-title{color:#92400e;font-weight:600;margin:0 0 4px}.notice-text{color:#b45309;font-size:14px;margin:0 0 8px}.notice-example{color:#d97706;font-size:12px;margin:0}.notice-example code,.notice-text code{background:#fef3c7;border-radius:4px;font-family:Monaco,Consolas,monospace;padding:2px 6px}.upload-controls{display:flex;flex-direction:column;gap:16px}.upload-btn{background:linear-gradient(45deg,#2563eb,#8b5cf6);border:none;border-radius:12px;box-shadow:0 10px 25px #2563eb4d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px 24px;transition:all .3s ease;width:100%}.upload-btn:hover:not(.disabled){box-shadow:0 15px 35px #2563eb66;transform:translateY(-2px)}.upload-btn:active:not(.disabled){transform:translateY(0)}.upload-btn.disabled{background:#d1d5db;box-shadow:none;color:#6b7280;cursor:not-allowed}.upload-loading{align-items:center;display:flex;gap:12px;justify-content:center}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.upload-loading span{animation:pulse 1s infinite}.upload-ready{align-items:center;display:flex;gap:12px;justify-content:center}.progress-container{animation:fadeIn .5s ease-in-out}.progress-bar{background:#e5e7eb;border-radius:6px;box-shadow:inset 0 2px 4px #0000001a;height:12px;overflow:hidden;width:100%}.progress-fill{animation:gradientShift 2s ease-in-out infinite;background:linear-gradient(45deg,#3b82f6,#8b5cf6,#3b82f6);background-size:200% 100%;height:100%;transition:width .3s ease}.progress-text{animation:pulse 1s infinite;color:#6b7280;font-size:14px;margin:8px 0 0;text-align:center}.status-message{animation:slideIn .3s ease-out;border-left:4px solid;border-radius:12px;margin:0 auto 24px;max-width:896px;padding:16px}.status-message.success{background:#f0fdf4;border-left-color:#10b981;color:#065f46}.status-message.error{background:#fef2f2;border-left-color:#ef4444;color:#991b1b}.status-message.info{background:#eff6ff;border-left-color:#3b82f6;color:#1e40af}.status-message.warning{background:#fffbeb;border-left-color:#f59e0b;color:#92400e}.status-content{align-items:flex-start;display:flex;gap:12px}.status-icon{animation:bounceGentle 2s infinite;font-size:20px}.status-text{flex:1 1}.status-text p{font-weight:500;margin:0}.status-subtext{font-size:14px;margin-top:4px!important;opacity:.75}.upload-history{animation:fadeIn .5s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;margin:0 auto 24px;max-width:896px;padding:24px}.history-title{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:600;gap:8px;margin:0 0 16px}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{align-items:center;animation:fadeIn .5s ease-in-out;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:12px;transition:all .2s ease}.history-item:hover{background:#f3f4f6;box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.history-info{flex:1 1}.history-filename{color:#1f2937;font-weight:500;margin:0 0 4px}.history-time{color:#6b7280;font-size:14px;margin:0}.view-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.view-btn:hover{background:#1d4ed8;transform:scale(1.05)}.help-section{animation:fadeIn .5s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;margin:0 auto;max-width:896px;padding:24px}.help-title{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:600;gap:8px;margin:0 0 16px}.help-steps{list-style:none;margin:0 0 16px;padding:0}.help-step{align-items:flex-start;color:#6b7280;display:flex;gap:12px;margin-bottom:8px}.step-number{align-items:center;background:#dbeafe;border-radius:50%;color:#1e40af;display:flex;flex-shrink:0;font-size:12px;font-weight:500;height:24px;justify-content:center;margin-top:2px;width:24px}.help-step code{background:#f3f4f6;border-radius:4px;font-family:Monaco,Consolas,monospace;padding:2px 6px}.help-note{background:#eff6ff;border-radius:8px;padding:12px}.help-note p{color:#1e40af;font-size:14px;margin:0}@media (max-width:768px){.upload-container{padding:16px 8px}.title{font-size:32px}.subtitle{font-size:16px}.drop-zone,.upload-card{padding:24px 16px}.drop-title{font-size:24px}.drop-icon{font-size:72px}.file-info{align-items:flex-start;flex-direction:column;gap:16px}.file-details{width:100%}.history-item{align-items:flex-start;flex-direction:column;gap:12px}.view-btn{align-self:stretch;text-align:center}}
/*# sourceMappingURL=main.101c399e.css.map*/