:root{--bg:#09090b;--bg-panel:#121214;--bg-card:#1c1c1f;--bg-hover:#27272a;--border:#2e2e33;--border-focus:#6366f1;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#52525b;--accent:#6366f1;--accent-light:#818cf8;--accent-glow:#6366f126;--accent-text:#fff;--success:#10b981;--success-bg:#10b9811a;--success-border:#10b98133;--error:#ef4444;--error-bg:#ef44441a;--error-border:#ef444433;--warning:#f59e0b;--warning-bg:#f59e0b1a;--warning-border:#f59e0b33;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0003, 0 4px 6px -2px #0000001f;--shadow-glow:0 0 20px #6366f126;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root.light-theme{--bg:#f8fafc;--bg-panel:#fff;--bg-card:#f1f5f9;--bg-hover:#e2e8f0;--border:#e2e8f0;--border-focus:#4f46e5;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent:#4f46e5;--accent-light:#6366f1;--accent-glow:#4f46e514;--accent-text:#fff;--success:#059669;--success-bg:#05966914;--success-border:#05966926;--error:#dc2626;--error-bg:#dc262614;--error-border:#dc262626;--warning:#d97706;--warning-bg:#d9770614;--warning-border:#d9770626;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000a, 0 4px 6px -2px #00000005;--shadow-glow:0 0 20px #4f46e514;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);padding-bottom:env(safe-area-inset-bottom,24px);line-height:1.5;overflow-x:hidden}#root{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:0 16px;display:flex}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{opacity:.6}50%{opacity:1;filter:drop-shadow(0 0 8px #6366f166)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.animate-spin{animation:1s linear infinite spin}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 0;display:flex}.brand{color:var(--text-primary);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-logo{color:var(--accent);align-items:center;display:flex}.brand-name{letter-spacing:-.025em;background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:800}.header-actions{align-items:center;gap:8px;display:flex}.theme-toggle-btn{border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.theme-toggle-btn:hover{background-color:var(--bg-hover);border-color:var(--text-muted)}.app-grid{grid-template-columns:1fr;gap:24px;margin-bottom:40px;display:grid}@media (width>=1024px){.app-grid{grid-template-columns:320px 1fr}}.panel{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-normal), background-color var(--transition-normal);padding:20px}.panel-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:16px;font-size:1rem;font-weight:700;display:flex}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-normal);background-color:#ffffff03;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex;position:relative;overflow:hidden}.drop-zone:hover,.drop-zone.drag-active{border-color:var(--accent);background-color:var(--accent-glow);box-shadow:var(--shadow-glow)}.drop-zone-icon{color:var(--text-muted);transition:color var(--transition-normal);margin-bottom:12px}.drop-zone:hover .drop-zone-icon{color:var(--accent)}.drop-zone-text{color:var(--text-primary);margin-bottom:4px;font-size:.95rem;font-weight:600}.drop-zone-subtext{color:var(--text-secondary);font-size:.8rem}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.status-banner{border-radius:var(--radius-md);animation:fadeIn var(--transition-normal) forwards;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:.85rem;display:flex}.status-banner.info{background-color:var(--accent-glow);color:var(--text-primary);border:1px solid #6366f140}.status-banner.success{background-color:var(--success-bg);border:1px solid var(--success-border);color:var(--text-primary)}.status-banner.error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--text-primary)}.status-banner.warning{background-color:var(--warning-bg);border:1px solid var(--warning-border);color:var(--text-primary)}.status-banner-icon{flex-shrink:0;margin-top:2px}.status-banner-content{flex-grow:1}.status-banner-title{margin-bottom:2px;font-weight:700}.status-banner-desc{color:var(--text-secondary);font-size:.8rem}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background-color:var(--accent-light);box-shadow:var(--shadow-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border:1px solid var(--border);color:var(--text-primary);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--text-secondary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error)}.btn-danger:hover{background-color:var(--error);color:#fff;border-color:var(--error)}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.8rem;font-weight:700;display:flex}.form-label-badge{font-size:.75rem;font-family:var(--font-mono);background-color:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-primary);padding:2px 6px}.form-select,.form-input{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--bg);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);padding:10px;font-size:.9rem}.form-select:focus,.form-input:focus{border-color:var(--border-focus);outline:none}.form-checkbox-label{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.form-checkbox{width:16px;height:16px;accent-color:var(--accent)}.form-range{background-color:var(--bg);border-radius:var(--radius-full);width:100%;height:6px;accent-color:var(--accent);cursor:pointer;outline:none}.video-preview-card{border-radius:var(--radius-md);aspect-ratio:16/9;background-color:#000;margin-top:16px;position:relative;overflow:hidden}.video-preview-card video{object-fit:contain;width:100%;height:100%}.processing-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex}.progress-bar-container{background-color:var(--border);border-radius:var(--radius-full);width:100%;height:8px;margin-top:16px;margin-bottom:24px;position:relative;overflow:hidden}.progress-bar-fill{background-color:var(--accent);border-radius:var(--radius-full);width:0%;height:100%;box-shadow:var(--shadow-glow);transition:width .3s}.progress-steps{text-align:left;background-color:var(--bg);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;gap:8px;width:100%;padding:12px;display:flex}.progress-step{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.progress-step.active{color:var(--text-primary);font-weight:600}.progress-step.completed{color:var(--success)}.progress-step-icon{border-radius:var(--radius-full);background-color:var(--text-muted);width:6px;height:6px}.progress-step.active .progress-step-icon{background-color:var(--accent);box-shadow:0 0 6px var(--accent)}.progress-step.completed .progress-step-icon{background-color:var(--success)}.gallery-section{animation:fadeIn var(--transition-normal) forwards;flex-direction:column;gap:16px;display:flex}.gallery-header{justify-content:space-between;align-items:center;display:flex}.gallery-stats{color:var(--text-secondary);font-size:.8rem;font-family:var(--font-mono)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}@media (width>=640px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.gallery-card{aspect-ratio:16/9;border-radius:var(--radius-md);border:2px solid var(--border);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background-color:#0003;position:relative;overflow:hidden}.gallery-card:hover{border-color:var(--text-secondary);transform:translateY(-2px)}.gallery-card.selected{border-color:var(--accent);box-shadow:var(--shadow-glow)}.gallery-card-img{object-fit:cover;width:100%;height:100%}.gallery-card-badge{color:#fff;font-family:var(--font-mono);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;padding:2px 4px;font-size:.65rem;position:absolute;bottom:4px;left:4px}.gallery-card-rec-badge{background-color:var(--accent);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;top:4px;right:4px}.gallery-card-dup-badge{background-color:var(--warning);color:#000;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;top:4px;left:4px}.preview-panel{animation:fadeIn var(--transition-normal) forwards;grid-template-columns:1fr;gap:20px;display:grid}@media (width>=768px){.preview-panel{grid-template-columns:1fr 280px}}.preview-viewport{border-radius:var(--radius-md);border:1px solid var(--border);aspect-ratio:16/9;background-color:#020203;justify-content:center;align-items:center;min-height:240px;display:flex;position:relative;overflow:hidden}.preview-viewport img{object-fit:contain;max-width:100%;max-height:100%}.preview-details{flex-direction:column;justify-content:space-between;gap:16px;display:flex}.metadata-list{flex-direction:column;gap:8px;display:flex}.metadata-item{border-bottom:1px solid var(--border);justify-content:space-between;padding-bottom:8px;font-size:.85rem;display:flex}.metadata-label{color:var(--text-secondary);font-weight:500}.metadata-value{color:var(--text-primary);font-weight:700;font-family:var(--font-mono)}.help-panel{background-color:#6366f105;margin-top:12px}.help-text{color:var(--text-secondary);font-size:.8rem;line-height:1.6}.help-text p{margin-bottom:8px}.help-text code{font-family:var(--font-mono);background-color:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-primary);padding:1px 4px;font-size:.75rem}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:auto;padding:24px 0;font-size:.75rem}.app-footer p{margin-bottom:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
