mce 0.24.4 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/README.md +302 -4
  2. package/dist/components/EditorPanels.vue.d.ts +6 -0
  3. package/dist/components/Interactions.vue.d.ts +3 -0
  4. package/dist/components/Selection.vue.d.ts +20 -20
  5. package/dist/components/shared/Cropper.vue.d.ts +5 -1
  6. package/dist/components/shared/Dialog.vue.d.ts +33 -38
  7. package/dist/components/shared/FloatPanel.vue.d.ts +4 -2
  8. package/dist/components/shared/LayoutItem.vue.d.ts +29 -0
  9. package/dist/components/shared/PanelContent.vue.d.ts +29 -0
  10. package/dist/components/shared/Transform.vue.d.ts +1 -1
  11. package/dist/components/timeline/EasingCurve.vue.d.ts +11 -0
  12. package/dist/components/timeline/KeyframePopover.vue.d.ts +3 -0
  13. package/dist/crdt/YDoc.d.ts +39 -2
  14. package/dist/crdt/YDoc.test.d.ts +1 -0
  15. package/dist/crdt/index.d.ts +3 -0
  16. package/dist/crdt/providers/indexeddb/IndexeddbProvider.d.ts +3 -1
  17. package/dist/crdt/reactivity.d.ts +27 -0
  18. package/dist/crdt/reactivity.test.d.ts +1 -0
  19. package/dist/crdt/vueReactivity.d.ts +8 -0
  20. package/dist/index.css +1 -1
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.js +10433 -9049
  23. package/dist/locale/en.d.ts +51 -9
  24. package/dist/locale/zh-Hans.d.ts +51 -9
  25. package/dist/mixins/0.context.d.ts +8 -0
  26. package/dist/mixins/extensions.d.ts +105 -0
  27. package/dist/mixins/panels.d.ts +46 -0
  28. package/dist/plugin.d.ts +14 -0
  29. package/dist/plugins/animate.d.ts +40 -0
  30. package/dist/plugins/components.d.ts +32 -0
  31. package/dist/plugins/flexLayout.d.ts +15 -0
  32. package/dist/plugins/history.d.ts +2 -0
  33. package/dist/plugins/interactions.d.ts +44 -0
  34. package/dist/plugins/shape.d.ts +0 -4
  35. package/dist/plugins/slice.d.ts +10 -0
  36. package/dist/plugins/smartGuides.d.ts +2 -2
  37. package/dist/plugins/timeline.d.ts +17 -0
  38. package/dist/plugins/toolbelt.d.ts +4 -0
  39. package/dist/plugins/variables.d.ts +27 -0
  40. package/dist/plugins/zoom.d.ts +2 -0
  41. package/dist/scene/Doc.d.ts +13 -1
  42. package/dist/typed-global.d.ts +6 -2
  43. package/dist/typed-plugins.d.ts +6 -3
  44. package/dist/utils/animationPresets.d.ts +27 -0
  45. package/dist/utils/components.d.ts +33 -0
  46. package/dist/utils/components.test.d.ts +1 -0
  47. package/dist/utils/create.d.ts +1 -15
  48. package/dist/utils/easing.d.ts +23 -0
  49. package/dist/utils/easing.test.d.ts +1 -0
  50. package/dist/utils/image.d.ts +6 -0
  51. package/dist/utils/index.d.ts +8 -1
  52. package/dist/utils/keyframes.d.ts +31 -0
  53. package/dist/utils/keyframes.test.d.ts +1 -0
  54. package/dist/utils/lottie.d.ts +27 -0
  55. package/dist/utils/lottie.test.d.ts +1 -0
  56. package/dist/utils/remapTextSelection.d.ts +23 -0
  57. package/dist/utils/remapTextSelection.test.d.ts +1 -0
  58. package/dist/utils/traverse.d.ts +9 -0
  59. package/dist/utils/variables.d.ts +58 -0
  60. package/dist/utils/variables.test.d.ts +1 -0
  61. package/package.json +4 -8
  62. package/dist/plugins/html.d.ts +0 -2
  63. package/dist/plugins/table.d.ts +0 -2
  64. package/dist/plugins/workflow.d.ts +0 -31
  65. package/dist/utils/table.d.ts +0 -93
  66. package/dist/utils/workflow.d.ts +0 -9
  67. /package/dist/components/{TableEditor.vue.d.ts → Components.vue.d.ts} +0 -0
  68. /package/dist/components/{Workflow.vue.d.ts → InteractionBadges.vue.d.ts} +0 -0
  69. /package/dist/utils/{smartGuides-geometry.d.ts → smartGuidesGeometry.d.ts} +0 -0
@@ -1,65 +1,60 @@
1
- declare function updateLocation(): void;
2
- declare var __VLS_10: {
1
+ declare var __VLS_1: {
3
2
  props: {
4
- ref: (el: any) => any;
3
+ onClick: () => boolean;
5
4
  };
6
5
  isActive: boolean;
7
- }, __VLS_12: {};
6
+ }, __VLS_15: {};
8
7
  type __VLS_Slots = {} & {
9
- activator?: (props: typeof __VLS_10) => any;
8
+ activator?: (props: typeof __VLS_1) => any;
10
9
  } & {
11
- default?: (props: typeof __VLS_12) => any;
10
+ default?: (props: typeof __VLS_15) => any;
12
11
  };
13
12
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
14
- location: import("vue").PropType<import("@floating-ui/vue").Side | import("@floating-ui/vue").AlignedPlacement>;
15
- offset: NumberConstructor;
16
- middlewares: {
17
- type: import("vue").PropType<("offset" | "flip" | "shift")[]>;
18
- default: () => string[];
13
+ /** 持久化:点击遮罩 / Esc 不关闭。 */
14
+ persistent: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
19
17
  };
20
- target: import("vue").PropType<{
21
- x: number;
22
- y: number;
23
- } | import("@floating-ui/vue").ReferenceElement>;
18
+ /** 对话框宽度(CSS 值),默认自适应内容。 */
19
+ width: {
20
+ type: StringConstructor;
21
+ default: undefined;
22
+ };
23
+ /** Teleport 目标。默认挂到编辑器 overlay 容器(继承风格变量),否则 body。 */
24
24
  attach: {
25
- type: import("vue").PropType<string | boolean | Element | null | undefined>;
25
+ type: () => string | HTMLElement | false;
26
26
  default: undefined;
27
27
  };
28
- contentClass: import("vue").PropType<any>;
29
- contentStyle: import("vue").PropType<import("vue").CSSProperties>;
30
28
  modelValue: {
31
29
  type: import("vue").PropType<boolean>;
32
30
  };
33
- }>, {
34
- isActive: import("vue").ModelRef<boolean | undefined, string, boolean | undefined, boolean | undefined>;
35
- updateLocation: typeof updateLocation;
36
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
- "update:modelValue": (value: boolean | undefined) => any;
31
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
32
+ "update:modelValue": (value: boolean) => any;
38
33
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
- location: import("vue").PropType<import("@floating-ui/vue").Side | import("@floating-ui/vue").AlignedPlacement>;
40
- offset: NumberConstructor;
41
- middlewares: {
42
- type: import("vue").PropType<("offset" | "flip" | "shift")[]>;
43
- default: () => string[];
34
+ /** 持久化:点击遮罩 / Esc 不关闭。 */
35
+ persistent: {
36
+ type: BooleanConstructor;
37
+ default: boolean;
38
+ };
39
+ /** 对话框宽度(CSS 值),默认自适应内容。 */
40
+ width: {
41
+ type: StringConstructor;
42
+ default: undefined;
44
43
  };
45
- target: import("vue").PropType<{
46
- x: number;
47
- y: number;
48
- } | import("@floating-ui/vue").ReferenceElement>;
44
+ /** Teleport 目标。默认挂到编辑器 overlay 容器(继承风格变量),否则 body。 */
49
45
  attach: {
50
- type: import("vue").PropType<string | boolean | Element | null | undefined>;
46
+ type: () => string | HTMLElement | false;
51
47
  default: undefined;
52
48
  };
53
- contentClass: import("vue").PropType<any>;
54
- contentStyle: import("vue").PropType<import("vue").CSSProperties>;
55
49
  modelValue: {
56
50
  type: import("vue").PropType<boolean>;
57
51
  };
58
52
  }>> & Readonly<{
59
- "onUpdate:modelValue"?: ((value: boolean | undefined) => any) | undefined;
53
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
60
54
  }>, {
61
- attach: string | boolean | Element | null | undefined;
62
- middlewares: ("flip" | "shift" | "offset")[];
55
+ width: string;
56
+ attach: string | false | HTMLElement;
57
+ persistent: boolean;
63
58
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
64
59
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
65
60
  declare const _default: typeof __VLS_export;
@@ -1,5 +1,7 @@
1
1
  import type { OrientedBoundingBox } from '../../types';
2
2
  type __VLS_Props = {
3
+ /** 面板唯一标识,接入面板状态源(层叠 / 位置记忆)。 */
4
+ name: string;
3
5
  title?: string;
4
6
  defaultTransform?: Partial<OrientedBoundingBox>;
5
7
  };
@@ -7,11 +9,11 @@ type __VLS_ModelProps = {
7
9
  modelValue?: boolean;
8
10
  };
9
11
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
- declare var __VLS_23: {
12
+ declare var __VLS_10: {
11
13
  isActive: import("vue").ModelRef<boolean | undefined, string, boolean | undefined, boolean | undefined>;
12
14
  };
13
15
  type __VLS_Slots = {} & {
14
- default?: (props: typeof __VLS_23) => any;
16
+ default?: (props: typeof __VLS_10) => any;
15
17
  };
16
18
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
19
  "update:modelValue": (value: boolean | undefined) => any;
@@ -28,6 +28,19 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
28
28
  type: BooleanConstructor;
29
29
  default: boolean;
30
30
  };
31
+ /** 是否允许拖拽分隔条调整尺寸(细条类面板如 statusbar 关闭)。 */
32
+ resizable: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ minSize: {
37
+ type: NumberConstructor;
38
+ default: number;
39
+ };
40
+ maxSize: {
41
+ type: NumberConstructor;
42
+ default: undefined;
43
+ };
31
44
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
32
45
  name: {
33
46
  type: StringConstructor;
@@ -53,9 +66,25 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
53
66
  type: BooleanConstructor;
54
67
  default: boolean;
55
68
  };
69
+ /** 是否允许拖拽分隔条调整尺寸(细条类面板如 statusbar 关闭)。 */
70
+ resizable: {
71
+ type: BooleanConstructor;
72
+ default: boolean;
73
+ };
74
+ minSize: {
75
+ type: NumberConstructor;
76
+ default: number;
77
+ };
78
+ maxSize: {
79
+ type: NumberConstructor;
80
+ default: undefined;
81
+ };
56
82
  }>> & Readonly<{}>, {
57
83
  size: string | number;
58
84
  style: string | Record<string, any> | unknown[];
85
+ resizable: boolean;
86
+ minSize: number;
87
+ maxSize: number;
59
88
  order: string | number;
60
89
  modelValue: boolean;
61
90
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,29 @@
1
+ type __VLS_Props = {
2
+ title?: string;
3
+ /** 是否显示关闭按钮(点击触发 close)。 */
4
+ closable?: boolean;
5
+ /** 内容区是否加统一内边距(默认不加,由各面板自管)。 */
6
+ padded?: boolean;
7
+ };
8
+ declare var __VLS_15: {};
9
+ type __VLS_Slots = {} & {
10
+ default?: (props: typeof __VLS_15) => any;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
+ close: () => any;
14
+ headerPointerdown: (event: PointerEvent) => any;
15
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ onClose?: (() => any) | undefined;
17
+ onHeaderPointerdown?: ((event: PointerEvent) => any) | undefined;
18
+ }>, {
19
+ closable: boolean;
20
+ padded: boolean;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
25
+ type __VLS_WithSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -73,10 +73,10 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
73
73
  scale: [number, number];
74
74
  threshold: number;
75
75
  ui: boolean;
76
+ resizeStrategy: "free" | "lockAspectRatio";
76
77
  movable: boolean;
77
78
  rotatable: boolean;
78
79
  resizable: boolean;
79
- resizeStrategy: "free" | "lockAspectRatio";
80
80
  tag: string | any;
81
81
  lockAspectRatioStrategy: "all" | "diagonal";
82
82
  handleShape: "rect" | "circle";
@@ -0,0 +1,11 @@
1
+ import type { EasingCoords } from '../../utils';
2
+ type __VLS_Props = {
3
+ modelValue: EasingCoords;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (coords: EasingCoords) => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ "onUpdate:modelValue"?: ((coords: EasingCoords) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -1,12 +1,34 @@
1
1
  import type { CoreObject } from 'modern-canvas';
2
2
  import type { ObservableEvents } from 'modern-idoc';
3
3
  import type { Transaction } from 'yjs';
4
+ import type { Reactivity } from './reactivity';
4
5
  import { Node } from 'modern-canvas';
5
6
  import { Observable } from 'modern-idoc';
6
7
  import * as Y from 'yjs';
7
8
  import { IndexeddbProvider } from './providers';
9
+ /**
10
+ * 本地编辑产生的事务来源:进入 UndoManager,并向远端广播。
11
+ */
12
+ export declare const LOCAL_ORIGIN: unique symbol;
13
+ /**
14
+ * 内部回放(把远端 / 撤销变更应用到视图)产生的事务来源:不进入 UndoManager,
15
+ * observe 回调据此跳过回写,避免本地↔yjs 回环。
16
+ */
17
+ export declare const INTERNAL_ORIGIN: unique symbol;
18
+ /**
19
+ * Element2D 上需要逐键代理同步的 CoreObject 子对象。
20
+ *
21
+ * **必须是「全集」而非按内容推导**:即便某子对象当前为空(如未连线的 connection),也要建好
22
+ * 代理,否则对端后续往该子对象写入将无法同步。漏一项即是一类静默 bug(connection 曾因漏列导致
23
+ * 连线在对端丢失)。
24
+ *
25
+ * **单一事实来源 = 引擎 Element2D.toJSON() 序列化的子对象集**(modern-canvas)。两处独立硬编码
26
+ * 会漂移,故此处集中定义,并由 YDoc.test.ts 的「子对象覆盖完整」用例对账:引擎新增子对象时测试失败,
27
+ * 提示在此补列。注:`filter` 在 TS 接口里但不被 toJSON 序列化、也非独立 CoreObject,故不在此列。
28
+ */
29
+ export declare const ELEMENT2D_SYNCED_SUBOBJECTS: readonly ["style", "background", "shape", "fill", "outline", "text", "foreground", "shadow", "table", "chart", "comments", "connection"];
8
30
  export type YNode = Y.Map<unknown> & {
9
- get: ((prop: 'id') => string) & ((prop: 'name') => string) & ((prop: 'parentId') => string) & ((prop: 'style') => Y.Map<unknown>) & ((prop: 'background') => Y.Map<unknown>) & ((prop: 'shape') => Y.Map<unknown>) & ((prop: 'fill') => Y.Map<unknown>) & ((prop: 'outline') => Y.Map<unknown>) & ((prop: 'text') => Y.Map<unknown>) & ((prop: 'foreground') => Y.Map<unknown>) & ((prop: 'shadow') => Y.Map<unknown>) & ((prop: 'meta') => Y.Map<unknown>) & ((prop: 'childrenIds') => Y.Array<string>) & (<T = unknown>(prop: string) => T);
31
+ get: ((prop: 'id') => string) & ((prop: 'name') => string) & ((prop: 'parentId') => string) & ((prop: 'style') => Y.Map<unknown>) & ((prop: 'background') => Y.Map<unknown>) & ((prop: 'shape') => Y.Map<unknown>) & ((prop: 'fill') => Y.Map<unknown>) & ((prop: 'outline') => Y.Map<unknown>) & ((prop: 'text') => Y.Map<unknown>) & ((prop: 'foreground') => Y.Map<unknown>) & ((prop: 'shadow') => Y.Map<unknown>) & ((prop: 'comments') => Y.Map<unknown>) & ((prop: 'meta') => Y.Map<unknown>) & ((prop: 'childrenIds') => Y.Array<string>) & (<T = unknown>(prop: string) => T);
10
32
  };
11
33
  export interface YDocEvents extends ObservableEvents {
12
34
  history: [arg0: Y.UndoManager];
@@ -26,9 +48,13 @@ export declare class YDoc extends Observable {
26
48
  _yChildren: Y.Map<YNode>;
27
49
  _yChildrenIds: Y.Array<string>;
28
50
  _nodeMap: Map<string, Node>;
51
+ /** 远端子节点顺序变更先于节点创建到达时,挂起的 move 操作,按 childId 暂存。 */
52
+ _pendingInserts: Map<string, Set<() => void>>;
29
53
  indexeddb?: IndexeddbProvider;
30
54
  undoManager: Y.UndoManager;
31
- constructor(id?: string);
55
+ /** 响应式适配器:解耦 Vue。运行时由上层注入 Vue 实现,测试 / headless 用 rawReactivity。 */
56
+ protected _rx: Reactivity;
57
+ constructor(id?: string, reactivity?: Reactivity);
32
58
  protected _isSelfTransaction(transaction?: Y.Transaction): boolean;
33
59
  protected _initUndoManager(typeScope?: any[]): void;
34
60
  loadIndexeddb(): Promise<void>;
@@ -43,4 +69,15 @@ export declare class YDoc extends Observable {
43
69
  protected _proxyChildren(node: Node, childrenIds: Y.Array<string>): void;
44
70
  _proxyNode(node: Node, yNode?: YNode, yChildrenIds?: Y.Array<string>): Node;
45
71
  protected _initYNode(yNode: YNode): Node;
72
+ /** 节点就绪后消费此前因节点缺失而挂起的 move 操作。 */
73
+ protected _flushPendingInserts(id: string): void;
74
+ /**
75
+ * 应用远端增量。origin 必须区别于 LOCAL/INTERNAL,使变更刷新到视图且不进入本端 undo 栈;
76
+ * 默认用 provider/调用方实例做 origin(这里用 this 兜底)。
77
+ */
78
+ applyUpdate(update: Uint8Array, origin?: unknown): void;
79
+ /** 导出相对 targetStateVector 的差量(不传则全量),用于新端初始同步握手。 */
80
+ encodeStateAsUpdate(targetStateVector?: Uint8Array): Uint8Array;
81
+ /** 导出本端状态向量,与对端交换以计算差量。 */
82
+ encodeStateVector(): Uint8Array;
46
83
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1,4 @@
1
+ export * from './providers';
2
+ export * from './reactivity';
3
+ export * from './vueReactivity';
1
4
  export * from './YDoc';
@@ -21,7 +21,9 @@ export declare class IndexeddbProvider extends Observable<IndexeddbProviderEvent
21
21
  _storeTimeout: number;
22
22
  _storeTimeoutId: any;
23
23
  _storeUpdate: (update: Uint8Array, origin: any) => void;
24
- constructor(name: string, doc: Y.Doc);
24
+ /** 累积多少条增量后做一次全量快照压缩(compaction)。越小库越小但全量重写越频繁。 */
25
+ trimSize: number;
26
+ constructor(name: string, doc: Y.Doc, trimSize?: number);
25
27
  destroy(): Promise<void>;
26
28
  clearData(): Promise<void>;
27
29
  get<T = any>(key: IDBValidKey): Promise<T>;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 响应式适配器:把 CRDT 核心层(YDoc)与具体的响应式框架(Vue)解耦。
3
+ *
4
+ * 动机:原 `YDoc` 直接 `import { reactive, markRaw, isReactive } from 'vue'`,使数据层硬绑 Vue,
5
+ * 既无法在非 Vue / 纯 Node 环境下测试,也让「Yjs 数据」与「视图响应式」两个关注点纠缠在一起。
6
+ * 抽成接口后:
7
+ * - CRDT 层只依赖 {@link Reactivity} 接口,不 import vue;
8
+ * - 运行时由上层(scene/Doc)注入真实的 Vue 适配器 —— 行为与原来完全一致;
9
+ * - 测试 / headless 场景注入 {@link rawReactivity} —— 走纯数据路径,零响应式开销。
10
+ */
11
+ export interface Reactivity {
12
+ /** 包装为响应式代理(Vue: reactive)。raw 模式下原样返回。 */
13
+ reactive: <T extends object>(target: T) => T;
14
+ /** 判断是否已是响应式代理。raw 模式下恒为 true,使「按需包装」逻辑跳过包装。 */
15
+ isReactive: (value: unknown) => boolean;
16
+ /** 标记对象不被响应式系统代理(Vue: markRaw)。raw 模式下原样返回。 */
17
+ markRaw: <T extends object>(value: T) => T;
18
+ /** 取回响应式代理背后的原始对象(Vue: toRaw)。raw 模式下原样返回。 */
19
+ toRaw: <T>(value: T) => T;
20
+ }
21
+ /**
22
+ * 无响应式实现:纯数据层,不做任何包装。
23
+ * - `isReactive` 恒 true,让 `if (!isReactive(node)) wrap(node)` 这类逻辑直接跳过;
24
+ * - 其余均为恒等函数。
25
+ * 用于单元测试与非 Vue 宿主环境。
26
+ */
27
+ export declare const rawReactivity: Reactivity;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { Reactivity } from './reactivity';
2
+ /**
3
+ * Vue 响应式适配器:把 Vue 的 reactive/markRaw/isReactive/toRaw 适配为 {@link Reactivity} 接口。
4
+ *
5
+ * 这是「Vue 绑定」模块——唯一 import vue 的 CRDT 文件。核心 {@link YDoc} 不依赖它,
6
+ * 由上层(scene/Doc)显式注入,从而保持数据层框架无关、可在 headless 下测试。
7
+ */
8
+ export declare const vueReactivity: Reactivity;
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .m-icon{font-feature-settings:"liga";letter-spacing:normal;height:1em;opacity:var(--m-icon-opacity,1);text-indent:0;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;justify-content:center;align-items:center;width:1em;min-width:1em;line-height:1;display:inline-flex;position:relative}.m-icon__svg{fill:currentColor;width:100%;height:100%}.m-frame{position:absolute}.m-frame--outline{outline:1px solid #0000002b}.m-frame--lock{pointer-events:none}.m-frame--hover .m-frame__name>div,.m-frame--selected .m-frame__name>div{opacity:1}.m-frame__name{transform-origin:0 100%;pointer-events:auto;-webkit-user-select:none;user-select:none;max-width:100%;font-size:.75rem;line-height:1.5;position:absolute;top:0;left:0;transform:translateY(-100%)translateY(-4px)}.m-frame__name>div{box-sizing:content-box;min-width:28px;color:rgb(var(--m-theme-on-surface));opacity:.5;white-space:nowrap;text-overflow:ellipsis;max-width:100%;position:relative;overflow:hidden}.m-frame__name>input{outline:1px solid rgb(var(--m-theme-primary));cursor:default;width:100%;height:100%;font-size:inherit;font-weight:inherit;border:none;border-radius:2px;padding:0;position:absolute;top:0;left:0}.m-frames{position:absolute;inset:0}.m-hover{color:rgba(var(--m-theme-primary), 1);border-style:solid;border-width:2px;position:absolute}.m-btn{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:.75rem;display:flex}.m-btn:hover{color:rgb(var(--m-theme-on-background));background:rgb(var(--m-theme-background))}.m-btn--icon{width:24px;height:24px}.m-btn.m-btn--active{color:rgb(var(--m-theme-on-primary));background:rgb(var(--m-theme-primary))}.m-layer{height:32px;padding-left:var(--indent-padding,0);border-radius:4px;flex:none;align-items:center;width:100%;min-width:max-content;font-size:.75rem;display:flex;position:relative}.m-layer__underlay,.m-layer__overlay{pointer-events:none;border-radius:inherit;position:absolute;inset:4px 0 4px 12px}.m-layer__underlay{background-color:var(--underlay-color,transparent)}.m-layer__overlay{background-color:var(--overlay-color,transparent)}.m-layer--root{font-weight:700}.m-layer--root .m-layer__thumbnail{display:none}.m-layer--hover{--overlay-color:rgba(var(--m-theme-on-background), var(--m-hover-opacity))}.m-layer--active{--underlay-color:rgba(var(--m-theme-primary), calc(var(--m-activated-opacity) * 2))}.m-layer--active:hover{--overlay-color:rgba(var(--m-theme-primary), calc(var(--m-hover-opacity) * 2))}.m-layer--active .m-layer__underlay{border-radius:0;top:0;bottom:0}.m-layer--active:not(.m-layer--active+.m-layer--active) .m-layer__underlay{border-top-left-radius:4px;border-top-right-radius:4px;top:4px}.m-layer--active:not(:has(+.m-layer--active)) .m-layer__underlay{border-bottom-right-radius:4px;border-bottom-left-radius:4px;bottom:4px}.m-layer--selected{--underlay-color:rgba(var(--m-theme-primary), calc(var(--m-activated-opacity) * 3))}.m-layer--open .m-layer__prepend .m-icon{transform:rotate(90deg)}.m-layer__arrow{opacity:.6;margin-left:2px}.m-layer__prepend{flex:none;align-items:center;width:16px;height:100%;display:flex}.m-layer--dropping .m-layer__content:after{content:"";background-color:rgb(var(--m-theme-on-background));pointer-events:none;border-radius:inherit;height:2px;position:absolute;bottom:0;left:0;right:0}.m-layer__content{flex:1;align-items:center;height:100%;display:flex;position:relative}.m-layer__thumbnail{align-items:center;width:12px;height:100%;margin-right:4px;font-size:.75rem;display:flex;overflow:hidden}.m-layer__name{overscroll-behavior:none;flex:1;position:relative}.m-layer__input{outline:1px solid rgb(var(--m-theme-primary));width:100%;height:100%;font-size:inherit;font-weight:inherit;border:none;border-radius:2px;padding:0;position:absolute;top:0;left:0}.m-layer__action{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:#0000;border-radius:4px;flex:none;align-items:center;display:flex;position:sticky;right:0}.m-layer__action .m-layer__btn{opacity:0}.m-layer__action--hover .m-layer__btn{opacity:1}.m-layer__action--show{background-color:var(--overlay-color,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.m-layer__btn--show{opacity:1!important}.m-layer__btn+.m-layer__btn{margin-left:-4px}.m-layers{background-color:rgb(var(--m-theme-surface));width:100%;min-width:auto;height:100%;padding-right:8px;position:relative;overflow:auto}.m-layers__wrapper{width:max-content;min-width:100%}.m-layers .m-layer__prepend{opacity:0}.m-layers .m-layer--root:hover .m-layer__prepend,.m-layers:hover .m-layer:not(.m-layer--root) .m-layer__prepend{opacity:1}.m-layers .m-layer{scroll-margin:8px}.m-made-with{opacity:.38;color:#000;text-align:center;box-sizing:border-box;border:2px solid;border-radius:4px;padding:2px 4px;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:.75rem;line-height:1;text-decoration:none;position:absolute;bottom:18px;right:18px;pointer-events:auto!important}.m-made-with div:last-child{letter-spacing:1px;font-weight:700}.m-manage-memory{justify-content:space-between;align-items:center;padding:12px;font-size:12px;display:flex}.m-overlay{pointer-events:none;display:flex;position:absolute;inset:0}.m-overlay-content>*{pointer-events:auto}.m-menu{-webkit-user-select:none;user-select:none}.m-list{background-color:rgb(var(--m-theme-on-surface));color:rgb(var(--m-theme-surface));box-shadow:var(--m-shadow);max-height:inherit;border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex;overflow-y:auto}.m-list__divider{border-bottom:1px solid rgba(var(--m-theme-surface), .12)}.m-list-item{cursor:pointer;border-radius:4px;align-items:center;gap:12px;width:100%;padding:4px 8px;display:flex}.m-list-item--opened,.m-list-item:hover{background-color:rgba(var(--m-theme-primary), 1);color:rgba(var(--m-theme-on-primary), 1)}.m-list-item--disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.4}.m-list-item__prepend,.m-list-item__checked{justify-content:center;align-items:center;width:12px;height:12px;font-size:.875rem;display:flex}.m-list-item__title{white-space:nowrap;flex:1;align-items:center;font-size:.75rem;display:flex}.m-list-item__kbd{white-space:nowrap;letter-spacing:.08em;opacity:.3;margin-left:24px;font-size:.75rem}.m-list-item__append{justify-content:center;align-items:center;width:12px;height:12px;margin-right:-6px;font-size:.75rem;display:flex}.m-context-menu{pointer-events:auto;width:100%;height:100%;top:0;left:0}.m-context-menu .m-overlay-content{max-height:var(--max-height)}.m-creator{flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.m-creator__tree{flex:1;width:100%;padding:8px;overflow:auto}.m-creator__node{height:32px;padding-left:calc(4px + var(--indent-padding,0));border-radius:4px;flex:none;align-items:center;width:100%;min-width:max-content;font-size:.75rem;display:flex;position:relative}.m-creator__node:before{content:"";background-color:var(--underlay-color,transparent);pointer-events:none;border-radius:inherit;position:absolute;inset:4px 0}.m-creator__node:after{content:"";background-color:var(--overlay-color,transparent);pointer-events:none;border-radius:inherit;position:absolute;inset:4px 0}.m-creator__node:hover{--overlay-color:rgba(var(--m-theme-on-background), var(--m-hover-opacity))}.m-creator__node--active{--underlay-color:rgba(var(--m-theme-primary), calc(var(--m-activated-opacity) * 3))}.m-creator__node--active:hover{--overlay-color:rgba(var(--m-theme-primary), var(--m-hover-opacity))}.m-creator__actions{flex-basis:max-content;border-top:1px solid rgba(var(--m-border-color), var(--m-border-opacity));justify-content:space-evenly;align-items:center;height:24px;padding:8px;display:flex}.m-tooltip .m-overlay-content{background:rgb(var(--m-theme-surface-variant));color:rgb(var(--m-theme-on-surface-variant));text-transform:initial;opacity:1;overflow-wrap:break-word;width:auto;box-shadow:var(--m-shadow);border-radius:4px;padding:8px;font-size:.75rem;line-height:1;transition-property:opacity,transform;display:inline-block}.m-tooltip__content{align-items:center;display:flex}.m-tooltip__arrow{z-index:15;border:6px solid #0000;width:0;height:0;position:absolute}.m-tooltip--side-left .m-tooltip__arrow{border-right:none;border-left-color:rgb(var(--m-theme-surface-variant));top:50%;right:0;transform:translate(100%,-50%)}.m-tooltip--side-left.m-tooltip--align-start .m-tooltip__arrow{top:25%}.m-tooltip--side-left.m-tooltip--align-end .m-tooltip__arrow{top:75%}.m-tooltip--side-top .m-tooltip__arrow{border-bottom:none;border-top-color:rgb(var(--m-theme-surface-variant));bottom:0;left:50%;transform:translate(-50%,100%)}.m-tooltip--side-top.m-tooltip--align-start .m-tooltip__arrow{left:25%}.m-tooltip--side-top.m-tooltip--align-end .m-tooltip__arrow{left:75%}.m-tooltip--side-right .m-tooltip__arrow{border-left:none;border-right-color:rgb(var(--m-theme-surface-variant));top:50%;left:0;transform:translate(-100%,-50%)}.m-tooltip--side-right.m-tooltip--align-start .m-tooltip__arrow{top:25%}.m-tooltip--side-right.m-tooltip--align-end .m-tooltip__arrow{top:75%}.m-tooltip--side-bottom .m-tooltip__arrow{border-top:none;border-bottom-color:rgb(var(--m-theme-surface-variant));top:0;left:50%;transform:translate(-50%,-100%)}.m-tooltip--side-bottom.m-tooltip--align-start .m-tooltip__arrow{left:25%}.m-tooltip--side-bottom.m-tooltip--align-end .m-tooltip__arrow{left:75%}.m-tooltip__kbd{white-space:nowrap;letter-spacing:.08em;opacity:.3;margin-left:16px;font-size:.75rem}.m-ruler{--text-color:rgba(var(--m-theme-on-background), var(--m-low-emphasis-opacity));--border-color:rgba(var(--m-border-color), var(--m-border-opacity));width:100%;height:100%;position:absolute;top:0;left:0}.m-ruler--vertical{width:var(--size)}.m-ruler--horizontal{height:var(--size)}.m-ruler__canvas{pointer-events:auto;background-color:rgb(var(--m-theme-surface));-webkit-backdrop-filter:blur(var(--m-blur));backdrop-filter:blur(var(--m-blur));display:block}.m-ruler-refline{justify-content:center;align-items:center;width:10px;height:10px;display:flex;position:absolute;pointer-events:auto!important}.m-ruler-refline:before{content:"";border-style:dashed;border-width:0;border-color:var(--line-color);width:100%;height:100%;display:block}.m-ruler-refline--vertical{cursor:ns-resize;transform:translateY(-50%)}.m-ruler-refline--vertical.m-ruler-refline:before{border-top-width:1px;height:0}.m-ruler-refline--horizontal{cursor:ew-resize;transform:translate(-50%)}.m-ruler-refline--horizontal.m-ruler-refline:before{border-left-width:1px;width:0}.m-ruler-refline--temp{opacity:var(--m-low-emphasis-opacity);pointer-events:none!important}.m-ruler-refline--locked{cursor:not-allowed}.m-rulers{position:absolute;inset:0}.m-rulers__left-top{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));background-color:rgb(var(--m-theme-surface));border-top-width:0;border-left-width:0;width:16px;height:16px;position:absolute;top:0;left:0}.m-scrollbar{display:flex;position:absolute;pointer-events:auto!important}.m-scrollbar--vertical{flex-direction:column;right:0}.m-scrollbar--horizontal{bottom:0}.m-scrollbar__track{flex:1}.m-scrollbar__thumb{background-color:rgba(var(--m-theme-on-background), var(--m-low-emphasis-opacity));-webkit-backdrop-filter:blur(var(--m-blur));backdrop-filter:blur(var(--m-blur));border-radius:3.40282e38px;position:absolute}.m-scrollbar__thumb--active,.m-scrollbar__thumb:hover{background-color:rgba(var(--m-theme-on-background), var(--m-medium-emphasis-opacity))}.m-scrollbars{position:absolute;inset:0}.m-scroll-to-selection{color:rgba(var(--m-theme-surface), 1);background-color:rgba(var(--m-theme-on-background), var(--m-medium-emphasis-opacity));-webkit-backdrop-filter:blur(var(--m-blur));backdrop-filter:blur(var(--m-blur));cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-size:.875rem;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);pointer-events:auto!important}.m-transform{top:0;left:0}.m-transform__svg{pointer-events:none;width:100%;height:100%;color:rgb(var(--m-theme-primary));stroke:currentColor;position:absolute;top:0;left:0;overflow:visible}.m-transform__diagonal{stroke-width:1px;stroke-dasharray:2;visibility:hidden}.m-transform__rect{stroke-width:1px}.m-transform__handle{fill:#fff;stroke-width:1px}.m-transform__handle-rect{stroke-width:1px;fill:#0000;stroke:#0000}.m-transform__rotator{fill:#fff;stroke-width:.5px;stroke:currentColor}.m-transform__tip{background-color:rgb(var(--m-theme-primary));color:rgb(var(--m-theme-on-primary));text-wrap:nowrap;border-radius:3px;padding:2px 4px;font-size:.75rem;position:absolute;bottom:0;left:50%;transform:translate(-50%,calc(100% + 8px))}.m-transform--dashed .m-transform__rect{stroke-dasharray:4}.m-transform--resizing .m-transform__diagonal{visibility:visible}.m-transform--moving .m-transform__handle,.m-transform--moving .m-transform__handle-rect,.m-transform--moving .m-transform__rotator,.m-transform--moving .m-transform__tip{visibility:hidden}.m-transform--moving .m-transform__rect,.m-transform--moving .m-transform__svg-slot{opacity:.4;stroke-width:.5px}.m-transform--ui-hide .m-transform__handle,.m-transform--ui-hide .m-transform__handle-rect,.m-transform--ui-hide .m-transform__rect,.m-transform--ui-hide .m-transform__rotator,.m-transform--ui-hide .m-transform__tip{visibility:hidden}.m-cropper{pointer-events:auto;width:100%;height:100%;position:absolute;top:0;left:0}.m-cropper__source{transform-origin:0 0;width:100%;height:100%;position:absolute}.m-cropper__source canvas{width:100%;height:100%;position:absolute}.m-cropper__transform{color:rgba(var(--m-theme-primary), 1);opacity:.5;position:absolute}.m-cropper__transform_rect{width:100%;height:100%}.m-cropper__guide{pointer-events:none;background-color:rgb(var(--m-theme-primary));position:absolute}.m-cropper__guide--x{width:1px;height:100%;top:0}.m-cropper__guide--y{width:100%;height:1px;left:0}.m-path-editor{pointer-events:none;width:100%;height:100%;color:rgba(var(--m-theme-primary), 1);position:absolute;top:0;left:0}.m-path-editor__hit{fill:none;stroke:#0000;stroke-width:12px;pointer-events:stroke;cursor:copy}.m-path-editor__handle-line{stroke:currentColor;stroke-width:1px;stroke-dasharray:3 2;opacity:.6}.m-path-editor__anchor{fill:#fff;stroke:currentColor;stroke-width:1.5px;pointer-events:auto;cursor:move}.m-path-editor__anchor--selected{fill:rgba(var(--m-theme-primary), 1)}.m-path-editor__control{fill:currentColor;stroke:#fff;stroke-width:1px;pointer-events:auto;cursor:move}.m-selection{position:absolute;inset:0}.m-selection__slot{position:absolute}.m-selection__parent{pointer-events:none;color:rgba(var(--m-theme-primary), 1);opacity:.5;border:1px dashed;position:absolute}.m-selection__marquee{color:rgba(var(--m-theme-primary), 1);background-color:rgba(var(--m-theme-primary), .1);border:1px solid;position:absolute}.m-selection__transform{color:rgba(var(--m-theme-primary), 1);position:absolute}.m-selection__node{color:rgba(var(--m-theme-primary), 1);border:1px solid;position:absolute}.m-smart-guides{position:absolute;inset:0;overflow:hidden}.m-smart-guides__alignment{background-color:rgb(var(--m-theme-secondary));width:1px;height:1px;position:absolute}.m-smart-guides__dashed{background-image:repeating-linear-gradient(to right, rgba(var(--m-theme-secondary), .6) 0 4px, transparent 4px 7px);position:absolute}.m-smart-guides__dashed--vertical{background-image:repeating-linear-gradient(to bottom, rgba(var(--m-theme-secondary), .6) 0 4px, transparent 4px 7px)}.m-smart-guides__distance{background-color:rgb(var(--m-theme-primary));justify-content:center;align-items:center;display:flex;position:absolute}.m-smart-guides__distance:before,.m-smart-guides__distance:after{content:"";background-color:rgb(var(--m-theme-primary));position:absolute}.m-smart-guides__distance:before{width:1px;height:8px;inset:50% auto auto 0;transform:translateY(-50%)}.m-smart-guides__distance:after{width:1px;height:8px;inset:50% 0 auto auto;transform:translateY(-50%)}.m-smart-guides__distance--vertical:before{width:8px;height:1px;inset:0 auto auto 50%;transform:translate(-50%)}.m-smart-guides__distance--vertical:after{width:8px;height:1px;inset:auto auto 0 50%;transform:translate(-50%)}.m-smart-guides__label{white-space:nowrap;color:rgb(var(--m-theme-on-primary));background-color:rgb(var(--m-theme-primary));pointer-events:none;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.4;position:absolute}.m-smart-guides__area{background-color:rgba(var(--m-theme-secondary), .2);justify-content:center;align-items:center;display:flex;position:absolute}.m-smart-guides__area:before{content:"";background:rgb(var(--m-theme-primary));width:100%;height:1px}.m-smart-guides__area:after{content:"";border-left:1px solid rgb(var(--m-theme-primary));border-right:1px solid rgb(var(--m-theme-primary));width:100%;height:5px;position:absolute}.m-smart-guides__area--vertical:before{width:1px;height:100%}.m-smart-guides__area--vertical:after{border-left:none;border-right:none;border-top:1px solid rgb(var(--m-theme-primary));border-bottom:1px solid rgb(var(--m-theme-primary));width:5px;height:100%}.m-smart-selection{position:absolute;inset:0;overflow:hidden}.m-smart-selection__node{justify-content:center;align-items:center;display:flex;position:absolute}.m-smart-selection__node--active .m-smart-selection__ring{background:rgb(var(--m-theme-primary))}.m-smart-selection__ghost{border:1px solid rgb(var(--m-theme-primary));position:absolute}.m-smart-selection__ring{border:1px solid rgb(var(--m-theme-secondary));outline:1px solid rgb(var(--m-theme-on-secondary));pointer-events:auto;border-radius:100%;width:1px;height:1px}.m-smart-selection__ring:hover{background:rgb(var(--m-theme-secondary))}.m-smart-selection__spacing{visibility:hidden;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.m-smart-selection__spacing-line{pointer-events:auto;justify-content:center;align-items:center;width:10px;height:10px;display:flex}.m-smart-selection__spacing-line:before{content:"";background-color:rgb(var(--m-theme-secondary));width:100%;height:100%;display:block}.m-smart-selection--hover .m-smart-selection__ring{width:10px;height:10px}.m-smart-selection--hover .m-smart-selection__spacing{visibility:visible}.m-smart-selection--vertical .m-smart-selection__spacing-line{cursor:row-resize;height:6px}.m-smart-selection--vertical .m-smart-selection__spacing-line:before{height:1px}.m-smart-selection--horizontal .m-smart-selection__spacing-line{cursor:col-resize;width:6px}.m-smart-selection--horizontal .m-smart-selection__spacing-line:before{width:1px}.m-smart-selection--ring .m-smart-selection__spacing{visibility:hidden}.m-smart-selection--spacing .m-smart-selection__spacing{visibility:visible;background-color:rgb(var(--m-theme-secondary));opacity:.3}.m-smart-selection--spacing .m-smart-selection__spacing-line{visibility:hidden}.m-progress-indicator[data-v-cc8ac0cb]{align-items:center;gap:12px;display:flex}.m-progress-indicator__status[data-v-cc8ac0cb]{color:rgb(var(--m-theme-on-surface));font-size:.75rem}.m-progress-indicator__bar[data-v-cc8ac0cb]{background-color:rgb(var(--m-theme-background));border-radius:4px;width:100px;height:6px;position:relative;overflow:hidden}.m-progress-indicator__bar-fill[data-v-cc8ac0cb]{background-color:rgb(var(--m-theme-primary));height:100%;transition:width .3s;position:absolute;top:0;left:0}.m-progress-indicator__bar-indeterminate[data-v-cc8ac0cb]{background-color:#3b82f6;width:30%;height:100%;animation:1.5s linear infinite indeterminate-slide-cc8ac0cb;position:absolute;top:0;left:-30%}@keyframes indeterminate-slide-cc8ac0cb{0%{left:-30%}to{left:100%}}.m-statusbar[data-v-12c3be94]{-webkit-user-select:none;user-select:none;background-color:rgba(var(--m-theme-surface), 1);width:100%;height:100%;color:rgba(var(--m-theme-on-surface), 1);white-space:nowrap;align-items:center;gap:4px;padding:0 8px;font-size:.75rem;font-weight:700;line-height:1;display:flex;position:relative;overflow-x:auto}.m-statusbar__main[data-v-12c3be94]{flex:1;align-items:center;gap:4px;height:100%;display:flex}.m-statusbar__item[data-v-12c3be94]{align-items:center;gap:4px;display:flex}.m-statusbar__item>svg[data-v-12c3be94]{width:1em;height:1em}.m-statusbar__divider[data-v-12c3be94]{border-right:1px solid rgba(var(--m-theme-on-surface), .1);width:0;height:60%;margin:0 8px}.m-statusbar__kbd[data-v-12c3be94]{outline:1px solid rgba(var(--m-theme-on-surface), .1);border-radius:4px;justify-content:center;align-items:center;padding:0 2px;font-family:system-ui,-apple-system,sans-serif;font-size:.75rem;display:flex}.m-table-editor{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0;overflow:visible}.m-table-editor__box{pointer-events:auto;box-shadow:0 0 0 1px rgba(var(--m-theme-primary), .5);position:absolute}.m-table-editor__bar{box-sizing:border-box;border:1px solid rgba(var(--m-theme-on-background), .16);background:#fff;border-bottom:none;align-items:stretch;font-size:12px;display:flex;position:absolute}.m-table-editor__bar-name{border-right:1px solid rgba(var(--m-theme-on-background), .16);width:100%;max-width:56px;color:rgb(var(--m-theme-on-background));flex:none;justify-content:center;align-items:center;padding:0 6px;font-weight:600;display:flex}.m-table-editor__bar-content{white-space:nowrap;text-overflow:ellipsis;color:rgb(var(--m-theme-on-background));flex:1;align-items:center;padding:0 8px;display:flex;overflow:hidden}.m-table-editor__cell{box-sizing:border-box;cursor:cell;position:absolute}.m-table-editor__text{z-index:4;pointer-events:auto;position:absolute}.m-table-editor__text-editor{cursor:text;pointer-events:auto!important}.m-table-editor__selection{pointer-events:none;z-index:3;border:2px solid rgb(var(--m-theme-primary));position:absolute}.m-table-editor__selection--range{background:rgba(var(--m-theme-primary), .12)}.m-table-editor__corner{box-sizing:border-box;border:1px solid rgba(var(--m-theme-on-background), .16);cursor:pointer;background:#f4f5f7;position:absolute;overflow:hidden}.m-table-editor__corner:after{content:"";border-style:solid;border-width:0 0 7px 7px;border-color:transparent transparent rgba(var(--m-theme-on-background), .5) transparent;width:0;height:0;position:absolute;bottom:2px;right:2px}.m-table-editor__col-header,.m-table-editor__row-header{box-sizing:border-box;border:1px solid rgba(var(--m-theme-on-background), .16);color:rgba(var(--m-theme-on-background), .7);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f4f5f7;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute}.m-table-editor__col-header:hover,.m-table-editor__row-header:hover{background:rgba(var(--m-theme-primary), .12)}.m-table-editor__col-header--active,.m-table-editor__row-header--active{background:rgba(var(--m-theme-primary), .85);color:#fff}.m-table-editor__col-resizer{cursor:col-resize;z-index:5;width:7px;margin-left:-3px;position:absolute}.m-table-editor__row-resizer{cursor:row-resize;z-index:5;height:7px;margin-top:-3px;position:absolute}.m-table-editor__menu{pointer-events:auto;background:rgb(var(--m-theme-surface,255 255 255));z-index:10;border-radius:6px;flex-direction:column;min-width:160px;padding:4px;display:flex;position:fixed;box-shadow:0 4px 16px #0000002e}.m-table-editor__menu-item{appearance:none;text-align:left;cursor:pointer;color:rgb(var(--m-theme-on-surface,0 0 0));background:0 0;border:none;border-radius:4px;padding:6px 10px;font-size:13px}.m-table-editor__menu-item:hover:not(:disabled){background:rgba(var(--m-theme-primary), .12)}.m-table-editor__menu-item:disabled{opacity:.4;cursor:not-allowed}.m-table-editor__menu-sep{background:rgba(var(--m-theme-on-background), .12);height:1px;margin:4px 6px}.m-payhead{width:10px;color:rgb(var(--m-theme-on-surface));position:absolute;top:0;bottom:0;left:-5px}.m-payhead__header{background-color:#0000;border:2px solid;border-bottom:none;width:10px;height:12px;position:sticky;top:0;left:0;right:0}.m-payhead__header:after{box-sizing:content-box;content:"";background-color:#0000;border-bottom:2px solid;border-right:2px solid;width:5px;height:5px;display:block;position:absolute;bottom:0;right:0;transform:rotate(45deg)translate(2.8px,2px)}.m-payhead__main{background-color:currentColor;width:1px;position:absolute;top:16px;bottom:0;left:4px;transform:translate(.5px)}.m-segment{-webkit-user-select:none;user-select:none;color:#fff;background-color:#cc9641;border-radius:2px;flex-wrap:nowrap;align-items:center;height:calc(100% - 4px);font-size:.75rem;display:flex;position:absolute;top:2px}.m-segment--active{outline:1px solid rgb(var(--m-theme-on-surface))}.m-segment__edge{background-color:rgb(var(--m-theme-on-surface));content:"";pointer-events:auto;cursor:col-resize;justify-content:center;align-items:center;width:4px;display:flex;position:absolute;top:0;bottom:0}.m-segment__edge:before{background-color:rgb(var(--m-theme-surface));content:"";width:2px;height:10px;display:block}.m-segment__edge--front{border-top-left-radius:2px;border-bottom-left-radius:2px;left:0}.m-segment__edge--end{border-top-right-radius:2px;border-bottom-right-radius:2px;right:0}.m-segment__node{z-index:1;cursor:move;white-space:nowrap;text-overflow:ellipsis;border-radius:2px;padding:2px 8px;position:relative;overflow:hidden}.m-segment__block{box-sizing:border-box;pointer-events:auto;border:1px solid #fff6;border-radius:2px;height:100%;position:absolute;top:0;overflow:hidden}.m-segment__block--animation{background-color:#ffffff2e}.m-segment__block--animation:hover{background-color:#ffffff47}.m-segment__block--media{background-color:#409c60d9}.m-segment__block--media:hover{background-color:#409c60}.m-segment__block--video{background-color:#7454c4d9}.m-segment__block--video:hover{background-color:#7454c4}.m-track{background-color:rgb(var(--m-theme-background));height:22px;display:flex;position:relative}.m-trackhead{height:22px;min-height:22px;color:rgba(var(--m-theme-on-surface), .8);-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;width:100%;padding:0 4px;font-size:.75rem;display:flex}.m-trackhead:hover{background-color:rgba(var(--m-theme-on-surface), .06)}.m-trackhead--selected{background-color:rgba(var(--m-theme-primary), calc(var(--m-activated-opacity) * 3))}.m-trackhead--dropping{box-shadow:0 1px 0 0 rgb(var(--m-theme-on-background))}.m-trackhead__thumbnail{opacity:.7;flex:none;justify-content:center;align-items:center;width:14px;height:14px;margin-right:6px;font-size:.875rem;display:flex}.m-trackhead__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;position:relative;overflow:hidden}.m-trackhead__input{outline:1px solid rgb(var(--m-theme-primary));background:rgb(var(--m-theme-surface));width:100%;height:100%;color:inherit;font:inherit;border:none;border-radius:2px;margin:0;padding:0 2px;position:absolute;inset:0}.m-trackhead__action{flex:none;align-items:center;gap:1px;margin-left:4px;display:flex}.m-trackhead__action .m-trackhead__btn{opacity:0;pointer-events:none}.m-trackhead__action--show .m-trackhead__btn{opacity:1;pointer-events:auto}.m-trackhead__btn{width:16px;height:16px;color:inherit;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:.75rem;display:inline-flex}.m-trackhead__btn:hover{background-color:rgba(var(--m-theme-on-surface), .12)}.m-trackhead__btn--show{opacity:1!important;pointer-events:auto!important}.m-timeline{color:rgb(var(--m-theme-on-surface));background-color:rgb(var(--m-theme-surface));flex-direction:column;width:100%;height:100%;display:flex;position:relative}.m-timeline__toolbar{border-bottom:1px solid rgba(var(--m-border-color), var(--m-border-opacity));-webkit-user-select:none;user-select:none;align-items:center;gap:8px;height:28px;padding:0 8px;font-size:.75rem;display:flex}.m-timeline__time{font-variant-numeric:tabular-nums;align-items:center;gap:4px;min-width:120px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;display:flex}.m-timeline__time-sep,.m-timeline__time--muted{opacity:.5}.m-timeline__controls{align-items:center;gap:2px;display:flex}.m-timeline__btn{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.m-timeline__btn:hover{background-color:rgba(var(--m-theme-on-surface), .08)}.m-timeline__btn:active{background-color:rgba(var(--m-theme-on-surface), .16)}.m-timeline__btn--primary{width:26px;height:26px}.m-timeline__toolbar-spacer{flex:1}.m-timeline__main{flex:1;min-height:0;display:flex;position:relative}.m-timeline__left{flex-direction:column-reverse;align-items:center;width:120px;height:100%;padding-top:24px;display:flex;overflow:hidden}.m-timeline__left-wrapper{width:100%;height:100%;padding:0 0 0 4px;position:relative}.m-timeline__right{border-left:1px solid rgba(var(--m-border-color), var(--m-border-opacity));flex-direction:column;flex:1;min-width:0;padding-left:48px;display:flex;position:relative;overflow:hidden}.m-timeline__right-wrapper{width:100%;height:100%;position:relative}.m-timeline__ruler{width:100%;height:24px;min-height:24px;position:relative}.m-timeline__ruler,.m-timeline__ruler *{cursor:default}.m-timeline__track{flex-direction:column-reverse;flex:1;justify-content:start;gap:8px;height:max-content;min-height:100%;display:flex;position:relative;overflow:hidden}.m-drawing{position:absolute}.m-drawing__tip{white-space:nowrap;text-overflow:ellipsis;background-color:rgba(var(--m-theme-surface), 1);border:1px solid #0000002b;border-radius:4px;width:fit-content;height:22px;margin:4px;padding:0 4px;font-size:.875rem;overflow:hidden}.m-toolbelt{box-shadow:var(--m-shadow);background:rgb(var(--m-theme-surface));cursor:default;border-radius:12px;align-items:center;gap:12px;height:48px;padding:8px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);pointer-events:auto!important}.m-toolbelt__kbd{white-space:nowrap;letter-spacing:.08em;opacity:.3;margin-left:16px;font-size:.75rem}.m-toolbelt__group{align-items:center;height:100%;display:flex}.m-toolbelt__btn{width:100%;height:100%;font-size:24px}.m-toolbelt__icon{font-size:1rem}.m-toolbelt__arrow{border-radius:4px;width:16px;height:100%;font-size:.75rem}.m-text-editor{width:0;height:0;position:absolute;top:0;left:0;overflow:visible}.m-text-editor__wrapper{position:absolute}.m-text-editor__editor{cursor:move;pointer-events:auto!important}.m-workflow{pointer-events:none;z-index:2;position:absolute;inset:0}.m-workflow__preview{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.m-workflow__preview path{fill:none;stroke:rgb(var(--m-theme-primary,30 200 230));stroke-width:2px;stroke-linecap:round}.m-workflow__port{background:rgb(var(--m-theme-primary,30 200 230));color:#fff;cursor:crosshair;pointer-events:auto;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin:-9px 0 0 -9px;font-size:12px;display:flex;position:absolute;box-shadow:0 0 0 2px #fff}.m-workflow__backdrop{pointer-events:auto;position:fixed;inset:0}.m-workflow__menu{pointer-events:auto;background:#fff;border-radius:12px;min-width:200px;padding:6px;position:absolute;box-shadow:0 8px 24px #00000029}.m-workflow__menu-title{color:#9ca3af;padding:6px 10px;font-size:12px}.m-workflow__menu-item{color:#1f2937;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;font-size:14px;display:flex}.m-workflow__menu-item:hover{background:#f3f4f6}.m-workflow__menu-item-main{align-items:center;gap:8px;display:flex}.m-workflow__menu-item-main .m-icon{color:#6b7280;font-size:18px}.m-workflow__menu-kbd{color:#9ca3af;font-size:12px}.m-floatbar .m-overlay-content{overflow:visible}.m-float-panel{z-index:2000;position:absolute;pointer-events:auto!important}.m-float-panel__card{background-color:rgb(var(--m-theme-surface));width:100%;height:100%;box-shadow:var(--m-shadow);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.m-float-panel__title{border-bottom:1px solid rgba(var(--m-border-color), var(--m-border-opacity));justify-content:space-between;align-items:center;padding:8px;font-size:.75rem;font-weight:700;display:flex}.m-float-panel__content{width:100%;height:100%;position:relative;overflow-y:auto}.m-layout{--m-scrollbar-offset:0px;flex:auto;display:flex}.m-layout--full-height{--m-scrollbar-offset:inherit;height:100%}.m-layout-item,.m-layout-item--absolute{position:absolute}.m-layout-item--left{border-right:1px solid rgba(var(--m-border-color), var(--m-border-opacity))}.m-layout-item--top{border-bottom:1px solid rgba(var(--m-border-color), var(--m-border-opacity))}.m-layout-item--right{border-left:1px solid rgba(var(--m-border-color), var(--m-border-opacity))}.m-layout-item--bottom{border-top:1px solid rgba(var(--m-border-color), var(--m-border-opacity))}.m-main{max-width:100%;padding-left:var(--m-layout-left);padding-right:var(--m-layout-right);padding-top:var(--m-layout-top);padding-bottom:var(--m-layout-bottom);flex:1 0 auto}.m-main__scroller{max-width:100%;position:relative}.m-main--scrollable{width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.m-main--scrollable>.v-main__scroller{--v-layout-left:0px;--v-layout-right:0px;--v-layout-top:0px;--v-layout-bottom:0px;flex:auto;overflow-y:auto}.m-editor{--m-theme-primary:69, 151, 248;--m-theme-on-primary:255, 255, 255;--m-theme-secondary:244, 36, 253;--m-theme-on-secondary:255, 255, 255;--m-theme-surface:255, 255, 255;--m-theme-on-surface:30, 30, 30;--m-theme-surface-variant:35, 37, 41;--m-theme-on-surface-variant:255, 255, 255;--m-theme-background:240, 242, 245;--m-theme-on-background:56, 56, 56;--m-border-color:0, 0, 0;--m-border-opacity:.08;--m-high-emphasis-opacity:1;--m-medium-emphasis-opacity:.5;--m-low-emphasis-opacity:.3;--m-hover-opacity:.04;--m-activated-opacity:.06;--m-shadow:0 8px 32px 2px #00000014, 0 0 1px #0003;--m-blur:8px;background-color:rgb(var(--m-theme-surface));width:100%;height:100%;color:rgb(var(--m-theme-on-surface));-webkit-user-select:none;user-select:none;cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBR0JVbEVRVlI0QWV5WXowOGtSUlRIZXhhRlVTRUVRamlRRUFnbitBK01ISmlERi84SkU0OWNTRkQ1RlRETUhFQVE5S3pSZytGSE5pSGVKRkZqQW5PQnJLekdZRlRRRzRSQUVHRloxdDBaRk1YdnAzZHIwcGxNTTkzTDdzeDAwNlJlcXZyVnE2cjMvYjczdW91NVpkM3d2NGlBRzU0QWxsc0d4RVFNYzA1QmgyZ3FQQTJBVGpRQVJGY2w1WXVTYWttTmhCNTVRV1Btc05NdytBMndCZ1dnZUFaNHpkblpXZkx5OGpLVHpXYS9QVGs1U1oyZW5xWmsrSkxFRUFJWjJMTk82bUEyQUJqUEFRS282dVBqNC9HNnVycGhKbXBxYXJvYkdob0c2K3ZyaDBUSS9hT2pJNGg0UlhPR0RBZ2pLOWlMUFRRVm5JYlRlSXZqakNFZzN0allPSUF5bFVwWnNWak1vdWNaYVdwcWVsZEVIR2N5bWE5RlZFcTZseVdRRWNnU0FiVDh0eHRSSkpweHBmOWROT2wwbXM1S0pwTTVJZ3daOFhqOE5ZZ1NHZmNPRHcrVGxJbU1JU091M3BEQi9wQXJWV1UySE1Rem5FUWdvZnJpNHNMV0p4SUo1bklDRVVnczlqZ3JEQm5OemMzdlVDWWk0MVFsa3RTQ3dKU0lEVlFPMHlBQXViVzB0UFE1aXA2ZUhycUNBaEZJTFBhWURHTVV0Qkp4RW5CcFFQVDI5djU0Y0hEd014bUFHTDFiN3lUQ1pJV1BFbkhidGlSNlF3RGdrZjkwNnIrU2kxZ3N4ck0xUGo2dVIyOE5JaEN0dFYrY2hvd0NKVkxvWGVIdGtHZHM1U1FBOEJmYS94L0orY0xDd3J4Nnkwc0dZSmN2RUlFWU1zejhreEk1MFZma202MnRyZGVsNTRYSnU4ZjRJbFhwbXZOUUNDRDZmK3Y0ODRHQmdZMzkvZjFmTkg1cUVsaUxPSWt3V1VHSmRIWjJmcm01dVZsV0V2SUp5R1dBSE0vT3pjMHRxdmRWQnRpN0NVUWd6cXpvNk9nWWtUMmZUajdCdklUMStQeGEvczVPQXFoNU1zQXVBUmxtUjBaRzdQc0FaWUJJOTh4YU9wMjI5NnF0clgxVkE2N1hYTUx3cDZRa2NLRE96elhLZ0N5Z0RMTFNadmthcUw5MkdaZzlJSEoxZGRWQzBHMXZiMytpbnVpWDVUMlFUNEF6Q3lBZ016OC92eUFIcmF2dUJNd1hFc0FpZ0hVS091eDFhZHJzNnVyNlZPT1NSbDNuNVpvYkFTWUx6b2VHaHU3eU1zUnBKTGZTWllDTkV5eGpkQWhMZG5kM2Z4c2RIWDEvWW1MaVBYMGUrNldqNUNnOXNvOEFTRlc2bGs4QUorT0lJY0RPQXIyMGJNZUszUW1TeWFTZDJvQkYyR3huWitmM3djSEJENGVIaHovUVBtKzJ0YldOVDA1TzNoa2JHMXZYL0FOSlJuSXVLUXNKaFFnQUxNNUFBbzVsRnhjWDUrU2c1L2ZBOHZMeVYvcU1maVRBYjdXM3Q2ZG1abWJ1VEU5UHIybVBJNGNjYTN3cStVdkNPV1FDNU91eGRLMFFBWnlPSXhDQVU5d0o3REpnSXBGSTBCVVVreUZyYTJzL3pjN09ic2pvUkFMb1EvVk9RY2ZjZmVrZlNpQUEwaUZmajZWcnhRZ3dYNE9Nbnp2QjFOU1VFL3dmZ29NQStrK05UZVRQTkFZOFpRYlJGVVVBa2NBaEhDTTZSZThFMUw4QVdTc3JLMStvcDdidnFTZktBS1luM1lrNGM2UzlxWDB5amJNNFUwdEsyOXd5QUM5TUdaZ3M4SFFuaU1mamtBWkloQ2pUQTVob0E1cUlReXAyQU9jY3ppdUxYRVVBRWNGQkhNWHBLKzhFcHY0M05qYStGNUpIRWdEVEF4ckFFTWxlN01uZWlNeksyN3dRUUlyaXZLYzdRWDkvUDlkbkFDT3NZejFScmdqQStYUmZSUUMyT0E0QWdOaFpvRStiRGNSRUhDTlQvK3ZyNjdmMWpDMlJaaDNyRWFrcnN4VWpBTENrTEdDSTZKVjNncXFxS213TkFZd3JHandoS1VZQU5vQ0FBS0thMVFVbjl6c0JrZWRlWUxKQjlmK0RGb1NXQUlCUkJvL01yMFVBNTY0djBCYnAzOWZYOTUzR1pBcUVrUUZra0ZUbGE4Vk85cElCZ0FDTW5RSGE4S0grUVJMZTlkdDdlM3UvNnRuaVgrYnU3dTdQTk9hdER3SFlzb2Jza2JweW14Y0M4QjRnZ0FJY0lCOEk4TWV0cmExdjY2WDRSa3RMUzUrTStPYno2U05Mc0dXTjFKWGR2Qkpnc2dBQ0FNbU5qcHNlVjF1RW14NDY1ckNoQkVKSkFKSGxZc1B0RGdLNDVpS015UUN5ZzNjRjZROXBsUjErZWVjMUEyUnFFVkVpQzBDQVFnS2dpVHc5MFNmOXNjR1dOUlV2ZmdnQURNQUFDQWxrQXFBaGc3RkovY0JFSDBCK0NXQ05JWUZ5Z0FpQTAwTk1vTUFENW1rSVlCMUNqZWNMK2tESmRRZ0lGRkEzWnlNQzNKaTVLZm9vQTI1S3BOMXdSaG5neHN4TjBZY3VBL3dHTGlMQUwyTmhzNDh5SUd3UjlZc255Z0MvaklYTlBzcUFzRVhVTDU0b0Evd3lGamI3S0FQQ0ZsRy9lS0lNOE10WTJPeWpEQWg2Uksvci8vOEFBQUQvLzltR1FIRUFBQUFHU1VSQlZBTUFFTFdobi9KQ0EzY0FBQUFBU1VWT1JLNUNZSUk9IiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiLz48L3N2Zz4=) 4 4,auto;flex-direction:column;position:relative;overflow:hidden}.m-editor--hand{cursor:grab}.m-editor--grabbing{cursor:grabbing}.m-editor--drawing{cursor:crosshair}.m-editor--drawing-tool-pencil{cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBRjIwbEVRVlI0QWV5Wlcyc2tSUmlHZXp6TlNFaitRa2l1Y3BPcklJYUVrQWxtL29NSWFuNUJiZ0tpNURpYmcvOUJCQVVEQmc4b2lCZENJQWZJUVFrSzNnUXZjcE9BaDNnZWRZMmJkYlB2MDB3dHZaUHQ2YXFlVHJxejAwTzlWSFhYVjFYZis5WlgxZDAxVDNodC9zc0ZhUE1BOFBJSXlDT2d6UlhJbDBDYkIwQytDZVpMSUY4Q2JhNUF2Z1F5RkFBRitjS0VQS244YWVHWk9paHpqenBzZER1NVJLZko5UmEvSi95QUpLUkxSMGRIbFZxdFZnV1UxVzFKb0E0YmJIV1pURXEwczVndVFlb3B0UzBlSGg2T241MmRmZEhiMi90NVoyZm42NEF5OTZqRFJzQ1dOaXE2cDhZV2FRc0FFUWlWRGc0T0tuMTlmWjhWaThYaHpjMU5yMXF0K3NCaDdsR0hqYTZKQnRyUVZwZXRwVFFGZ0FCRVNudDdlK01EQXdPZlFBWGlZMk5qM3NMQ2dvOUNvZkJBQ0d5d2xWMWlJcVFsd0FQeTI5dmJsY0hCd1k5RnlpZTZJT0tVeStXeVo4cmtDT1BwaHkxdFZFeEVoRFFFZUlqOHlNakloeUx6RUhrSWIyeHNlUFB6ODQ4VWdUWkppWERkQWxpUmh6aWlBTW9JUXBuY1JBSWk3T3pzak91K2lZUllYR0kxMHFCeGtqTjVNMGlZQ0VORFF4OXBUM2hCZGtXQi9jU1pqM01ERFJRbnhTWnZCZ3NUb2IrLy96WFpFQVc4TURuemNXNmd3VnhUeStUTmdJMGk4TGpzNk9oNGZuMTlmVXcyc1Y2VXJscUFTUEp5M0lNSXVRMFFvVnd1KzZaYlcxdCszdFBUTTZJQ0FyQU1DaXBicDZzVUlKSThteHBrRUlCbnY2M1h0QW5hbnArZk14WkxnTnlKazVOeGNOQ0lNbzR3R3lVZVYrelkyRmYxZGdkcHl1VE1Kbzg3Q05tS0VPeUQ5dlMxdjcvL2pYTEdkT2JqM0VBRFJTVWNzU0p2T3JJVklVZ2VBV2wvZW5yNjdjVEV4TmVVNHlCcEFaekpHNmVqUkdna2IyWi9kWFgxUGZWeFYvaGZ1Q2M0cFNRRmlFM2VlQndtUWhqNTVlWGwyYW1wcVMvVi9qL2hYSEFXSVNrQldpWXY1LzNVS0VJWWVTMkJXek16TTVEL1J3My9GZTRJUk1LRmN1dVVoQUNKa1RkZUIwVVFVZjgydVFuN3VibTVKUW16cjRxYThKZHdXMENBU3hHZyswMVRxd0lrVHQ1NHk1UEJsSVBrWjJkbmx4Y1hGL2RVOTRmd3AvQzNjQ2F3Qks1MUQ3Z3k4cHBkRDlJaTVlZG01aUcvdExSa3lDTUFFY0Rzc3djUS90Y21RSnJrZjVjd0FQS3NmMlkvRm5uMUUrdXZzYXlRTjZFUGVkWStmSnpodWdjOFZ1UlJ5MFVBYlAwM1BBNGltcjNlMHJFTExOWThJUThJKzBSbTN2Z0hLVk51bG1NSCtTSUhFQnhFWUJ6bU9IVzJDT3Nqc09GQkhDUk9IaDhoUnQ0TWZGNFMrbnh1UGxzL2dMaDBobWQyNm1ZZE5kYWxUUjUvYkFUQXhwLzlrNU9UTnppQTRNdnRVWThwT3JSRkZzampLK1RJbXdFYlg0Q3VycTRoRE0xQkJDTGMxSm1IQjRBY2VSZ0lmMnc0YkNoS2dPY3doRGo1VFNjUEI4aVJod0VCV1A5K0JJUVoyZDdQU3RnSC9iVVJBQnNqUXJDdFV6bUw1Q0VBT2ZKbU1GR0FDTTNzUXV1eVNoNkhvd1NBdkVHVUxmMWRRcGJKNDJ3c1VqUzBRUnJrYmZ3SzJ0Z0l3QW1MRHc0Z2FXeSsxU0hJZFNONFQrQ1kyend0eU0wVDQ3cmU4QnA5Q3J1T0VzQW5yc1o4Wjk4ckZBcGNlMFlBaU9tZTF3aklJNExhaFgzUDgyb0xydVQxbG5GdDRTTEEzYlcxdFhmcG1ObUVQT1V3SUJKSFc5aGl3ekdXRGpOMlZZWTRTSjI4ZkxFNkQyRDIrZWErTXprNStkWHU3dTc3TklUWXhjV0ZGd2JJSThMeDhmRjNFdXVXanJFeVJ4NGVOaEhBWVFNQ2NPeDBlM2g0K0czOTIvT0IvcEQ4bEE3Q0FQSHA2ZWszdTd1N3A3Vlg3TWp1TnlFek15OWYvR1FqQUJIQWdTTkhUM3lMMTBaSFI5K3FWQ3J2YU8yL0tMd3N2Q3BNMVBHSzhwY2d2ckt5QXZGZk5SSkFnT0FoSnFJaXJxclRTMUVDNEprUmdBaEFBQTRqSWZTTEtuK3Vnekl3MXlZL3JkY2I4c0V6dk5USnl6ZnJQUUJuT1hmbkJKYk5DMEtRL0VtZC9DaDhYOGNQeWdIM3FFTVViSm41ekpHWHIxWUNZQmVNQW9nZ1FqQVNJQm9FRWNKNng0YW9RVGdpS0JOaER5RURteVdBTGMvL29BajhGUVV4L3BWQkRNQXNBOHFBT29oalMvUVFSZlJCZjVtQnJRQTRiRVJnRmlIRWpMSXhRcklSM0tjZU8rd2hUbnY2eVJSY0JBZzZEaGxJTWFzQWtnWmNBK3F4QzdiTFhEbXVBSmtqRXRlaFhJQzR5ajB1N1c1OEJMUTZFZmNCQUFELy83YmpxNjRBQUFBR1NVUkJWQU1BTUpYNHJsQ2FESTRBQUFBQVNVVk9SSzVDWUlJPSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIi8+PC9zdmc+) 8 24,auto}.m-editor--drawing-tool-pen{cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBSmRFbEVRVlI0QWV5WlMyeFZWUlNHejZrZ0JVSjRoUEFJanhBU0VoSkN3a0NOK0lCTEFJR3hUdFNKRTRkZ1JDdFdvYjBGQnpoaWJnSWl3a0FuQ2tnQ0RZUkNERGFvQTJPMXBqTVNIcTJsRHdxMXBVLy9iOU5WZGsvUGZmYmVpOVNTdmJwZmE2Kzkvbit0dmMvaDNMTGdmLzV2aW9Bc0V5Q1VIbVE5bzNxYUovUVoxOURUV1RJNUQzQkFBdnBaUVN5WHpCd1Iyc2dNOVptYnJocGRiTEpPM2Y5K3dkbFVYZ0tDZVFlK3FhbHBhMjl2NzRYaDRlRXVwTFcxdGJxdHJhMjZvYUZobXd4QVNwU01wNElRQU1yL2NRWHdSQk1RNVFLYlhMTm16UTh6WnN4NDJUUVhMbHo0NFlJRkN5cldyVnQzUm9SMDl2VDBuSmRlVFh0N2U0MUkyU0c5V1NNU0pRYTdxZmJWa3RLV09FZDg4RFB2M0xsVEJWamNxcW1wQ2JaczJSS0VZUmpRUnVycTZwZ0t5c3ZMWDBKdi92ejVIOFdSMHRqWStKb1VMVk00TW9pUndaNmFMbjJKRW9BampMbkkzNzU5KzhDU0pVdjI0aFpnazhsa1lJQnBJMFlJTlRxSTZmaWtyRjI3OXF3eTVaNHlwWllza1UweWhPeDRva1FBVnI2TUZnaHdaMTZSMzc5MDZkTDNtUUVVWUdsZnZudzVRT2dqaVVTQzRRRFE5QkhJQ01QUVpRdHJFYWVrUDVBeVgxa2lNanAwWkpLZG5aMUpEWk1aUGhFYUtrMkpFa0RmUlgvMjdObXY0QUxPQTRvMmN1WEtsU0NSU0FUVjFkVk9JRU5neHBDQ0h1S1RFb2JobUtQRFBFZG03dHk1KzFwYVdxclZKeU40b2hBQWprYW9zYUlYQU5zbWJNakdqb0E1YythOHdJU0I5K3NhM1FYTStlS1RBaUVJNUxBT01WM2FTQmcrdWtjWVg3Um8wUWZTYnlNajFPZFk0QU8rNEpPR2lsZWlCTkFuQWtRaUlJSnNuVWdrWExSeG5ENTFIQW5NK1dMcnlCWUJEQkRXbWc3dE1IeE1CQm1oYktqU2ZNbElBTEQyY3dXMjZjTThFWENwem93UkFSQ2Nab3c2R3hMUTlRVWJSZ1EybUtNMlcyU0Q3cDhER29jRWdvRlA2aGFuUkkwYkNXVkt4OS9Za2loU0Y1SUU3RUVFQW5qNjFFWUNUNTZyVjY5dTFUaVpXRlFTb2dSb1QxY2d3alhpL3FSeVBFNDMwMWdxV3hzMmJLalEybGtTZXpxazlVbDZlWlVvQWNPeWdneWRPblhxaE5ydTdGTmJkR2dqcVJ4bkxsZUoyaUxidUlSdjNManhzV3dWTkF0a2IwenhDUUE0TWlTTndXblRwZzJxVGx1aWprZEpTcnM0TXVuYk1qc3JWNjdjSXpYL0hhSGdXUkFsd0lIWHBnTzdkKy8rVmZXNGk1QXhYM3pIL1hQczYyVGJ4aGE2WkFCQysvVHAwNXRWRnkwTFVoRkE5UHVibTV0LzErWTVrNER6Q0crRVNCZytmaXZFWGpxQlJPWXRDelp0MnZTZStpVWhRUHNFZGdRRzFPa3ZLeXVqcjJibVF2VE1lVUFqa0lDd21wcDVHMmNzVHJERE9QclU4K2JOZSs3Y3VYT3ZxczJqbVVkMFFZK0Jud0hhSTdBalFBWU1uRHg1OG1zR3pTbUxDbU54Z3A0OU5wa0hNRytEOXR4bkRtQ1o3S0RIZW5TcHU3dTdlUklnQlg4a1Jna2c0cEJBQmd4TW56NmRHaCt5Rm5NYThENGh0Q0VEY09nZ3FZeWk0OCt0WDcvK1JmVXRBNkkrYXlyL0VqVm1CTGdNMkxObnp5K1lOb2ZTT1kyZVJkYkFNeFlWaUdETWRHbEhaZk5tN3IzQWZYTmdidkhpeGMrckp2b2NBWHd1MkRIQW1HeVBsakVFYURUcmkxQzZXWlZzeWZTTkRRME5BZGpQQVBxK1N0N3RLQUVZTWhKSS81d3VRaFlqRmtIYStZaVJaR3QxaHdDWU84QklvRy9URTZyakNPQU80QWdnNHk1Q3ZnZWsydEdBcDB0dk8wWlJrTDVOMDZGRzlML0VEUjBkSGNla1UzQVM0Z2p3TTJEY1JZaERjaVMyR0NoMGtEZ2xJOGQwNDNTWTR4NWh6aDZiUEE2N3VycSswWmlSRU9lN3BuTXJjVWFNQURLZ1h4Zmh6NWpFS1dxQUliVGp4SGZjd0tMSEdnT0RMYnNNbVlzVDVuMWJySitqanpRWEwxNU1TSitqd0tVWTU3K21zeTl4Qm53QzNEMFFmU05NZHd4OHh3RVFocUg3RkpZTGVIUGZ0MlY3cmw2OW1rOTFaQUZQaE5CMDg2M2pDTUNXM1FNUTBCZDlJU0lhS0tVU2N4d0NUSWVvOHg2QTBMYnhYT3Urdmo0aUR3SFVxZnpQMm13cUEyU0JPd0t5MUZkUlVUSDZQb0R6RUlCb0xtV0JCRVEzdVBzVWxnOXdqcENSaUMwMkd4d2N4R2VMZnRFem9GK2I5a2tlNmpOVmcrckFITEdVWnF3WTRvT0hQUGFvcjY4L3BSOWR2cUNkcldUU2c4MDRIY3NBZHdTazBHc2ZTTWdBUkdPamIycTBDeWxSOE95bkgybisyTGh4NDNIdFExRElUbnhFTkpSL1NVVUFGcmtISU9DaE9qMDZCdGYxbmU1YnRkMXZBRGhWVjFmbmZ2eGdyRkFTQi83V3JWdU55NVl0cTlRZTNaSmVDVm1KYi9pb2J2NGxHd0xZckVkYlBOQ0x6cGMzYjk3OFUrMHhKT0EwWkRBK0VjRk9NcGwwSmtoN1NOWitmeTFmdnZ4VERYWkpIa2ora1JBVXl3SjE4eS9wQ0NDOTJNUUlnUDM3SzFhc3FDUWliR24zQVU1ekp3Q0E4WHlFdGRoaHJROWUrKzNYMkwwUnVhK2FZT0FUR1lDUEdzcS9wQ01BcTZRWUc1RjJFRUFVN2hFUklrT0V1T1hOY2Vvd2ZQUkRCNEN5elFwMFdjdUdFZkQ4UHRDcGNRUVN5QUI4NFI3QXQ1SVJBT05HQU01MEtqS2Y2SzNzZXpubm5neFJJZ0JFVm9SaDZGNkV3dkFSTWVqNzRvTm5EYVF5Zi9Ub1VWNTczVjdxVXdQZW9rOW1UaGk4N0FhWk1nQWRtSVp4bURjU09qVFJzWDM3OXE4dVhicjBuZHF1Y0NTTUNCK01tOVFmeGdDc3BpdTBHYU5EemZxUjlrSDFyNmtOY0FUd25IMENRVVlXQkx6c1owVUFtOEU0SkJBQnppRk90Y3RBMjdadDI0NkZZZmpXaFFzWHpxanZDa0FRMGhsQ0VOcE1DcGg3ZktZQ3IzV0hOUGVUZE5uRDByNG80TFZIVmdTZ0J3a3dUd1RHa1NDRnRwMDdkeDRYRVcvWDF0YWVQbi8rL0ZuOXFOR2s4ZEZDYXZza1FBU1QxQUpOTTZpcXF2cnM0TUdEOWVvWWVNZzI4QVFCUHpSZHVKTE5FYkRkMkJ3U2VBVDVKTFJKb1hWRTd1N1lzZVBZcmwyN1RxeGF0YXBHaEx3amVYZnYzcjFITk84K3J3TTRrVWk0Tm9UNDRBOGRPZ1I0amhjRWNPRUNudjNZbDZPSW1ZSktMZ1N3TVNRUWlXZ21HQWwvUzhtWHUrcTNIVGx5NUhwbFplWG5hcnNMRStCSVFrUXdSdVFGbnJRdktYajJ6cFVBMWhnSjNBblJpeEhBRU5BaVJhUjVwRzQ5ZlBqd05XWERtL2JrMEhqQW8xVG52VWJndWZBQWp4QjVMbHRzRnkzeTdJL2tRd0RyZkJKSVVZNEVOelhPazc0QUlTc2dCQms5SW5weWNHbStMakxlMEtOMG40N0VqektJTG10WWp4MERUN1pwdW5nbFh3TE1JNGdnU2h3Skk0TG9jWGtCaGxzY1lEd3hqQWd5eEJmR21VZTNwT0FCTVZFQ3NJRkFCTkhpV0VUSkFCUmtrQmxFbW13d0FtZ3o5a1RBNDNpaENNQ1dDV1J3WXhzaGxoaytFWllWa0FJNVpBMTZaQlByekZiT2RhNExpa0ZBMUFmSUFCaVp3VjBCV01oQWFEUEdIRG9sQlkranBTQ0FmY2dLd0FFU3NFUWJvYzJ4WVJ5aTBDMnBsSW9BQXdVUkNHQk42TnQ4eWV0U0UxQnlnSmsybkNJZ0UwT1RmWDRxQXlaN2hEUGhtOHFBVEF4Tjl2bXBESmpzRWM2RWJ5b0RNakUwMmVlbk11QnBqL0JFL2Y4WEFBRC8vemM3eStFQUFBQUdTVVJCVkFNQUg2M2h2WjBON3dnQUFBQUFTVVZPUks1Q1lJST0iIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIvPjwvc3ZnPg==) 4 4,auto}.m-editor *{box-sizing:border-box}.m-editor__drawboard{width:100%;height:100%;position:relative;overflow:hidden}.m-editor__drawboard>*{pointer-events:none}.m-editor__canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0}.m-overlay-container{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.m-dialog>*{box-shadow:var(--m-shadow)}
1
+ .mce-components[data-v-d8fd37cc]{flex-direction:column;gap:4px;padding:8px;display:flex;overflow:auto}.mce-components__empty[data-v-d8fd37cc]{color:rgba(var(--m-theme-on-surface), .55);text-align:center;padding:16px 8px;font-size:12px}.mce-components__item[data-v-d8fd37cc]{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.mce-components__item[data-v-d8fd37cc]:hover{background:rgba(var(--m-theme-on-surface), .06)}.mce-components__name[data-v-d8fd37cc]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mce-components__remove[data-v-d8fd37cc]{width:18px;height:18px;color:inherit;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex:none}.mce-components__item:hover .mce-components__remove[data-v-d8fd37cc]{opacity:.6}.mce-components__remove[data-v-d8fd37cc]:hover{opacity:1;background:rgba(var(--m-theme-on-surface), .1)}.m-icon{font-feature-settings:"liga";letter-spacing:normal;height:1em;opacity:var(--m-icon-opacity,1);text-indent:0;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;justify-content:center;align-items:center;width:1em;min-width:1em;line-height:1;display:inline-flex;position:relative}.m-icon__svg{fill:currentColor;width:100%;height:100%}.m-frame{position:absolute}.m-frame--outline{outline:1px solid rgba(var(--m-theme-on-surface), .17)}.m-frame--lock{pointer-events:none}.m-frame--hover .m-frame__name>div,.m-frame--selected .m-frame__name>div{opacity:1}.m-frame__name{transform-origin:0 100%;pointer-events:auto;-webkit-user-select:none;user-select:none;max-width:100%;font-size:.75rem;line-height:1.5;position:absolute;top:0;left:0;transform:translateY(-100%)translateY(-4px)}.m-frame__name>div{box-sizing:content-box;min-width:28px;color:rgb(var(--m-theme-on-surface));opacity:.5;white-space:nowrap;text-overflow:ellipsis;max-width:100%;position:relative;overflow:hidden}.m-frame__name>input{outline:1px solid rgb(var(--m-theme-primary));cursor:default;width:100%;height:100%;font-size:inherit;font-weight:inherit;border:none;border-radius:2px;padding:0;position:absolute;top:0;left:0}.m-frames{position:absolute;inset:0}.m-hover{color:rgba(var(--m-theme-primary), 1);border-style:solid;border-width:2px;position:absolute}.m-itx-badges{pointer-events:none;position:absolute;inset:0}.m-itx-badge{background:rgb(var(--m-theme-primary));width:16px;height:16px;color:rgb(var(--m-theme-on-primary,255, 255, 255));border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000040}.m-interactions{background-color:rgb(var(--m-theme-surface));width:100%;color:rgb(var(--m-theme-on-surface));flex-direction:column;gap:8px;padding:8px;font-size:.75rem;display:flex}.m-interactions__head{align-items:center;gap:8px;display:flex}.m-interactions__scroll{cursor:pointer;opacity:.85;align-items:center;gap:4px;display:inline-flex}.m-interactions__preview{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));height:26px;color:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.m-interactions__preview--on{background-color:rgb(var(--m-theme-on-surface));color:rgb(var(--m-theme-surface))}.m-interactions__empty{opacity:.5;padding:8px 2px}.m-interactions__row{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));border-radius:6px;flex-direction:column;gap:4px;padding:6px;display:flex}.m-interactions__line{align-items:center;gap:4px;display:flex}.m-interactions__arrow{opacity:.5;flex:none}.m-interactions__select,.m-interactions__param{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));min-width:0;height:24px;color:inherit;font:inherit;background:0 0;border-radius:4px;padding:0 4px}.m-interactions__select{flex:1}.m-interactions__param{width:100%}.m-interactions__cond{opacity:.85;align-items:center;gap:4px;display:flex}.m-interactions__cond-label{opacity:.6;flex:none}.m-interactions__op{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));width:44px;height:24px;color:inherit;font:inherit;text-align:center;background:0 0;border-radius:4px;flex:none;padding:0 2px}.m-interactions__cond-val{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));min-width:0;height:24px;color:inherit;font:inherit;background:0 0;border-radius:4px;flex:1;padding:0 4px}.m-interactions__del{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.m-interactions__del:hover{background-color:rgba(var(--m-theme-on-surface), .08)}.m-interactions__add{border:1px dashed rgba(var(--m-border-color), calc(var(--m-border-opacity) * 2));height:28px;color:inherit;cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:4px;display:inline-flex}.m-interactions__add:hover{background-color:rgba(var(--m-theme-on-surface), .06)}.m-btn{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:.75rem;display:flex}.m-btn:hover{color:rgb(var(--m-theme-on-background));background:rgb(var(--m-theme-background))}.m-btn--icon{width:24px;height:24px}.m-btn.m-btn--active{color:rgb(var(--m-theme-on-primary));background:rgb(var(--m-theme-primary))}.m-layer{height:32px;padding-left:var(--indent-padding,0);border-radius:4px;flex:none;align-items:center;width:100%;min-width:max-content;font-size:.75rem;display:flex;position:relative}.m-layer__underlay,.m-layer__overlay{pointer-events:none;border-radius:inherit;position:absolute;inset:4px 0 4px 12px}.m-layer__underlay{background-color:var(--underlay-color,transparent)}.m-layer__overlay{background-color:var(--overlay-color,transparent)}.m-layer--root{font-weight:700}.m-layer--root .m-layer__thumbnail{display:none}.m-layer--hover{--overlay-color:rgba(var(--m-theme-on-background), var(--m-hover-opacity))}.m-layer--active{--underlay-color:rgba(var(--m-theme-primary), calc(var(--m-activated-opacity) * 2))}.m-layer--active:hover{--overlay-color:rgba(var(--m-theme-primary), calc(var(--m-hover-opacity) * 2))}.m-layer--active .m-layer__underlay{border-radius:0;top:0;bottom:0}.m-layer--active:not(.m-layer--active+.m-layer--active) .m-layer__underlay{border-top-left-radius:4px;border-top-right-radius:4px;top:4px}.m-layer--active:not(:has(+.m-layer--active)) .m-layer__underlay{border-bottom-right-radius:4px;border-bottom-left-radius:4px;bottom:4px}.m-layer--selected{--underlay-color:rgba(var(--m-theme-primary), calc(var(--m-activated-opacity) * 3))}.m-layer--open .m-layer__prepend .m-icon{transform:rotate(90deg)}.m-layer__arrow{opacity:.6;margin-left:2px}.m-layer__prepend{flex:none;align-items:center;width:16px;height:100%;display:flex}.m-layer--dropping .m-layer__content:after{content:"";background-color:rgb(var(--m-theme-on-background));pointer-events:none;border-radius:inherit;height:2px;position:absolute;bottom:0;left:0;right:0}.m-layer__content{flex:1;align-items:center;height:100%;display:flex;position:relative}.m-layer__thumbnail{align-items:center;width:12px;height:100%;margin-right:4px;font-size:.75rem;display:flex;overflow:hidden}.m-layer__name{overscroll-behavior:none;flex:1;position:relative}.m-layer__input{outline:1px solid rgb(var(--m-theme-primary));width:100%;height:100%;font-size:inherit;font-weight:inherit;border:none;border-radius:2px;padding:0;position:absolute;top:0;left:0}.m-layer__action{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:#0000;border-radius:4px;flex:none;align-items:center;display:flex;position:sticky;right:0}.m-layer__action .m-layer__btn{opacity:0}.m-layer__action--hover .m-layer__btn{opacity:1}.m-layer__action--show{background-color:var(--overlay-color,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.m-layer__btn--show{opacity:1!important}.m-layer__btn+.m-layer__btn{margin-left:-4px}.m-layers{background-color:rgb(var(--m-theme-surface));width:100%;min-width:auto;height:100%;padding-right:8px;position:relative;overflow:auto}.m-layers__wrapper{width:max-content;min-width:100%}.m-layers .m-layer__prepend{opacity:0}.m-layers .m-layer--root:hover .m-layer__prepend,.m-layers:hover .m-layer:not(.m-layer--root) .m-layer__prepend{opacity:1}.m-layers .m-layer{scroll-margin:8px}.m-made-with{opacity:.38;color:rgb(var(--m-theme-on-surface));text-align:center;box-sizing:border-box;border:2px solid;border-radius:4px;padding:2px 4px;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:.75rem;line-height:1;text-decoration:none;position:absolute;bottom:18px;right:18px;pointer-events:auto!important}.m-made-with div:last-child{letter-spacing:1px;font-weight:700}.m-manage-memory{justify-content:space-between;align-items:center;padding:12px;font-size:12px;display:flex}.m-overlay{pointer-events:none;display:flex;position:absolute;inset:0}.m-overlay-content>*{pointer-events:auto}.m-menu{-webkit-user-select:none;user-select:none}.m-list{background-color:rgb(var(--m-theme-on-surface));color:rgb(var(--m-theme-surface));box-shadow:var(--m-shadow);max-height:inherit;border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex;overflow-y:auto}.m-list__divider{border-bottom:1px solid rgba(var(--m-theme-surface), .12)}.m-list-item{cursor:pointer;border-radius:4px;align-items:center;gap:12px;width:100%;padding:4px 8px;display:flex}.m-list-item--opened,.m-list-item:hover{background-color:rgba(var(--m-theme-primary), 1);color:rgba(var(--m-theme-on-primary), 1)}.m-list-item--disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.4}.m-list-item__prepend,.m-list-item__checked{justify-content:center;align-items:center;width:12px;height:12px;font-size:.875rem;display:flex}.m-list-item__title{white-space:nowrap;flex:1;align-items:center;font-size:.75rem;display:flex}.m-list-item__kbd{white-space:nowrap;letter-spacing:.08em;opacity:.3;margin-left:24px;font-size:.75rem}.m-list-item__append{justify-content:center;align-items:center;width:12px;height:12px;margin-right:-6px;font-size:.75rem;display:flex}.m-context-menu{pointer-events:auto;width:100%;height:100%;top:0;left:0}.m-context-menu .m-overlay-content{max-height:var(--max-height)}.m-creator{flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.m-creator__tree{flex:1;width:100%;padding:8px;overflow:auto}.m-creator__node{height:32px;padding-left:calc(4px + var(--indent-padding,0));border-radius:4px;flex:none;align-items:center;width:100%;min-width:max-content;font-size:.75rem;display:flex;position:relative}.m-creator__node:before{content:"";background-color:var(--underlay-color,transparent);pointer-events:none;border-radius:inherit;position:absolute;inset:4px 0}.m-creator__node:after{content:"";background-color:var(--overlay-color,transparent);pointer-events:none;border-radius:inherit;position:absolute;inset:4px 0}.m-creator__node:hover{--overlay-color:rgba(var(--m-theme-on-background), var(--m-hover-opacity))}.m-creator__node--active{--underlay-color:rgba(var(--m-theme-primary), calc(var(--m-activated-opacity) * 3))}.m-creator__node--active:hover{--overlay-color:rgba(var(--m-theme-primary), var(--m-hover-opacity))}.m-creator__actions{flex-basis:max-content;border-top:1px solid rgba(var(--m-border-color), var(--m-border-opacity));justify-content:space-evenly;align-items:center;height:24px;padding:8px;display:flex}.m-tooltip .m-overlay-content{background:rgb(var(--m-theme-surface-variant));color:rgb(var(--m-theme-on-surface-variant));text-transform:initial;opacity:1;overflow-wrap:break-word;width:auto;box-shadow:var(--m-shadow);border-radius:4px;padding:8px;font-size:.75rem;line-height:1;transition-property:opacity,transform;display:inline-block}.m-tooltip__content{align-items:center;display:flex}.m-tooltip__arrow{z-index:15;border:6px solid #0000;width:0;height:0;position:absolute}.m-tooltip--side-left .m-tooltip__arrow{border-right:none;border-left-color:rgb(var(--m-theme-surface-variant));top:50%;right:0;transform:translate(100%,-50%)}.m-tooltip--side-left.m-tooltip--align-start .m-tooltip__arrow{top:25%}.m-tooltip--side-left.m-tooltip--align-end .m-tooltip__arrow{top:75%}.m-tooltip--side-top .m-tooltip__arrow{border-bottom:none;border-top-color:rgb(var(--m-theme-surface-variant));bottom:0;left:50%;transform:translate(-50%,100%)}.m-tooltip--side-top.m-tooltip--align-start .m-tooltip__arrow{left:25%}.m-tooltip--side-top.m-tooltip--align-end .m-tooltip__arrow{left:75%}.m-tooltip--side-right .m-tooltip__arrow{border-left:none;border-right-color:rgb(var(--m-theme-surface-variant));top:50%;left:0;transform:translate(-100%,-50%)}.m-tooltip--side-right.m-tooltip--align-start .m-tooltip__arrow{top:25%}.m-tooltip--side-right.m-tooltip--align-end .m-tooltip__arrow{top:75%}.m-tooltip--side-bottom .m-tooltip__arrow{border-top:none;border-bottom-color:rgb(var(--m-theme-surface-variant));top:0;left:50%;transform:translate(-50%,-100%)}.m-tooltip--side-bottom.m-tooltip--align-start .m-tooltip__arrow{left:25%}.m-tooltip--side-bottom.m-tooltip--align-end .m-tooltip__arrow{left:75%}.m-tooltip__kbd{white-space:nowrap;letter-spacing:.08em;opacity:.3;margin-left:16px;font-size:.75rem}.m-ruler{--text-color:rgba(var(--m-theme-on-background), var(--m-low-emphasis-opacity));--border-color:rgba(var(--m-border-color), var(--m-border-opacity));width:100%;height:100%;position:absolute;top:0;left:0}.m-ruler--vertical{width:var(--size)}.m-ruler--horizontal{height:var(--size)}.m-ruler__canvas{pointer-events:auto;background-color:rgb(var(--m-theme-surface));-webkit-backdrop-filter:blur(var(--m-blur));backdrop-filter:blur(var(--m-blur));display:block}.m-ruler-refline{justify-content:center;align-items:center;width:10px;height:10px;display:flex;position:absolute;pointer-events:auto!important}.m-ruler-refline:before{content:"";border-style:dashed;border-width:0;border-color:var(--line-color);width:100%;height:100%;display:block}.m-ruler-refline--vertical{cursor:ns-resize;transform:translateY(-50%)}.m-ruler-refline--vertical.m-ruler-refline:before{border-top-width:1px;height:0}.m-ruler-refline--horizontal{cursor:ew-resize;transform:translate(-50%)}.m-ruler-refline--horizontal.m-ruler-refline:before{border-left-width:1px;width:0}.m-ruler-refline--temp{opacity:var(--m-low-emphasis-opacity);pointer-events:none!important}.m-ruler-refline--locked{cursor:not-allowed}.m-rulers{position:absolute;inset:0}.m-rulers__left-top{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));background-color:rgb(var(--m-theme-surface));border-top-width:0;border-left-width:0;width:16px;height:16px;position:absolute;top:0;left:0}.m-scrollbar{display:flex;position:absolute;pointer-events:auto!important}.m-scrollbar--vertical{flex-direction:column;right:0}.m-scrollbar--horizontal{bottom:0}.m-scrollbar__track{flex:1}.m-scrollbar__thumb{background-color:rgba(var(--m-theme-on-background), var(--m-low-emphasis-opacity));-webkit-backdrop-filter:blur(var(--m-blur));backdrop-filter:blur(var(--m-blur));border-radius:3.40282e38px;position:absolute}.m-scrollbar__thumb--active,.m-scrollbar__thumb:hover{background-color:rgba(var(--m-theme-on-background), var(--m-medium-emphasis-opacity))}.m-scrollbars{position:absolute;inset:0}.m-scroll-to-selection{color:rgba(var(--m-theme-surface), 1);background-color:rgba(var(--m-theme-on-background), var(--m-medium-emphasis-opacity));-webkit-backdrop-filter:blur(var(--m-blur));backdrop-filter:blur(var(--m-blur));cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-size:.875rem;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);pointer-events:auto!important}.m-transform{top:0;left:0}.m-transform__svg{pointer-events:none;width:100%;height:100%;color:rgb(var(--m-theme-primary));stroke:currentColor;position:absolute;top:0;left:0;overflow:visible}.m-transform__diagonal{stroke-width:1px;stroke-dasharray:2;visibility:hidden}.m-transform__rect{stroke-width:1px}.m-transform__handle{fill:#fff;stroke-width:1px}.m-transform__handle-rect{stroke-width:1px;fill:#0000;stroke:#0000}.m-transform__rotator{fill:#fff;stroke-width:.5px;stroke:currentColor}.m-transform__tip{background-color:rgb(var(--m-theme-primary));color:rgb(var(--m-theme-on-primary));text-wrap:nowrap;border-radius:3px;padding:2px 4px;font-size:.75rem;position:absolute;bottom:0;left:50%;transform:translate(-50%,calc(100% + 8px))}.m-transform--dashed .m-transform__rect{stroke-dasharray:4}.m-transform--resizing .m-transform__diagonal{visibility:visible}.m-transform--moving .m-transform__handle,.m-transform--moving .m-transform__handle-rect,.m-transform--moving .m-transform__rotator,.m-transform--moving .m-transform__tip{visibility:hidden}.m-transform--moving .m-transform__rect,.m-transform--moving .m-transform__svg-slot{opacity:.4;stroke-width:.5px}.m-transform--ui-hide .m-transform__handle,.m-transform--ui-hide .m-transform__handle-rect,.m-transform--ui-hide .m-transform__rect,.m-transform--ui-hide .m-transform__rotator,.m-transform--ui-hide .m-transform__tip{visibility:hidden}.m-cropper{pointer-events:auto;width:100%;height:100%;position:absolute;top:0;left:0}.m-cropper__source{transform-origin:0 0;width:100%;height:100%;position:absolute}.m-cropper__source canvas{width:100%;height:100%;position:absolute}.m-cropper__transform{color:rgba(var(--m-theme-primary), 1);opacity:.5;position:absolute}.m-cropper__transform_rect{width:100%;height:100%}.m-cropper__guide{pointer-events:none;background-color:rgb(var(--m-theme-primary));position:absolute}.m-cropper__guide--x{width:1px;height:100%;top:0}.m-cropper__guide--y{width:100%;height:1px;left:0}.m-path-editor{pointer-events:none;width:100%;height:100%;color:rgba(var(--m-theme-primary), 1);position:absolute;top:0;left:0}.m-path-editor__hit{fill:none;stroke:#0000;stroke-width:12px;pointer-events:stroke;cursor:copy}.m-path-editor__handle-line{stroke:currentColor;stroke-width:1px;stroke-dasharray:3 2;opacity:.6}.m-path-editor__anchor{fill:#fff;stroke:currentColor;stroke-width:1.5px;pointer-events:auto;cursor:move}.m-path-editor__anchor--selected{fill:rgba(var(--m-theme-primary), 1)}.m-path-editor__control{fill:currentColor;stroke:#fff;stroke-width:1px;pointer-events:auto;cursor:move}.m-selection{position:absolute;inset:0}.m-selection__slot{position:absolute}.m-selection__parent{pointer-events:none;color:rgba(var(--m-theme-primary), 1);opacity:.5;border:1px dashed;position:absolute}.m-selection__marquee{color:rgba(var(--m-theme-primary), 1);background-color:rgba(var(--m-theme-primary), .1);border:1px solid;position:absolute}.m-selection__transform{color:rgba(var(--m-theme-primary), 1);position:absolute}.m-selection__node{color:rgba(var(--m-theme-primary), 1);border:1px solid;position:absolute}.m-smart-guides{position:absolute;inset:0;overflow:hidden}.m-smart-guides__alignment{background-color:rgb(var(--m-theme-secondary));width:1px;height:1px;position:absolute}.m-smart-guides__dashed{background-image:repeating-linear-gradient(to right, rgba(var(--m-theme-secondary), .6) 0 4px, transparent 4px 7px);position:absolute}.m-smart-guides__dashed--vertical{background-image:repeating-linear-gradient(to bottom, rgba(var(--m-theme-secondary), .6) 0 4px, transparent 4px 7px)}.m-smart-guides__distance{background-color:rgb(var(--m-theme-primary));justify-content:center;align-items:center;display:flex;position:absolute}.m-smart-guides__distance:before,.m-smart-guides__distance:after{content:"";background-color:rgb(var(--m-theme-primary));position:absolute}.m-smart-guides__distance:before{width:1px;height:8px;inset:50% auto auto 0;transform:translateY(-50%)}.m-smart-guides__distance:after{width:1px;height:8px;inset:50% 0 auto auto;transform:translateY(-50%)}.m-smart-guides__distance--vertical:before{width:8px;height:1px;inset:0 auto auto 50%;transform:translate(-50%)}.m-smart-guides__distance--vertical:after{width:8px;height:1px;inset:auto auto 0 50%;transform:translate(-50%)}.m-smart-guides__label{white-space:nowrap;color:rgb(var(--m-theme-on-primary));background-color:rgb(var(--m-theme-primary));pointer-events:none;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.4;position:absolute}.m-smart-guides__area{background-color:rgba(var(--m-theme-secondary), .2);justify-content:center;align-items:center;display:flex;position:absolute}.m-smart-guides__area:before{content:"";background:rgb(var(--m-theme-primary));width:100%;height:1px}.m-smart-guides__area:after{content:"";border-left:1px solid rgb(var(--m-theme-primary));border-right:1px solid rgb(var(--m-theme-primary));width:100%;height:5px;position:absolute}.m-smart-guides__area--vertical:before{width:1px;height:100%}.m-smart-guides__area--vertical:after{border-left:none;border-right:none;border-top:1px solid rgb(var(--m-theme-primary));border-bottom:1px solid rgb(var(--m-theme-primary));width:5px;height:100%}.m-smart-selection{position:absolute;inset:0;overflow:hidden}.m-smart-selection__node{justify-content:center;align-items:center;display:flex;position:absolute}.m-smart-selection__node--active .m-smart-selection__ring{background:rgb(var(--m-theme-primary))}.m-smart-selection__ghost{border:1px solid rgb(var(--m-theme-primary));position:absolute}.m-smart-selection__ring{border:1px solid rgb(var(--m-theme-secondary));outline:1px solid rgb(var(--m-theme-on-secondary));pointer-events:auto;border-radius:100%;width:1px;height:1px}.m-smart-selection__ring:hover{background:rgb(var(--m-theme-secondary))}.m-smart-selection__spacing{visibility:hidden;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.m-smart-selection__spacing-line{pointer-events:auto;justify-content:center;align-items:center;width:10px;height:10px;display:flex}.m-smart-selection__spacing-line:before{content:"";background-color:rgb(var(--m-theme-secondary));width:100%;height:100%;display:block}.m-smart-selection--hover .m-smart-selection__ring{width:10px;height:10px}.m-smart-selection--hover .m-smart-selection__spacing{visibility:visible}.m-smart-selection--vertical .m-smart-selection__spacing-line{cursor:row-resize;height:6px}.m-smart-selection--vertical .m-smart-selection__spacing-line:before{height:1px}.m-smart-selection--horizontal .m-smart-selection__spacing-line{cursor:col-resize;width:6px}.m-smart-selection--horizontal .m-smart-selection__spacing-line:before{width:1px}.m-smart-selection--ring .m-smart-selection__spacing{visibility:hidden}.m-smart-selection--spacing .m-smart-selection__spacing{visibility:visible;background-color:rgb(var(--m-theme-secondary));opacity:.3}.m-smart-selection--spacing .m-smart-selection__spacing-line{visibility:hidden}.m-progress-indicator[data-v-03831f17]{align-items:center;gap:12px;display:flex}.m-progress-indicator__status[data-v-03831f17]{color:rgb(var(--m-theme-on-surface));font-size:.75rem}.m-progress-indicator__bar[data-v-03831f17]{background-color:rgb(var(--m-theme-background));border-radius:4px;width:100px;height:6px;position:relative;overflow:hidden}.m-progress-indicator__bar-fill[data-v-03831f17]{background-color:rgb(var(--m-theme-primary));height:100%;transition:width .3s;position:absolute;top:0;left:0}.m-progress-indicator__bar-indeterminate[data-v-03831f17]{background-color:rgb(var(--m-theme-primary));width:30%;height:100%;animation:1.5s linear infinite indeterminate-slide-03831f17;position:absolute;top:0;left:-30%}@keyframes indeterminate-slide-03831f17{0%{left:-30%}to{left:100%}}.m-statusbar[data-v-9ad38a0f]{-webkit-user-select:none;user-select:none;background-color:rgba(var(--m-theme-surface), 1);width:100%;height:100%;color:rgba(var(--m-theme-on-surface), 1);white-space:nowrap;align-items:center;gap:4px;padding:0 8px;font-size:.75rem;font-weight:700;line-height:1;display:flex;position:relative;overflow-x:auto}.m-statusbar__main[data-v-9ad38a0f]{flex:1;align-items:center;gap:4px;height:100%;display:flex}.m-statusbar__item[data-v-9ad38a0f]{align-items:center;gap:4px;display:flex}.m-statusbar__item>svg[data-v-9ad38a0f]{width:1em;height:1em}.m-statusbar__divider[data-v-9ad38a0f]{border-right:1px solid rgba(var(--m-theme-on-surface), .1);width:0;height:60%;margin:0 8px}.m-statusbar__kbd[data-v-9ad38a0f]{outline:1px solid rgba(var(--m-theme-on-surface), .1);border-radius:4px;justify-content:center;align-items:center;padding:0 2px;font-family:system-ui,-apple-system,sans-serif;font-size:.75rem;display:flex}.m-ease-wrap{flex-direction:column;gap:6px;width:100%;display:flex}.m-ease__fields{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.m-ease__field{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));width:100%;height:22px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:0 0;border-radius:4px;padding:0 4px}.m-ease__field:focus{border-color:rgb(var(--m-theme-on-surface));outline:none}.m-ease{touch-action:none;margin:0 auto;display:block}.m-ease__box{fill:rgba(var(--m-theme-on-surface), .04);stroke:rgba(var(--m-border-color), var(--m-border-opacity));stroke-width:1px}.m-ease__diag{stroke:rgba(var(--m-theme-on-surface), .15);stroke-width:1px;stroke-dasharray:3 3}.m-ease__tangent{stroke:rgba(var(--m-theme-on-surface), .35);stroke-width:1px}.m-ease__curve{fill:none;stroke:#cc9641;stroke-width:2px}.m-ease__anchor{fill:rgba(var(--m-theme-on-surface), .5)}.m-ease__handle{fill:rgb(var(--m-theme-surface));stroke:rgb(var(--m-theme-on-surface));stroke-width:1.5px;cursor:grab}.m-ease__handle:hover,.m-ease__handle--active{fill:#cc9641;cursor:grabbing}.m-kfpop__body{box-sizing:border-box;background-color:rgb(var(--m-theme-surface));width:248px;color:rgb(var(--m-theme-on-surface));border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;gap:8px;padding:8px;font-size:.75rem;display:flex;box-shadow:0 4px 16px #0000002e}.m-kfpop__head{align-items:center;gap:8px;display:flex}.m-kfpop__pct{font-variant-numeric:tabular-nums;min-width:36px;font-weight:600}.m-kfpop__channels{grid-template-columns:repeat(3,1fr);gap:6px 8px;display:grid}.m-kfpop__field{align-items:center;gap:4px;min-width:0;display:inline-flex}.m-kfpop__field>span{opacity:.6;min-width:14px}.m-kfpop__input,.m-kfpop__select{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));height:22px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border-radius:4px;padding:0 4px}.m-kfpop__input:focus,.m-kfpop__select:focus{border-color:rgb(var(--m-theme-on-surface));outline:none}.m-kfpop__input{width:100%;min-width:0}.m-kfpop__select{flex:1;min-width:0}.m-kfpop__btn{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.m-kfpop__btn:hover{background-color:rgba(var(--m-theme-on-surface), .08)}.m-payhead{width:10px;color:rgb(var(--m-theme-on-surface));position:absolute;top:0;bottom:0;left:-5px}.m-payhead__header{background-color:#0000;border:2px solid;border-bottom:none;width:10px;height:12px;position:sticky;top:0;left:0;right:0}.m-payhead__header:after{box-sizing:content-box;content:"";background-color:#0000;border-bottom:2px solid;border-right:2px solid;width:5px;height:5px;display:block;position:absolute;bottom:0;right:0;transform:rotate(45deg)translate(2.8px,2px)}.m-payhead__main{background-color:currentColor;width:1px;position:absolute;top:16px;bottom:0;left:4px;transform:translate(.5px)}.m-segment{-webkit-user-select:none;user-select:none;color:#fff;background-color:#cc9641;border-radius:2px;flex-wrap:nowrap;align-items:center;height:calc(100% - 4px);font-size:.75rem;display:flex;position:absolute;top:2px}.m-segment--active{outline:1px solid rgb(var(--m-theme-on-surface))}.m-segment__label{z-index:1;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;color:#fff;max-width:calc(100% - 12px);font-size:.7rem;position:absolute;top:50%;left:6px;overflow:hidden;transform:translateY(-50%)}.m-segment__edge{background-color:rgb(var(--m-theme-on-surface));content:"";pointer-events:auto;cursor:col-resize;justify-content:center;align-items:center;width:4px;display:flex;position:absolute;top:0;bottom:0}.m-segment__edge:before{background-color:rgb(var(--m-theme-surface));content:"";width:2px;height:10px;display:block}.m-segment__edge--front{border-top-left-radius:2px;border-bottom-left-radius:2px;left:0}.m-segment__edge--end{border-top-right-radius:2px;border-bottom-right-radius:2px;right:0}.m-segment__node{z-index:2;cursor:move;white-space:nowrap;text-overflow:ellipsis;background-color:#00000038;border-radius:2px;padding:1px 6px;position:relative;overflow:hidden}.m-segment__block{box-sizing:border-box;pointer-events:auto;border:1px solid #fff6;border-radius:2px;height:100%;position:absolute;top:0;overflow:hidden}.m-segment__block--animation{background-color:#0000;border:0;height:100%;top:0;overflow:visible}.m-segment__block--animation:before{content:"";background-color:#ffffff8c;border-radius:1px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.m-segment__block--animation:hover:before{background-color:#ffffffd9}.m-segment__block--in,.m-segment__block--out{border:1px solid #ffffff80;border-radius:2px;height:66%;top:2px}.m-segment__block--in:before,.m-segment__block--out:before{display:none}.m-segment__block--in{background-color:#409c60eb}.m-segment__block--out{background-color:#cc5842eb}.m-segment__block--emphasis{background-color:#5274d6eb;border:1px solid #fff6}.m-segment__block--emphasis:before{display:none}.m-segment__block--strip{height:28%;top:auto;bottom:0}.m-segment__block--media{background-color:#409c60d9}.m-segment__block--media:hover{background-color:#409c60}.m-segment__block--video{background-color:#7454c4d9}.m-segment__block--video:hover{background-color:#7454c4}.m-segment__kf{cursor:ew-resize;z-index:2;background-color:#fff;border:1px solid #00000073;border-radius:1px;width:8px;height:8px;margin:0;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.m-segment__kf:hover{background-color:#ffe2a8}.m-track{background-color:rgb(var(--m-theme-background));height:22px;display:flex;position:relative}.m-trackhead{height:22px;min-height:22px;color:rgba(var(--m-theme-on-surface), .8);-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;width:100%;padding:0 4px;font-size:.75rem;display:flex}.m-trackhead:hover{background-color:rgba(var(--m-theme-on-surface), .06)}.m-trackhead--selected{background-color:rgba(var(--m-theme-primary), calc(var(--m-activated-opacity) * 3))}.m-trackhead--dropping{box-shadow:0 1px 0 0 rgb(var(--m-theme-on-background))}.m-trackhead__thumbnail{opacity:.7;flex:none;justify-content:center;align-items:center;width:14px;height:14px;margin-right:6px;font-size:.875rem;display:flex}.m-trackhead__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;position:relative;overflow:hidden}.m-trackhead__input{outline:1px solid rgb(var(--m-theme-primary));background:rgb(var(--m-theme-surface));width:100%;height:100%;color:inherit;font:inherit;border:none;border-radius:2px;margin:0;padding:0 2px;position:absolute;inset:0}.m-trackhead__action{flex:none;align-items:center;gap:1px;margin-left:4px;display:flex}.m-trackhead__action .m-trackhead__btn{opacity:0;pointer-events:none}.m-trackhead__action--show .m-trackhead__btn{opacity:1;pointer-events:auto}.m-trackhead__btn{width:16px;height:16px;color:inherit;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:.75rem;display:inline-flex}.m-trackhead__btn:hover{background-color:rgba(var(--m-theme-on-surface), .12)}.m-trackhead__btn--show{opacity:1!important;pointer-events:auto!important}.m-timeline{color:rgb(var(--m-theme-on-surface));background-color:rgb(var(--m-theme-surface));flex-direction:column;width:100%;height:100%;display:flex;position:relative}.m-timeline__toolbar{border-bottom:1px solid rgba(var(--m-border-color), var(--m-border-opacity));-webkit-user-select:none;user-select:none;align-items:center;gap:8px;height:28px;padding:0 8px;font-size:.75rem;display:flex}.m-timeline__time{font-variant-numeric:tabular-nums;align-items:center;gap:4px;min-width:120px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;display:flex}.m-timeline__time-sep,.m-timeline__time--muted{opacity:.5}.m-timeline__controls{align-items:center;gap:2px;display:flex}.m-timeline__btn{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.m-timeline__btn:hover{background-color:rgba(var(--m-theme-on-surface), .08)}.m-timeline__btn:active{background-color:rgba(var(--m-theme-on-surface), .16)}.m-timeline__btn--primary{width:26px;height:26px}.m-timeline__select{border:1px solid rgba(var(--m-border-color), var(--m-border-opacity));height:22px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:0 4px;font-size:.75rem}.m-timeline__select:focus{border-color:rgb(var(--m-theme-on-surface));outline:none}.m-timeline__toolbar-spacer{flex:1}.m-timeline__main{flex:1;min-height:0;display:flex;position:relative}.m-timeline__left{flex-direction:column-reverse;align-items:center;width:120px;height:100%;padding-top:24px;display:flex;overflow:hidden}.m-timeline__left-wrapper{width:100%;height:100%;padding:0 0 0 4px;position:relative}.m-timeline__right{border-left:1px solid rgba(var(--m-border-color), var(--m-border-opacity));flex-direction:column;flex:1;min-width:0;padding-left:48px;display:flex;position:relative;overflow:hidden}.m-timeline__right-wrapper{width:100%;height:100%;position:relative}.m-timeline__ruler{width:100%;height:24px;min-height:24px;position:relative}.m-timeline__ruler,.m-timeline__ruler *{cursor:default}.m-timeline__track{flex-direction:column-reverse;flex:1;justify-content:start;gap:8px;height:max-content;min-height:100%;display:flex;position:relative;overflow:hidden}.m-drawing{position:absolute}.m-drawing__tip{border:1px solid rgba(var(--m-theme-on-surface), .17);white-space:nowrap;text-overflow:ellipsis;background-color:rgba(var(--m-theme-surface), 1);border-radius:4px;width:fit-content;height:22px;margin:4px;padding:0 4px;font-size:.875rem;overflow:hidden}.m-toolbelt{background:rgb(var(--m-theme-surface));border:1px solid rgba(var(--m-theme-on-surface), .08);cursor:default;border-radius:14px;align-items:center;gap:2px;padding:6px;display:flex;position:absolute;box-shadow:0 6px 20px #00000029,0 1px 3px #00000014;pointer-events:auto!important}.m-toolbelt--bottom,.m-toolbelt--top{flex-direction:row;left:50%;transform:translate(-50%)}.m-toolbelt--bottom{bottom:18px}.m-toolbelt--top{top:18px}.m-toolbelt--left,.m-toolbelt--right{flex-direction:column;top:50%;transform:translateY(-50%)}.m-toolbelt--left{left:18px}.m-toolbelt--right{right:18px}.m-toolbelt--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;box-shadow:0 12px 32px #0000003d}.m-toolbelt__grip{color:rgba(var(--m-theme-on-surface), .35);cursor:grab;flex-shrink:0;justify-content:center;align-items:center;display:flex}.m-toolbelt__grip:hover{color:rgba(var(--m-theme-on-surface), .6)}.m-toolbelt--left .m-toolbelt__grip,.m-toolbelt--right .m-toolbelt__grip{transform:rotate(90deg)}.m-toolbelt__kbd{white-space:nowrap;letter-spacing:.08em;opacity:.3;margin-left:16px;font-size:.75rem}.m-toolbelt__group{align-items:center;display:flex}.m-toolbelt--left .m-toolbelt__group,.m-toolbelt--right .m-toolbelt__group{flex-direction:column}.m-toolbelt__btn{border-radius:8px;width:32px;height:32px;font-size:20px}.m-toolbelt__icon{font-size:1rem}.m-toolbelt__arrow{opacity:.5;border-radius:6px;width:14px;height:32px;font-size:.625rem}.m-toolbelt--left .m-toolbelt__arrow,.m-toolbelt--right .m-toolbelt__arrow{width:32px;height:14px}.m-text-editor{width:0;height:0;position:absolute;top:0;left:0;overflow:visible}.m-text-editor__wrapper{position:absolute}.m-text-editor__editor{cursor:move;pointer-events:auto!important}.m-panel{width:100%;height:100%;color:rgb(var(--m-theme-on-surface));flex-direction:column;display:flex}.m-panel__header{border-bottom:1px solid rgba(var(--m-border-color), var(--m-border-opacity));-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;padding:8px;font-size:.75rem;font-weight:700;display:flex}.m-panel__title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.m-panel__body{flex:auto;width:100%;min-height:0;position:relative;overflow-y:auto}.m-panel__body--padded{padding:8px}.m-float-panel{position:absolute;top:0;left:0;pointer-events:auto!important}.m-float-panel__card{background-color:rgb(var(--m-theme-surface));width:100%;height:100%;box-shadow:var(--m-shadow);border-radius:12px;flex-direction:column;display:flex;position:relative;overflow:hidden}.m-float-panel .m-panel__header{cursor:move}.m-float-panel__resize{z-index:1;position:absolute}.m-float-panel__resize--e{cursor:ew-resize;width:6px;height:100%;top:0;right:0}.m-float-panel__resize--s{cursor:ns-resize;width:100%;height:6px;bottom:0;left:0}.m-float-panel__resize--se{cursor:nwse-resize;width:14px;height:14px;bottom:0;right:0}.m-layout-item,.m-layout-item--absolute{position:absolute}.m-layout-item--left{border-right:1px solid rgba(var(--m-border-color), var(--m-border-opacity))}.m-layout-item--top{border-bottom:1px solid rgba(var(--m-border-color), var(--m-border-opacity))}.m-layout-item--right{border-left:1px solid rgba(var(--m-border-color), var(--m-border-opacity))}.m-layout-item--bottom{border-top:1px solid rgba(var(--m-border-color), var(--m-border-opacity))}.m-layout-item__resize{z-index:1;touch-action:none;position:absolute}.m-layout-item__resize--left,.m-layout-item__resize--right{width:6px;height:100%;top:0}.m-layout-item__resize--top,.m-layout-item__resize--bottom{width:100%;height:6px;left:0}.m-layout-item__resize--left{right:-3px}.m-layout-item__resize--right{left:-3px}.m-layout-item__resize--top{bottom:-3px}.m-layout-item__resize--bottom{top:-3px}.m-floatbar .m-overlay-content{overflow:visible}.m-layout{--m-scrollbar-offset:0px;flex:auto;display:flex}.m-layout--full-height{--m-scrollbar-offset:inherit;height:100%}.m-main{max-width:100%;padding-left:var(--m-layout-left);padding-right:var(--m-layout-right);padding-top:var(--m-layout-top);padding-bottom:var(--m-layout-bottom);flex:1 0 auto}.m-main__scroller{max-width:100%;position:relative}.m-main--scrollable{width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.m-main--scrollable>.v-main__scroller{--v-layout-left:0px;--v-layout-right:0px;--v-layout-top:0px;--v-layout-bottom:0px;flex:auto;overflow-y:auto}.m-editor__preview-badge{z-index:2000;color:#fff;cursor:pointer;background:#141414d1;border:0;border-radius:999px;padding:6px 14px;font-size:.75rem;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000040}.m-editor{--m-theme-primary:69, 151, 248;--m-theme-on-primary:255, 255, 255;--m-theme-secondary:244, 36, 253;--m-theme-on-secondary:255, 255, 255;--m-theme-surface:255, 255, 255;--m-theme-on-surface:30, 30, 30;--m-theme-surface-variant:35, 37, 41;--m-theme-on-surface-variant:255, 255, 255;--m-theme-background:240, 242, 245;--m-theme-on-background:56, 56, 56;--m-border-color:0, 0, 0;--m-border-opacity:.08;--m-high-emphasis-opacity:1;--m-medium-emphasis-opacity:.5;--m-low-emphasis-opacity:.3;--m-hover-opacity:.04;--m-activated-opacity:.06;--m-shadow:0 8px 32px 2px #00000014, 0 0 1px #0003;--m-blur:8px;--m-panel-width:260px;background-color:rgb(var(--m-theme-surface));width:100%;height:100%;color:rgb(var(--m-theme-on-surface));-webkit-user-select:none;user-select:none;cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBR0JVbEVRVlI0QWV5WXowOGtSUlRIZXhhRlVTRUVRamlRRUFnbitBK01ISmlERi84SkU0OWNTRkQ1RlRETUhFQVE5S3pSZytGSE5pSGVKRkZqQW5PQnJLekdZRlRRRzRSQUVHRloxdDBaRk1YdnAzZHIwcGxNTTkzTDdzeDAwNlJlcXZyVnE2cjMvYjczdW91NVpkM3d2NGlBRzU0QWxsc0d4RVFNYzA1QmgyZ3FQQTJBVGpRQVJGY2w1WXVTYWttTmhCNTVRV1Btc05NdytBMndCZ1dnZUFaNHpkblpXZkx5OGpLVHpXYS9QVGs1U1oyZW5xWmsrSkxFRUFJWjJMTk82bUEyQUJqUEFRS282dVBqNC9HNnVycGhKbXBxYXJvYkdob0c2K3ZyaDBUSS9hT2pJNGg0UlhPR0RBZ2pLOWlMUFRRVm5JYlRlSXZqakNFZzN0allPSUF5bFVwWnNWak1vdWNaYVdwcWVsZEVIR2N5bWE5RlZFcTZseVdRRWNnU0FiVDh0eHRSSkpweHBmOWROT2wwbXM1S0pwTTVJZ3daOFhqOE5ZZ1NHZmNPRHcrVGxJbU1JU091M3BEQi9wQXJWV1UySE1Rem5FUWdvZnJpNHNMV0p4SUo1bklDRVVnczlqZ3JEQm5OemMzdlVDWWk0MVFsa3RTQ3dKU0lEVlFPMHlBQXViVzB0UFE1aXA2ZUhycUNBaEZJTFBhWURHTVV0Qkp4RW5CcFFQVDI5djU0Y0hEd014bUFHTDFiN3lUQ1pJV1BFbkhidGlSNlF3RGdrZjkwNnIrU2kxZ3N4ck0xUGo2dVIyOE5JaEN0dFYrY2hvd0NKVkxvWGVIdGtHZHM1U1FBOEJmYS94L0orY0xDd3J4Nnkwc0dZSmN2RUlFWU1zejhreEk1MFZma202MnRyZGVsNTRYSnU4ZjRJbFhwbXZOUUNDRDZmK3Y0ODRHQmdZMzkvZjFmTkg1cUVsaUxPSWt3V1VHSmRIWjJmcm01dVZsV0V2SUp5R1dBSE0vT3pjMHRxdmRWQnRpN0NVUWd6cXpvNk9nWWtUMmZUajdCdklUMStQeGEvczVPQXFoNU1zQXVBUmxtUjBaRzdQc0FaWUJJOTh4YU9wMjI5NnF0clgxVkE2N1hYTUx3cDZRa2NLRE96elhLZ0N5Z0RMTFNadmthcUw5MkdaZzlJSEoxZGRWQzBHMXZiMytpbnVpWDVUMlFUNEF6Q3lBZ016OC92eUFIcmF2dUJNd1hFc0FpZ0hVS091eDFhZHJzNnVyNlZPT1NSbDNuNVpvYkFTWUx6b2VHaHU3eU1zUnBKTGZTWllDTkV5eGpkQWhMZG5kM2Z4c2RIWDEvWW1MaVBYMGUrNldqNUNnOXNvOEFTRlc2bGs4QUorT0lJY0RPQXIyMGJNZUszUW1TeWFTZDJvQkYyR3huWitmM3djSEJENGVIaHovUVBtKzJ0YldOVDA1TzNoa2JHMXZYL0FOSlJuSXVLUXNKaFFnQUxNNUFBbzVsRnhjWDUrU2c1L2ZBOHZMeVYvcU1maVRBYjdXM3Q2ZG1abWJ1VEU5UHIybVBJNGNjYTN3cStVdkNPV1FDNU91eGRLMFFBWnlPSXhDQVU5d0o3REpnSXBGSTBCVVVreUZyYTJzL3pjN09ic2pvUkFMb1EvVk9RY2ZjZmVrZlNpQUEwaUZmajZWcnhRZ3dYNE9Nbnp2QjFOU1VFL3dmZ29NQStrK05UZVRQTkFZOFpRYlJGVVVBa2NBaEhDTTZSZThFMUw4QVdTc3JLMStvcDdidnFTZktBS1luM1lrNGM2UzlxWDB5amJNNFUwdEsyOXd5QUM5TUdaZ3M4SFFuaU1mamtBWkloQ2pUQTVob0E1cUlReXAyQU9jY3ppdUxYRVVBRWNGQkhNWHBLKzhFcHY0M05qYStGNUpIRWdEVEF4ckFFTWxlN01uZWlNeksyN3dRUUlyaXZLYzdRWDkvUDlkbkFDT3NZejFScmdqQStYUmZSUUMyT0E0QWdOaFpvRStiRGNSRUhDTlQvK3ZyNjdmMWpDMlJaaDNyRWFrcnN4VWpBTENrTEdDSTZKVjNncXFxS213TkFZd3JHandoS1VZQU5vQ0FBS0thMVFVbjl6c0JrZWRlWUxKQjlmK0RGb1NXQUlCUkJvL01yMFVBNTY0djBCYnAzOWZYOTUzR1pBcUVrUUZra0ZUbGE4Vk85cElCZ0FDTW5RSGE4S0grUVJMZTlkdDdlM3UvNnRuaVgrYnU3dTdQTk9hdER3SFlzb2Jza2JweW14Y0M4QjRnZ0FJY0lCOEk4TWV0cmExdjY2WDRSa3RMUzUrTStPYno2U05Mc0dXTjFKWGR2Qkpnc2dBQ0FNbU5qcHNlVjF1RW14NDY1ckNoQkVKSkFKSGxZc1B0RGdLNDVpS015UUN5ZzNjRjZROXBsUjErZWVjMUEyUnFFVkVpQzBDQVFnS2dpVHc5MFNmOXNjR1dOUlV2ZmdnQURNQUFDQWxrQXFBaGc3RkovY0JFSDBCK0NXQ05JWUZ5Z0FpQTAwTk1vTUFENW1rSVlCMUNqZWNMK2tESmRRZ0lGRkEzWnlNQzNKaTVLZm9vQTI1S3BOMXdSaG5neHN4TjBZY3VBL3dHTGlMQUwyTmhzNDh5SUd3UjlZc255Z0MvaklYTlBzcUFzRVhVTDU0b0Evd3lGamI3S0FQQ0ZsRy9lS0lNOE10WTJPeWpEQWg2Uksvci8vOEFBQUQvLzltR1FIRUFBQUFHU1VSQlZBTUFFTFdobi9KQ0EzY0FBQUFBU1VWT1JLNUNZSUk9IiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiLz48L3N2Zz4=) 4 4,auto;flex-direction:column;position:relative;overflow:hidden}.m-editor--hand{cursor:grab}.m-editor--grabbing{cursor:grabbing}.m-editor--drawing{cursor:crosshair}.m-editor--drawing-tool-pencil{cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBRjIwbEVRVlI0QWV5Wlcyc2tSUmlHZXp6TlNFaitRa2l1Y3BPcklJYUVrQWxtL29NSWFuNUJiZ0tpNURpYmcvOUJCQVVEQmc4b2lCZENJQWZJUVFrSzNnUXZjcE9BaDNnZWRZMmJkYlB2MDB3dHZaUHQ2YXFlVHJxejAwTzlWSFhYVjFYZis5WlgxZDAxVDNodC9zc0ZhUE1BOFBJSXlDT2d6UlhJbDBDYkIwQytDZVpMSUY4Q2JhNUF2Z1F5RkFBRitjS0VQS244YWVHWk9paHpqenBzZER1NVJLZko5UmEvSi95QUpLUkxSMGRIbFZxdFZnV1UxVzFKb0E0YmJIV1pURXEwczVndVFlb3B0UzBlSGg2T241MmRmZEhiMi90NVoyZm42NEF5OTZqRFJzQ1dOaXE2cDhZV2FRc0FFUWlWRGc0T0tuMTlmWjhWaThYaHpjMU5yMXF0K3NCaDdsR0hqYTZKQnRyUVZwZXRwVFFGZ0FCRVNudDdlK01EQXdPZlFBWGlZMk5qM3NMQ2dvOUNvZkJBQ0d5d2xWMWlJcVFsd0FQeTI5dmJsY0hCd1k5RnlpZTZJT0tVeStXeVo4cmtDT1BwaHkxdFZFeEVoRFFFZUlqOHlNakloeUx6RUhrSWIyeHNlUFB6ODQ4VWdUWkppWERkQWxpUmh6aWlBTW9JUXBuY1JBSWk3T3pzak91K2lZUllYR0kxMHFCeGtqTjVNMGlZQ0VORFF4OXBUM2hCZGtXQi9jU1pqM01ERFJRbnhTWnZCZ3NUb2IrLy96WFpFQVc4TURuemNXNmd3VnhUeStUTmdJMGk4TGpzNk9oNGZuMTlmVXcyc1Y2VXJscUFTUEp5M0lNSXVRMFFvVnd1KzZaYlcxdCszdFBUTTZJQ0FyQU1DaXBicDZzVUlKSThteHBrRUlCbnY2M1h0QW5hbnArZk14WkxnTnlKazVOeGNOQ0lNbzR3R3lVZVYrelkyRmYxZGdkcHl1VE1Kbzg3Q05tS0VPeUQ5dlMxdjcvL2pYTEdkT2JqM0VBRFJTVWNzU0p2T3JJVklVZ2VBV2wvZW5yNjdjVEV4TmVVNHlCcEFaekpHNmVqUkdna2IyWi9kWFgxUGZWeFYvaGZ1Q2M0cFNRRmlFM2VlQndtUWhqNTVlWGwyYW1wcVMvVi9qL2hYSEFXSVNrQldpWXY1LzNVS0VJWWVTMkJXek16TTVEL1J3My9GZTRJUk1LRmN1dVVoQUNKa1RkZUIwVVFVZjgydVFuN3VibTVKUW16cjRxYThKZHdXMENBU3hHZyswMVRxd0lrVHQ1NHk1UEJsSVBrWjJkbmx4Y1hGL2RVOTRmd3AvQzNjQ2F3Qks1MUQ3Z3k4cHBkRDlJaTVlZG01aUcvdExSa3lDTUFFY0Rzc3djUS90Y21RSnJrZjVjd0FQS3NmMlkvRm5uMUUrdXZzYXlRTjZFUGVkWStmSnpodWdjOFZ1UlJ5MFVBYlAwM1BBNGltcjNlMHJFTExOWThJUThJKzBSbTN2Z0hLVk51bG1NSCtTSUhFQnhFWUJ6bU9IVzJDT3Nqc09GQkhDUk9IaDhoUnQ0TWZGNFMrbnh1UGxzL2dMaDBobWQyNm1ZZE5kYWxUUjUvYkFUQXhwLzlrNU9UTnppQTRNdnRVWThwT3JSRkZzampLK1RJbXdFYlg0Q3VycTRoRE0xQkJDTGMxSm1IQjRBY2VSZ0lmMnc0YkNoS2dPY3doRGo1VFNjUEI4aVJod0VCV1A5K0JJUVoyZDdQU3RnSC9iVVJBQnNqUXJDdFV6bUw1Q0VBT2ZKbU1GR0FDTTNzUXV1eVNoNkhvd1NBdkVHVUxmMWRRcGJKNDJ3c1VqUzBRUnJrYmZ3SzJ0Z0l3QW1MRHc0Z2FXeSsxU0hJZFNONFQrQ1kyend0eU0wVDQ3cmU4QnA5Q3J1T0VzQW5yc1o4Wjk4ckZBcGNlMFlBaU9tZTF3aklJNExhaFgzUDgyb0xydVQxbG5GdDRTTEEzYlcxdFhmcG1ObUVQT1V3SUJKSFc5aGl3ekdXRGpOMlZZWTRTSjI4ZkxFNkQyRDIrZWErTXprNStkWHU3dTc3TklUWXhjV0ZGd2JJSThMeDhmRjNFdXVXanJFeVJ4NGVOaEhBWVFNQ2NPeDBlM2g0K0czOTIvT0IvcEQ4bEE3Q0FQSHA2ZWszdTd1N3A3Vlg3TWp1TnlFek15OWYvR1FqQUJIQWdTTkhUM3lMMTBaSFI5K3FWQ3J2YU8yL0tMd3N2Q3BNMVBHSzhwY2d2ckt5QXZGZk5SSkFnT0FoSnFJaXJxclRTMUVDNEprUmdBaEFBQTRqSWZTTEtuK3Vnekl3MXlZL3JkY2I4c0V6dk5USnl6ZnJQUUJuT1hmbkJKYk5DMEtRL0VtZC9DaDhYOGNQeWdIM3FFTVViSm41ekpHWHIxWUNZQmVNQW9nZ1FqQVNJQm9FRWNKNng0YW9RVGdpS0JOaER5RURteVdBTGMvL29BajhGUVV4L3BWQkRNQXNBOHFBT29oalMvUVFSZlJCZjVtQnJRQTRiRVJnRmlIRWpMSXhRcklSM0tjZU8rd2hUbnY2eVJSY0JBZzZEaGxJTWFzQWtnWmNBK3F4QzdiTFhEbXVBSmtqRXRlaFhJQzR5ajB1N1c1OEJMUTZFZmNCQUFELy83YmpxNjRBQUFBR1NVUkJWQU1BTUpYNHJsQ2FESTRBQUFBQVNVVk9SSzVDWUlJPSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIi8+PC9zdmc+) 8 24,auto}.m-editor--drawing-tool-pen{cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBSmRFbEVRVlI0QWV5WlMyeFZWUlNHejZrZ0JVSjRoUEFJanhBU0VoSkN3a0NOK0lCTEFJR3hUdFNKRTRkZ1JDdFdvYjBGQnpoaWJnSWl3a0FuQ2tnQ0RZUkNERGFvQTJPMXBqTVNIcTJsRHdxMXBVLy9iOU5WZGsvUGZmYmVpOVNTdmJwZmE2Kzkvbit0dmMvaDNMTGdmLzV2aW9Bc0V5Q1VIbVE5bzNxYUovUVoxOURUV1RJNUQzQkFBdnBaUVN5WHpCd1Iyc2dNOVptYnJocGRiTEpPM2Y5K3dkbFVYZ0tDZVFlK3FhbHBhMjl2NzRYaDRlRXVwTFcxdGJxdHJhMjZvYUZobXd4QVNwU01wNElRQU1yL2NRWHdSQk1RNVFLYlhMTm16UTh6WnN4NDJUUVhMbHo0NFlJRkN5cldyVnQzUm9SMDl2VDBuSmRlVFh0N2U0MUkyU0c5V1NNU0pRYTdxZmJWa3RLV09FZDg4RFB2M0xsVEJWamNxcW1wQ2JaczJSS0VZUmpRUnVycTZwZ0t5c3ZMWDBKdi92ejVIOFdSMHRqWStKb1VMVk00TW9pUndaNmFMbjJKRW9BampMbkkzNzU5KzhDU0pVdjI0aFpnazhsa1lJQnBJMFlJTlRxSTZmaWtyRjI3OXF3eTVaNHlwWllza1UweWhPeDRva1FBVnI2TUZnaHdaMTZSMzc5MDZkTDNtUUVVWUdsZnZudzVRT2dqaVVTQzRRRFE5QkhJQ01QUVpRdHJFYWVrUDVBeVgxa2lNanAwWkpLZG5aMUpEWk1aUGhFYUtrMkpFa0RmUlgvMjdObXY0QUxPQTRvMmN1WEtsU0NSU0FUVjFkVk9JRU5neHBDQ0h1S1RFb2JobUtQRFBFZG03dHk1KzFwYVdxclZKeU40b2hBQWprYW9zYUlYQU5zbWJNakdqb0E1YythOHdJU0I5K3NhM1FYTStlS1RBaUVJNUxBT01WM2FTQmcrdWtjWVg3Um8wUWZTYnlNajFPZFk0QU8rNEpPR2lsZWlCTkFuQWtRaUlJSnNuVWdrWExSeG5ENTFIQW5NK1dMcnlCWUJEQkRXbWc3dE1IeE1CQm1oYktqU2ZNbElBTEQyY3dXMjZjTThFWENwem93UkFSQ2Nab3c2R3hMUTlRVWJSZ1EybUtNMlcyU0Q3cDhER29jRWdvRlA2aGFuUkkwYkNXVkt4OS9Za2loU0Y1SUU3RUVFQW5qNjFFWUNUNTZyVjY5dTFUaVpXRlFTb2dSb1QxY2d3alhpL3FSeVBFNDMwMWdxV3hzMmJLalEybGtTZXpxazlVbDZlWlVvQWNPeWdneWRPblhxaE5ydTdGTmJkR2dqcVJ4bkxsZUoyaUxidUlSdjNManhzV3dWTkF0a2IwenhDUUE0TWlTTndXblRwZzJxVGx1aWprZEpTcnM0TXVuYk1qc3JWNjdjSXpYL0hhSGdXUkFsd0lIWHBnTzdkKy8rVmZXNGk1QXhYM3pIL1hQczYyVGJ4aGE2WkFCQysvVHAwNXRWRnkwTFVoRkE5UHVibTV0LzErWTVrNER6Q0crRVNCZytmaXZFWGpxQlJPWXRDelp0MnZTZStpVWhRUHNFZGdRRzFPa3ZLeXVqcjJibVF2VE1lVUFqa0lDd21wcDVHMmNzVHJERE9QclU4K2JOZSs3Y3VYT3ZxczJqbVVkMFFZK0Jud0hhSTdBalFBWU1uRHg1OG1zR3pTbUxDbU54Z3A0OU5wa0hNRytEOXR4bkRtQ1o3S0RIZW5TcHU3dTdlUklnQlg4a1Jna2c0cEJBQmd4TW56NmRHaCt5Rm5NYThENGh0Q0VEY09nZ3FZeWk0OCt0WDcvK1JmVXRBNkkrYXlyL0VqVm1CTGdNMkxObnp5K1lOb2ZTT1kyZVJkYkFNeFlWaUdETWRHbEhaZk5tN3IzQWZYTmdidkhpeGMrckp2b2NBWHd1MkRIQW1HeVBsakVFYURUcmkxQzZXWlZzeWZTTkRRME5BZGpQQVBxK1N0N3RLQUVZTWhKSS81d3VRaFlqRmtIYStZaVJaR3QxaHdDWU84QklvRy9URTZyakNPQU80QWdnNHk1Q3ZnZWsydEdBcDB0dk8wWlJrTDVOMDZGRzlML0VEUjBkSGNla1UzQVM0Z2p3TTJEY1JZaERjaVMyR0NoMGtEZ2xJOGQwNDNTWTR4NWh6aDZiUEE2N3VycSswWmlSRU9lN3BuTXJjVWFNQURLZ1h4Zmh6NWpFS1dxQUliVGp4SGZjd0tMSEdnT0RMYnNNbVlzVDVuMWJySitqanpRWEwxNU1TSitqd0tVWTU3K21zeTl4Qm53QzNEMFFmU05NZHd4OHh3RVFocUg3RkpZTGVIUGZ0MlY3cmw2OW1rOTFaQUZQaE5CMDg2M2pDTUNXM1FNUTBCZDlJU0lhS0tVU2N4d0NUSWVvOHg2QTBMYnhYT3Urdmo0aUR3SFVxZnpQMm13cUEyU0JPd0t5MUZkUlVUSDZQb0R6RUlCb0xtV0JCRVEzdVBzVWxnOXdqcENSaUMwMkd4d2N4R2VMZnRFem9GK2I5a2tlNmpOVmcrckFITEdVWnF3WTRvT0hQUGFvcjY4L3BSOWR2cUNkcldUU2c4MDRIY3NBZHdTazBHc2ZTTWdBUkdPamIycTBDeWxSOE95bkgybisyTGh4NDNIdFExRElUbnhFTkpSL1NVVUFGcmtISU9DaE9qMDZCdGYxbmU1YnRkMXZBRGhWVjFmbmZ2eGdyRkFTQi83V3JWdU55NVl0cTlRZTNaSmVDVm1KYi9pb2J2NGxHd0xZckVkYlBOQ0x6cGMzYjk3OFUrMHhKT0EwWkRBK0VjRk9NcGwwSmtoN1NOWitmeTFmdnZ4VERYWkpIa2ora1JBVXl3SjE4eS9wQ0NDOTJNUUlnUDM3SzFhc3FDUWliR24zQVU1ekp3Q0E4WHlFdGRoaHJROWUrKzNYMkwwUnVhK2FZT0FUR1lDUEdzcS9wQ01BcTZRWUc1RjJFRUFVN2hFUklrT0V1T1hOY2Vvd2ZQUkRCNEN5elFwMFdjdUdFZkQ4UHRDcGNRUVN5QUI4NFI3QXQ1SVJBT05HQU01MEtqS2Y2SzNzZXpubm5neFJJZ0JFVm9SaDZGNkV3dkFSTWVqNzRvTm5EYVF5Zi9Ub1VWNTczVjdxVXdQZW9rOW1UaGk4N0FhWk1nQWRtSVp4bURjU09qVFJzWDM3OXE4dVhicjBuZHF1Y0NTTUNCK01tOVFmeGdDc3BpdTBHYU5EemZxUjlrSDFyNmtOY0FUd25IMENRVVlXQkx6c1owVUFtOEU0SkJBQnppRk90Y3RBMjdadDI0NkZZZmpXaFFzWHpxanZDa0FRMGhsQ0VOcE1DcGg3ZktZQ3IzV0hOUGVUZE5uRDByNG80TFZIVmdTZ0J3a3dUd1RHa1NDRnRwMDdkeDRYRVcvWDF0YWVQbi8rL0ZuOXFOR2s4ZEZDYXZza1FBU1QxQUpOTTZpcXF2cnM0TUdEOWVvWWVNZzI4QVFCUHpSZHVKTE5FYkRkMkJ3U2VBVDVKTFJKb1hWRTd1N1lzZVBZcmwyN1RxeGF0YXBHaEx3amVYZnYzcjFITk84K3J3TTRrVWk0Tm9UNDRBOGRPZ1I0amhjRWNPRUNudjNZbDZPSW1ZSktMZ1N3TVNRUWlXZ21HQWwvUzhtWHUrcTNIVGx5NUhwbFplWG5hcnNMRStCSVFrUXdSdVFGbnJRdktYajJ6cFVBMWhnSjNBblJpeEhBRU5BaVJhUjVwRzQ5ZlBqd05XWERtL2JrMEhqQW8xVG52VWJndWZBQWp4QjVMbHRzRnkzeTdJL2tRd0RyZkJKSVVZNEVOelhPazc0QUlTc2dCQms5SW5weWNHbStMakxlMEtOMG40N0VqektJTG10WWp4MERUN1pwdW5nbFh3TE1JNGdnU2h3Skk0TG9jWGtCaGxzY1lEd3hqQWd5eEJmR21VZTNwT0FCTVZFQ3NJRkFCTkhpV0VUSkFCUmtrQmxFbW13d0FtZ3o5a1RBNDNpaENNQ1dDV1J3WXhzaGxoaytFWllWa0FJNVpBMTZaQlByekZiT2RhNExpa0ZBMUFmSUFCaVp3VjBCV01oQWFEUEdIRG9sQlkranBTQ0FmY2dLd0FFU3NFUWJvYzJ4WVJ5aTBDMnBsSW9BQXdVUkNHQk42TnQ4eWV0U0UxQnlnSmsybkNJZ0UwT1RmWDRxQXlaN2hEUGhtOHFBVEF4Tjl2bXBESmpzRWM2RWJ5b0RNakUwMmVlbk11QnBqL0JFL2Y4WEFBRC8vemM3eStFQUFBQUdTVVJCVkFNQUg2M2h2WjBON3dnQUFBQUFTVVZPUks1Q1lJST0iIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIvPjwvc3ZnPg==) 4 4,auto}.m-editor *{box-sizing:border-box}.m-editor__drawboard{width:100%;height:100%;position:relative;overflow:hidden}.m-editor__drawboard>*{pointer-events:none}.m-editor__canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0}.m-overlay-container{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.m-dialog{z-index:2000;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.m-dialog__scrim{background:#00000059;position:absolute;inset:0}.m-dialog__panel{background:rgb(var(--m-theme-surface,255 255 255));max-width:92vw;max-height:88vh;color:rgb(var(--m-theme-on-surface,30 30 30));border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000040}.m-dialog-enter-active,.m-dialog-leave-active{transition:opacity .18s}.m-dialog-enter-active .m-dialog__panel,.m-dialog-leave-active .m-dialog__panel{transition:transform .2s cubic-bezier(.2,.8,.2,1)}.m-dialog-enter-from,.m-dialog-leave-to{opacity:0}.m-dialog-enter-from .m-dialog__panel,.m-dialog-leave-to .m-dialog__panel{transform:translateY(12px)scale(.96)}
2
2
  /*$vite$:1*/
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import './typed-global.d.ts';
2
2
  import './typed-plugins.d.ts';
3
3
  export { default as EditorLayout } from './components/EditorLayout.vue';
4
+ export { Icon } from './components/icon';
4
5
  export { default as EditorLayers } from './components/Layers.vue';
5
6
  export { default as Cropper } from './components/shared/Cropper.vue';
6
7
  export { default as Dialog } from './components/shared/Dialog.vue';
@@ -11,6 +12,7 @@ export { default as Scrollbar } from './components/shared/Scrollbar.vue';
11
12
  export { default as Transform } from './components/shared/Transform.vue';
12
13
  export { default as EditorToolbelt } from './components/Toolbelt.vue';
13
14
  export { useEditor } from './composables';
15
+ export * from './crdt';
14
16
  export * from './editor';
15
17
  export * from './mixin';
16
18
  export * from './mixins';
@@ -19,5 +21,6 @@ export * from './plugins';
19
21
  export * from './scene';
20
22
  export * from './types';
21
23
  export * from './utils/create';
24
+ export * from './web-components';
22
25
  export type { Camera2D, Element2D, Engine } from 'modern-canvas';
23
26
  export type { Document, Element, NormalizedElement } from 'modern-idoc';