.color-picker[data-v-3d2a43cb]{position:relative;display:flex;align-items:center;gap:.25rem}.color-swatch[data-v-3d2a43cb]{width:24px;height:24px;border:1px solid #ccc;border-radius:4px;cursor:pointer;padding:0;flex-shrink:0}.color-swatch[data-v-3d2a43cb]:hover{border-color:#999}.color-input[data-v-3d2a43cb]{width:85px;padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.85rem;font-family:monospace}.color-dropdown[data-v-3d2a43cb]{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.5rem;box-shadow:0 4px 12px #00000026;z-index:200;width:200px}.color-grid[data-v-3d2a43cb]{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:.5rem}.color-option[data-v-3d2a43cb]{width:22px;height:22px;border:1px solid #ddd;border-radius:2px;cursor:pointer;padding:0}.color-option[data-v-3d2a43cb]:hover{transform:scale(1.1);border-color:#666;z-index:1}.color-option.selected[data-v-3d2a43cb]{border:2px solid #333;box-shadow:0 0 0 1px #fff inset}.color-custom[data-v-3d2a43cb]{display:flex;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid #eee;font-size:.8rem}.color-custom label[data-v-3d2a43cb]{color:#666}.native-picker[data-v-3d2a43cb]{width:32px;height:24px;padding:0;border:1px solid #ccc;border-radius:4px;cursor:pointer}.icon[data-v-476b3b92] svg{width:14px;height:14px}.remove-btn.small .icon[data-v-476b3b92] svg{width:12px;height:12px}.drag-handle[data-v-476b3b92]{cursor:grab;opacity:.4;display:flex;align-items:center;padding:4px;margin:-4px;touch-action:none;user-select:none;color:inherit}.drag-handle[data-v-476b3b92]:hover{opacity:.8}.drag-handle[data-v-476b3b92]:active{cursor:grabbing}.drag-handle[data-v-476b3b92] svg{width:14px;height:14px}.drag-handle.small[data-v-476b3b92] svg{width:12px;height:12px}@media(pointer:coarse){.drag-handle[data-v-476b3b92]{padding:8px;margin:-8px;min-width:32px;min-height:32px;justify-content:center}}.row-item.is-dragging[data-v-476b3b92],.col-item.is-dragging[data-v-476b3b92]{border:2px dashed #4a90d9;background:transparent}.row-item.is-dragging[data-v-476b3b92]>*,.col-item.is-dragging[data-v-476b3b92]>*{visibility:hidden}.row-item[data-v-476b3b92],.col-item[data-v-476b3b92]{transition:transform .15s ease,opacity .15s ease}.cell-config-editor[data-v-476b3b92]{display:flex;flex-direction:column;gap:.35rem}.cell-config-editor--nested[data-v-476b3b92]{margin-top:.35rem;padding:.35rem;background:#00000008;border:1px solid #e0e0e0;border-radius:3px}.structure-row[data-v-476b3b92]{display:flex;align-items:center;gap:.5rem}.nested-label[data-v-476b3b92]{font-size:.7rem;color:#888;font-weight:500}.structure-row select[data-v-476b3b92]{padding:.15rem .3rem;border:1px solid #ccc;border-radius:3px;font-size:.75rem}.grid-config[data-v-476b3b92],.row-sub-config[data-v-476b3b92],.col-sub-config[data-v-476b3b92]{display:flex;gap:.5rem;padding-left:.5rem;flex-wrap:wrap}.grid-config label[data-v-476b3b92],.row-sub-config label[data-v-476b3b92],.col-sub-config label[data-v-476b3b92]{display:flex;align-items:center;gap:.2rem;font-size:.7rem;color:#666}.grid-config input[data-v-476b3b92],.row-sub-config input[data-v-476b3b92],.col-sub-config input[data-v-476b3b92]{width:50px;padding:.1rem .25rem;border:1px solid #ccc;border-radius:3px;font-size:.75rem}.rows-config[data-v-476b3b92],.cols-config[data-v-476b3b92]{display:flex;flex-direction:column;gap:.35rem}.add-btn[data-v-476b3b92],.remove-btn[data-v-476b3b92]{width:20px;height:20px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center;color:inherit}.add-btn.small[data-v-476b3b92],.remove-btn.small[data-v-476b3b92]{width:18px;height:18px;font-size:.8rem}.add-btn[data-v-476b3b92]:hover{background:#e8f4e8;border-color:#4a4}.remove-btn[data-v-476b3b92]:hover{background:#f4e8e8;border-color:#a44}.rows-list[data-v-476b3b92]{display:flex;flex-direction:column;gap:.35rem}.cols-list[data-v-476b3b92]{display:flex;flex-direction:row;gap:.35rem;overflow-x:auto;padding-bottom:.25rem}.row-item[data-v-476b3b92]{padding:.35rem;background:#fff;border:1px solid #e0e0e0;border-radius:3px;position:relative}.col-item[data-v-476b3b92]{padding:.25rem;background:#f8f8f8;border:1px solid #e8e8e8;border-radius:3px;flex:1;min-width:120px;position:relative}.row-header[data-v-476b3b92],.col-header[data-v-476b3b92]{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding-right:24px}.header-spacer[data-v-476b3b92]{display:none}.row-header>.remove-btn[data-v-476b3b92],.col-header>.remove-btn[data-v-476b3b92]{position:absolute;top:.35rem;right:.35rem}.col-item .col-header>.remove-btn[data-v-476b3b92]{top:.25rem;right:.25rem}.row-index[data-v-476b3b92],.col-index[data-v-476b3b92]{width:16px;text-align:center;font-size:.7rem;color:#999;font-weight:500}.weight-label[data-v-476b3b92]{display:flex;align-items:center;gap:.15rem;font-size:.7rem;color:#666;flex-wrap:nowrap}.weight-label input[data-v-476b3b92]{width:40px;padding:.1rem .25rem;border:1px solid #ccc;border-radius:3px;font-size:.75rem}.weight-info[data-v-476b3b92]{color:#999;font-size:.65rem;white-space:nowrap}.weight-percent[data-v-476b3b92]{color:#888}.row-header select[data-v-476b3b92],.col-header select[data-v-476b3b92]{padding:.1rem .25rem;border:1px solid #ccc;border-radius:3px;font-size:.7rem}.row-cols-config[data-v-476b3b92],.row-cells-config[data-v-476b3b92],.col-cells-config[data-v-476b3b92],.col-rows-config[data-v-476b3b92]{margin-top:.35rem;padding-left:.35rem}.wall-params-row[data-v-476b3b92]{display:flex;align-items:center;gap:.35rem;padding-left:.5rem;flex-wrap:wrap}.wall-label[data-v-476b3b92]{display:flex;align-items:center;gap:.2rem;font-size:.7rem;color:#666;flex-wrap:wrap}.wall-label .input-unit[data-v-476b3b92]{display:inline-flex;align-items:center;gap:.2rem}.wall-label input[data-v-476b3b92]{width:60px;padding:.1rem .25rem;border:1px solid #ccc;border-radius:3px;font-size:.75rem}.wall-label input[data-v-476b3b92]::placeholder{color:#aaa;font-style:italic}.unit[data-v-476b3b92]{font-size:.65rem;color:#999}.clear-btn[data-v-476b3b92]{width:16px;height:16px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer;font-size:.7rem;line-height:1;display:flex;align-items:center;justify-content:center;color:#999}.clear-btn[data-v-476b3b92]:hover{background:#f4e8e8;border-color:#a44;color:#a44}.drag-clone{background:#fff!important;border:1px solid #4a90d9!important;border-radius:3px!important}.drag-clone *{pointer-events:none}.icon[data-v-571ba240] svg{width:12px;height:12px}.compartments-editor[data-v-571ba240]{position:relative;display:flex;flex-direction:column;gap:.75rem;width:100%}.dimensions-section[data-v-571ba240]{display:flex;align-items:center;gap:.5rem}.dimension-input[data-v-571ba240]{display:flex;align-items:center;gap:.25rem}.dimension-input label[data-v-571ba240]{font-size:.8rem;color:#666}.dimension-input input[data-v-571ba240]{width:50px;padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.85rem}.dimension-separator[data-v-571ba240]{color:#999;font-size:.9rem}.dimensions-cm[data-v-571ba240]{margin-left:.5rem;font-size:.8rem;color:#666}.templates-section[data-v-571ba240],.structure-section[data-v-571ba240]{border:1px solid #ddd;border-radius:4px;padding:.5rem;background:#fafafa}.section-header[data-v-571ba240]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;font-weight:500}.templates-empty[data-v-571ba240]{font-size:.75rem;color:#999;font-style:italic}.templates-list[data-v-571ba240]{display:flex;flex-direction:column;gap:.5rem}.template-item[data-v-571ba240]{padding:.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:3px}.template-header[data-v-571ba240]{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.template-name-input[data-v-571ba240]{flex:1;padding:.25rem .5rem;border:1px solid #ccc;border-radius:3px;font-size:.8rem;font-weight:500}.add-btn[data-v-571ba240],.remove-btn[data-v-571ba240]{width:20px;height:20px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center;color:inherit}.add-btn[data-v-571ba240]:hover{background:#e8f4e8;border-color:#4a4}.remove-btn[data-v-571ba240]:hover{background:#f4e8e8;border-color:#a44}.cells-svg-preview[data-v-22c24809]{width:80px;border-radius:4px;overflow:hidden}.cells-svg-preview[data-v-22c24809] svg{width:100%;height:auto;display:block}.restore-btn .icon[data-v-949e60f3] svg{width:14px;height:14px}.params-editor[data-v-949e60f3]{background:#f9f9f9;border-top:1px dotted lightgray}.header-row[data-v-949e60f3]{display:flex;align-items:center;gap:.5rem}.controls-header[data-v-949e60f3]{display:flex;align-items:center;gap:.5rem;flex:1;padding:.75rem;font-weight:700;font-size:.9rem;color:#333;background:none;border:none;cursor:pointer;text-align:left}.controls-header[data-v-949e60f3]:hover{background:#f0f0f0}.layout-toggle[data-v-949e60f3]{display:flex;align-items:center;gap:.25rem;cursor:pointer;user-select:none;padding-right:.75rem}.layout-toggle input[data-v-949e60f3]{display:none}.layout-toggle .toggle-switch.small[data-v-949e60f3]{width:24px;height:14px;border-radius:7px}.layout-toggle .toggle-switch.small[data-v-949e60f3]:after{width:10px;height:10px;top:2px;left:2px}.layout-toggle input:checked+.toggle-switch.small[data-v-949e60f3]:after{transform:translate(10px)}.layout-toggle .toggle-label[data-v-949e60f3]{font-size:.7rem;color:#888;font-weight:500}.layout-toggle input:checked+.toggle-switch[data-v-949e60f3]{background:#3498db}.json-btn[data-v-949e60f3]{width:28px;height:28px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666}.json-btn[data-v-949e60f3]:hover{background:#e8e8f4;border-color:#44a;color:#44a}.dev-only-btn[data-v-949e60f3]{border-color:#c99;background:#fdf8f8;color:#a66}.dev-only-btn[data-v-949e60f3]:hover{background:#f4e8e8;border-color:#a44;color:#a44}.json-popup-overlay[data-v-949e60f3]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.json-popup[data-v-949e60f3]{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:600px;max-height:80vh;width:90%;display:flex;flex-direction:column}.json-popup-header[data-v-949e60f3]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #eee;font-weight:600;font-size:.9rem}.json-popup-actions[data-v-949e60f3]{display:flex;gap:.5rem}.copy-btn[data-v-949e60f3],.close-btn[data-v-949e60f3]{width:28px;height:28px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666}.copy-btn[data-v-949e60f3]:hover{background:#e8f4e8;border-color:#4a4;color:#4a4}.close-btn[data-v-949e60f3]:hover{background:#f4e8e8;border-color:#a44;color:#a44}.json-content[data-v-949e60f3]{margin:0;padding:1rem;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;line-height:1.4;background:#f8f8f8;border-radius:0 0 8px 8px}.collapse-icon[data-v-949e60f3]{transition:transform .2s ease;flex-shrink:0}.collapse-icon.rotated[data-v-949e60f3]{transform:rotate(180deg)}.params-content[data-v-949e60f3]{padding:0 .75rem .75rem}.actions-header[data-v-949e60f3]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #ddd}.header-svg-preview[data-v-949e60f3]{flex-shrink:0}.actions-buttons[data-v-949e60f3]{display:flex;flex-direction:column;gap:.35rem}.actions-row[data-v-949e60f3]{display:flex;align-items:center;gap:.5rem}.actions-buttons .json-btn[data-v-949e60f3],.actions-buttons .restore-btn[data-v-949e60f3]{flex-shrink:0}.actions-buttons .rerender-btn[data-v-949e60f3]{min-width:80px}@media(max-width:400px){.actions-buttons .rerender-btn[data-v-949e60f3]{flex:1}}.preset-selector[data-v-949e60f3]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #ddd;font-size:.85rem}.tabs-nav[data-v-949e60f3]{display:flex;gap:.25rem;margin-bottom:.75rem;border-bottom:1px solid #ddd;padding-bottom:0}.tab-btn[data-v-949e60f3]{padding:.4rem .75rem;border:none;background:none;font-size:.8rem;font-weight:500;color:#666;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab-btn[data-v-949e60f3]:hover{color:#333}.tab-btn.active[data-v-949e60f3]{color:#3498db;border-bottom-color:#3498db}.params-section--hidden[data-v-949e60f3]{display:none}.preset-selector label[data-v-949e60f3]{font-weight:700;color:#333;min-width:50px}.preset-selector select[data-v-949e60f3]{flex:1;padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.85rem;background:#fff}.params-section[data-v-949e60f3]{margin-bottom:.75rem}.params-section[data-v-949e60f3]:last-child{margin-bottom:0}.section-title[data-v-949e60f3]{font-weight:800;font-size:.85rem;color:#555;margin-bottom:.4rem;padding-bottom:.25rem;border-bottom:1px solid #ddd}.section-description[data-v-949e60f3]{font-size:.8rem;color:#666;margin-bottom:.5rem;line-height:1.4}.params-list[data-v-949e60f3]{display:flex;flex-direction:column;gap:.5rem}.param-item[data-v-949e60f3]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;min-width:0}.param-item--full-width[data-v-949e60f3]{flex-direction:column;align-items:stretch}.param-item--full-width .param-label-container[data-v-949e60f3]{min-width:0;margin-bottom:.25rem}.input-with-unit[data-v-949e60f3]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.param-label-container[data-v-949e60f3]{display:flex;flex-direction:column;gap:.1rem;min-width:100px}.param-label-row[data-v-949e60f3]{display:flex;align-items:center;gap:.25rem}.param-label-container label[data-v-949e60f3]{font-weight:500;color:#333}.param-description[data-v-949e60f3]{font-size:.75rem;color:#777;font-weight:400}.param-unit[data-v-949e60f3]{font-size:.8rem;color:#666;flex-shrink:0}.tooltip-icon[data-v-949e60f3]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:11px;font-weight:600;color:#666;background:#e0e0e0;border-radius:50%;cursor:help;position:relative;flex-shrink:0}.tooltip-icon[data-v-949e60f3]:hover,.tooltip-icon[data-v-949e60f3]:focus{background:#3498db;color:#fff}.tooltip-icon[data-v-949e60f3]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:#333;color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.8rem;font-weight:400;white-space:nowrap;max-width:250px;white-space:normal;text-align:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100;pointer-events:none;box-shadow:0 2px 8px #0003}.tooltip-icon[data-v-949e60f3]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translate(-50%);border:6px solid transparent;border-top-color:#333;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100}.tooltip-icon[data-v-949e60f3]:hover:after,.tooltip-icon[data-v-949e60f3]:hover:before,.tooltip-icon[data-v-949e60f3]:focus:after,.tooltip-icon[data-v-949e60f3]:focus:before{opacity:1;visibility:visible}@media(hover:none){.tooltip-icon[data-v-949e60f3]:active:after,.tooltip-icon[data-v-949e60f3]:active:before{opacity:1;visibility:visible}}@media(max-width:400px){.param-item[data-v-949e60f3]{flex-wrap:wrap}.param-item input[type=range][data-v-949e60f3]{width:100%;max-width:none;flex-basis:100%}.param-label-container[data-v-949e60f3]{min-width:0;flex:1}.input-with-unit[data-v-949e60f3]{flex-shrink:1}}.param-item input[type=number][data-v-949e60f3],.param-item input[type=text][data-v-949e60f3],.param-item select[data-v-949e60f3]{padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.85rem;min-width:80px}.param-item input[type=number][data-v-949e60f3]{width:80px}.param-item input[type=range][data-v-949e60f3]{flex:1;min-width:0;max-width:200px}.param-item input[type=checkbox][data-v-949e60f3]{width:16px;height:16px;cursor:pointer}.param-item select[data-v-949e60f3]{min-width:120px}.restore-btn[data-v-949e60f3]{padding:.5rem;background:#e0e0e0;color:#555;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.restore-btn[data-v-949e60f3]:hover:not(:disabled){background:#ccc;color:#333}.restore-btn[data-v-949e60f3]:disabled{opacity:.6;cursor:not-allowed}.rerender-btn[data-v-949e60f3]{flex:1;padding:.5rem 1rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s}.rerender-btn[data-v-949e60f3]:hover:not(:disabled){background:#2980b9}.rerender-btn[data-v-949e60f3]:disabled{opacity:.6;cursor:not-allowed}.btn-spinner[data-v-949e60f3]{width:16px;height:16px;border:2px solid #ddd;border-top-color:#3498db;border-radius:50%;animation:spin-949e60f3 .8s linear infinite}@keyframes spin-949e60f3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auto-update-toggle[data-v-949e60f3]{display:flex;align-items:center;gap:.35rem;cursor:pointer;user-select:none}.auto-update-toggle input[data-v-949e60f3]{display:none}.toggle-switch[data-v-949e60f3]{position:relative;width:32px;height:18px;background:#ccc;border-radius:9px;transition:background .2s}.toggle-switch[data-v-949e60f3]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 2px #0003}.auto-update-toggle input:checked+.toggle-switch[data-v-949e60f3]{background:#3498db}.auto-update-toggle input:checked+.toggle-switch[data-v-949e60f3]:after{transform:translate(14px)}.toggle-label[data-v-949e60f3]{font-size:.75rem;color:#666;font-weight:500}.visibility-selector[data-v-dfb496aa]{background:#f9f9f9;border-top:1px dotted lightgray}.controls-header[data-v-dfb496aa]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-weight:700;font-size:.9rem;color:#333;background:none;border:none;cursor:pointer;text-align:left}.controls-header[data-v-dfb496aa]:hover{background:#f0f0f0}.collapse-icon[data-v-dfb496aa]{transition:transform .2s ease;flex-shrink:0}.collapse-icon.rotated[data-v-dfb496aa]{transform:rotate(180deg)}.visibility-content[data-v-dfb496aa]{padding:0 .75rem .75rem}.tree-list[data-v-dfb496aa]{display:flex;flex-direction:column;gap:.125rem}.tree-item[data-v-dfb496aa]{display:flex;flex-direction:column}.tree-row[data-v-dfb496aa]{display:flex;align-items:center;gap:.25rem}.tree-children[data-v-dfb496aa]{margin-left:.5rem;padding-left:.5rem;border-left:1px solid #ddd}.child-row[data-v-dfb496aa]{padding:.125rem 0}.expand-btn[data-v-dfb496aa]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;color:#666;border-radius:3px}.expand-btn[data-v-dfb496aa]:hover{background:#e0e0e0;color:#333}.expand-icon[data-v-dfb496aa]{transition:transform .15s ease}.expand-icon.rotated[data-v-dfb496aa]{transform:rotate(90deg)}.expand-spacer[data-v-dfb496aa]{width:20px;flex-shrink:0}.checkbox-item[data-v-dfb496aa]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;flex:1;min-width:0}.checkbox-item input[type=checkbox][data-v-dfb496aa]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.checkbox-item span[data-v-dfb496aa]{color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-label[data-v-dfb496aa]{font-weight:600}.icon[data-v-67dc59d5] svg{width:20px;height:20px}.fullscreen-btn .icon[data-v-67dc59d5] svg,.reset-camera-btn .icon[data-v-67dc59d5] svg{width:18px;height:18px}.placeholder:hover .placeholder-icon[data-v-67dc59d5] svg{color:#3498db;transform:scale(1.05)}.viewer-container[data-v-67dc59d5]{position:relative;border:1px dotted lightgray;aspect-ratio:1.5}.canvas-wrapper[data-v-67dc59d5]{position:relative;height:100%}.canvas[data-v-67dc59d5]{transition:opacity .3s ease-in-out;height:100%}.placeholder[data-v-67dc59d5]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);cursor:pointer;z-index:10;transition:background .2s}.placeholder.has-image[data-v-67dc59d5]{background:none}.placeholder-image[data-v-67dc59d5]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.placeholder-overlay[data-v-67dc59d5]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;border-radius:8px;background:#ffffffe6;transition:background .2s,transform .2s}.placeholder[data-v-67dc59d5]:hover{background:linear-gradient(135deg,#e8ecf1,#d8dce0)}.placeholder.has-image[data-v-67dc59d5]:hover{background:none}.placeholder:hover .placeholder-overlay[data-v-67dc59d5]{background:#fffffff2;transform:scale(1.02)}.placeholder:hover svg[data-v-67dc59d5]{color:#3498db;transform:scale(1.05)}.placeholder svg[data-v-67dc59d5]{color:#888;transition:color .2s,transform .2s}.placeholder p[data-v-67dc59d5]{color:#666;font-size:.9rem;margin:0}.loader[data-v-67dc59d5]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;background:#fff;z-index:10}.loader p[data-v-67dc59d5]{color:#666;font-size:.9rem;margin:0}.spinner[data-v-67dc59d5]{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin-67dc59d5 1s linear infinite}@keyframes spin-67dc59d5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reset-camera-btn[data-v-67dc59d5]{position:absolute;bottom:95px;left:0;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:color .2s,background .2s;z-index:5}.reset-camera-btn[data-v-67dc59d5]:hover{color:#3498db;background:#fffc}.reset-camera-btn[data-v-67dc59d5]:active{transform:scale(.95)}.fullscreen-btn[data-v-67dc59d5]{position:absolute;top:.5rem;right:.5rem;width:36px;height:36px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0000001a;z-index:15}.fullscreen-btn[data-v-67dc59d5]:hover{background:#f5f5f5;border-color:#3498db;box-shadow:0 2px 6px #00000026}.fullscreen-btn[data-v-67dc59d5]:active{transform:scale(.95)}.viewer-buttons[data-v-67dc59d5]{position:absolute;bottom:.5rem;right:.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:5}.zoom-btn[data-v-67dc59d5]{width:40px;height:40px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0000001a}.zoom-btn[data-v-67dc59d5]:hover{background:#f5f5f5;border-color:#3498db;box-shadow:0 2px 6px #00000026}.zoom-btn[data-v-67dc59d5]:active{transform:scale(.95)}.zoom-reset[data-v-67dc59d5]{font-size:.75rem;font-weight:600;color:#333}.zoom-reset[data-v-67dc59d5]:hover{color:#3498db}.export-btn[data-v-67dc59d5]{width:auto;padding:0 .5rem;gap:.25rem}.export-label[data-v-67dc59d5]{font-size:.7rem;font-weight:600;text-transform:uppercase}.zoom-btn[data-v-67dc59d5]:disabled{opacity:.6;cursor:not-allowed}.clip-btn.active[data-v-67dc59d5]{background:#3498db;border-color:#2980b9;color:#fff;width:auto;padding:0 .5rem;gap:.25rem}.clip-btn.active[data-v-67dc59d5]:hover{background:#2980b9}.clip-label[data-v-67dc59d5]{font-size:.65rem;font-weight:600}.btn-spinner[data-v-67dc59d5]{width:16px;height:16px;border:2px solid #ddd;border-top-color:#3498db;border-radius:50%;animation:spin-67dc59d5 .8s linear infinite}.render-error[data-v-67dc59d5]{position:absolute;top:.5rem;left:.5rem;right:3rem;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:.8rem;z-index:20;box-shadow:0 2px 8px #0000001a}.render-error-icon[data-v-67dc59d5]{flex-shrink:0}.render-error-text[data-v-67dc59d5]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.render-error-dismiss[data-v-67dc59d5]{flex-shrink:0;width:20px;height:20px;border:none;background:transparent;color:#991b1b;font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:background .2s}.render-error-dismiss[data-v-67dc59d5]:hover{background:#991b1b1a}a[data-astro-cid-vfwupowz]{display:inline-flex;align-items:center;padding:.5rem 1rem;background:#3498db;color:#fff;text-decoration:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:background .2s}a[data-astro-cid-vfwupowz]:hover{background:#2980b9}svg[data-astro-cid-vfwupowz]{flex-shrink:0}.icon[data-v-e5c686af] svg{width:24px;height:24px}.fullscreen-overlay[data-v-e5c686af]{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;flex-direction:column}.close-btn[data-v-e5c686af]{position:absolute;top:.5rem;right:.5rem;z-index:10;width:40px;height:40px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0000001a}.close-btn[data-v-e5c686af]:hover{background:#f5f5f5;border-color:#e74c3c;color:#e74c3c}.fullscreen-content[data-v-e5c686af]{flex:1;min-height:0;padding:1rem}@media(max-width:800px){.fullscreen-overlay[data-v-e5c686af]{overflow-y:auto}.fullscreen-content[data-v-e5c686af]{flex:none;min-height:auto}}.icon[data-v-0b706049] svg{width:24px;height:24px}.fullscreen-layout[data-v-0b706049]{display:flex;height:100%}.fullscreen-layout.resizing[data-v-0b706049]{user-select:none;cursor:col-resize}.fullscreen-viewer[data-v-0b706049]{flex:1;min-width:0;position:relative}.close-btn[data-v-0b706049]{position:absolute;top:.5rem;right:.5rem;z-index:15;width:36px;height:36px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0000001a}.close-btn[data-v-0b706049]:hover{background:#f5f5f5;border-color:#e74c3c;color:#e74c3c;box-shadow:0 2px 6px #00000026}.close-btn[data-v-0b706049]:active{transform:scale(.95)}.fullscreen-viewer[data-v-0b706049] .viewer-container{aspect-ratio:unset;height:100%}.resizer[data-v-0b706049]{width:8px;cursor:col-resize;background:transparent;position:relative;flex-shrink:0}.resizer[data-v-0b706049]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;background:#ccc;border-radius:2px;transition:background .2s}.resizer[data-v-0b706049]:hover:after,.fullscreen-layout.resizing .resizer[data-v-0b706049]:after{background:#3498db}.fullscreen-params[data-v-0b706049]{flex-shrink:0;overflow-y:auto}@media(max-width:800px){.fullscreen-layout[data-v-0b706049]{flex-direction:column;height:auto;min-height:100%}.fullscreen-viewer[data-v-0b706049]{flex:none;height:60vh;min-height:300px}.resizer[data-v-0b706049]{display:none}.fullscreen-params[data-v-0b706049]{width:100%!important;max-height:none;flex:none}}
