.model-viewer[data-v-68e3210e]{position:relative;width:100%;height:100%}canvas[data-v-68e3210e]{width:100%;height:100%;display:block}.left-panel[data-v-3c64ded5]{background:#fff;border-right:1px solid #dedede;display:flex;flex-direction:column;min-height:0;overflow:hidden}.model-info[data-v-3c64ded5]{padding:32px 24px 16px;border-bottom:1px solid #efefef;background:transparent;border:none;width:100%;text-align:left;cursor:pointer}.model-info.active[data-v-3c64ded5]{background:#f9f9f9}.model-info[data-v-3c64ded5]:focus-visible{outline:2px solid #111}.model-info h1[data-v-3c64ded5]{margin:0 0 12px;font-size:22px;font-weight:600}.model-info p[data-v-3c64ded5]{margin:0;color:#8f8f8f;font-size:14px}.parts-list[data-v-3c64ded5]{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto;min-height:0}.parts-placeholder[data-v-3c64ded5]{padding:18px 24px;border-bottom:1px solid #efefef;font-size:16px;color:#a4a4a4}.parts-list li[data-v-3c64ded5]{border-bottom:1px solid #efefef}.parts-item[data-v-3c64ded5]{width:100%;padding:14px 24px;border:none;background:transparent;font-size:15px;text-align:left;cursor:pointer;color:#333;transition:background .2s ease}.parts-item.active[data-v-3c64ded5]{background:#f9f9f9;font-weight:600}.parts-item[data-v-3c64ded5]:hover:not(.active){background:#f4f4f4}.collapse-section[data-v-d896604f]{width:100%;box-sizing:border-box;border-bottom:2px solid #e8e8e8;background:#fff}.collapse-header[data-v-d896604f]{width:100%;padding:20px 24px;background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.collapse-title[data-v-d896604f]{font-size:20px;font-weight:600;color:#111;transition:color .2s ease}.collapse-title.closed[data-v-d896604f]{color:#e8e8e8}.collapse-body[data-v-d896604f]{max-height:0;overflow:hidden;padding:0 24px;opacity:0;transition:max-height .35s ease,opacity .35s ease,padding-bottom .35s ease}.collapse-body.open[data-v-d896604f]{max-height:1000px;opacity:1;padding-bottom:24px}.form-field[data-v-de9cac9f]{margin-bottom:20px;display:flex;align-items:center;gap:16px}.form-field label[data-v-de9cac9f]{color:#a4a4a4;font-size:16px;width:60px;text-align:left;flex-shrink:0}.form-field input[data-v-de9cac9f]{flex:1;width:100%;min-width:0;border:1px solid #111;border-radius:8px;padding:6px 12px;font-size:14px;outline:none}.icon-field[data-v-de9cac9f]{align-items:center}.icon-upload[data-v-de9cac9f]{flex:1;border:1px solid #111;border-radius:8px;padding:6px 12px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;color:#a4a4a4;cursor:pointer}.icon-input[data-v-de9cac9f]{display:none}.confirm-row[data-v-de9cac9f]{width:100%;display:flex;justify-content:flex-end;margin-top:8px}.confirm-btn[data-v-de9cac9f]{border:none;border-radius:10px;padding:10px 16px;background:#111;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s ease}.confirm-btn[data-v-de9cac9f]:disabled{opacity:.4;cursor:not-allowed}.status[data-v-de9cac9f]{margin:12px 0 0;font-size:13px}.status.success[data-v-de9cac9f]{color:#2f8f2f}.status.error[data-v-de9cac9f]{color:#d64545}.form-field[data-v-44e9e55a]{margin-bottom:18px;display:flex;align-items:center;gap:16px}.form-field label[data-v-44e9e55a]{width:40px;color:#a4a4a4;font-size:15px;text-align:left;flex-shrink:0}.form-field input[data-v-44e9e55a]{flex:1;width:100%;min-width:0;border:1px solid #111;border-radius:9px;padding:6px 12px;font-size:14px;outline:none}.form-field input[data-v-44e9e55a]:disabled{opacity:.5;cursor:not-allowed}.form-field[data-v-44e9e55a]:last-of-type{margin-bottom:0}.confirm-btn[data-v-44e9e55a]{margin-top:16px;width:100%;border:none;border-radius:10px;padding:10px;font-size:14px;font-weight:600;background:#111;color:#fff;cursor:pointer;transition:opacity .2s ease}.confirm-btn[data-v-44e9e55a]:disabled{opacity:.4;cursor:not-allowed}.status[data-v-44e9e55a]{margin:12px 0 0;font-size:13px;color:#8f8f8f}.status.success[data-v-44e9e55a]{color:#2f8f2f}.status.error[data-v-44e9e55a]{color:#d64545}.hint[data-v-44e9e55a]{margin:12px 0 0;font-size:12px;color:#8f8f8f}.placeholder[data-v-44e9e55a]{margin:0;font-size:13px;color:#a4a4a4}.dimension-list[data-v-ba450a8e]{display:flex;flex-direction:column;gap:10px}.dimension-empty[data-v-ba450a8e]{margin:0;font-size:12px;color:#999}.dimension-card[data-v-ba450a8e]{border:1px solid #e5e5e5;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.dimension-card-header[data-v-ba450a8e]{display:flex;justify-content:space-between;align-items:flex-start}.dim-info[data-v-ba450a8e]{display:flex;gap:8px}.dim-info img[data-v-ba450a8e]{width:24px;height:24px}.dimension-summary[data-v-ba450a8e]{margin:4px 0 0;font-size:12px;color:#777}.icon-delete[data-v-ba450a8e]{border:none;background:transparent;cursor:pointer;padding:0}.icon-delete img[data-v-ba450a8e]{width:18px;height:18px}.control-row[data-v-ba450a8e]{display:flex;align-items:center;gap:8px}.circle-radius-row[data-v-ba450a8e]{margin:8px 0}.circle-radius-field[data-v-ba450a8e]{display:flex;align-items:center;gap:6px;border:1px solid #d0d0d0;border-radius:10px;padding:6px 10px;font-size:12px}.circle-radius-field img[data-v-ba450a8e]{width:18px;height:18px}.circle-radius-field input[data-v-ba450a8e]{border:none;outline:none;width:100%;font-size:12px;background:transparent}.arrow-options[data-v-ba450a8e]{display:flex;gap:6px}.icon-btn[data-v-ba450a8e]{width:34px;height:34px;border-radius:8px;border:1px solid #d0d0d0;background:#f7f7f7;display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn.active[data-v-ba450a8e]{border-color:#111;background:#fff}.anchor-select[data-v-ba450a8e]{border:1px solid #d0d0d0;border-radius:8px;padding:2px 6px;font-size:12px}.label-input input[data-v-ba450a8e]{width:100%;border:1px solid #ccc;border-radius:8px;padding:4px 8px;font-size:12px}.placeholder[data-v-ba450a8e]{margin:0;font-size:13px;color:#a4a4a4}.upload-field[data-v-f929e622]{display:flex;align-items:center;border:1px solid #111;border-radius:8px;padding:6px 12px;gap:12px}.file-name[data-v-f929e622]{color:#777;font-size:14px;flex:1;min-width:0}.upload-button[data-v-f929e622]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;cursor:pointer;position:relative;overflow:hidden;border:none;padding:0;background:transparent}.upload-button img[data-v-f929e622]{width:18px;height:18px}.upload-button input[data-v-f929e622]{position:absolute;inset:0;opacity:0;cursor:pointer}.status[data-v-f929e622]{margin:8px 0 0;font-size:13px;color:#555}.status.success[data-v-f929e622]{color:#2f8f2f}.status.error[data-v-f929e622]{color:#d64545}.texture-info[data-v-8dcb925c]{display:flex;flex-direction:column;gap:8px}.texture-label[data-v-8dcb925c]{display:flex;flex-direction:column;font-size:14px;color:#555;border:1px dashed #bbb;border-radius:8px;padding:8px 12px}.texture-label__title[data-v-8dcb925c]{font-size:14px;font-weight:600}.texture-label__path[data-v-8dcb925c]{font-size:13px;color:#111;font-weight:600;margin-top:4px;word-break:break-word}.folder-button[data-v-8dcb925c]{border:1px solid #111;border-radius:8px;padding:6px 12px;font-size:14px;background:#fff;cursor:pointer;transition:background .2s ease}.folder-button[data-v-8dcb925c]:disabled{opacity:.5;cursor:not-allowed}.folder-input[data-v-8dcb925c]{display:none}.hint[data-v-8dcb925c]{margin-top:8px;font-size:13px;color:#999}.status[data-v-8dcb925c]{margin-top:8px;font-size:13px;color:#555}.status.success[data-v-8dcb925c]{color:#2f8f2f}.status.error[data-v-8dcb925c]{color:#d64545}.right-panel[data-v-c379b80e]{background:#fff;border-left:1px solid #dedede;display:flex;flex-direction:column;min-height:0}.panel-title[data-v-c379b80e]{padding:32px 24px 12px;font-size:20px;font-weight:600;border-bottom:1px solid #e8e8e8}.panel-content[data-v-c379b80e]{flex:1;overflow-y:auto;display:flex;flex-direction:column}.export-section[data-v-c379b80e]{padding:24px 24px 16px;border-bottom:2px solid #e8e8e8;display:flex;align-items:center;justify-content:flex-start}.export-trigger[data-v-c379b80e]{font-size:20px;font-weight:600;color:#111;padding:0;border:none;background:transparent;cursor:pointer;transition:color .2s ease}.export-trigger[data-v-c379b80e]:hover{color:#111}.export-trigger[data-v-c379b80e]:focus-visible{outline:none;text-decoration:underline}.setup-overlay[data-v-a3260540]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10}.overlay-card[data-v-a3260540]{background:#fff;border-radius:18px;padding:32px;width:480px;box-shadow:0 10px 50px #0003;display:flex;flex-direction:column;gap:18px}.overlay-card h2[data-v-a3260540]{margin:0;font-size:24px;font-weight:600}.overlay-description[data-v-a3260540]{margin:0;color:#8f8f8f;font-size:14px}.overlay-mode-switch[data-v-a3260540]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.overlay-mode-btn[data-v-a3260540]{border:1px solid #dedede;border-radius:10px;background:#f7f7f7;padding:10px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.overlay-mode-btn.active[data-v-a3260540]{background:#111;color:#fff;border-color:#111}.overlay-mode-btn[data-v-a3260540]:focus-visible{outline:2px solid #111}.overlay-field[data-v-a3260540]{display:flex;flex-direction:column;gap:8px;font-size:15px}.overlay-field-readonly[data-v-a3260540]{background:#f9f9f9;border-radius:12px;padding:14px}.overlay-field span[data-v-a3260540]{font-weight:600}.overlay-path-btn[data-v-a3260540]{border:1px solid #111;border-radius:10px;background:#fff;padding:12px;cursor:pointer;font-weight:600}.overlay-actions[data-v-a3260540]{display:flex;align-items:center;gap:12px}.overlay-value[data-v-a3260540]{color:#555;font-size:13px;flex:1;min-height:20px}.overlay-tip[data-v-a3260540]{margin:0;font-size:13px;color:#a4a4a4}.overlay-error[data-v-a3260540]{margin:0;color:#d64545;font-size:14px}.overlay-confirm[data-v-a3260540]{border:none;border-radius:10px;padding:14px;font-size:16px;font-weight:600;background:#111;color:#fff;cursor:pointer;transition:opacity .2s ease}.overlay-confirm[data-v-a3260540]:disabled{opacity:.4;cursor:not-allowed}.explosion-toolbar[data-v-dca2e0de]{position:absolute;left:50%;bottom:24px;transform:translate(-50%);width:min(520px,calc(100% - 48px));pointer-events:none}.toolbar-inner[data-v-dca2e0de]{width:100%;min-height:56px;border-radius:28px;background:#fff;box-shadow:0 10px 30px #00000014,inset 0 1px #fffc;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;pointer-events:auto}.toolbar-btn[data-v-dca2e0de]{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:22px;padding:10px 12px;background:#f4f4f4;color:#111;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,opacity .2s ease}.toolbar-btn img[data-v-dca2e0de]{width:20px;height:20px}.toolbar-btn[data-v-dca2e0de]:disabled{opacity:.45;cursor:not-allowed}.toolbar-btn[data-v-dca2e0de]:not(:disabled):hover{background:#ededed}.toolbar-fade-enter-active[data-v-dca2e0de],.toolbar-fade-leave-active[data-v-dca2e0de]{transition:opacity .25s ease}.toolbar-fade-enter-from[data-v-dca2e0de],.toolbar-fade-leave-to[data-v-dca2e0de]{opacity:0}.measurement-overlay[data-v-4f2d5ab2]{position:absolute;width:220px;background:#fff;border-radius:18px;box-shadow:0 10px 40px #0f0f0f29;border:1px solid rgba(17,17,17,.08);display:flex;flex-direction:column;overflow:hidden;cursor:default}.overlay-header[data-v-4f2d5ab2]{padding:12px 16px;font-weight:600;font-size:15px;border-bottom:1px solid #efefef;display:flex;align-items:center;justify-content:space-between;cursor:move}.display-toggle[data-v-4f2d5ab2]{border:none;background:#f4f4f4;border-radius:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto}.display-toggle img[data-v-4f2d5ab2]{width:18px;height:18px}.overlay-body[data-v-4f2d5ab2]{padding:12px 16px 16px;max-height:360px;overflow-y:auto}.empty-tip[data-v-4f2d5ab2]{margin:0;font-size:13px;color:#999}.point-card[data-v-4f2d5ab2]{border:1px solid #e5e5e5;border-radius:14px;padding:10px;margin-bottom:12px;transition:border-color .2s ease,box-shadow .2s ease}.point-card.selected[data-v-4f2d5ab2]{border-color:#222;box-shadow:inset 0 0 0 1px #111}.point-name-row[data-v-4f2d5ab2]{display:flex;align-items:center;gap:8px}.point-name[data-v-4f2d5ab2]{flex:1;min-width:0;border:none;background:transparent;font-size:14px;font-weight:600;padding:0}.point-name[data-v-4f2d5ab2]:disabled{color:#666}.select-btn[data-v-4f2d5ab2]{border:none;background:#111;color:#fff;font-size:12px;border-radius:999px;padding:4px 10px;cursor:pointer}.coords[data-v-4f2d5ab2]{margin-top:12px;display:flex;flex-direction:column;gap:8px}.coords label[data-v-4f2d5ab2]{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#666;gap:8px}.coords label input[data-v-4f2d5ab2]{flex:1;border:1px solid #ccc;border-radius:8px;padding:4px 8px;font-size:12px}.point-actions[data-v-4f2d5ab2]{display:flex;justify-content:flex-end}.delete-btn[data-v-4f2d5ab2]{border:none;background:transparent;color:#d64545;font-size:12px;cursor:pointer}.measurement-toolbar[data-v-80ce34e4]{position:absolute;left:50%;bottom:20px;transform:translate(-50%);width:min(760px,calc(100% - 32px));pointer-events:none}.toolbar-inner[data-v-80ce34e4]{width:100%;pointer-events:auto}.tool-card[data-v-80ce34e4]{width:100%;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border-radius:20px;box-shadow:0 8px 30px #0f0f0f1f,inset 0 1px #fff9;padding:12px;display:flex;align-items:center;gap:12px}.tool-header[data-v-80ce34e4]{display:flex;gap:6px;align-items:center}.mode-btn[data-v-80ce34e4]{display:flex;align-items:center;gap:4px;border:none;background:#f4f4f4;border-radius:12px;padding:6px 12px;font-weight:600;color:#555;cursor:pointer}.mode-btn img[data-v-80ce34e4]{width:18px;height:18px}.mode-btn.active[data-v-80ce34e4]{background:#111;color:#fff}.mode-content[data-v-80ce34e4]{flex:1;display:flex;gap:8px}.mode-content select[data-v-80ce34e4]{flex:1;border:1px solid #d0d0d0;border-radius:10px;padding:4px 8px;font-size:13px;background:#fffffff2}.form-row[data-v-80ce34e4]{flex:1;display:flex;gap:8px}.arrow-row[data-v-80ce34e4]{display:flex;gap:6px}.icon-btn[data-v-80ce34e4]{width:32px;height:32px;border-radius:9px;border:1px solid #d0d0d0;background:#f7f7f7;display:flex;align-items:center;justify-content:center;cursor:pointer}.label-row select[data-v-80ce34e4],.label-row input[data-v-80ce34e4]{border:1px solid #d0d0d0;border-radius:10px;padding:3px 8px;font-size:12px}.radius-row[data-v-80ce34e4]{display:flex;gap:8px;align-items:center;flex:1}.radius-input[data-v-80ce34e4]{flex:1;display:flex;align-items:center;gap:6px;border:1px solid #d0d0d0;border-radius:10px;padding:4px 8px;background:#fffffff2}.radius-icon[data-v-80ce34e4]{width:18px;height:18px}.radius-input span[data-v-80ce34e4]{font-size:12px;color:#666}.radius-input input[data-v-80ce34e4]{flex:1;border:none;outline:none;font-size:12px;background:transparent;padding:0}.radius-reset[data-v-80ce34e4]{border:1px solid #d0d0d0;border-radius:10px;background:#f7f7f7;padding:4px 12px;cursor:pointer;font-size:12px;font-weight:600}.radius-reset[data-v-80ce34e4]:disabled{opacity:.6;cursor:not-allowed}.create-btn[data-v-80ce34e4]{border:none;background:#111;color:#fff;border-radius:18px;padding:6px 12px;font-size:12px;cursor:pointer}.arrow-row[data-v-80ce34e4]{display:flex;gap:6px;align-items:center}.icon-btn[data-v-80ce34e4]{width:34px;height:34px;border-radius:10px;border:1px solid #d0d0d0;background:#f7f7f7;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.icon-btn img[data-v-80ce34e4]{width:18px;height:18px}.icon-btn.active[data-v-80ce34e4]{border-color:#111;background:#fff}.label-row[data-v-80ce34e4]{display:flex;gap:8px;align-items:center}.label-row.compact[data-v-80ce34e4]{justify-content:flex-start}.create-btn[data-v-80ce34e4]{align-self:flex-end;border:none;background:#111;color:#fff;border-radius:24px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s ease}.create-btn[data-v-80ce34e4]:disabled{opacity:.35;cursor:not-allowed}.toolbar-fade-enter-active[data-v-80ce34e4],.toolbar-fade-leave-active[data-v-80ce34e4]{transition:opacity .25s ease}.toolbar-fade-enter-from[data-v-80ce34e4],.toolbar-fade-leave-to[data-v-80ce34e4]{opacity:0}body{margin:0;font-family:Inter,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;background:#f4f4f4}.app-container[data-v-36527306]{display:grid;grid-template-columns:280px 1fr 280px;height:100vh;background:#f4f4f4;color:#111}.workspace-panel[data-v-36527306]{display:flex;align-items:stretch;background:#f4f4f4}.workspace-canvas[data-v-36527306]{flex:1;position:relative;margin:32px;border-radius:18px;background:#f7f7f7}.canvas-placeholder[data-v-36527306]{width:100%;height:100%;background:#f4f4f4;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#a4a4a4;font-size:16px}.hidden-file-input[data-v-36527306]{display:none}.export-dialog-overlay[data-v-36527306]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:20}.export-dialog-card[data-v-36527306]{width:min(480px,90vw);max-height:min(80vh,640px);background:#fff;border-radius:18px;padding:32px;box-shadow:0 10px 40px #00000040;display:flex;flex-direction:column;gap:16px;overflow:hidden}.export-dialog-list[data-v-36527306]{margin:0;padding:0 8px 0 0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:14px;max-height:45vh;overflow-y:auto}.entry-label[data-v-36527306]{font-weight:600;margin-right:8px}.entry-detail[data-v-36527306]{font-weight:400}.entry-detail.ok[data-v-36527306]{color:#2f8f2f}.entry-detail.warn[data-v-36527306]{color:#d64545}.export-dialog-empty[data-v-36527306]{margin:0;font-size:14px;color:#555}.dialog-actions[data-v-36527306]{display:flex;justify-content:flex-end;gap:12px}.export-dialog-confirm[data-v-36527306],.export-dialog-cancel[data-v-36527306]{border-radius:10px;border:none;padding:10px 18px;font-weight:600;cursor:pointer}.export-dialog-confirm[data-v-36527306]{background:#111;color:#fff}.export-dialog-cancel[data-v-36527306]{background:#f0f0f0;color:#111}.export-dialog-confirm[data-v-36527306]:disabled,.export-dialog-cancel[data-v-36527306]:disabled{opacity:.5;cursor:not-allowed}.export-dialog-status[data-v-36527306]{margin:0;font-size:13px;color:#333}.export-dialog-status.success[data-v-36527306]{color:#2f8f2f}.export-dialog-status.error[data-v-36527306]{color:#d64545}
