:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}:root{--color-background:#f8fafc;--color-text:#0f172a}body{background-color:var(--color-background);color:var(--color-text);min-height:100vh;margin:0;padding:0}#app{flex-direction:column;min-height:100vh;display:flex}button{font-family:inherit}.app-header[data-v-0a0218fc]{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem;box-shadow:0 1px 3px #0000000d}.header-container[data-v-0a0218fc]{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.brand[data-v-0a0218fc]{align-items:center;gap:.875rem;display:flex}.logo-icon[data-v-0a0218fc]{color:#2563eb;background:#eff6ff;border-radius:.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:.35rem;display:flex}.brand-text[data-v-0a0218fc]{flex-direction:column;display:flex}.app-title[data-v-0a0218fc]{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.app-subtitle[data-v-0a0218fc]{color:#64748b;margin:0;font-size:.8125rem}.header-actions[data-v-0a0218fc]{align-items:center;gap:1rem;display:flex}.nav-link[data-v-0a0218fc]{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;align-items:center;gap:.375rem;padding:.4rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.nav-link[data-v-0a0218fc]:hover{color:#1e293b;background:#f1f5f9;border-color:#cbd5e1}@media (width<=640px){.app-header[data-v-0a0218fc]{padding:.75rem 1rem}.app-subtitle[data-v-0a0218fc]{display:none}}.uploader-container[data-v-469ba6c4]{width:100%}.hidden-file-input[data-v-469ba6c4]{display:none}.dropzone[data-v-469ba6c4]{text-align:center;cursor:pointer;background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:3rem 1.5rem;transition:all .2s ease-in-out;display:flex}.dropzone[data-v-469ba6c4]:hover{background-color:#f0f7ff;border-color:#3b82f6}.dropzone--dragging[data-v-469ba6c4]{background-color:#eff6ff;border-color:#2563eb;transform:scale(1.01)}.dropzone--loading[data-v-469ba6c4]{cursor:wait;pointer-events:none}.upload-icon-wrapper[data-v-469ba6c4]{color:#2563eb;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;transition:transform .2s;display:flex}.dropzone:hover .upload-icon-wrapper[data-v-469ba6c4]{transform:translateY(-2px)}.upload-icon[data-v-469ba6c4]{width:1.75rem;height:1.75rem}.drop-title[data-v-469ba6c4]{color:#334155;margin:0 0 .375rem;font-size:1.05rem;font-weight:500}.highlight[data-v-469ba6c4]{color:#2563eb;font-weight:600}.drop-hint[data-v-469ba6c4]{color:#94a3b8;margin:0;font-size:.8125rem}.compact-uploader[data-v-469ba6c4]{align-items:center;gap:.75rem;display:flex}.action-btn[data-v-469ba6c4]{cursor:pointer;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.upload-new-btn[data-v-469ba6c4]{color:#fff;background-color:#2563eb}.upload-new-btn[data-v-469ba6c4]:hover:not(:disabled){background-color:#1d4ed8}.clear-btn[data-v-469ba6c4]{color:#64748b;background-color:#fff;border-color:#cbd5e1}.clear-btn[data-v-469ba6c4]:hover:not(:disabled){color:#0f172a;background-color:#f1f5f9}.action-btn[data-v-469ba6c4]:disabled{opacity:.6;cursor:not-allowed}.loading-state[data-v-469ba6c4]{flex-direction:column;justify-content:center;align-items:center;display:flex}.spinner[data-v-469ba6c4]{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:2.5rem;height:2.5rem;margin-bottom:1rem;animation:.8s linear infinite spin-469ba6c4}@keyframes spin-469ba6c4{to{transform:rotate(360deg)}}.loading-title[data-v-469ba6c4]{color:#1e293b;margin:0 0 .25rem;font-size:1.05rem;font-weight:600}.loading-desc[data-v-469ba6c4]{color:#64748b;margin:0;font-size:.8125rem}.validation-error[data-v-469ba6c4]{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;align-items:center;gap:.5rem;margin-top:.75rem;padding:.625rem .875rem;font-size:.875rem;display:flex}.visualizer-container[data-v-baf77f4c]{background-color:#0f172a;border-radius:.75rem;justify-content:center;align-items:center;width:100%;padding:1.5rem;display:flex;overflow:hidden;box-shadow:inset 0 2px 4px #0003}.stage-wrapper[data-v-baf77f4c]{justify-content:center;align-items:center;max-width:100%;max-height:75vh;display:flex}.image-stage[data-v-baf77f4c]{-webkit-user-select:none;user-select:none;max-width:100%;line-height:0;display:inline-block;position:relative}.target-image[data-v-baf77f4c]{object-fit:contain;border-radius:.25rem;width:auto;max-width:100%;height:auto;max-height:75vh;display:block}.boxes-overlay[data-v-baf77f4c]{pointer-events:none;position:absolute;inset:0}.bounding-box[data-v-baf77f4c]{box-sizing:border-box;pointer-events:auto;cursor:pointer;border-style:solid;border-width:2px;transition:background-color .15s,box-shadow .15s,border-width .15s;position:absolute}.bounding-box--selected[data-v-baf77f4c],.bounding-box--hovered[data-v-baf77f4c]{border-width:3px}.box-label[data-v-baf77f4c]{color:#fff;white-space:nowrap;pointer-events:none;z-index:10;border-radius:.25rem;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:-1.5rem;left:-2px;box-shadow:0 2px 4px #00000040}.bounding-box[style*="top: 0%"] .box-label[data-v-baf77f4c],.bounding-box[style*="top: 1%"] .box-label[data-v-baf77f4c],.bounding-box[style*="top: 2%"] .box-label[data-v-baf77f4c]{top:2px;left:2px}.label-class[data-v-baf77f4c]{text-transform:capitalize}.label-species[data-v-baf77f4c]{opacity:.95;font-weight:500}.label-confidence[data-v-baf77f4c]{opacity:.9;font-size:.6875rem;font-weight:500}@media (width<=640px){.visualizer-container[data-v-baf77f4c]{padding:.75rem}.box-label[data-v-baf77f4c]{padding:.15rem .35rem;font-size:.65rem}}.controls-card[data-v-986c1a9c]{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex;box-shadow:0 1px 3px #0000000a}.controls-header[data-v-986c1a9c]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.controls-title[data-v-986c1a9c]{color:#1e293b;margin:0;font-size:1rem;font-weight:600}.count-badge[data-v-986c1a9c]{color:#475569;background-color:#f1f5f9;border-radius:9999px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500}.count-badge strong[data-v-986c1a9c]{color:#0f172a}.control-group[data-v-986c1a9c]{flex-direction:column;gap:.5rem;display:flex}.control-label[data-v-986c1a9c]{color:#475569;text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:600}.slider-header[data-v-986c1a9c]{justify-content:space-between;align-items:center;display:flex}.threshold-value[data-v-986c1a9c]{color:#2563eb;background-color:#eff6ff;border-radius:.25rem;padding:.125rem .5rem;font-size:.875rem;font-weight:700}.confidence-slider[data-v-986c1a9c]{cursor:pointer;accent-color:#2563eb;width:100%}.slider-marks[data-v-986c1a9c]{color:#94a3b8;justify-content:space-between;font-size:.75rem;display:flex}.class-filter-header[data-v-986c1a9c]{justify-content:space-between;align-items:center;display:flex}.class-actions[data-v-986c1a9c]{gap:.5rem;display:flex}.filter-action-btn[data-v-986c1a9c]{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem;font-weight:600;transition:background-color .15s}.filter-action-btn[data-v-986c1a9c]:hover{background-color:#eff6ff}.class-chips-container[data-v-986c1a9c]{flex-wrap:wrap;gap:.375rem;display:flex}.class-chip[data-v-986c1a9c]{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:.375rem;padding:.3125rem .625rem;font-size:.8125rem;transition:all .15s;display:inline-flex}.class-chip[data-v-986c1a9c]:hover{background-color:#f1f5f9;border-color:#cbd5e1}.class-chip--active[data-v-986c1a9c]{color:#1e3a8a;background-color:#eff6ff;border-color:#bfdbfe;font-weight:600}.class-chip-color[data-v-986c1a9c]{border-radius:50%;flex-shrink:0;width:.625rem;height:.625rem}.class-chip-name[data-v-986c1a9c]{text-transform:capitalize}.class-chip-count[data-v-986c1a9c]{opacity:.8;font-size:.75rem}.toggles-row[data-v-986c1a9c]{flex-wrap:wrap;gap:1.25rem;display:flex}.toggle-checkbox[data-v-986c1a9c]{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.375rem;font-size:.875rem;display:inline-flex}.toggle-checkbox input[data-v-986c1a9c]{cursor:pointer;accent-color:#2563eb}.list-card[data-v-a42be649]{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.875rem;max-height:540px;padding:1.25rem;display:flex;box-shadow:0 1px 3px #0000000a}.list-header[data-v-a42be649]{justify-content:space-between;align-items:center;display:flex}.header-left[data-v-a42be649]{align-items:center;gap:.5rem;display:flex}.list-title[data-v-a42be649]{color:#1e293b;margin:0;font-size:1rem;font-weight:600}.count-tag[data-v-a42be649]{color:#475569;background-color:#f1f5f9;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.selection-actions[data-v-a42be649]{align-items:center;gap:.35rem;display:flex}.btn-text-action[data-v-a42be649]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem;font-weight:500;transition:all .15s}.btn-text-action[data-v-a42be649]:hover{color:#0f172a;background-color:#f1f5f9}.export-bar[data-v-a42be649]{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .625rem;display:flex}.selection-indicator[data-v-a42be649]{color:#64748b;font-size:.75rem;font-weight:500}.btn-export-selected[data-v-a42be649]{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:.375rem;align-items:center;gap:.35rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;transition:background-color .15s;display:inline-flex}.btn-export-selected[data-v-a42be649]:hover:not(:disabled){background-color:#1d4ed8}.btn-export-selected[data-v-a42be649]:disabled{color:#94a3b8;cursor:not-allowed;background-color:#cbd5e1}.download-icon[data-v-a42be649]{width:.875rem;height:.875rem}.empty-list[data-v-a42be649]{text-align:center;color:#94a3b8;background-color:#f8fafc;border-radius:.5rem;padding:2rem 1rem}.empty-text[data-v-a42be649]{margin:0;font-size:.875rem}.items-container[data-v-a42be649]{flex-direction:column;gap:.5rem;padding-right:.25rem;display:flex;overflow-y:auto}.detection-item[data-v-a42be649]{cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;flex-direction:column;gap:.35rem;padding:.625rem .75rem;transition:all .15s;display:flex}.detection-item[data-v-a42be649]:hover,.detection-item--hovered[data-v-a42be649]{background-color:#f8fafc;border-color:#cbd5e1;transform:translate(2px)}.detection-item--selected[data-v-a42be649]{box-shadow:0 0 0 1px #3b82f6;background-color:#eff6ff!important;border-color:#3b82f6!important}.item-main[data-v-a42be649]{justify-content:space-between;align-items:center;display:flex}.class-info[data-v-a42be649]{align-items:center;gap:.5rem;display:flex}.box-checkbox[data-v-a42be649]{cursor:pointer;accent-color:#2563eb;width:.875rem;height:.875rem}.item-actions[data-v-a42be649]{align-items:center;gap:.5rem;display:flex}.btn-item-export[data-v-a42be649]{color:#64748b;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:.25rem;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;transition:all .15s;display:inline-flex}.btn-item-export[data-v-a42be649]:hover:not(:disabled){color:#2563eb;background-color:#eff6ff;border-color:#93c5fd}.btn-item-export[data-v-a42be649]:disabled{opacity:.5;cursor:not-allowed}.save-icon[data-v-a42be649]{width:.875rem;height:.875rem}.color-dot[data-v-a42be649]{border-radius:50%;flex-shrink:0;width:.625rem;height:.625rem}.class-name[data-v-a42be649]{color:#1e293b;text-transform:capitalize;font-size:.875rem;font-weight:600}.species-badge[data-v-a42be649]{color:#1e40af;background-color:#dbeafe;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem;font-weight:600}.item-species-detail[data-v-a42be649]{color:#475569;background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:.25rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.scientific-name[data-v-a42be649]{color:#334155}.scientific-name em[data-v-a42be649]{font-style:italic}.species-conf-tag[data-v-a42be649]{color:#2563eb;font-size:.6875rem;font-weight:600}.confidence-badge[data-v-a42be649]{color:#059669;background-color:#ecfdf5;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem;font-weight:700}.item-coords[data-v-a42be649]{color:#64748b;align-items:center;gap:.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;display:flex}.coords-label[data-v-a42be649]{color:#94a3b8}.error-banner[data-v-3fda7321]{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.error-content[data-v-3fda7321]{flex:1;align-items:flex-start;gap:.75rem;display:flex}.error-icon[data-v-3fda7321]{color:#dc2626;flex-shrink:0;margin-top:.125rem}.error-text[data-v-3fda7321]{flex-direction:column;gap:.25rem;display:flex}.error-title[data-v-3fda7321]{color:#991b1b;margin:0;font-size:.9375rem;font-weight:600}.error-desc[data-v-3fda7321]{color:#b91c1c;margin:0;font-size:.8125rem;line-height:1.4}.error-actions[data-v-3fda7321]{align-items:center;gap:.5rem;display:flex}.retry-btn[data-v-3fda7321]{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.retry-btn[data-v-3fda7321]:hover{background-color:#b91c1c}.dismiss-btn[data-v-3fda7321]{color:#7f1d1d;cursor:pointer;background-color:#0000;border:1px solid #fca5a5;border-radius:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s}.dismiss-btn[data-v-3fda7321]:hover{background-color:#fee2e2}.app-layout[data-v-f759110a]{flex-direction:column;min-height:100vh;display:flex}.main-content[data-v-f759110a]{flex:1;padding:1.5rem}.content-container[data-v-f759110a]{flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;display:flex}.upload-section[data-v-f759110a]{width:100%}.results-section[data-v-f759110a]{flex-direction:column;gap:1rem;display:flex}.image-meta-bar[data-v-f759110a]{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.625rem 1rem;font-size:.8125rem;display:flex}.meta-item[data-v-f759110a]{gap:.35rem;display:inline-flex}.meta-label[data-v-f759110a]{color:#64748b;font-weight:500}.meta-value[data-v-f759110a]{color:#0f172a;font-weight:600}.visualization-grid[data-v-f759110a]{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:1.5rem;display:grid}.visualizer-column[data-v-f759110a]{justify-content:center;min-width:0;display:flex}.sidebar-column[data-v-f759110a]{flex-direction:column;gap:1.25rem;display:flex}.app-footer[data-v-f759110a]{text-align:center;background:#fff;border-top:1px solid #e2e8f0;margin-top:auto;padding:1rem}.footer-container[data-v-f759110a]{max-width:1400px;margin:0 auto}.footer-container p[data-v-f759110a]{color:#94a3b8;margin:0;font-size:.8125rem}@media (width<=1024px){.visualization-grid[data-v-f759110a]{grid-template-columns:1fr}}@media (width<=640px){.main-content[data-v-f759110a]{padding:1rem .75rem}}
