.visualization-editor{min-height:calc(100vh - 184px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.visualization-editor__topbar{gap:12px;position:sticky;top:0;z-index:18;margin-bottom:14px;padding:8px 16px;border-radius:4px;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.95);backdrop-filter:blur(12px);-webkit-box-shadow:0 2px 8px rgba(15,23,42,.06);box-shadow:0 2px 8px rgba(15,23,42,.06)}.visualization-editor__topbar,.visualization-editor__topbar-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.visualization-editor__topbar-main{gap:10px;min-width:0;-ms-flex-negative:0;flex-shrink:0}.visualization-editor__topbar-title{font-size:15px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.visualization-editor__topbar-center{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.visualization-editor__topbar-select{width:180px}.visualization-editor__topbar-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;-ms-flex-negative:0;flex-shrink:0}.visualization-editor__alert{margin-bottom:16px}.visualization-editor__layout{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1}.visualization-editor__canvas-panel,.visualization-editor__sidebar-card{border-radius:4px;border:1px solid rgba(148,163,184,.16);background:#fff;-webkit-box-shadow:0 10px 24px rgba(15,23,42,.05);box-shadow:0 10px 24px rgba(15,23,42,.05)}.visualization-editor__canvas-panel--full{width:100%}.visualization-editor__canvas-viewport{min-height:820px;overflow:auto;background:-webkit-gradient(linear,left top,left bottom,from(#f8fafc),to(#f1f5f9));background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.visualization-editor__empty-state{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.visualization-editor__empty-state,.visualization-editor__state-box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.visualization-editor__state-box{min-height:760px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.visualization-editor__canvas{position:relative;border-radius:0;border:1px dashed rgba(148,163,184,.42);background-color:#fbfdff;-webkit-box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.72);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.72)}.visualization-editor__widget-shell{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box}.visualization-editor__widget-shell--selected{z-index:20}.visualization-editor__widget-frame{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;overflow:hidden;border:2px solid transparent;border-radius:0;-webkit-transition:border-color .2s ease,-webkit-box-shadow .2s ease,-webkit-transform .2s ease;transition:border-color .2s ease,-webkit-box-shadow .2s ease,-webkit-transform .2s ease;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease,-webkit-box-shadow .2s ease,-webkit-transform .2s ease;cursor:pointer}.visualization-editor__widget-frame,.visualization-editor__widget-handle{display:-webkit-box;display:-ms-flexbox;display:flex;background:#fff;-webkit-box-sizing:border-box;box-sizing:border-box}.visualization-editor__widget-handle{position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;min-height:34px;padding:6px 44px 6px 44px;border-bottom:1px solid rgba(226,232,240,.92);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:move}.visualization-editor__widget-grip{width:38px;height:4px;border-radius:999px;background:rgba(148,163,184,.8);-webkit-box-shadow:0 0 0 1px hsla(0,0%,100%,.72);box-shadow:0 0 0 1px hsla(0,0%,100%,.72)}.visualization-editor__widget-name{max-width:min(60%,320px);font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.visualization-editor__widget-badge{position:absolute;right:10px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-ms-flex-negative:0;flex-shrink:0;padding:2px 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:600}.visualization-editor__widget-preview{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-height:0;overflow:hidden;background:#fff}.visualization-editor__selection-bounds,.visualization-editor__selection-marquee,.visualization-editor__snap-guide{position:absolute;pointer-events:none}.visualization-editor__snap-guide{z-index:22;background:rgba(22,119,255,.88);-webkit-box-shadow:0 0 0 1px hsla(0,0%,100%,.7);box-shadow:0 0 0 1px hsla(0,0%,100%,.7)}.visualization-editor__snap-guide--vertical{width:1px;-webkit-transform:translateX(-.5px);transform:translateX(-.5px)}.visualization-editor__snap-guide--horizontal{height:1px;-webkit-transform:translateY(-.5px);transform:translateY(-.5px)}.visualization-editor__selection-bounds{z-index:24;border:1px solid rgba(22,119,255,.9);-webkit-box-shadow:inset 0 0 0 1px rgba(22,119,255,.12);box-shadow:inset 0 0 0 1px rgba(22,119,255,.12)}.visualization-editor__selection-bounds-label{position:absolute;top:0;left:0;-webkit-transform:translateY(-100%);transform:translateY(-100%);padding:3px 8px;background:#1677ff;color:#fff;font-size:11px;font-weight:700;line-height:1.4}.visualization-editor__selection-marquee{z-index:26;border:1px dashed rgba(22,119,255,.9);background:rgba(22,119,255,.12)}.visualization-editor__context-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1050}.visualization-editor__context-menu{position:fixed;min-width:180px;background:#fff;border:1px solid #e8e8e8;border-radius:4px;-webkit-box-shadow:0 3px 12px rgba(0,0,0,.12);box-shadow:0 3px 12px rgba(0,0,0,.12);padding:4px 0;z-index:1051}.visualization-editor__context-menu-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 12px;font-size:13px;color:#262626;cursor:pointer;-webkit-transition:background .15s;transition:background .15s}.visualization-editor__context-menu-item:hover{background:#f0f5ff}.visualization-editor__context-menu-item--danger{color:#ff4d4f}.visualization-editor__context-menu-item--danger:hover{background:#fff1f0}.visualization-editor__context-menu-item--disabled{color:#bfbfbf;cursor:not-allowed}.visualization-editor__context-menu-item--disabled:hover{background:transparent}.visualization-editor__context-menu-shortcut{margin-left:auto;font-size:11px;color:#8c8c8c}.visualization-editor__context-menu-divider{height:1px;margin:4px 0;background:#f0f0f0}.visualization-editor__sidebar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:18px}.visualization-editor__sidebar-card{padding:18px}.visualization-editor__sidebar-head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px}.visualization-editor__sidebar-title{font-size:16px;font-weight:700;color:#0f172a}.visualization-editor__selected-meta{margin:14px 0 18px;padding:14px;border-radius:4px;background:#f8fafc}.visualization-editor__selected-title{font-size:15px;font-weight:700;color:#0f172a}.visualization-editor__selected-subtitle,.visualization-editor__selected-type{margin-top:4px;color:#64748b;font-size:12px;word-break:break-all}.visualization-editor__field-row{margin-top:12px}.visualization-editor__field-label{margin-bottom:6px;color:#475569;font-size:12px;font-weight:600}.visualization-editor__settings-help{margin-top:6px;color:#64748b;font-size:12px;line-height:1.6}.visualization-editor__switch-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;margin-top:16px}.visualization-editor__switch-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 12px;border-radius:4px;background:#f8fafc;color:#334155}.visualization-editor__layer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.visualization-editor__binding-summary{margin-top:14px;padding:14px;border-radius:4px;background:#f8fafc}.visualization-editor__shared-context-alert{margin:14px 0}.visualization-editor__binding-summary-title{font-size:15px;font-weight:700;color:#0f172a}.visualization-editor__binding-summary-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;margin-top:8px;color:#475569;font-size:12px}.visualization-editor__binding-summary-item strong{color:#0f172a;word-break:break-all;text-align:right}.visualization-editor__binding-chip-list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.visualization-editor__binding-chip{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;line-height:1.4}.visualization-editor__alias-preview-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.visualization-editor__alias-preview-item,.visualization-editor__widget-binding-card{padding:12px;border-radius:4px;background:#f8fafc;border:1px solid rgba(148,163,184,.18)}.visualization-editor__alias-preview-head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:8px;margin-bottom:8px}.visualization-editor__alias-preview-name{font-size:13px;font-weight:700;color:#0f172a}.visualization-editor__alias-preview-desc{color:#64748b;font-size:11px}.visualization-editor__alias-preview-follow{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;color:#334155;font-size:12px}.visualization-editor__alias-preview-select{width:100%}.visualization-editor__alias-preview-hint{margin-top:8px;color:#64748b;font-size:11px;line-height:1.5}.visualization-editor__widget-binding-card+.visualization-editor__widget-binding-card{margin-top:12px}.visualization-editor__widget-binding-title{color:#0f172a;font-size:13px;font-weight:700}.visualization-editor__widget-binding-subtitle{margin-left:6px;color:#64748b;font-size:11px;font-weight:400;word-break:break-all}.visualization-editor__widget-binding-target{margin-top:10px;padding:10px 12px;border-radius:4px;background:#fff;border:1px solid rgba(148,163,184,.18)}.visualization-editor__widget-binding-target-title{color:#0f172a;font-size:13px;font-weight:600}.visualization-editor__widget-binding-target-meta{margin-top:4px;color:#64748b;font-size:12px}.visualization-editor__widget-binding-mode-hint{margin-top:8px;color:#64748b;font-size:12px;line-height:1.5}.visualization-editor__widget-binding-group{margin-top:12px}.visualization-editor__widget-binding-group-title{margin-bottom:8px;color:#475569;font-size:12px;font-weight:600}.visualization-editor__widget-binding-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.visualization-editor__widget-binding-row+.visualization-editor__widget-binding-row{margin-top:8px}.visualization-editor__widget-binding-controls{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}.visualization-editor__widget-binding-kind{width:136px;-ms-flex-negative:0;flex-shrink:0}.visualization-editor__widget-binding-value{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.visualization-editor__widget-binding-label{color:#334155;font-size:12px}.visualization-editor__widget-binding-empty{color:#94a3b8;font-size:12px}.visualization-editor__widget-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;max-height:calc(100vh - 220px);overflow:auto}.visualization-editor__widget-list-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:1px solid rgba(148,163,184,.22);border-radius:4px;background:#fff;text-align:left;-webkit-transition:all .2s ease;transition:all .2s ease}.visualization-editor__widget-list-item--active,.visualization-editor__widget-list-item:hover{border-color:rgba(37,99,235,.45);background:#eff6ff}.visualization-editor__widget-list-title{color:#0f172a;font-size:13px;font-weight:600}.visualization-editor__widget-list-meta{-ms-flex-negative:0;flex-shrink:0;color:#64748b;font-size:11px}.visualization-editor__field-empty{margin-top:8px;color:#94a3b8;font-size:12px}.visualization-editor__palette-alert{margin-top:14px}.visualization-editor__library-modal{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px}.visualization-editor__library-preview{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:14px}.visualization-editor__library-preview-card{padding:16px;border:1px solid rgba(148,163,184,.22);border-radius:4px;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8fafc));background:linear-gradient(180deg,#fff,#f8fafc)}.visualization-editor__library-preview-title{margin-top:14px;color:#0f172a;font-size:16px;font-weight:700}.visualization-editor__library-preview-subtitle{margin-top:6px;color:#64748b;font-size:12px;word-break:break-all}.visualization-editor__library-preview-meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;margin-top:10px;color:#475569;font-size:12px}.visualization-editor__library-preview-description{margin-top:12px;color:#475569;font-size:13px;line-height:1.7}.visualization-editor__library-preview-tags{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-top:12px}.visualization-editor__library-content{min-width:0}.visualization-editor__library-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.visualization-editor__library-search{width:360px;max-width:100%}.visualization-editor__library-count{color:#64748b;font-size:12px}.visualization-editor__bundle-filter-list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px;margin-top:14px}.visualization-editor__bundle-filter{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:8px 12px;border:1px solid rgba(148,163,184,.18);background:#fff;color:#475569;font-size:12px;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.visualization-editor__bundle-filter strong{color:#0f172a;font-size:12px}.visualization-editor__bundle-filter--active,.visualization-editor__bundle-filter:hover{border-color:rgba(37,99,235,.36);background:#eff6ff;color:#1d4ed8}.visualization-editor__library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px;max-height:560px;overflow:auto}.visualization-editor__library-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;width:100%;padding:12px;text-align:left;border:1px solid rgba(148,163,184,.22);border-radius:4px;background:#fff;-webkit-transition:all .2s ease;transition:all .2s ease}.visualization-editor__library-card--active,.visualization-editor__library-card:hover{border-color:rgba(37,99,235,.45);-webkit-box-shadow:0 6px 18px rgba(59,130,246,.12);box-shadow:0 6px 18px rgba(59,130,246,.12)}.visualization-editor__library-card-media{min-height:112px;overflow:hidden}.visualization-editor__library-card-title{color:#0f172a;font-size:13px;font-weight:700}.visualization-editor__library-card-subtitle{color:#64748b;font-size:11px;line-height:1.5;word-break:break-all}.visualization-editor__library-card-description{min-height:38px;color:#475569;font-size:12px;line-height:1.6}.visualization-editor__library-card-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#64748b;font-size:11px}.visualization-editor__widget-shell :deep(.resizable-b),.visualization-editor__widget-shell :deep(.resizable-l),.visualization-editor__widget-shell :deep(.resizable-lb),.visualization-editor__widget-shell :deep(.resizable-lt),.visualization-editor__widget-shell :deep(.resizable-r),.visualization-editor__widget-shell :deep(.resizable-rb),.visualization-editor__widget-shell :deep(.resizable-rt),.visualization-editor__widget-shell :deep(.resizable-t){opacity:0;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}.visualization-editor__widget-shell :deep(.resizable-lb),.visualization-editor__widget-shell :deep(.resizable-lt),.visualization-editor__widget-shell :deep(.resizable-rb),.visualization-editor__widget-shell :deep(.resizable-rt){background:#1677ff;border:2px solid #fff;border-radius:50%;-webkit-box-shadow:0 0 0 1px rgba(15,23,42,.08);box-shadow:0 0 0 1px rgba(15,23,42,.08)}.visualization-editor__widget-shell--selected :deep(.resizable-b),.visualization-editor__widget-shell--selected :deep(.resizable-l),.visualization-editor__widget-shell--selected :deep(.resizable-lb),.visualization-editor__widget-shell--selected :deep(.resizable-lt),.visualization-editor__widget-shell--selected :deep(.resizable-r),.visualization-editor__widget-shell--selected :deep(.resizable-rb),.visualization-editor__widget-shell--selected :deep(.resizable-rt),.visualization-editor__widget-shell--selected :deep(.resizable-t){opacity:1}@media (max-width:1360px){.visualization-editor__library-modal{grid-template-columns:minmax(0,1fr)}}@media (max-width:992px){.visualization-editor__topbar{-ms-flex-wrap:wrap;flex-wrap:wrap}.visualization-editor__topbar-center{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;width:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.visualization-editor__topbar-actions{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.visualization-editor__widget-binding-controls{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.visualization-editor__library-search,.visualization-editor__widget-binding-kind{width:100%}}