*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;color:#2d3748;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 0;text-align:center;box-shadow:0 2px 10px #0000001a}.app-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.app-subtitle{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto}.app-main{flex:1;padding:2rem 0}.app-footer{background-color:#2d3748;color:#fff;text-align:center;padding:1.5rem 0;margin-top:auto}.app-footer p{opacity:.8}.error-alert{background-color:#fed7d7;border:1px solid #feb2b2;border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;animation:slideIn .3s ease-out}.error-content{display:flex;align-items:center;gap:.5rem}.error-icon{font-size:1.2rem}.error-text{color:#742a2a;font-weight:500}.error-close{background:none;border:none;font-size:1.5rem;color:#742a2a;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s}.error-close:hover{background-color:#742a2a1a}.processing-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.processing-content{background:#fff;padding:2rem;border-radius:12px;text-align:center;box-shadow:0 20px 40px #0003;min-width:300px}.spinner-large{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.spinner-small{width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem;display:inline-block}.progress-bar{width:100%;height:8px;background-color:#e2e8f0;border-radius:4px;overflow:hidden;margin:1rem 0}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease;border-radius:4px}.file-upload{margin-bottom:2rem}.upload-area{border:2px dashed #cbd5e0;border-radius:12px;padding:3rem 2rem;text-align:center;transition:all .3s ease;background:#fff;cursor:pointer}.upload-area:hover{border-color:#667eea;background-color:#f7fafc}.upload-area.dragging{border-color:#667eea;background-color:#eef2ff;transform:scale(1.02)}.upload-area.processing{cursor:not-allowed;opacity:.7}.upload-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-icon{font-size:3rem;opacity:.6}.upload-area h3{font-size:1.5rem;font-weight:600;color:#2d3748}.upload-area p{color:#4a5568;max-width:400px}.file-requirements{font-size:.9rem;color:#718096}.processing-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.file-input{display:none}.file-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 2rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;font-size:1rem}.file-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.file-configuration{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a}.file-info{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.file-info h3{font-size:1.3rem;font-weight:600;color:#2d3748;margin-bottom:1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.label{font-weight:600;color:#4a5568;font-size:.9rem}.value{color:#2d3748;font-weight:500}.configuration-form h3{font-size:1.3rem;font-weight:600;color:#2d3748;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#4a5568;margin-bottom:.5rem}.form-input{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-info{margin-top:.5rem;font-size:.9rem;color:#718096}.error-message{background-color:#fed7d7;border:1px solid #feb2b2;color:#742a2a;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.suggested-sizes{margin-bottom:1.5rem}.suggested-sizes span{display:block;font-weight:600;color:#4a5568;margin-bottom:.5rem}.suggested-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.suggested-button{background-color:#f7fafc;border:2px solid #e2e8f0;color:#4a5568;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.suggested-button:hover{border-color:#667eea;color:#667eea}.action-buttons{display:flex;gap:1rem;justify-content:flex-end}.primary-button,.secondary-button{padding:.75rem 2rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.secondary-button{background-color:#f7fafc;color:#4a5568;border:2px solid #e2e8f0}.secondary-button:hover:not(:disabled){border-color:#cbd5e0;background-color:#edf2f7}button:disabled{opacity:.6;cursor:not-allowed}.download-manager{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a}.download-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.download-header h2{font-size:1.8rem;font-weight:600;color:#2d3748;margin-bottom:.5rem}.download-summary p{color:#4a5568;margin:.25rem 0}.download-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.download-all-button{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;padding:.75rem 2rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.download-all-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.reset-button{background-color:#f7fafc;color:#4a5568;border:2px solid #e2e8f0;padding:.75rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.reset-button:hover:not(:disabled){border-color:#cbd5e0;background-color:#edf2f7}.file-list h3{font-size:1.3rem;font-weight:600;color:#2d3748;margin-bottom:1.5rem}.files-grid{display:grid;gap:1rem;margin-bottom:2rem}.file-card{border:1px solid #e2e8f0;border-radius:8px;padding:1rem;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s}.file-card:hover{box-shadow:0 2px 8px #0000001a}.file-info{flex:1}.file-name{font-weight:600;color:#2d3748;margin-bottom:.25rem}.file-number{color:#667eea;font-weight:700}.file-details{display:flex;gap:1rem;font-size:.9rem;color:#718096}.download-button{background-color:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.download-button:hover:not(:disabled){background-color:#5a67d8}.downloading{display:flex;align-items:center}.download-info{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.info-box{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.info-box h4{font-weight:600;color:#2d3748;margin-bottom:.5rem}.info-box ul{list-style:none;padding:0}.info-box li{color:#4a5568;position:relative;padding:.25rem 0 .25rem 1rem}.info-box li:before{content:"•";color:#667eea;position:absolute;left:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.container{padding:0 .75rem}.app-title{font-size:2rem}.app-subtitle{font-size:1rem}.file-configuration,.download-manager{padding:1.5rem}.info-grid{grid-template-columns:1fr}.action-buttons,.download-actions{flex-direction:column}.file-card{flex-direction:column;align-items:stretch;gap:1rem}.download-button{align-self:flex-start}.suggested-buttons{justify-content:center}}
