@import"https://fonts.googleapis.com/css2?family=Sora:wght@100..800&display=block";:root{font-family:Sora,sans-serif;font-optical-sizing:auto;line-height:1.5;font-weight:400;color-scheme:light;color:#000000de;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{font-family:Sora,sans-serif;font-optical-sizing:auto}body{margin:0;min-width:320px;min-height:100vh;font-family:Sora,sans-serif;font-optical-sizing:auto}#root{width:100%;min-height:100vh;font-family:Sora,sans-serif}*{margin:0;padding:0;box-sizing:border-box;font-family:Sora,sans-serif;font-optical-sizing:auto}.app-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.app-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:40px;max-width:600px;width:100%}.app-header{text-align:left;margin-bottom:40px}.app-header h1{font-size:2.5rem;color:#333;margin-bottom:10px}.subtitle{color:#666;font-size:1rem}.upload-section{margin-bottom:0}.upload-area{border:3px dashed #cbd5e0;border-radius:12px;padding:10px 20px;text-align:center;transition:all .3s ease;cursor:pointer;background:#f7fafc;max-height:150px;min-height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden}.upload-area:hover{border-color:#667eea;background:#edf2f7}.upload-area.has-file{border-color:#48bb78;background:#f0fff4}.file-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;width:100%}.upload-icon{font-size:1.5rem}.file-icon{font-size:1.5rem;color:#48bb78}.file-name{font-size:.95rem;font-weight:600;color:#2d3748;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.file-size{font-size:.85rem;color:#718096;white-space:nowrap}.upload-text{font-size:.95rem;color:#4a5568;white-space:nowrap}.upload-hint{font-size:.85rem;color:#a0aec0;white-space:nowrap}.process-button{width:100%;padding:16px;margin-top:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.process-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.process-button:disabled{opacity:.6;cursor:not-allowed}.progress-bar-container{width:100%;height:8px;background-color:#e2e8f0;border-radius:4px;margin-top:15px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease;border-radius:4px}.subtitle-small{font-size:.85rem;color:#48bb78;margin-top:5px;font-weight:500}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.message{padding:12px 16px;border-radius:8px;margin-top:15px;display:flex;align-items:center;gap:10px;font-size:.95rem}.message.error{background:#fed7d7;color:#c53030;border:1px solid #fc8181}.message.success{background:#c6f6d5;color:#22543d;border:1px solid #68d391}.info-section{margin-top:30px;padding-top:30px;border-top:1px solid #e2e8f0}.info-section h3{color:#2d3748;margin-bottom:15px;font-size:1.2rem}.info-section ol{padding-left:20px;color:#4a5568}.info-section li{margin-bottom:10px;line-height:1.6}.app-footer{margin-top:40px;padding-top:30px;border-top:1px solid #e2e8f0;text-align:center}.app-footer p{color:#718096;font-size:.9rem;margin:0}.footer-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s ease}.footer-link:hover{color:#764ba2;text-decoration:underline}@media(max-width:640px){.app-content{padding:30px 20px}.app-header h1{font-size:2rem}.upload-area{padding:8px 15px;max-height:150px;min-height:150px}.file-name{max-width:150px}}
