.file-uploader.svelte-1qpj63o{border:2px dashed #555;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all .2s ease;background:#1a1a1a}.file-uploader.svelte-1qpj63o:hover,.file-uploader.dragging.svelte-1qpj63o{border-color:#4a9eff;background:#1a2a3a}.upload-prompt.svelte-1qpj63o{color:#888}.upload-icon.svelte-1qpj63o{font-size:48px;display:block;margin-bottom:10px}.upload-text.svelte-1qpj63o{margin:0 0 5px;color:#ccc}.upload-hint.svelte-1qpj63o{margin:0;font-size:12px;color:#666}.file-info.svelte-1qpj63o{display:flex;align-items:center;gap:12px;text-align:left}.file-icon.svelte-1qpj63o{font-size:32px}.file-details.svelte-1qpj63o{flex:1;overflow:hidden}.file-name.svelte-1qpj63o{display:block;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size.svelte-1qpj63o{font-size:12px;color:#888}.change-btn.svelte-1qpj63o{padding:6px 12px;border:1px solid #555;border-radius:4px;background:transparent;color:#ccc;cursor:pointer;font-size:12px}.change-btn.svelte-1qpj63o:hover{background:#333;border-color:#777}.detection-canvas.svelte-1u5kkkr{position:absolute;top:0;left:0;pointer-events:none}.video-player.svelte-l6y7q{width:100%;background:#000;border-radius:8px;overflow:hidden}.video-container.svelte-l6y7q{position:relative;margin:0 auto}video.svelte-l6y7q{width:100%;height:100%;display:block}.overlay-message.svelte-l6y7q{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500}.overlay-message.info.svelte-l6y7q{background:#6496ffe6;color:#fff}.processing-overlay.svelte-l6y7q{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10}.processing-box.svelte-l6y7q{background:#1e1e1ef2;border:1px solid #444;border-radius:12px;padding:32px 48px;text-align:center;color:#fff;min-width:320px;box-shadow:0 8px 32px #0006}.processing-box.svelte-l6y7q h3:where(.svelte-l6y7q){margin:16px 0 20px;font-size:18px;font-weight:600;color:#fff}.spinner-large.svelte-l6y7q{width:48px;height:48px;border:3px solid #333;border-top-color:#4caf50;border-radius:50%;animation:svelte-l6y7q-spin 1s linear infinite;margin:0 auto}@keyframes svelte-l6y7q-spin{to{transform:rotate(360deg)}}.progress-info.svelte-l6y7q{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.percentage.svelte-l6y7q{font-size:24px;font-weight:700;color:#4caf50}.frame-count.svelte-l6y7q{font-size:13px;color:#888}.progress-bar-large.svelte-l6y7q{height:8px;background:#333;border-radius:4px;overflow:hidden;margin-bottom:16px}.progress-fill-large.svelte-l6y7q{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:4px;transition:width .2s ease}.time-info.svelte-l6y7q{display:flex;justify-content:space-between;gap:24px;margin-bottom:16px;padding:12px 16px;background:#0000004d;border-radius:8px}.time-item.svelte-l6y7q{display:flex;flex-direction:column;align-items:center;gap:4px}.time-label.svelte-l6y7q{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.5px}.time-value.svelte-l6y7q{font-size:18px;font-weight:600;color:#fff}.processing-hint.svelte-l6y7q{font-size:13px;color:#888;margin:0}.action-bar.svelte-l6y7q{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#1a1a1a;border-bottom:1px solid #333}.process-btn.svelte-l6y7q{padding:10px 24px;background:#4caf50;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.process-btn.svelte-l6y7q:hover:not(:disabled){background:#43a047}.process-btn.svelte-l6y7q:disabled{background:#555;cursor:not-allowed}.process-btn.client-gpu.svelte-l6y7q{background:#2196f3}.process-btn.client-gpu.svelte-l6y7q:hover{background:#1976d2}.mode-badge.svelte-l6y7q{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.mode-badge.gpu.svelte-l6y7q{background:#2196f333;color:#2196f3}.reset-btn.svelte-l6y7q{padding:8px 16px;background:#666;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer}.reset-btn.svelte-l6y7q:hover{background:#777}.hint.svelte-l6y7q{font-size:13px;color:#888}.success.svelte-l6y7q{font-size:14px;color:#4caf50}.error.svelte-l6y7q{font-size:14px;color:#f44336}.status-bar.svelte-l6y7q{display:flex;gap:16px;padding:8px 12px;background:#1a1a1a;font-size:12px;color:#888}.status-item.svelte-l6y7q{display:flex;align-items:center;gap:4px}.status-item.connected.svelte-l6y7q{color:#4caf50}.status-item.connected.svelte-l6y7q:before{content:"";width:8px;height:8px;background:#4caf50;border-radius:50%}.status-item.ready.svelte-l6y7q{color:#4caf50}.placeholder.svelte-l6y7q{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#666}.placeholder.svelte-l6y7q p:where(.svelte-l6y7q){margin:4px 0}.placeholder.svelte-l6y7q .hint:where(.svelte-l6y7q){font-size:14px;color:#555}.control-bar.svelte-1o76r16{background:#1a1a1a;padding:12px;border-radius:0 0 8px 8px}.progress-container.svelte-1o76r16{height:20px;cursor:pointer;padding:8px 0}.progress-track.svelte-1o76r16{position:relative;height:4px;background:#333;border-radius:2px}.progress-fill.svelte-1o76r16{height:100%;background:#4a9eff;border-radius:2px;transition:width .1s ease}.progress-handle.svelte-1o76r16{position:absolute;top:50%;width:12px;height:12px;background:#4a9eff;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s}.progress-container.svelte-1o76r16:hover .progress-handle:where(.svelte-1o76r16){opacity:1}.controls.svelte-1o76r16{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.controls-left.svelte-1o76r16,.controls-right.svelte-1o76r16{display:flex;align-items:center;gap:12px}.control-btn.svelte-1o76r16{padding:8px 12px;border:none;border-radius:4px;background:#333;color:#fff;cursor:pointer;font-size:14px;transition:background .2s}.control-btn.svelte-1o76r16:hover:not(:disabled){background:#444}.control-btn.svelte-1o76r16:disabled{opacity:.5;cursor:not-allowed}.play-btn.svelte-1o76r16{width:40px;font-size:16px}.skip-buttons.svelte-1o76r16{display:flex;gap:4px}.skip-btn.svelte-1o76r16{padding:4px 8px;font-size:11px;background:#2a2a2a}.time-display.svelte-1o76r16{font-size:13px;color:#888;font-family:monospace}.rate-control.svelte-1o76r16{display:flex;align-items:center;gap:6px;font-size:12px;color:#888}.rate-control.svelte-1o76r16 select:where(.svelte-1o76r16){padding:4px 8px;border:1px solid #444;border-radius:4px;background:#2a2a2a;color:#fff;font-size:12px}.stats.svelte-1o76r16{display:flex;gap:8px;font-size:12px}.stat.svelte-1o76r16{padding:4px 8px;background:#2a2a2a;border-radius:4px;color:#888}.stat.left.svelte-1o76r16{color:#ff6b6b}.stat.right.svelte-1o76r16{color:#4ecdc4}.export-btn.svelte-1o76r16{background:#4a9eff;font-weight:500}.export-btn.svelte-1o76r16:hover:not(:disabled){background:#3a8eef}.detection-list.svelte-151gp1v{display:flex;flex-direction:column;height:100%;background:#1a1a1a;border-radius:8px;overflow:hidden}.list-header.svelte-151gp1v{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #333}.list-header.svelte-151gp1v h3:where(.svelte-151gp1v){margin:0;font-size:14px;font-weight:600;color:#fff}.clear-btn.svelte-151gp1v{padding:4px 8px;border:none;border-radius:4px;background:#333;color:#888;cursor:pointer;font-size:11px}.clear-btn.svelte-151gp1v:hover{background:#444;color:#fff}.filters.svelte-151gp1v{display:flex;gap:8px;padding:8px 16px;border-bottom:1px solid #333}.filter-select.svelte-151gp1v{flex:1;padding:6px 8px;border:1px solid #333;border-radius:4px;background:#2a2a2a;color:#ccc;font-size:12px}.list-content.svelte-151gp1v{flex:1;overflow-y:auto}.empty-state.svelte-151gp1v{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#666;text-align:center;padding:20px}.empty-state.svelte-151gp1v p:where(.svelte-151gp1v){margin:4px 0}.empty-state.svelte-151gp1v .hint:where(.svelte-151gp1v){font-size:12px;color:#555}.list-items.svelte-151gp1v{padding:8px}.list-item.svelte-151gp1v{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:4px;background:#2a2a2a;color:#ccc;cursor:pointer;text-align:left;margin-bottom:4px;transition:background .2s}.list-item.svelte-151gp1v:hover{background:#333}.item-time.svelte-151gp1v{font-family:monospace;font-size:12px;color:#888;min-width:45px}.item-type.svelte-151gp1v{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-side.svelte-151gp1v{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:#333}.item-side.left.svelte-151gp1v{color:#ff6b6b;background:#ff6b6b26}.item-side.right.svelte-151gp1v{color:#4ecdc4;background:#4ecdc426}.list-footer.svelte-151gp1v{padding:12px 16px;border-top:1px solid #333}.stats-row.svelte-151gp1v{display:flex;gap:16px;margin-bottom:8px}.stat.svelte-151gp1v{font-size:12px}.stat-label.svelte-151gp1v{color:#888}.stat-value.svelte-151gp1v{font-weight:600;margin-left:4px}.stat-value.left.svelte-151gp1v{color:#ff6b6b}.stat-value.right.svelte-151gp1v{color:#4ecdc4}.class-breakdown.svelte-151gp1v{display:flex;flex-wrap:wrap;gap:6px}.class-stat.svelte-151gp1v{font-size:11px;padding:2px 6px;background:#2a2a2a;border-radius:3px;color:#888}.processing-mode-selector.svelte-1wym26b{padding:12px;background:#1a1a1a;border-radius:8px;margin-top:12px}h4.svelte-1wym26b{margin:0 0 12px;font-size:14px;color:#888;font-weight:500}.mode-options.svelte-1wym26b{display:flex;gap:8px;flex-wrap:wrap}.mode-btn.svelte-1wym26b{flex:1;min-width:100px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;background:#2a2a2a;border:2px solid #333;border-radius:8px;cursor:pointer;transition:all .2s;color:#fff}.mode-btn.svelte-1wym26b:hover:not(.disabled):not(:disabled){background:#333;border-color:#444}.mode-btn.active.svelte-1wym26b{background:#1e3a1e;border-color:#4caf50}.mode-btn.high-perf.active.svelte-1wym26b{background:#1e2a3a;border-color:#2196f3}.mode-btn.disabled.svelte-1wym26b{opacity:.5;cursor:not-allowed}.mode-btn.svelte-1wym26b:disabled{opacity:.7;cursor:wait}.icon.svelte-1wym26b{font-size:20px}.label.svelte-1wym26b{font-size:12px;font-weight:600}.desc.svelte-1wym26b{font-size:10px;color:#888;text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desc.gpu-name.svelte-1wym26b{color:#aaa}.desc.loading.svelte-1wym26b{color:#4caf50}.error-message.svelte-1wym26b{margin-top:8px;padding:8px;background:#f443361a;border:1px solid #f44336;border-radius:4px;color:#f44336;font-size:11px}.active-provider.svelte-1wym26b{margin-top:8px;padding:6px 10px;background:#1e3a1e;border-radius:4px;font-size:12px;color:#4caf50}.active-provider.svelte-1wym26b strong:where(.svelte-1wym26b){color:#8bc34a}.mode-info.svelte-1wym26b{margin-top:8px;padding:6px 8px;background:#222;border-radius:4px}.mode-info.svelte-1wym26b p:where(.svelte-1wym26b){margin:0;font-size:11px;color:#666}.desc.unavailable.svelte-1wym26b{color:#f44336}.pt-warning.svelte-1wym26b{margin-top:8px;padding:8px 10px;background:#ff98001a;border:1px solid #ff9800;border-radius:4px;font-size:11px;color:#ff9800}.pt-warning.svelte-1wym26b a:where(.svelte-1wym26b){color:#4fc3f7;text-decoration:underline}.model-uploader.svelte-1upjrqv{padding:12px;background:#1a1a1a;border-radius:8px;margin-top:12px}h4.svelte-1upjrqv{margin:0 0 10px;font-size:14px;color:#888;font-weight:500}.current-model.svelte-1upjrqv{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#252525;border-radius:6px;margin-bottom:10px}.model-info.svelte-1upjrqv{display:flex;align-items:center;gap:10px}.model-icon.svelte-1upjrqv{font-size:20px}.model-details.svelte-1upjrqv{display:flex;flex-direction:column}.model-name.svelte-1upjrqv{font-size:13px;color:#fff;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-type.svelte-1upjrqv{font-size:11px;color:#888}.server-only.svelte-1upjrqv{color:#ff9800}.model-actions.svelte-1upjrqv{display:flex;gap:6px}.btn-small.svelte-1upjrqv{padding:4px 10px;font-size:11px;border:1px solid #444;background:#333;color:#ccc;border-radius:4px;cursor:pointer}.btn-small.svelte-1upjrqv:hover{background:#444}.btn-small.active.svelte-1upjrqv{background:#2e7d32;border-color:#4caf50;color:#fff}.btn-small.danger.svelte-1upjrqv{border-color:#c62828;color:#ef5350}.btn-small.danger.svelte-1upjrqv:hover{background:#c62828;color:#fff}.upload-zone.svelte-1upjrqv{border:2px dashed #333;border-radius:8px;padding:16px;text-align:center;transition:all .2s}.upload-zone.drag-over.svelte-1upjrqv{border-color:#4caf50;background:#4caf501a}.upload-zone.has-model.svelte-1upjrqv{padding:10px}.upload-btn.svelte-1upjrqv{padding:8px 16px;background:#333;border:1px solid #444;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;transition:background .2s}.upload-btn.svelte-1upjrqv:hover{background:#444}.upload-hint.svelte-1upjrqv{display:block;margin-top:8px;font-size:11px;color:#666}.upload-text.svelte-1upjrqv{color:#4caf50;font-size:13px}.error-message.svelte-1upjrqv{margin-top:8px;padding:8px;background:#f443361a;border:1px solid #f44336;border-radius:4px;color:#f44336;font-size:11px}.model-status.svelte-1upjrqv{margin-top:10px;padding:6px 10px;background:#222;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:6px}.status-label.svelte-1upjrqv{color:#666}.status-value.svelte-1upjrqv{color:#888}.status-value.custom.svelte-1upjrqv{color:#4caf50}*{box-sizing:border-box}body{margin:0;padding:0;background:#0a0a0a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.app.svelte-1uha8ag{min-height:100vh;display:flex;flex-direction:column}.app-header.svelte-1uha8ag{padding:16px 24px;background:#1a1a1a;border-bottom:1px solid #333}.app-header.svelte-1uha8ag h1:where(.svelte-1uha8ag){margin:0;font-size:24px;font-weight:600}.subtitle.svelte-1uha8ag{margin:4px 0 0;font-size:14px;color:#888}.app-main.svelte-1uha8ag{flex:1;display:grid;grid-template-columns:1fr 320px;gap:16px;padding:16px;max-width:1800px;margin:0 auto;width:100%}.left-panel.svelte-1uha8ag{display:flex;flex-direction:column;gap:16px}.upload-section.svelte-1uha8ag{flex-shrink:0}.video-section.svelte-1uha8ag{flex:1;display:flex;flex-direction:column}.right-panel.svelte-1uha8ag{height:calc(100vh - 180px);position:sticky;top:16px}.app-footer.svelte-1uha8ag{padding:12px 24px;background:#1a1a1a;border-top:1px solid #333;text-align:center}.app-footer.svelte-1uha8ag p:where(.svelte-1uha8ag){margin:0;font-size:12px;color:#666}@media(max-width:1024px){.app-main.svelte-1uha8ag{grid-template-columns:1fr}.right-panel.svelte-1uha8ag{height:400px;position:static}}
