*{margin:0;padding:0;box-sizing:border-box}.beian{text-align:right; padding:10px 50px;}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f0f0f0;/*overflow:hidden*/}#app{width:98vw;height:100vh;overflow:hidden}.model-container{width:100%;height:100%;position:relative}canvas{display:block}.controls{position:absolute;top:20px;left:20px;background:#ffffffe6;padding:15px;border-radius:8px;box-shadow:0 2px 10px #0000001a;z-index:100}.controls h3{margin-bottom:10px;color:#333;font-size:16px}.controls button{margin-right:10px;padding:8px 15px;border:none;border-radius:4px;background:#409eff;color:#fff;cursor:pointer;font-size:14px;transition:background .3s}.controls button:hover{background:#66b1ff}.controls button:active{background:#3a8ee6}.toast-notification[data-v-c1b1c5df]{position:fixed;top:80px;left:50%;transform:translate(-50%);background-color:#000c;color:#fff;padding:12px 24px;border-radius:4px;font-size:14px;z-index:9999;box-shadow:0 2px 12px #0000004d;animation:slideDown-c1b1c5df .3s ease-out;max-width:80%;text-align:center}@keyframes slideDown-c1b1c5df{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.demo-container[data-v-564ef7aa]{width:100%;height:100vh;position:relative}.canvas-container[data-v-564ef7aa]{width:100%;height:100%}.loading-overlay[data-v-564ef7aa]{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.loading-spinner[data-v-564ef7aa]{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-564ef7aa 1s linear infinite}@keyframes spin-564ef7aa{to{transform:rotate(360deg)}}.loading-text[data-v-564ef7aa]{color:#fff;margin-top:20px;font-size:16px}.side-drawer[data-v-564ef7aa]{position:absolute;top:0;left:-425px;width:425px;height:100%;background:#fff;box-shadow:2px 0 10px #0000001a;transition:left .3s ease;z-index:100}.side-drawer.drawer-open[data-v-564ef7aa]{left:0}.drawer-toggle-btn[data-v-564ef7aa]{position:absolute;top:14px;left:20px;background:#409eff;color:#fff;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;font-size:16px;z-index:101;box-shadow:0 2px 8px #00000026}.drawer-toggle-btn[data-v-564ef7aa]:hover{background:#66b1ff}.drawer-header[data-v-564ef7aa]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.drawer-header h3[data-v-564ef7aa]{margin:0;color:#333}.header-buttons[data-v-564ef7aa]{display:flex;gap:10px;align-items:center}.delete-btn[data-v-564ef7aa],.clear-btn[data-v-564ef7aa],.export-btn[data-v-564ef7aa],.import-btn[data-v-564ef7aa]{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s,opacity .2s}.delete-btn[data-v-564ef7aa]{background-color:#f56c6c;color:#fff}.delete-btn[data-v-564ef7aa]:hover:not(:disabled){background-color:#e05656}.clear-btn[data-v-564ef7aa]{background-color:#409eff;color:#fff}.clear-btn[data-v-564ef7aa]:hover:not(:disabled){background-color:#66b1ff}.export-btn[data-v-564ef7aa]{background-color:#67c23a;color:#fff}.export-btn[data-v-564ef7aa]:hover{background-color:#85ce61}.import-btn[data-v-564ef7aa]{background-color:#e6a23c;color:#fff}.import-btn[data-v-564ef7aa]:hover{background-color:#ebb563}.delete-btn[data-v-564ef7aa]:disabled,.clear-btn[data-v-564ef7aa]:disabled{opacity:.5;cursor:not-allowed}.drawer-content[data-v-564ef7aa]{padding:0;height:calc(100% - 80px);overflow-y:auto}.right-drawer[data-v-564ef7aa]{position:absolute;top:0;right:-400px;width:400px;height:100%;background:#fff;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;z-index:100}.right-drawer.right-drawer-open[data-v-564ef7aa]{right:0}.right-drawer .drawer-content[data-v-564ef7aa]{padding:20px}.right-drawer .tab-section[data-v-564ef7aa]{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.right-drawer-toggle-btn[data-v-564ef7aa]{position:absolute;top:14px;right:20px;background:#409eff;color:#fff;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;font-size:16px;z-index:101;box-shadow:0 2px 8px #00000026}.right-drawer-toggle-btn[data-v-564ef7aa]:hover{background:#66b1ff}.remarks-textarea[data-v-564ef7aa]{width:100%;padding:10px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;line-height:1.5;color:#606266;background-color:#fff;resize:vertical;box-sizing:border-box;transition:border-color .2s}.remarks-textarea[data-v-564ef7aa]:focus{outline:none;border-color:#409eff}.remarks-textarea[data-v-564ef7aa]::placeholder{color:#c0c4cc}.preview-canvas[data-v-564ef7aa]{width:100%;max-height:500px;overflow-y:auto;background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:10px}.preview-image[data-v-564ef7aa]{width:100%;margin-bottom:10px;border-radius:4px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s}.preview-image[data-v-564ef7aa]:hover{transform:scale(1.02)}.preview-image[data-v-564ef7aa]:last-child{margin-bottom:0}.preview-loading[data-v-564ef7aa]{width:100%;height:200px;background:#f5f5f5;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px;margin-bottom:10px}.preview-error[data-v-564ef7aa]{width:100%;height:100px;background:#fff3f3;border:1px dashed #f56c6c;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#f56c6c;font-size:12px;margin-bottom:10px}.preview-empty[data-v-564ef7aa]{width:100%;height:150px;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}.drawer-section[data-v-564ef7aa]{margin-bottom:20px}.drawer-section h4[data-v-564ef7aa]{margin:0 0 10px;color:#333}.tab-navigation[data-v-564ef7aa]{display:flex;border-bottom:1px solid #eee;background:#f8f9fa;position:sticky;top:0;z-index:100}.tab-btn[data-v-564ef7aa]{flex:1;padding:12px 16px;border:none;background:transparent;cursor:pointer;font-size:14px;color:#666;transition:all .3s ease;border-bottom:2px solid transparent}.tab-btn[data-v-564ef7aa]:hover{background:#f0f0f0;color:#333}.tab-btn.active[data-v-564ef7aa]{color:#409eff;border-bottom-color:#409eff;background:#fff}.tab-content[data-v-564ef7aa]{padding:20px}.tab-panel[data-v-564ef7aa]{animation:fadeIn-564ef7aa .3s ease}.tab-section[data-v-564ef7aa]{margin-bottom:20px}.sticky-object-selection[data-v-564ef7aa]{position:sticky;top:48px;background:#fff;z-index:100;margin-bottom:0;padding-bottom:15px;border-bottom:2px solid #eee}.tab-section h4[data-v-564ef7aa]{margin:0 0 15px;color:#333;font-size:16px;border-bottom:1px solid #eee;padding-bottom:8px}.dimension-setting[data-v-564ef7aa]{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.dimension-label[data-v-564ef7aa]{font-weight:700;color:#333;margin-bottom:10px;font-size:20px}.option-group[data-v-564ef7aa]{display:flex;flex-direction:column;gap:10px}.radio-options[data-v-564ef7aa]{display:flex;flex-wrap:wrap;gap:8px}.radio-option[data-v-564ef7aa]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .3s ease;font-size:17px;width:100px}.radio-option[data-v-564ef7aa]:hover{border-color:#409eff}.radio-option input[type=radio][data-v-564ef7aa]{margin:0;width:14px;height:14px}.radio-option input[type=radio]:checked+span[data-v-564ef7aa]{color:#409eff;font-weight:700}.custom-input[data-v-564ef7aa]{display:flex;align-items:center;gap:8px}.custom-input input[data-v-564ef7aa]{width:100px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:17px}.custom-input input[data-v-564ef7aa]:focus{outline:none;border-color:#409eff}.custom-input span[data-v-564ef7aa]{font-size:17px;color:#666}.current-settings[data-v-564ef7aa]{margin-top:20px;padding:15px;background:#e8f4fd;border-radius:6px;border:1px solid #b3d9ff}.current-settings h5[data-v-564ef7aa]{margin:0 0 10px;color:#409eff;font-size:14px}.settings-summary[data-v-564ef7aa]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#333}.settings-summary div[data-v-564ef7aa]{display:flex;justify-content:space-between}.propagation-summary[data-v-564ef7aa]{margin-top:15px;padding:12px;background:#f0f9ff;border-radius:4px;border:1px solid #91d5ff}.propagation-summary h6[data-v-564ef7aa]{margin:0 0 8px;color:#1890ff;font-size:13px;font-weight:600}.propagation-info[data-v-564ef7aa]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#666}.propagation-info div[data-v-564ef7aa]{display:flex;justify-content:space-between}.accessories-list[data-v-564ef7aa]{display:flex;flex-direction:column;gap:12px}.accessory-item[data-v-564ef7aa]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:4px;transition:background .3s ease}.accessory-item[data-v-564ef7aa]:hover{background:#e9ecef}.accessory-item input[type=checkbox][data-v-564ef7aa]{width:16px;height:16px}.accessory-item label[data-v-564ef7aa]{cursor:pointer;color:#333}.color-picker[data-v-564ef7aa]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.color-option[data-v-564ef7aa]{width:100%;height:40px;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:border .3s ease}.color-option[data-v-564ef7aa]:hover{border-color:#409eff}.color-custom[data-v-564ef7aa]{display:flex;align-items:center;gap:12px}.color-custom label[data-v-564ef7aa]{font-weight:700;color:#666;min-width:100px}.custom-color-input[data-v-564ef7aa]{width:60px;height:40px;border:none;border-radius:4px;cursor:pointer}.model-info[data-v-564ef7aa]{background:#f5f5f5;padding:10px;border-radius:4px;font-family:monospace;font-size:12px;max-height:200px;overflow-y:auto}.no-selection[data-v-564ef7aa]{text-align:center;color:#999;padding:20px}@keyframes fadeIn-564ef7aa{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-564ef7aa]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-564ef7aa]{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:400px;max-width:90vw;animation:modalFadeIn-564ef7aa .3s ease}@keyframes modalFadeIn-564ef7aa{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-header[data-v-564ef7aa]{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 10px;border-bottom:1px solid #eee}.modal-header h3[data-v-564ef7aa]{margin:0;color:#333;font-size:18px}.modal-close[data-v-564ef7aa]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close[data-v-564ef7aa]:hover{color:#333}.modal-body[data-v-564ef7aa]{padding:20px}.modal-body p[data-v-564ef7aa]{margin:0;color:#666;line-height:1.5;font-size:14px}.modal-footer[data-v-564ef7aa]{padding:10px 20px 20px;text-align:right}.modal-confirm[data-v-564ef7aa]{background:#409eff;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px}.modal-confirm[data-v-564ef7aa]:hover{background:#66b1ff}.import-log-modal[data-v-564ef7aa]{width:600px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.import-log-body[data-v-564ef7aa]{max-height:500px;overflow-y:auto;padding:15px 20px;background:#f8f9fa}.log-empty[data-v-564ef7aa]{text-align:center;color:#999;padding:20px}.log-list[data-v-564ef7aa]{display:flex;flex-direction:column;gap:8px}.log-item[data-v-564ef7aa]{display:flex;gap:12px;padding:8px 12px;background:#fff;border-radius:4px;font-size:13px;line-height:1.5;font-family:Menlo,Monaco,Courier New,monospace}.log-item.error[data-v-564ef7aa]{background:#fef0f0;border-left:3px solid #f56c6c}.log-time[data-v-564ef7aa]{color:#909399;font-weight:500;min-width:70px;flex-shrink:0}.log-message[data-v-564ef7aa]{color:#606266;flex:1;word-break:break-word}.log-item.error .log-message[data-v-564ef7aa]{color:#f56c6c}.toast-notification[data-v-564ef7aa]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:9999;animation:toastFadeIn-564ef7aa .3s ease,toastFadeOut-564ef7aa .3s ease 1.7s;box-shadow:0 4px 12px #0000004d;max-width:80vw;word-break:break-word;text-align:center}@keyframes toastFadeIn-564ef7aa{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes toastFadeOut-564ef7aa{0%{opacity:1}to{opacity:0}}.action-buttons[data-v-564ef7aa]{display:flex;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.apply-btn[data-v-564ef7aa],.reset-btn[data-v-564ef7aa]{flex:1;padding:10px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.apply-btn[data-v-564ef7aa]{background:#409eff;color:#fff}.apply-btn[data-v-564ef7aa]:hover{background:#66b1ff}.reset-btn[data-v-564ef7aa]{background:#f0f0f0;color:#666;border:1px solid #ddd}.reset-btn[data-v-564ef7aa]:hover{background:#e0e0e0;color:#333}.face-selection-buttons[data-v-564ef7aa]{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:99;background:#fffc;padding:10px 20px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.face-btn[data-v-564ef7aa]{padding:8px 16px;border:1px solid #409eff;background:#fff;color:#409eff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.face-btn[data-v-564ef7aa]:hover:not(:disabled){background:#409eff;color:#fff}.face-btn[data-v-564ef7aa]:disabled{opacity:.5;cursor:not-allowed;border-color:#ccc;color:#ccc}.button-options[data-v-564ef7aa]{display:flex;flex-wrap:wrap;gap:8px}.accessory-btn[data-v-564ef7aa]{padding:8px 16px;border:1px solid #ddd;background:#fff;color:#333;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.accessory-btn[data-v-564ef7aa]:hover{border-color:#409eff;color:#409eff}.accessory-btn.active[data-v-564ef7aa]{background:#409eff;color:#fff;border-color:#409eff}.unselected-btn[data-v-564ef7aa]{width:100px;height:100px;padding:0;border:1px solid #ddd;background:#fff;color:#333;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}.unselected-btn .icon-area[data-v-564ef7aa]{width:60px;height:60px;border:1px solid #e0e0e0;border-radius:4px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;position:absolute;top:10px}.unselected-btn .text-area[data-v-564ef7aa]{padding:8px;text-align:center}.unselected-btn[data-v-564ef7aa]:hover{border-color:#409eff;color:#409eff}.unselected-btn[data-v-564ef7aa]:disabled{opacity:.5;cursor:not-allowed;border-color:#ccc;color:#ccc}.tooltip-popup[data-v-564ef7aa]{display:none;position:absolute;top:-10px;left:110px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px;box-shadow:0 4px 12px #00000026;z-index:10000;pointer-events:none;opacity:0;transition:opacity .2s;min-width:200px}.unselected-btn:hover .tooltip-popup[data-v-564ef7aa]{opacity:1}.tooltip-popup[data-v-564ef7aa]:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);border-width:8px;border-style:solid;border-color:transparent white transparent transparent}.tooltip-popup .tooltip-image[data-v-564ef7aa]{width:180px;height:180px;background:#f5f5f5;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px}.clear-btn[data-v-564ef7aa]{background:#fff;border-color:#f56c6c;color:#f56c6c}.clear-btn[data-v-564ef7aa]:hover:not(:disabled){background:#f56c6c;color:#fff;border-color:#f56c6c}.clear-btn[data-v-564ef7aa]:disabled{background:#fff;border-color:#ddd;color:#ccc;opacity:.5}.hole-position-grid[data-v-564ef7aa]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.position-btn[data-v-564ef7aa]{padding:12px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.position-btn[data-v-564ef7aa]:hover{background-color:#e0e0e0;border-color:#409eff}.position-btn[data-v-564ef7aa]:active{background-color:#d0d0d0}.switch[data-v-564ef7aa]{position:relative;display:inline-block;width:42px;height:24px}.switch input[data-v-564ef7aa]{opacity:0;width:0;height:0}.slider[data-v-564ef7aa]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:24px}.slider[data-v-564ef7aa]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider[data-v-564ef7aa]{background-color:#409eff}input:disabled+.slider[data-v-564ef7aa]{background-color:#e0e0e0;cursor:not-allowed}input:checked+.slider[data-v-564ef7aa]:before{transform:translate(18px)}
