luo-image-annotator 0.0.13 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- .svg-icon[data-v-3928607b]{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;fill:currentColor;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.svg-icon[data-v-3928607b] svg{width:1em;height:1em;fill:currentColor}.size-small[data-v-3928607b]{font-size:12px}.size-large[data-v-3928607b]{font-size:20px}.annotation-container[data-v-ccc538f3]{display:flex;height:100%;width:100%;border:1px solid #e0e0e0;background:#f5f5f5;overflow:hidden}.image-list-sidebar[data-v-ccc538f3]{width:180px;background:#fafbfc;border-right:1px solid #e0e0e0;display:flex;flex-direction:column}.image-list-title[data-v-ccc538f3]{height:44px;display:flex;align-items:center;padding:0 12px;font-size:13px;color:#303133;border-bottom:1px solid #e8edf3;font-weight:600}.image-list-scroll[data-v-ccc538f3]{flex:1;padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.image-list-item[data-v-ccc538f3]{border:1px solid #e4e7ed;border-radius:6px;background:#fff;padding:6px;display:flex;flex-direction:column;gap:6px;cursor:pointer;text-align:left}.image-list-item[data-v-ccc538f3]:hover{border-color:#b3d8ff}.image-list-item.active[data-v-ccc538f3]{border-color:#409eff;box-shadow:0 0 0 1px #409eff inset}.image-list-stage[data-v-ccc538f3]{width:100%;height:78px;position:relative;border-radius:4px;overflow:hidden}.image-list-thumb[data-v-ccc538f3]{width:100%;height:100%;object-fit:cover;border-radius:4px}.image-list-text[data-v-ccc538f3]{font-size:12px;color:#606266}.thumb-overlay-layer[data-v-ccc538f3]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.thumb-overlay-rect[data-v-ccc538f3]{position:absolute;border:1px solid;box-sizing:border-box;border-radius:2px}.thumb-overlay-svg[data-v-ccc538f3]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.thumb-overlay-point[data-v-ccc538f3]{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #fff}.thumb-overlay-rotated[data-v-ccc538f3]{position:absolute;border:1px solid;box-sizing:border-box;border-radius:2px;transform-origin:center center}.left-sidebar[data-v-ccc538f3]{width:50px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:8px;z-index:10}.tool-btn[data-v-ccc538f3]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:18px;transition:all .2s}.tool-btn[data-v-ccc538f3]:hover{background:#f0f0f0}.tool-btn.active[data-v-ccc538f3]{background:#e3f2fd;border-color:#2196f3;color:#2196f3}.divider[data-v-ccc538f3]{width:80%;height:1px;background:#ddd;margin:4px 0}.center-area[data-v-ccc538f3]{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.top-bar[data-v-ccc538f3]{height:50px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;padding:0 16px}.label-selector[data-v-ccc538f3]{display:flex;align-items:center;gap:12px;width:100%;overflow-x:auto}.label-text[data-v-ccc538f3]{font-size:14px;font-weight:700;color:#555;white-space:nowrap}.tags-row[data-v-ccc538f3]{display:flex;gap:8px}.tag-chip[data-v-ccc538f3]{padding:4px 12px;border-radius:16px;font-size:12px;color:#fff;cursor:pointer;border:2px solid transparent;opacity:.7;transition:all .2s;white-space:nowrap}.tag-chip.active[data-v-ccc538f3]{opacity:1;transform:scale(1.05);box-shadow:0 2px 4px #0003}.canvas-wrapper[data-v-ccc538f3]{flex:1;background:#333;position:relative;overflow:hidden;overscroll-behavior:none;touch-action:none}.batch-nav[data-v-ccc538f3]{height:48px;background:#fff;border-top:1px solid #e0e0e0;display:flex;justify-content:center;align-items:center;gap:16px}.batch-nav button[data-v-ccc538f3]{padding:6px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer}.batch-nav button[data-v-ccc538f3]:hover:not(:disabled){background:#e0e0e0}.right-sidebar[data-v-ccc538f3]{width:250px;background:#fff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;z-index:10}.sidebar-header[data-v-ccc538f3]{padding:16px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.sidebar-header h3[data-v-ccc538f3]{margin:0;font-size:16px}.add-btn[data-v-ccc538f3]{padding:4px 8px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.label-list[data-v-ccc538f3]{flex:1;overflow-y:auto;padding:8px}.label-item[data-v-ccc538f3]{margin-bottom:8px;padding:8px;background:#f9f9f9;border-radius:4px;border:1px solid #eee}.label-row[data-v-ccc538f3]{display:flex;align-items:center;gap:8px}.eye-icon[data-v-ccc538f3],.delete-icon[data-v-ccc538f3]{cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none;opacity:.7}.eye-icon[data-v-ccc538f3]:hover,.delete-icon[data-v-ccc538f3]:hover{opacity:1}.color-picker[data-v-ccc538f3]{width:24px;height:24px;padding:0;border:none;cursor:pointer;background:none}.name-input[data-v-ccc538f3]{flex:1;border:1px solid transparent;background:transparent;font-size:14px;padding:2px 4px}.name-input[data-v-ccc538f3]:focus{border-color:#2196f3;background:#fff;outline:none}.color-wrapper[data-v-ccc538f3]{width:16px;height:16px;border-radius:50%;cursor:pointer;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.label-name[data-v-ccc538f3]{flex:1;font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-icon[data-v-ccc538f3]{cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none;width:24px;text-align:center;opacity:.6}.action-icon[data-v-ccc538f3]:hover{opacity:1}.more-actions[data-v-ccc538f3]{position:relative;display:flex;justify-content:center;align-items:center}.more-actions .delete-btn[data-v-ccc538f3]{display:none;font-size:14px}.more-actions:hover .dots[data-v-ccc538f3]{display:none}.more-actions:hover .delete-btn[data-v-ccc538f3]{display:inline-block;color:#f44336}.modal-overlay[data-v-ccc538f3]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-ccc538f3]{background:#fff;padding:20px;border-radius:8px;width:300px;box-shadow:0 4px 12px #00000026}.modal-content h3[data-v-ccc538f3]{margin:0 0 16px;font-size:18px;color:#333}.form-group[data-v-ccc538f3]{margin-bottom:16px}.form-group label[data-v-ccc538f3]{display:block;margin-bottom:8px;font-size:14px;color:#666}.modal-input[data-v-ccc538f3]{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.color-input-wrapper[data-v-ccc538f3]{display:flex;align-items:center;gap:8px}.modal-color-picker[data-v-ccc538f3]{width:40px;height:30px;padding:0;border:none;background:none;cursor:pointer}.modal-actions[data-v-ccc538f3]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.cancel-btn[data-v-ccc538f3]{padding:6px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;color:#666}.confirm-btn[data-v-ccc538f3]{padding:6px 16px;background:#2196f3;border:none;border-radius:4px;cursor:pointer;color:#fff}.cancel-btn[data-v-ccc538f3]:hover{background:#e0e0e0}.confirm-btn[data-v-ccc538f3]:hover{background:#1976d2}.thumbnail-wrapper[data-v-d2fd08ec]{position:relative;width:100%;height:100%;overflow:hidden;border-radius:4px;background:#f0f0f0}.thumbnail-image[data-v-d2fd08ec]{width:100%;height:100%;object-fit:cover;display:block}.annotation-overlay[data-v-d2fd08ec]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.loading-placeholder[data-v-d2fd08ec]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px}.anno-label[data-v-d2fd08ec]{paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.batch-annotator[data-v-0ae1040a]{width:100%;display:flex;flex-direction:column;background:transparent;height:100%}.gallery-view[data-v-0ae1040a]{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:20px;position:relative}.gallery-header[data-v-0ae1040a]{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.gallery-header h3[data-v-0ae1040a]{margin:0;color:#333}.label-summary[data-v-0ae1040a]{display:flex;gap:8px}.label-badge[data-v-0ae1040a]{padding:4px 10px;border-radius:12px;color:#fff;font-size:12px;font-weight:700}.gallery-grid[data-v-0ae1040a]{flex:1;height:calc(100% - 110px);display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;overflow:auto;padding-bottom:80px}.gallery-item[data-v-0ae1040a]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;height:240px}.gallery-item[data-v-0ae1040a]:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.thumbnail-wrapper[data-v-0ae1040a]{flex:1;overflow:hidden;position:relative}.img-meta[data-v-0ae1040a]{padding:8px;font-size:12px;color:#666;display:flex;justify-content:space-between;background:#fff;border-top:1px solid #eee;height:32px;align-items:center}.bottom-bar[data-v-0ae1040a]{position:absolute;bottom:0;left:0;width:100%;height:60px;background:#fff;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;padding:0 40px;box-shadow:0 -2px 10px #0000000d;z-index:100}.action-btn[data-v-0ae1040a]{display:flex;align-items:center;gap:8px;padding:10px 24px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background .2s}.action-btn.primary[data-v-0ae1040a]{background:#2196f3;color:#fff}.action-btn.primary[data-v-0ae1040a]:hover{background:#1976d2}.action-btn.success[data-v-0ae1040a]{background:#4caf50;color:#fff}.action-btn.success[data-v-0ae1040a]:hover{background:#388e3c}.editor-view[data-v-0ae1040a]{flex:1;display:flex;flex-direction:column;min-height:0}.editor-header[data-v-0ae1040a]{height:50px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;padding:0 16px;justify-content:space-between;flex-shrink:0}.header-left[data-v-0ae1040a]{display:flex;align-items:center;gap:16px}.back-btn[data-v-0ae1040a]{display:flex;align-items:center;gap:4px;background:transparent;border:1px solid #ddd;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;color:#666}.back-btn[data-v-0ae1040a]:hover{background:#f5f5f5;color:#333}.editor-content[data-v-0ae1040a]{flex:1;overflow:hidden;position:relative;min-height:0}
1
+ .svg-icon[data-v-3928607b]{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;fill:currentColor;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.svg-icon[data-v-3928607b] svg{width:1em;height:1em;fill:currentColor}.size-small[data-v-3928607b]{font-size:12px}.size-large[data-v-3928607b]{font-size:20px}.annotation-container[data-v-b6482ca8]{display:flex;height:100%;width:100%;background:transparent;padding:12px;gap:12px;box-sizing:border-box;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.image-list-sidebar[data-v-b6482ca8]{width:200px;background:#fff;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 16px #00000014;border:1px solid #ebeef5;overflow:hidden;height:100%}.image-list-header[data-v-b6482ca8]{height:44px;display:flex;align-items:center;padding:0 16px;font-size:13px;color:#909399;background:#fafafa;border-bottom:1px solid #ebeef5;font-weight:500;flex-shrink:0}.image-list-scroll[data-v-b6482ca8]{flex:1;padding:12px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.image-list-scroll[data-v-b6482ca8]::-webkit-scrollbar{width:6px}.image-list-scroll[data-v-b6482ca8]::-webkit-scrollbar-track{background:transparent}.image-list-scroll[data-v-b6482ca8]::-webkit-scrollbar-thumb{background:#dcdfe6;border-radius:3px}.image-list-scroll[data-v-b6482ca8]::-webkit-scrollbar-thumb:hover{background:#c0c4cc}.image-list-item[data-v-b6482ca8]{border:2px solid transparent;border-radius:8px;background:#fff;padding:6px;display:flex;flex-direction:column;gap:8px;cursor:pointer;text-align:left;transition:all .2s ease;box-shadow:0 2px 6px #0000000a}.image-list-item[data-v-b6482ca8]:hover{border-color:#dcdfe6;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.image-list-item.active[data-v-b6482ca8]{border-color:#1677ff;background:#f0f7ff;box-shadow:0 4px 12px #1677ff26}.image-list-stage[data-v-b6482ca8]{width:100%;height:100px;position:relative;border-radius:4px;overflow:hidden;background:#e4e7ed}.image-list-thumb[data-v-b6482ca8]{width:100%;height:100%;object-fit:cover}.image-list-text[data-v-b6482ca8]{font-size:13px;color:#606266;padding:0 4px;font-weight:500}.thumb-overlay-layer[data-v-b6482ca8]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.thumb-overlay-rect[data-v-b6482ca8]{position:absolute;border:1px solid;box-sizing:border-box;border-radius:2px}.thumb-overlay-svg[data-v-b6482ca8]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.thumb-overlay-point[data-v-b6482ca8]{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #fff}.thumb-overlay-rotated[data-v-b6482ca8]{position:absolute;border:1px solid;box-sizing:border-box;border-radius:2px;transform-origin:center center}.thumb-overlay-category[data-v-b6482ca8]{position:absolute;padding:2px 4px;border-radius:4px;color:#fff;font-size:10px;line-height:1;white-space:nowrap;transform:translate(-50%,-50%);box-shadow:0 1px 2px #0003;z-index:10}.center-sidebar[data-v-b6482ca8]{height:100%;display:flex;align-items:center}.left-sidebar[data-v-b6482ca8]{width:45px;background:#fff;border-radius:16px;display:flex;flex-direction:column;align-items:center;padding:16px 0;gap:12px;z-index:10;box-shadow:0 4px 16px #00000026;flex-shrink:0}.tool-btn[data-v-b6482ca8]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:20px;color:#606266;transition:all .2s ease}.tool-btn[data-v-b6482ca8]:hover{background:#f5f7fa;color:#1677ff}.tool-btn.active[data-v-b6482ca8]{background:#e6f4ff;color:#1677ff}.divider[data-v-b6482ca8]{width:60%;height:1px;background:#f0f2f5;margin:4px 0}.center-area[data-v-b6482ca8]{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#fff;border-radius:8px}.canvas-wrapper[data-v-b6482ca8]{flex:1;background:#fff;position:relative;overflow:hidden;overscroll-behavior:none;touch-action:none}.floating-label-selector[data-v-b6482ca8]{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:100;width:240px}.selector-trigger[data-v-b6482ca8]{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 16px;background:#fff;border-radius:20px;box-shadow:0 4px 12px #0000001a;cursor:pointer;border:1px solid #e4e7ed;transition:all .2s ease}.selector-trigger[data-v-b6482ca8]:hover{box-shadow:0 6px 16px #0000001f;border-color:#dcdfe6}.current-label[data-v-b6482ca8]{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.current-label.empty .label-name[data-v-b6482ca8]{color:#909399}.color-dot[data-v-b6482ca8]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.label-name[data-v-b6482ca8]{font-size:14px;color:#1f2329;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arrow-icon[data-v-b6482ca8]{font-size:16px;color:#909399;transition:transform .3s ease}.arrow-icon.is-open[data-v-b6482ca8]{transform:rotate(90deg)}.selector-dropdown[data-v-b6482ca8]{position:absolute;top:calc(100% + 8px);left:0;width:100%;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;border:1px solid #e4e7ed;max-height:300px;overflow-y:auto;padding:8px;box-sizing:border-box}.dropdown-empty[data-v-b6482ca8]{padding:12px;text-align:center;color:#909399;font-size:13px}.dropdown-item[data-v-b6482ca8]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .2s ease}.dropdown-item[data-v-b6482ca8]:hover{background:#f5f7fa}.dropdown-item.active[data-v-b6482ca8]{background:#e6f4ff}.dropdown-item .label-name[data-v-b6482ca8]{flex:1}.check-icon[data-v-b6482ca8]{font-size:16px;color:#1677ff}.batch-nav[data-v-b6482ca8]{height:56px;background:#fff;border-top:1px solid #f0f2f5;display:flex;justify-content:center;align-items:center;gap:16px;z-index:5;flex-shrink:0}.batch-nav .icon-btn[data-v-b6482ca8]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:20px;color:#606266;transition:all .2s}.batch-nav .icon-btn[data-v-b6482ca8]:hover:not(:disabled){color:#1677ff;background:#f5f7fa}.batch-nav .icon-btn[data-v-b6482ca8]:disabled{opacity:.3;cursor:not-allowed;background:transparent}.batch-nav span[data-v-b6482ca8]{font-size:14px;color:#1f2329;font-weight:500;min-width:60px;text-align:center}.right-sidebar[data-v-b6482ca8]{width:280px;background:#fff;border-radius:12px;display:flex;flex-direction:column;z-index:10;box-shadow:0 4px 16px #00000014;border:1px solid #ebeef5;flex-shrink:0;height:fit-content;max-height:100%;overflow:hidden}.sidebar-header[data-v-b6482ca8]{height:44px;padding:0 16px;border-bottom:1px solid #ebeef5;background:#fafafa;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sidebar-header h3[data-v-b6482ca8]{margin:0;font-size:13px;color:#909399;font-weight:500}.add-btn[data-v-b6482ca8]{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;color:#1677ff;border:none;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.add-btn[data-v-b6482ca8]:hover{color:#4096ff;text-decoration:underline}.label-list[data-v-b6482ca8]{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.label-item[data-v-b6482ca8]{padding:10px 12px;border-radius:8px;border:1px solid transparent;transition:all .2s}.label-item[data-v-b6482ca8]:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.label-row[data-v-b6482ca8]{display:flex;align-items:center;gap:12px}.color-wrapper[data-v-b6482ca8]{width:18px;height:18px;border-radius:4px;cursor:pointer;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001a}.label-name[data-v-b6482ca8]{flex:1;font-size:14px;color:inherit;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-icon[data-v-b6482ca8]{cursor:pointer;font-size:18px;color:inherit;opacity:.7;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;transition:all .2s}.action-icon[data-v-b6482ca8]:hover{opacity:1;background:#0000000d}.more-actions[data-v-b6482ca8]{position:relative}.more-actions .delete-btn[data-v-b6482ca8]{display:none;font-size:16px}.more-actions:hover .dots[data-v-b6482ca8]{display:none}.more-actions:hover .delete-btn[data-v-b6482ca8]{display:flex;color:#f53f3f}.more-actions[data-v-b6482ca8]:hover{background:#fff1f0}.modal-overlay[data-v-b6482ca8]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-b6482ca8]{background:#fff;border-radius:12px;width:400px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;overflow:hidden;animation:modal-fade-in-b6482ca8 .2s ease-out}@keyframes modal-fade-in-b6482ca8{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-b6482ca8]{padding:16px 20px;border-bottom:1px solid #f0f2f5;display:flex;justify-content:space-between;align-items:center;background:#fafafa}.modal-header h3[data-v-b6482ca8]{margin:0;font-size:16px;color:#1f2329;font-weight:600}.modal-body[data-v-b6482ca8]{padding:24px 20px}.form-group[data-v-b6482ca8]{margin-bottom:20px}.form-group[data-v-b6482ca8]:last-child{margin-bottom:0}.form-group label[data-v-b6482ca8]{display:block;margin-bottom:8px;font-size:14px;color:#1f2329;font-weight:500}.required[data-v-b6482ca8]{color:#f53f3f;margin-left:4px}.modal-input[data-v-b6482ca8]{width:100%;padding:10px 12px;border:1px solid #dcdfe6;border-radius:6px;font-size:14px;box-sizing:border-box;transition:all .2s;color:#1f2329;outline:none}.modal-input[data-v-b6482ca8]:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.modal-input[data-v-b6482ca8]::placeholder{color:#c0c4cc}.color-input-wrapper[data-v-b6482ca8]{display:flex;align-items:center;gap:12px}.color-picker-box[data-v-b6482ca8]{width:32px;height:32px;border-radius:6px;cursor:pointer;box-shadow:inset 0 0 0 1px #0000001a;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;transition:transform .1s}.color-picker-box[data-v-b6482ca8]:hover{transform:scale(1.05)}.modal-color-picker[data-v-b6482ca8]{position:absolute;width:200%;height:200%;top:-50%;left:-50%;opacity:0;cursor:pointer}.color-value[data-v-b6482ca8]{font-size:14px;color:#606266;font-family:monospace;background:#f5f7fa;padding:4px 8px;border-radius:4px;border:1px solid #ebeef5}.modal-actions[data-v-b6482ca8]{padding:16px 20px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #f0f2f5;background:#fff}.cancel-btn[data-v-b6482ca8],.confirm-btn[data-v-b6482ca8]{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.cancel-btn[data-v-b6482ca8]{background:#fff;border-color:#dcdfe6;color:#606266}.cancel-btn[data-v-b6482ca8]:hover{color:#1677ff;border-color:#1677ff;background:#f0f7ff}.confirm-btn[data-v-b6482ca8]{background:#1677ff;color:#fff}.confirm-btn[data-v-b6482ca8]:hover:not(:disabled){background:#4096ff}.confirm-btn[data-v-b6482ca8]:disabled{background:#a0cfff;cursor:not-allowed}.thumbnail-wrapper[data-v-159a7956]{position:relative;width:100%;height:100%;overflow:hidden;border-radius:4px;background:#f0f0f0}.thumbnail-image[data-v-159a7956]{width:100%;height:100%;object-fit:cover;display:block}.annotation-overlay[data-v-159a7956]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.loading-placeholder[data-v-159a7956]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px}.anno-label[data-v-159a7956]{paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.batch-annotator[data-v-369475fa]{width:100%;display:flex;flex-direction:column;background:transparent;height:100%}.gallery-view[data-v-369475fa]{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:20px;position:relative;background:transparent}.gallery-layout[data-v-369475fa]{display:flex;gap:20px;flex:1;min-height:0}.gallery-sidebar[data-v-369475fa]{width:320px;flex-shrink:0;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:16px;height:fit-content;max-height:100%;overflow-y:auto}.label-stats-table[data-v-369475fa]{width:100%;border-collapse:collapse;text-align:center;font-size:13px}.label-stats-table th[data-v-369475fa]{color:#606266;font-weight:500;padding:12px 8px;background-color:#f5f7fa;border-bottom:1px solid #ebeef5}.label-stats-table th[data-v-369475fa]:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.label-stats-table th[data-v-369475fa]:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.label-stats-table td[data-v-369475fa]{padding:12px 8px;vertical-align:middle}.label-stats-table tbody tr[data-v-369475fa]{border-radius:6px;overflow:hidden}.label-stats-table tbody tr td[data-v-369475fa]:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.label-stats-table tbody tr td[data-v-369475fa]:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.label-cover-wrapper[data-v-369475fa]{width:48px;height:32px;border-radius:4px;overflow:hidden;margin:0 auto;display:flex;align-items:center;justify-content:center;background:#f0f2f5}.label-cover[data-v-369475fa]{width:100%;height:100%;object-fit:cover}.label-cover-empty[data-v-369475fa]{width:100%;height:100%;opacity:.5}.gallery-content[data-v-369475fa]{flex:1;overflow:hidden;display:flex;flex-direction:column}.gallery-header[data-v-369475fa]{display:none}.gallery-grid[data-v-369475fa]{flex:1;height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;overflow:auto;padding-bottom:80px}.gallery-item[data-v-369475fa]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;height:240px}.gallery-item[data-v-369475fa]:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.thumbnail-wrapper[data-v-369475fa]{flex:1;overflow:hidden;position:relative}.img-meta[data-v-369475fa]{padding:8px;font-size:12px;color:#666;display:flex;justify-content:space-between;background:#fff;border-top:1px solid #eee;height:32px;align-items:center}.bottom-bar[data-v-369475fa]{position:absolute;bottom:0;left:0;width:100%;height:60px;background:#fff;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;padding:0 40px;box-shadow:0 -2px 10px #0000000d;z-index:100}.action-btn[data-v-369475fa]{display:flex;align-items:center;gap:8px;padding:10px 24px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background .2s}.action-btn.primary[data-v-369475fa]{background:#2196f3;color:#fff}.action-btn.primary[data-v-369475fa]:hover{background:#1976d2}.action-btn.success[data-v-369475fa]{background:#4caf50;color:#fff}.action-btn.success[data-v-369475fa]:hover{background:#388e3c}.editor-view[data-v-369475fa]{flex:1;display:flex;flex-direction:column;min-height:0;background:transparent}.editor-header[data-v-369475fa]{height:54px;background:#fff;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;padding:0 20px;justify-content:space-between;flex-shrink:0;z-index:5}.header-left[data-v-369475fa]{display:flex;align-items:center;gap:16px}.editor-title[data-v-369475fa]{font-size:14px;font-weight:500;color:#1f2329}.back-btn[data-v-369475fa]{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;padding:0;cursor:pointer;font-size:14px;color:#606266;transition:all .2s;font-weight:500}.back-btn[data-v-369475fa]:hover{color:#1677ff}.back-icon[data-v-369475fa]{font-size:16px}.editor-content[data-v-369475fa]{flex:1;overflow:hidden;position:relative;min-height:0}