*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f5f7fa;color:#1a1a2e;min-height:100vh}#app{max-width:960px;margin:0 auto;padding:2rem 1.5rem}header{text-align:center;margin-bottom:2.5rem}header h1{font-size:2rem;font-weight:700;color:#1a1a2e;margin-bottom:.5rem}.subtitle{color:#6b7280;font-size:1.05rem}#drop-zone{border:2px dashed #cbd5e1;border-radius:16px;padding:4rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#fff}#drop-zone:hover,#drop-zone.drag-over{border-color:#3b82f6;background:#eff6ff}.drop-zone-content svg{color:#94a3b8;margin-bottom:1rem}.drop-text{font-size:1.15rem;font-weight:500;color:#374151;margin-bottom:.5rem}.subtle{color:#9ca3af;font-size:.9rem;margin-bottom:.75rem}#file-btn{display:inline-block;padding:.65rem 1.75rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s}#file-btn:hover{background:#2563eb}.hint{color:#9ca3af;font-size:.8rem;margin-top:.75rem}.model-selector{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.model-selector label{font-size:.85rem;color:#6b7280}.model-selector select{padding:.35rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;color:#374151;background:#fff;cursor:pointer}#processing-section{text-align:center}#processing-status{margin-bottom:1rem}#batch-progress-text{font-size:1rem;font-weight:500;color:#374151}.preview-container{margin-bottom:1.5rem}.preview-container img{max-width:100%;max-height:400px;border-radius:12px;box-shadow:0 4px 12px #00000014}#progress-container{max-width:400px;margin:0 auto 1rem}#progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}#progress-fill{height:100%;background:#3b82f6;border-radius:4px;width:0%;transition:width .3s ease}#progress-fill.indeterminate{width:100%!important;background:linear-gradient(90deg,#3b82f6 25%,#60a5fa,#3b82f6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}#progress-text{font-size:.9rem;color:#6b7280}#results-grid{display:flex;flex-direction:column;gap:2rem;margin-bottom:1.5rem}.result-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.result-card-header{font-size:.85rem;font-weight:500;color:#6b7280;margin-bottom:.75rem}.result-card-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.download-single-btn{padding:.5rem 1.25rem;background:transparent;color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .15s}.download-single-btn:hover{background:#eff6ff}.result-error{color:#ef4444;font-size:.9rem;padding:2rem;text-align:center}.comparison{display:flex;gap:1.5rem}.comparison-card{flex:1}.comparison-card h3{font-size:.9rem;font-weight:600;color:#6b7280;margin-bottom:.75rem}.image-wrapper{border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-wrapper img{max-width:100%;max-height:400px;display:block}.checkerboard{background-image:linear-gradient(45deg,#d1d5db 25%,transparent 25%),linear-gradient(-45deg,#d1d5db 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d1d5db 75%),linear-gradient(-45deg,transparent 75%,#d1d5db 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.actions{display:flex;gap:1rem;justify-content:center}#download-all-btn{padding:.75rem 2rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s}#download-all-btn:hover{background:#2563eb}.secondary{padding:.75rem 2rem;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .15s}.secondary:hover{border-color:#9ca3af;color:#374151}@media(max-width:640px){.comparison{flex-direction:column}#drop-zone{padding:3rem 1.5rem}header h1{font-size:1.5rem}}
