.draggable-element[data-v-2170fb74]{position:absolute;background:#4ecdc4;border:2px solid #45b7aa;border-radius:6px;cursor:move;-webkit-user-select:none;user-select:none;transition:box-shadow .2s,border-color .2s;z-index:1}.draggable-element[data-v-2170fb74]:hover{box-shadow:0 4px 12px #00000026;z-index:10}.draggable-element.dragging[data-v-2170fb74]{z-index:1000!important;box-shadow:0 8px 24px #0003;opacity:.9}.draggable-element.resizing[data-v-2170fb74]{z-index:1000!important;box-shadow:0 8px 24px #0003}.draggable-element.selected[data-v-2170fb74]{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b4d}.draggable-element.selected[data-v-2170fb74]:hover{box-shadow:0 4px 12px #00000026,0 0 0 2px #ff6b6b4d}.draggable-element.in-group[data-v-2170fb74]{border-color:#4ecdc4;border-style:solid}.draggable-element.in-group[data-v-2170fb74]:hover{border-color:#45b7aa}.draggable-element .element-content[data-v-2170fb74]{color:#fff;font-weight:500;text-align:center;height:100%;display:flex;align-items:center;justify-content:center;padding:10px}.draggable-element .selection-indicator[data-v-2170fb74]{position:absolute;top:-8px;left:-8px;pointer-events:none}.draggable-element .selection-dot[data-v-2170fb74]{width:16px;height:16px;background:#ff6b6b;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003}.draggable-element .group-indicator[data-v-2170fb74]{position:absolute;top:-8px;right:-8px;pointer-events:none}.draggable-element .group-icon[data-v-2170fb74]{width:16px;height:16px;background:#4ecdc4;border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;box-shadow:0 2px 4px #0003}.draggable-element .size-hint[data-v-2170fb74]{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;pointer-events:none;z-index:1001;white-space:nowrap}.draggable-element .size-hint .size-text[data-v-2170fb74]{font-family:Courier New,monospace}.draggable-element .element-handles[data-v-2170fb74]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.draggable-element .element-handles .resize-handle[data-v-2170fb74]{width:12px;height:12px;background:#fff;border:1px solid #45b7aa;border-radius:2px;cursor:se-resize;position:absolute;pointer-events:auto}.draggable-element .element-handles .resize-handle.n[data-v-2170fb74]{cursor:n-resize;top:-6px;left:50%;transform:translate(-50%)}.draggable-element .element-handles .resize-handle.ne[data-v-2170fb74]{cursor:ne-resize;top:-6px;right:-6px}.draggable-element .element-handles .resize-handle.e[data-v-2170fb74]{cursor:e-resize;top:50%;right:-6px;transform:translateY(-50%)}.draggable-element .element-handles .resize-handle.se[data-v-2170fb74]{cursor:se-resize;bottom:-6px;right:-6px}.draggable-element .element-handles .resize-handle.s[data-v-2170fb74]{cursor:s-resize;bottom:-6px;left:50%;transform:translate(-50%)}.draggable-element .element-handles .resize-handle.sw[data-v-2170fb74]{cursor:sw-resize;bottom:-6px;left:-6px}.draggable-element .element-handles .resize-handle.w[data-v-2170fb74]{cursor:w-resize;top:50%;left:-6px;transform:translateY(-50%)}.draggable-element .element-handles .resize-handle.nw[data-v-2170fb74]{cursor:nw-resize;top:-6px;left:-6px}.performance-panel[data-v-6f75f1c9]{position:absolute;background:#000000d9;color:#fff;border-radius:8px;font-size:12px;z-index:1000;min-width:180px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d;-webkit-user-select:none;user-select:none;transition:all .2s ease}.performance-panel.top-right[data-v-6f75f1c9]{top:10px;right:10px}.performance-panel.top-left[data-v-6f75f1c9]{top:10px;left:10px}.performance-panel.bottom-right[data-v-6f75f1c9]{bottom:10px;right:10px}.performance-panel.bottom-left[data-v-6f75f1c9]{bottom:10px;left:10px}.performance-panel.light[data-v-6f75f1c9]{background:#fffffff2;color:#333;border:1px solid rgba(0,0,0,.1)}.performance-panel.compact .performance-header[data-v-6f75f1c9]{padding:6px 8px}.performance-panel.compact .performance-metrics[data-v-6f75f1c9]{padding:6px 8px;gap:3px}.performance-panel.compact .metric-item[data-v-6f75f1c9]{gap:4px}.performance-panel .performance-header[data-v-6f75f1c9]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:move}.performance-panel .performance-header .panel-title[data-v-6f75f1c9]{font-weight:600;font-size:13px;color:#4ecdc4}.performance-panel .performance-header .close-btn[data-v-6f75f1c9]{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.performance-panel .performance-header .close-btn[data-v-6f75f1c9]:hover{background:#ffffff1a}.performance-panel .performance-metrics[data-v-6f75f1c9]{padding:8px 12px;display:flex;flex-direction:column;gap:4px}.performance-panel .performance-metrics .metric-item[data-v-6f75f1c9]{display:flex;justify-content:space-between;align-items:center;gap:8px}.performance-panel .performance-metrics .metric-item .metric-label[data-v-6f75f1c9]{font-weight:500;opacity:.8;white-space:nowrap}.performance-panel .performance-metrics .metric-item .metric-value[data-v-6f75f1c9]{font-family:Courier New,monospace;font-weight:600;white-space:nowrap}.performance-panel .performance-metrics .metric-item .metric-value.fps-excellent[data-v-6f75f1c9]{color:#4ecdc4}.performance-panel .performance-metrics .metric-item .metric-value.fps-good[data-v-6f75f1c9]{color:#45b7aa}.performance-panel .performance-metrics .metric-item .metric-value.fps-warning[data-v-6f75f1c9]{color:#f39c12}.performance-panel .performance-metrics .metric-item .metric-value.fps-poor[data-v-6f75f1c9]{color:#e74c3c}.performance-panel[data-v-6f75f1c9]:hover{box-shadow:0 6px 16px #0006}@media (max-width: 768px){.performance-panel[data-v-6f75f1c9]{min-width:160px;font-size:11px}.performance-panel .performance-header[data-v-6f75f1c9],.performance-panel .performance-metrics[data-v-6f75f1c9]{padding:6px 8px}}.group-border[data-v-665bd64c]{position:absolute;border:2px dashed #4ecdc4;background:#4ecdc40d;pointer-events:auto;z-index:100}.group-border[data-v-665bd64c]:hover{border-color:#45b7aa;background:#4ecdc41a}.resize-handle[data-v-665bd64c]{width:12px;height:12px;background:#4ecdc4;border:2px solid #fff;border-radius:50%;position:absolute;cursor:pointer;transition:all .2s}.resize-handle[data-v-665bd64c]:hover{background:#45b7aa;transform:scale(1.2)}.resize-handle.n[data-v-665bd64c]{cursor:n-resize;top:-6px;left:50%;transform:translate(-50%)}.resize-handle.ne[data-v-665bd64c]{cursor:ne-resize;top:-6px;right:-6px}.resize-handle.e[data-v-665bd64c]{cursor:e-resize;top:50%;right:-6px;transform:translateY(-50%)}.resize-handle.se[data-v-665bd64c]{cursor:se-resize;bottom:-6px;right:-6px}.resize-handle.s[data-v-665bd64c]{cursor:s-resize;bottom:-6px;left:50%;transform:translate(-50%)}.resize-handle.sw[data-v-665bd64c]{cursor:sw-resize;bottom:-6px;left:-6px}.resize-handle.w[data-v-665bd64c]{cursor:w-resize;top:50%;left:-6px;transform:translateY(-50%)}.resize-handle.nw[data-v-665bd64c]{cursor:nw-resize;top:-6px;left:-6px}.group-info[data-v-665bd64c]{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none}.group-count[data-v-665bd64c]{font-family:Courier New,monospace}.selection-box[data-v-7f19b5bb]{position:absolute;border:2px dashed #4ecdc4;background:#4ecdc41a;pointer-events:none;z-index:50;border-radius:2px;animation:selectionBoxFade-7f19b5bb .2s ease-out}@keyframes selectionBoxFade-7f19b5bb{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.context-menu[data-v-8a0939e9]{position:fixed;z-index:10000;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;-webkit-user-select:none;user-select:none}.menu-header[data-v-8a0939e9]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #eee;background:#f8f9fa;border-radius:8px 8px 0 0}.menu-title[data-v-8a0939e9]{font-weight:500;color:#333}.close-btn[data-v-8a0939e9]{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-btn[data-v-8a0939e9]:hover{background:#e9ecef;color:#333}.menu-content[data-v-8a0939e9]{padding:4px 0}.menu-item[data-v-8a0939e9]{display:flex;align-items:center;padding:8px 12px;cursor:pointer;transition:background-color .2s}.menu-item[data-v-8a0939e9]:hover{background:#f8f9fa}.menu-item.danger[data-v-8a0939e9]{color:#dc3545}.menu-item.danger[data-v-8a0939e9]:hover{background:#f8d7da}.menu-icon[data-v-8a0939e9]{margin-right:8px;font-size:16px;width:20px;text-align:center}.menu-text[data-v-8a0939e9]{color:#333}.menu-divider[data-v-8a0939e9]{height:1px;background:#eee;margin:4px 0}.optimized-free-layout-workspace[data-v-bafbe2d1]{position:relative;width:100%;height:100%;overflow:auto;background:#fff}.optimized-free-layout-workspace .grid[data-v-bafbe2d1]{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(0,0,0,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.1) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:1}.optimized-free-layout-workspace .snap-lines[data-v-bafbe2d1]{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10}.optimized-free-layout-workspace .snap-lines .snap-line[data-v-bafbe2d1]{position:absolute;background:#ff6b6b;opacity:.8}.optimized-free-layout-workspace .snap-lines .snap-line.horizontal[data-v-bafbe2d1]{height:2px;margin-top:-1px}.optimized-free-layout-workspace .snap-lines .snap-line.vertical[data-v-bafbe2d1]{width:2px;margin-left:-1px}.optimized-free-layout-workspace .virtualized-container[data-v-bafbe2d1]{position:relative;z-index:2}.optimized-free-layout-workspace .performance-panel[data-v-bafbe2d1]{position:absolute;top:10px;right:10px;background:#000c;color:#fff;padding:12px;border-radius:6px;font-size:12px;z-index:1000;min-width:150px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.optimized-free-layout-workspace .performance-panel .performance-metrics[data-v-bafbe2d1]{display:flex;flex-direction:column;gap:6px}.optimized-free-layout-workspace .performance-panel .performance-metrics span[data-v-bafbe2d1]{white-space:nowrap;font-family:Courier New,monospace;font-weight:500}.optimized-free-layout-workspace .performance-panel .performance-metrics span[data-v-bafbe2d1]:first-child{font-weight:700;color:#4ecdc4}.optimized-free-layout-app[data-v-fc5fda0b]{height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.optimized-free-layout-app .header[data-v-fc5fda0b]{padding:20px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.optimized-free-layout-app .header h1[data-v-fc5fda0b]{margin:0;color:#333}.optimized-free-layout-app .header .controls[data-v-fc5fda0b]{display:flex;gap:10px;flex-wrap:wrap}.optimized-free-layout-app .header .controls button[data-v-fc5fda0b]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px}.optimized-free-layout-app .header .controls button[data-v-fc5fda0b]:hover{background:#f0f0f0;border-color:#ccc}.optimized-free-layout-app .header .controls button.test-btn[data-v-fc5fda0b]{background:#4ecdc4;color:#fff;border-color:#4ecdc4}.optimized-free-layout-app .header .controls button.test-btn[data-v-fc5fda0b]:hover{background:#45b7aa;border-color:#45b7aa}.optimized-free-layout-app .header .controls button.config-btn[data-v-fc5fda0b]{background:#ff6b6b;color:#fff;border-color:#ff6b6b}.optimized-free-layout-app .header .controls button.config-btn[data-v-fc5fda0b]:hover{background:#ff5252;border-color:#ff5252}.optimized-free-layout-app .workspace-container[data-v-fc5fda0b]{flex:1;position:relative}.optimized-free-layout-app .status[data-v-fc5fda0b]{padding:10px 20px;background:#fff;border-top:1px solid #e0e0e0;display:flex;gap:20px;font-size:14px;color:#666;flex-wrap:wrap}.optimized-free-layout-app .config-panel[data-v-fc5fda0b]{position:absolute;top:20px;left:20px;background:#fffffff2;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 4px 12px #0000001a;z-index:1000;max-width:300px}.optimized-free-layout-app .config-panel h3[data-v-fc5fda0b]{margin:0 0 15px;color:#333;font-size:16px}.optimized-free-layout-app .config-panel .config-items[data-v-fc5fda0b]{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.optimized-free-layout-app .config-panel .config-items label[data-v-fc5fda0b]{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.optimized-free-layout-app .config-panel .config-items label input[type=checkbox][data-v-fc5fda0b]{margin:0}.optimized-free-layout-app .config-panel .config-items label input[type=number][data-v-fc5fda0b]{width:60px;padding:4px;border:1px solid #ddd;border-radius:4px;margin-left:auto}.optimized-free-layout-app .custom-element-content[data-v-fc5fda0b]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff}.optimized-free-layout-app .custom-element-content .element-title[data-v-fc5fda0b]{font-weight:600;font-size:14px;margin-bottom:4px}.optimized-free-layout-app .custom-element-content .element-info[data-v-fc5fda0b]{font-size:12px;opacity:.8}.free-layout-workspace[data-v-6149066f]{position:relative;width:100%;height:100%;overflow:hidden;background:#fff;outline:none;cursor:default;pointer-events:auto}.free-layout-workspace .grid[data-v-6149066f]{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(0,0,0,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.1) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.free-layout-workspace .snap-lines[data-v-6149066f]{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10}.free-layout-workspace .snap-lines .snap-line[data-v-6149066f]{position:absolute;background:#ff6b6b;opacity:.8}.free-layout-workspace .snap-lines .snap-line.horizontal[data-v-6149066f]{height:2px;margin-top:-1px}.free-layout-workspace .snap-lines .snap-line.vertical[data-v-6149066f]{width:2px;margin-left:-1px}.selection-group-demo[data-v-fa6c1f0d]{display:flex;flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.toolbar[data-v-fa6c1f0d]{padding:20px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.toolbar h2[data-v-fa6c1f0d]{margin:0 0 15px;color:#333}.toolbar .toolbar-controls[data-v-fa6c1f0d]{display:flex;gap:10px;margin-bottom:15px}.toolbar .toolbar-controls .btn[data-v-fa6c1f0d]{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.toolbar .toolbar-controls .btn[data-v-fa6c1f0d]:hover{background:#0056b3}.toolbar .instructions[data-v-fa6c1f0d]{background:#fff;padding:15px;border-radius:6px;border:1px solid #e9ecef}.toolbar .instructions p[data-v-fa6c1f0d]{margin:0 0 10px;color:#495057}.toolbar .instructions ul[data-v-fa6c1f0d]{margin:0;padding-left:20px;color:#6c757d}.toolbar .instructions ul li[data-v-fa6c1f0d]{margin-bottom:5px}.toolbar .instructions ul li strong[data-v-fa6c1f0d]{color:#495057}.workspace-container[data-v-fa6c1f0d]{flex:1;position:relative;overflow:hidden}.status-panel[data-v-fa6c1f0d]{padding:15px 20px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:30px}.status-panel .status-item[data-v-fa6c1f0d]{display:flex;align-items:center;gap:8px}.status-panel .status-item .label[data-v-fa6c1f0d]{font-weight:500;color:#495057}.status-panel .status-item .value[data-v-fa6c1f0d]{color:#007bff;font-weight:600}.app-container[data-v-c939c808]{height:100vh;display:flex;flex-direction:column}.app-header[data-v-c939c808]{background:#2c3e50;color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.app-header h1[data-v-c939c808]{margin:0;font-size:24px;font-weight:600}.app-header .app-nav[data-v-c939c808]{display:flex;gap:10px}.app-header .app-nav .nav-btn[data-v-c939c808]{padding:10px 20px;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.app-header .app-nav .nav-btn[data-v-c939c808]:hover{background:#ffffff1a;border-color:#ffffff80}.app-header .app-nav .nav-btn.active[data-v-c939c808]{background:#3498db;border-color:#3498db}.app-content[data-v-c939c808]{flex:1;overflow:hidden}.custom-element-content[data-v-c939c808]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff}.custom-element-content .element-title[data-v-c939c808]{font-weight:600;font-size:14px;margin-bottom:4px}.custom-element-content .element-info[data-v-c939c808]{font-size:12px;opacity:.8}
