#viewport[data-v-bbd029e2],#threejs-container[data-v-bbd029e2]{height:100%;width:100%;min-width:200px}[data-v-bbd029e2] .dimension-label{background:#fffc;padding:2px 5px;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;color:#333;pointer-events:none}.definition-input[data-v-1ea8058d]{padding:2px 0;width:100%}.label-container[data-v-1ea8058d]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.input-title[data-v-1ea8058d]{font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;margin:1px 0;letter-spacing:.5px;opacity:.6}.input-title.editable[data-v-1ea8058d]{cursor:text}.input-title.editable[data-v-1ea8058d]:hover{background:#0000000d;border-radius:2px}.title-edit-input[data-v-1ea8058d]{font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;border:none;border-bottom:1px solid rgba(0,0,0,.5);background:transparent;outline:none;padding:0;margin:1px 0;width:90px}.input-value[data-v-1ea8058d]{font-family:Roboto Mono,monospace;font-size:.75rem;font-weight:700;color:inherit}.input-value.editable[data-v-1ea8058d]{cursor:text;padding:0 2px}.input-value.editable[data-v-1ea8058d]:hover{background:#0000000d;border-radius:2px}.value-edit-input[data-v-1ea8058d]{font-family:Roboto Mono,monospace;font-size:.75rem;font-weight:700;border:none;border-bottom:1px solid rgba(0,0,0,.5);background:transparent;outline:none;padding:0;margin:0;width:30px;text-align:right;-moz-appearance:textfield}.value-edit-input[data-v-1ea8058d]::-webkit-outer-spin-button,.value-edit-input[data-v-1ea8058d]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modern-range[data-v-1ea8058d]{-webkit-appearance:none;width:100%;height:2px;background:#0000001a;border-radius:2px;outline:none;margin:6px 0}.modern-range[data-v-1ea8058d]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--v3995e873);cursor:pointer;transition:transform .1s ease-in-out;border:none}.modern-range[data-v-1ea8058d]::-webkit-slider-thumb:hover{transform:scale(1.3)}.modern-range[data-v-1ea8058d]::-moz-range-thumb{width:10px;height:10px;border:none;border-radius:50%;background:var(--v3995e873);cursor:pointer}.chart-card[data-v-4c637086]{position:relative;align-self:stretch;aspect-ratio:1/1;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:0;display:flex;flex-direction:column;border-radius:15px;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(0,0,0,.1);margin-bottom:20px;box-sizing:border-box}.chart-card.is-floating[data-v-4c637086]{position:fixed;aspect-ratio:auto!important;z-index:1001;transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease}.chart-card.is-dragging[data-v-4c637086]{transition:none!important}.chart-body[data-v-4c637086]{padding:12px;display:flex;align-items:center;justify-content:center;flex-grow:1;overflow:visible;min-height:0}.chart-wrapper[data-v-4c637086]{position:relative;width:100%;max-height:100%;aspect-ratio:1 / 1}.no-data[data-v-4c637086]{font-size:.7rem;color:#999;text-align:center;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);margin:0}.chart-label[data-v-4c637086]{position:absolute;font-family:Roboto Mono,monospace;font-size:.65rem;color:#333;white-space:nowrap;pointer-events:auto;cursor:text;padding:2px 4px;border-radius:4px;max-width:90px;overflow:hidden;text-overflow:ellipsis;transition:background .2s}.chart-label[data-v-4c637086]:hover{background:#0000000d}.chart-label.left[data-v-4c637086]{transform:translateY(-50%);text-align:left}.chart-label.right[data-v-4c637086]{transform:translate(-100%,-50%);text-align:right}.label-input[data-v-4c637086]{width:60px;border:none;border-bottom:1px solid black;background:transparent;font-family:inherit;font-size:inherit;outline:none;padding:0}.custom-tooltip.info-card-style[data-v-4c637086]{position:fixed;z-index:9999;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 10px 30px #00000026;font-family:Roboto Mono,monospace;pointer-events:none;display:flex;flex-direction:column;padding:0;overflow:hidden;min-width:150px}.custom-tooltip .card-header[data-v-4c637086]{background:#f5f5f5;padding:6px 10px;font-size:.75rem;font-weight:700;color:#333;border-bottom:1px solid #eee;text-align:left}.custom-tooltip .card-body[data-v-4c637086]{padding:8px 10px;display:flex;flex-direction:column}.custom-tooltip .info-row[data-v-4c637086]{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.7rem;white-space:nowrap;gap:15px}.custom-tooltip .label[data-v-4c637086]{color:#888;font-weight:500}.custom-tooltip .value[data-v-4c637086]{color:#000;font-weight:600;text-align:right}.custom-tooltip .tooltip-hint[data-v-4c637086]{font-size:.6rem;color:#aaa;margin-top:6px;font-style:italic;text-align:center;border-top:1px dashed #eee;padding-top:4px}.color-popup[data-v-4c637086]{position:fixed;z-index:10000;width:140px;background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;overflow:hidden;display:flex;flex-direction:column;cursor:move;border:1px solid #eee}.popup-header[data-v-4c637086],.chart-header[data-v-4c637086]{background:#f5f5f5;font-size:.65rem;font-weight:700;padding:6px;text-align:center;border-bottom:1px solid #eee;text-transform:uppercase;color:#555;cursor:move;position:relative;display:flex;align-items:center;justify-content:center}.dock-btn[data-v-4c637086]{position:absolute;left:10px;top:50%;transform:translateY(-50%);background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#333;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:1.2rem;padding:0;transition:background .2s;display:flex;align-items:center;justify-content:center}.random-name-btn[data-v-4c637086]{position:absolute;right:36px;top:50%;transform:translateY(-50%);background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#333;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:.85rem;padding:0;transition:background .2s;display:flex;align-items:center;justify-content:center}.random-name-btn[data-v-4c637086]:hover,.dock-btn[data-v-4c637086]:hover{background:#00000026}.snap-btn[data-v-4c637086]{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#333;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:.9rem;padding:0;transition:background .2s;display:flex;align-items:center;justify-content:center}.snap-btn[data-v-4c637086]:hover{background:#00000026}.popup-body[data-v-4c637086]{padding:10px;display:flex;flex-direction:column;gap:8px;align-items:center;cursor:default}.color-input[data-v-4c637086]{width:100%;height:30px;border:none;cursor:pointer;background:none}.ok-btn[data-v-4c637086]{background:#000;color:#fff;border:none;padding:4px 15px;border-radius:4px;font-size:.7rem;cursor:pointer;width:100%}.ok-btn[data-v-4c637086]:hover{background:#333}.resize-handle[data-v-4c637086]{position:absolute;bottom:0;right:0;width:15px;height:15px;cursor:nwse-resize;z-index:10}.resize-handle[data-v-4c637086]:after{content:"";position:absolute;bottom:4px;right:4px;width:6px;height:6px;border-right:2px solid #ccc;border-bottom:2px solid #ccc}.chart-card[data-v-2e883021]{position:relative;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;flex-direction:column;border-radius:15px;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(0,0,0,.1);margin-bottom:20px;box-sizing:border-box;transition:width .15s ease-out,height .15s ease-out,left .15s ease-out,top .15s ease-out}.chart-card.is-dragging[data-v-2e883021]{transition:width .15s ease-out,height .15s ease-out}.chart-card.is-floating[data-v-2e883021]{position:fixed;width:280px;z-index:1001}.chart-header[data-v-2e883021]{background:#f5f5f5;font-size:.65rem;font-weight:700;padding:6px;text-align:center;border-bottom:1px solid #eee;text-transform:uppercase;color:#555;cursor:move;position:relative;display:flex;align-items:center;justify-content:center;border-top-left-radius:15px;border-top-right-radius:15px}.chart-body[data-v-2e883021]{padding:15px;display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.chart-wrapper[data-v-2e883021]{flex-grow:1;width:100%;position:relative}.no-data[data-v-2e883021]{font-size:.7rem;color:#999;text-align:center;margin-top:20px}.dock-btn[data-v-2e883021],.snap-btn[data-v-2e883021]{position:absolute;top:50%;transform:translateY(-50%);background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#333;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:1.2rem;padding:0;display:flex;align-items:center;justify-content:center;transition:background .2s}.dock-btn[data-v-2e883021]{left:10px}.snap-btn[data-v-2e883021]{right:10px;font-size:.9rem}.dock-btn[data-v-2e883021]:hover,.snap-btn[data-v-2e883021]:hover{background:#00000026}.resize-handle[data-v-2e883021]{position:absolute;bottom:0;right:0;width:15px;height:15px;cursor:nwse-resize;z-index:10}.resize-handle[data-v-2e883021]:after{content:"";position:absolute;bottom:4px;right:4px;width:6px;height:6px;border-right:2px solid #ccc;border-bottom:2px solid #ccc}.history-container[data-v-4d345b76]{position:absolute;bottom:0;left:0;width:100%;z-index:100;display:flex;justify-content:center;align-items:flex-end;padding-bottom:15px;pointer-events:none}.header-save-btn[data-v-4d345b76]{pointer-events:auto;background:#0000000d;color:#333;border:1px solid rgba(0,0,0,.1);padding:3px 10px;border-radius:6px;cursor:pointer;font-family:Roboto Mono,monospace;font-size:.6rem;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:4px;margin-left:15px}.header-save-btn[data-v-4d345b76]:hover{background:#000;color:#fff}.header-save-btn span[data-v-4d345b76]{font-size:.8rem}.history-bar[data-v-4d345b76]{width:calc(100% - 40px);max-width:1200px;background:#f8f9facc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.1);border-radius:15px 15px 0 0;box-shadow:0 -5px 20px #0000000d;pointer-events:auto;overflow:hidden;transition:height .3s ease}.history-header[data-v-4d345b76]{padding:8px 15px;font-family:Roboto Mono,monospace;font-weight:700;font-size:.8rem;color:#555;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;border-bottom:1px solid #e9ecef}.toggle-btn[data-v-4d345b76]{position:absolute;right:10px;cursor:pointer;font-size:1rem;padding:2px 8px;border-radius:4px}.toggle-btn[data-v-4d345b76]:hover{background:#0000000d}.history-content[data-v-4d345b76]{height:140px;display:flex;align-items:center;padding:0 20px;gap:15px;overflow-x:auto;pointer-events:auto}.version-item[data-v-4d345b76]{flex:0 0 auto;cursor:pointer;opacity:.8;transition:opacity .2s,transform .2s}.version-item[data-v-4d345b76]:hover{opacity:1;transform:translateY(-2px)}.thumbnail-wrapper[data-v-4d345b76]{position:relative}.thumbnail-wrapper img[data-v-4d345b76]{width:140px;height:90px;object-fit:cover;border-radius:8px;border:1px solid #ddd;background:#eee}.version-info[data-v-4d345b76]{display:flex;flex-direction:column;margin-top:5px}.v-name[data-v-4d345b76]{font-size:.7rem;font-weight:700;color:#333}.v-time[data-v-4d345b76]{font-size:.6rem;color:#888;font-family:Roboto Mono,monospace}.empty-state[data-v-4d345b76]{width:100%;text-align:center;color:#999;font-size:.8rem}.delete-btn[data-v-4d345b76]{position:absolute;top:-5px;right:-5px;width:20px;height:20px;background:#ff4d4d;color:#fff;border:none;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 5px #0003}.thumbnail-wrapper:hover .delete-btn[data-v-4d345b76]{display:flex}.delete-btn[data-v-4d345b76]:hover{background:red;transform:scale(1.1)}.name-input[data-v-4d345b76]{font-size:.7rem;font-weight:700;color:#333;border:none;border-bottom:1px solid #333;background:transparent;width:100%;outline:none;padding:0}.export-btn[data-v-eb50ee00]{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:8px 0;cursor:pointer;width:100%;flex:1;justify-content:center;font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;display:flex;align-items:center;box-shadow:0 4px 12px #00000014;transition:all .2s ease}.export-btn[data-v-eb50ee00]:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0000001f;background:#f2dd1c}.text[data-v-eb50ee00]{letter-spacing:.5px}.export-wrapper[data-v-2d25babc]{position:relative;flex:1}.export-btn[data-v-2d25babc]{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:8px 0;cursor:pointer;width:100%;justify-content:center;font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;display:flex;align-items:center;box-shadow:0 4px 12px #00000014;transition:all .2s ease}.export-btn[data-v-2d25babc]:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0000001f;background:#f0f0f0}.text[data-v-2d25babc]{letter-spacing:.5px}.quality-options[data-v-2d25babc]{position:absolute;top:100%;right:0;margin-top:5px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid #eee;overflow:hidden;z-index:10;width:160px;padding-top:5px}.option[data-v-2d25babc]{padding:10px 15px;font-size:.75rem;cursor:pointer}.option[data-v-2d25babc]:hover{background:#f2dd1c}.option small[data-v-2d25babc]{display:block;font-size:.6rem;opacity:.7}.checkbox-row[data-v-2d25babc]{padding:8px 15px;border-bottom:1px solid #eee;display:flex;align-items:center;gap:8px}.checkbox-row label[data-v-2d25babc]{font-size:.7rem;font-weight:700;cursor:pointer}.checkbox-row input[data-v-2d25babc]{cursor:pointer}.header-row[data-v-ea5369be]{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.header-actions[data-v-ea5369be]{display:flex;gap:5px}.table-title[data-v-ea5369be]{font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;margin:15px 0 10px;letter-spacing:1px;opacity:.6}.add-btn[data-v-ea5369be]{background:#f2dd1c;color:#000;border:none;border-radius:4px;padding:2px 8px;cursor:pointer;font-size:.65rem;font-weight:700;font-family:Roboto Mono,monospace}.add-btn[data-v-ea5369be]:hover{background:#e0cc1b}.edit-btn[data-v-ea5369be]{background:#2847fc;color:#fff;border:none;border-radius:4px;padding:2px 8px;cursor:pointer;font-size:.65rem;font-weight:700;font-family:Roboto Mono,monospace;transition:background .2s}.edit-btn[data-v-ea5369be]:hover,.edit-btn.edit-active[data-v-ea5369be]{background:#1f36c4}.clear-btn[data-v-ea5369be]{background:#fcc;color:#d80000}.clear-btn[data-v-ea5369be]:hover{background:#faa}.grid-map-container[data-v-ea5369be]{width:100%;height:150px;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;position:relative;overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.grid-map-container.is-editing[data-v-ea5369be]{background-color:#2847fc14;border-color:#2847fc66}.points-svg[data-v-ea5369be]{width:100%;height:100%;cursor:default}.points-svg.is-editing[data-v-ea5369be]{cursor:crosshair}.map-point[data-v-ea5369be]{cursor:pointer;transition:r .2s,fill .2s}.is-editing .map-point[data-v-ea5369be]{cursor:move}.map-point[data-v-ea5369be]:hover{stroke:#2847fc;stroke-width:2px}.empty-msg[data-v-ea5369be]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#aaa;font-size:.7rem;pointer-events:none}.selected-editor[data-v-ea5369be]{margin-top:10px;background:#fff;border:1px solid rgba(0,0,0,.1);padding:8px;border-radius:4px}.editor-header[data-v-ea5369be]{display:flex;justify-content:space-between;margin-bottom:5px;font-size:.65rem;font-weight:700;color:#555}.delete-btn[data-v-ea5369be]{background:#fcc;color:#d80000;border:none;padding:2px 6px;border-radius:3px;cursor:pointer;font-size:.6rem}.coord-row[data-v-ea5369be]{display:flex;gap:5px}.input-group[data-v-ea5369be]{flex:1;display:flex;flex-direction:column}.input-group label[data-v-ea5369be]{font-size:.6rem;color:#888;text-align:center}.input-group input[data-v-ea5369be]{width:100%;border:1px solid #ddd;text-align:center;font-size:.7rem;padding:2px;border-radius:3px}.instruction[data-v-ea5369be]{font-size:.65rem;color:#666;margin:5px 0;font-style:italic}.export-wrapper[data-v-3078a05f]{position:relative;pointer-events:auto;flex:1}.export-btn[data-v-3078a05f]{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:8px 0;cursor:pointer;width:100%;justify-content:center;font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;display:flex;align-items:center;box-shadow:0 4px 12px #00000014;transition:all .2s ease}.export-btn[data-v-3078a05f]:hover{transform:translateY(-2px);background:#f2dd1c}.export-options[data-v-3078a05f]{position:absolute;top:100%;right:0;margin-top:5px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid #eee;width:140px;overflow:hidden}.option[data-v-3078a05f]{padding:10px;font-size:.7rem;cursor:pointer;font-family:Roboto Mono,monospace}.option[data-v-3078a05f]:hover{background:#f5f5f5}.option small[data-v-3078a05f]{display:block;color:#888;font-size:.6rem}.viewcube-card[data-v-6ef28988]{position:absolute;z-index:90;background:#fffc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:15px;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;width:130px}.viewcube-header[data-v-6ef28988]{background:#f5f5f5;font-size:.7rem;font-weight:700;padding:6px;text-align:center;border-bottom:1px solid #eee;text-transform:uppercase;color:#555;cursor:move;border-radius:15px 15px 0 0}.viewcube-header[data-v-6ef28988]{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px}.viewcube-body[data-v-6ef28988]{padding:10px 10px 25px;display:flex;flex-direction:column;align-items:center;gap:15px}.controls-row[data-v-6ef28988]{display:flex;gap:5px;pointer-events:auto}.toggle-icon[data-v-6ef28988]{cursor:pointer;font-size:.8rem;padding:0 4px}.projection-btn[data-v-6ef28988]{background:#fff;border:1px solid #ddd;border-radius:4px;padding:4px 8px;font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;cursor:pointer;box-shadow:0 2px 5px #0000001a;transition:background .2s;min-width:15px;text-align:center;display:flex;justify-content:center}.projection-btn[data-v-6ef28988]:hover{background:#f2dd1c}.icon-btn[data-v-6ef28988]{font-size:1.1rem;padding:px 8px}.cube-scene[data-v-6ef28988]{width:60px;height:90px;perspective:400px;pointer-events:auto}.cube[data-v-6ef28988]{width:100%;height:100%;position:relative;transform-style:preserve-3d}.face[data-v-6ef28988]{position:absolute;width:60px;height:60px;background:#ffffffe6;border:2px solid #ccc;color:#555;font-family:sans-serif;font-weight:700;font-size:.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 10px #0000000d}.face[data-v-6ef28988]:hover{background:#2847fc;color:#fff;border-color:#2847fc}.front[data-v-6ef28988]{transform:rotateY(0) translateZ(30px) scaleY(-1)}.back[data-v-6ef28988]{transform:rotateY(180deg) translateZ(30px) scaleY(-1)}.right[data-v-6ef28988]{transform:rotateY(90deg) translateZ(30px) scaleY(-1)}.left[data-v-6ef28988]{transform:rotateY(-90deg) translateZ(30px) scaleY(-1)}.top[data-v-6ef28988]{transform:rotateX(90deg) translateZ(30px) scaleY(-1)}.bottom[data-v-6ef28988]{transform:rotateX(-90deg) translateZ(30px) scaleY(-1)}.corner[data-v-6ef28988]{position:absolute;width:20px;height:20px;background:#c8c8c800;border:1px solid rgba(0,0,0,.1);z-index:10;cursor:pointer;left:50%;top:35%;margin:-10px;transition:background .2s}.corner[data-v-6ef28988]:hover{background:#f2dd1c;border:1px solid #000}.tfr[data-v-6ef28988]{transform:translate3d(30px,-30px,30px)}.tfl[data-v-6ef28988]{transform:translate3d(-30px,-30px,30px)}.tbr[data-v-6ef28988]{transform:translate3d(30px,-30px,-30px)}.tbl[data-v-6ef28988]{transform:translate3d(-30px,-30px,-30px)}.bfr[data-v-6ef28988]{transform:translate3d(30px,30px,30px)}.bfl[data-v-6ef28988]{transform:translate3d(-30px,30px,30px)}.bbr[data-v-6ef28988]{transform:translate3d(30px,30px,-30px)}.bbl[data-v-6ef28988]{transform:translate3d(-30px,30px,-30px)}.context-import-container[data-v-61e65efd]{display:flex;flex-direction:column}.table-title[data-v-61e65efd]{font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;margin:15px 0 5px;letter-spacing:1px;opacity:.6}.action-row[data-v-61e65efd]{display:flex;gap:5px}.import-btn[data-v-61e65efd]{flex:1;padding:6px;border:1px solid rgba(0,0,0,.1);background:#f5f5f5;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.65rem;cursor:pointer;transition:all .2s}.import-btn[data-v-61e65efd]:hover{background:#e0e0e0}.move-btn[data-v-61e65efd]{background:#f2dd1c;color:#000;border:none;border-radius:4px;padding:0 10px;cursor:pointer;font-weight:700;font-size:.65rem;display:flex;align-items:center;justify-content:center;font-family:Roboto Mono,monospace;transition:all .2s}.move-btn[data-v-61e65efd]:hover{background:#e0cc1b}.edit-active[data-v-61e65efd]{background:#2847fc;color:#fff;border-color:#2847fc}.edit-active[data-v-61e65efd]:hover{background:#1f36c4}.clear-btn[data-v-61e65efd]{background:#fcc;color:#d80000;border:none;border-radius:4px;padding:0 10px;cursor:pointer;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center}.clear-btn[data-v-61e65efd]:hover{background:#faa}.display-card[data-v-1702fd6d]{position:absolute;z-index:90;background:#fffc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:15px;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(0,0,0,.1);width:fit-content;min-width:90px;overflow:hidden}.card-header[data-v-1702fd6d]{background:#f5f5f5;font-size:.7rem;font-weight:700;text-align:center;border-bottom:1px solid #eee;color:#555;cursor:move;display:flex;justify-content:space-between;align-items:center;padding:6px 10px}.toggle-icon[data-v-1702fd6d]{cursor:pointer;font-size:.8rem;padding:0 4px}.card-body[data-v-1702fd6d]{padding:8px;display:flex;flex-direction:column;gap:5px}.mode-btn[data-v-1702fd6d]{background:#fff;border:1px solid #eee;border-radius:6px;padding:6px;font-family:Roboto Mono,monospace;font-size:.65rem;font-weight:600;text-align:center;cursor:pointer;transition:all .2s}.mode-btn[data-v-1702fd6d]:hover{background:#fafafa;border-color:#ddd}.mode-btn.active[data-v-1702fd6d]{background:#f2dd1c;color:#000;border-color:#f2dd1c}.layers-card[data-v-9cb20250]{position:absolute;z-index:95;background:#ffffffe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 4px 15px #0000000d;font-family:Roboto Mono,monospace;width:fit-content;min-width:150px;overflow:hidden}.card-header[data-v-9cb20250]{background:#f5f5f5;font-size:.7rem;font-weight:700;color:#555;padding:6px 10px;text-align:center;border-bottom:1px solid #eee;cursor:move;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-body[data-v-9cb20250]{padding:10px 15px;display:flex;flex-direction:column}.toggle-icon[data-v-9cb20250]{cursor:pointer;font-size:.8rem;padding:0 4px}.layer-item[data-v-9cb20250]{display:flex;align-items:center;gap:8px;margin-bottom:5px}.layer-item label[data-v-9cb20250]{font-size:.75rem;cursor:pointer}.layer-item input[data-v-9cb20250]{cursor:pointer;accent-color:#f2dd1c}hr[data-v-9cb20250]{border:none;border-top:1px solid #eee;margin:8px -15px}.info-card[data-v-7a161c8c]{position:fixed;z-index:2000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 10px 30px #00000026;font-family:Roboto Mono,monospace;overflow:hidden;animation:fadeUp-7a161c8c .2s ease-out;display:flex;flex-direction:column;box-sizing:border-box;transition:width .15s ease-out,height .15s ease-out,left .15s ease-out,top .15s ease-out}.info-card.is-dragging[data-v-7a161c8c]{transition:width .15s ease-out,height .15s ease-out}.card-header[data-v-7a161c8c]{background:#f5f5f5;padding:8px 12px;font-size:.75rem;font-weight:700;color:#333;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;cursor:move}.close-btn[data-v-7a161c8c]{border:none;background:none;font-size:1.2rem;line-height:.5;cursor:pointer;color:#999}.close-btn[data-v-7a161c8c]:hover{color:#ff4d4d}.card-body[data-v-7a161c8c]{padding:10px 12px;overflow-y:auto;flex-grow:1}.info-row[data-v-7a161c8c]{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.7rem;white-space:nowrap;gap:15px}.label[data-v-7a161c8c]{color:#888;font-weight:500}.value[data-v-7a161c8c]{color:#000;font-weight:600;text-align:right}@keyframes fadeUp-7a161c8c{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.connector-svg[data-v-7a161c8c]{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1999}.connector-svg .handle[data-v-7a161c8c]{cursor:move;transition:r .2s}.connector-svg .handle[data-v-7a161c8c]:hover{r:8;fill:#f2dd1c}.resize-handle[data-v-7a161c8c]{position:absolute;bottom:0;right:0;width:15px;height:15px;cursor:nwse-resize;z-index:10}.resize-handle[data-v-7a161c8c]:after{content:"";position:absolute;bottom:4px;right:4px;width:6px;height:6px;border-right:2px solid #ccc;border-bottom:2px solid #ccc}.analytics-container[data-v-cc490bca]{position:relative;height:100%;display:flex}.analytics-sidebar[data-v-cc490bca]{width:340px;height:100%;background-color:#f8f9fa;border-left:1px solid #e9ecef;transition:width .3s ease;display:flex;flex-direction:column;overflow:hidden}.analytics-container.is-collapsed .analytics-sidebar[data-v-cc490bca]{width:0}.sidebar-header[data-v-cc490bca]{position:relative;padding:10px;font-family:Roboto Mono,monospace;font-weight:700;font-size:.8rem;text-align:center;border-bottom:1px solid #e9ecef;color:#555;display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.clear-btn[data-v-cc490bca]{position:absolute;font-family:Roboto Mono,monospace;font-weight:700;right:25px;background:#f2dd1c;color:#000;border:none;border-radius:4px;padding:2px 8px;cursor:pointer;font-size:.65rem}.clear-btn[data-v-cc490bca]:hover{background:#e0cc1b}.sidebar-body[data-v-cc490bca]{padding:15px;overflow-y:auto;flex-grow:1;width:100%}.toggle-btn[data-v-cc490bca]{position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:30px;height:60px;background:#fff;border:1px solid #ddd;border-right:none;border-radius:15px 0 0 15px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;color:#555;box-shadow:-2px 0 5px #0000000d}.main-container[data-v-8b4b5a9d]{display:flex;width:100%;height:100%;background-color:#fff;color:#000;transition:background-color .3s ease;overflow:hidden}#viewer-wrapper[data-v-8b4b5a9d]{flex-grow:1;position:relative;min-width:0}#sidebar[data-v-8b4b5a9d]{width:320px;padding:25px;border-right:1px solid rgba(0,0,0,.05);overflow-y:auto;flex-shrink:0}.right-sidebar[data-v-8b4b5a9d]{flex-shrink:0}#viewer[data-v-8b4b5a9d]{width:calc(100% - 40px);height:calc(100% - 40px);margin:20px;border-radius:30px;overflow:hidden;position:relative;box-shadow:0 15px 45px #0000000d;background-color:#eee}.grid-overlay[data-v-8b4b5a9d]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;border-radius:30px;box-sizing:border-box;transition:background-color .3s ease,box-shadow .3s ease}.grid-overlay.edit-mode-active[data-v-8b4b5a9d]{background-color:#2847fc14;box-shadow:inset 0 0 0 4px #2847fc80}.table-title[data-v-8b4b5a9d]{font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;margin:15px 0 10px;letter-spacing:1px;opacity:.6}.tower-grid[data-v-8b4b5a9d]{display:grid;grid-template-columns:70px 1fr 1fr 1fr;gap:5px;align-items:center;margin-bottom:20px}.podium-grid[data-v-8b4b5a9d]{display:grid;grid-template-columns:90px 1fr 1fr;gap:5px;align-items:center}.grid-header[data-v-8b4b5a9d]{font-family:Roboto Mono,monospace;font-size:.65rem;font-weight:700;opacity:.4}.center[data-v-8b4b5a9d]{text-align:center}.row-label[data-v-8b4b5a9d],.row-label.small[data-v-8b4b5a9d]{font-size:.6rem;font-weight:600;text-transform:uppercase}.mini-input[data-v-8b4b5a9d]{width:100%;border:1px solid rgba(0,0,0,.08);background:#00000005;border-radius:4px;padding:3px;text-align:center;font-size:.8rem}hr[data-v-8b4b5a9d]{margin:20px 0;border:0;border-top:1px solid rgba(0,0,0,.05)}.export-controls-container[data-v-8b4b5a9d]{position:absolute;top:20px;right:20px;display:flex;width:130px;justify-content:space-between;gap:5px;z-index:95}.transform-controls-container[data-v-8b4b5a9d]{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:95}.viewport-btn[data-v-8b4b5a9d]{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:8px 12px;cursor:pointer;font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000014;transition:all .2s ease;letter-spacing:.5px}.viewport-btn[data-v-8b4b5a9d]:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0000001f;background:#f0f0f0}.viewport-btn.active[data-v-8b4b5a9d]{background:#2847fc;color:#fff;border-color:#2847fc}.undo-redo-container[data-v-8b4b5a9d]{position:absolute;top:20px;left:180px;display:flex;gap:6px;z-index:95}.undo-btn[data-v-8b4b5a9d],.redo-btn[data-v-8b4b5a9d]{background:#ffffffe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(0,0,0,.1);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;color:#333;box-shadow:0 4px 12px #0000000d;transition:all .2s ease}.undo-btn[data-v-8b4b5a9d]:hover:not(:disabled),.redo-btn[data-v-8b4b5a9d]:hover:not(:disabled){background:#f2dd1c;transform:translateY(-2px)}.undo-btn[data-v-8b4b5a9d]:disabled,.redo-btn[data-v-8b4b5a9d]:disabled{opacity:.4;cursor:not-allowed}.logo-section[data-v-8b4b5a9d]{text-align:left;margin-bottom:15px}.app-logo[data-v-8b4b5a9d]{max-width:140px;height:auto;margin-bottom:10px}.app-description[data-v-8b4b5a9d]{font-size:.75rem;color:#555;line-height:1.4;font-family:Roboto Mono,monospace}.collision-alert[data-v-8b4b5a9d]{display:flex;justify-content:space-between;align-items:center;background:#ff00000d;border:1px solid rgba(255,0,0,.2);padding:8px 15px;border-radius:8px;margin-top:10px}.collision-alert span[data-v-8b4b5a9d]{font-size:.65rem;font-weight:700;color:#c00;font-family:Roboto Mono,monospace}.resolve-btn[data-v-8b4b5a9d]{background:#c00;color:#fff;border:none;padding:4px 10px;border-radius:4px;font-size:.6rem;font-weight:700;cursor:pointer;font-family:Roboto Mono,monospace;transition:background .2s}.resolve-btn[data-v-8b4b5a9d]:hover{background:#a00}.program-section[data-v-8b4b5a9d]{display:flex;flex-direction:column;gap:0px}.header-row[data-v-8b4b5a9d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.program-row[data-v-8b4b5a9d]{display:flex;align-items:center;gap:5px;position:relative}.program-row .definition-input[data-v-8b4b5a9d]{flex-grow:1}.add-program-btn[data-v-8b4b5a9d],.remove-program-btn[data-v-8b4b5a9d]{border:none;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:center}.add-program-btn[data-v-8b4b5a9d]{background:#f2dd1c;color:#000;width:20px;height:20px;border-radius:4px;font-size:1rem}.remove-program-btn[data-v-8b4b5a9d]{background:transparent;color:#c00;font-size:1.2rem;padding:0 5px;margin-top:4px}.add-program-btn[data-v-8b4b5a9d]:hover{background:#e0cc1b}.remove-program-btn[data-v-8b4b5a9d]:hover{color:red;background:#ff00000d;border-radius:4px}.program-actions[data-v-8b4b5a9d]{display:flex;gap:5px;align-items:center}.randomize-btn[data-v-8b4b5a9d]{background:#f5f5f5;border:1px solid rgba(0,0,0,.1);color:#333;width:20px;height:20px;border-radius:4px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s}.randomize-btn[data-v-8b4b5a9d]:hover{background:#e0e0e0;border-color:#ccc}.tower-tabs[data-v-8b4b5a9d]{display:flex;gap:5px;overflow-x:auto;padding-bottom:5px;margin-bottom:15px;border-bottom:1px solid #eee}.tab-btn[data-v-8b4b5a9d]{background:none;border:none;border-bottom:3px solid transparent;padding:5px 8px;font-family:Roboto Mono,monospace;font-size:.65rem;font-weight:700;cursor:pointer;white-space:nowrap;opacity:.5;transition:all .2s}.tab-btn[data-v-8b4b5a9d]:hover{opacity:.8;background:#00000005}.tab-btn.active[data-v-8b4b5a9d]{opacity:1;color:#000}.no-tower-msg[data-v-8b4b5a9d]{font-size:.7rem;color:#999;text-align:center;padding:20px 0;font-style:italic}.mode-buttons[data-v-8b4b5a9d]{display:flex;gap:5px;margin-top:5px}.mode-buttons button[data-v-8b4b5a9d]{flex:1;padding:6px;border:1px solid rgba(0,0,0,.1);background:#f5f5f5;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.65rem;cursor:pointer;transition:all .2s}.mode-buttons button.active[data-v-8b4b5a9d]{background:#2847fc;color:#fff;font-weight:700;border-color:#2847fc}.mode-buttons button[data-v-8b4b5a9d]:hover:not(.active){background:#e0e0e0}:root{--blue: #1897ff;--darkblue: #007ffd;--pink: #f5a5be;--darkpink: #f35b8b}h3,p{color:#000}
