vkedit 4.0.1 → 4.0.2
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.
- package/CHANGELOG.md +28 -0
- package/dist/commands/base-command.d.ts +1 -0
- package/dist/commands/transform-element-command.d.ts +1 -0
- package/dist/core/RotateAngleLabel.vue.d.ts +9 -0
- package/dist/hooks/use-content-layer.d.ts +0 -3
- package/dist/{index-Dpse_csX.js → index-BlZP6Kl3.js} +7228 -7149
- package/dist/{index.es-LscL1n3Y.js → index.es-BsTzN-5u.js} +1 -1
- package/dist/plugins/barcode/PropertyPanel.vue.d.ts +1 -1
- package/dist/plugins/barcode/Shape.vue.d.ts +2 -4
- package/dist/plugins/barcode/barcode.d.ts +73 -0
- package/dist/plugins/line/PropertyPanel.vue.d.ts +1 -1
- package/dist/plugins/line/Shape.vue.d.ts +2 -4
- package/dist/plugins/line/line.d.ts +71 -0
- package/dist/plugins/qrcode/PropertyPanel.vue.d.ts +1 -1
- package/dist/plugins/qrcode/Shape.vue.d.ts +2 -4
- package/dist/plugins/qrcode/qrcode.d.ts +72 -0
- package/dist/plugins/rect/PropertyPanel.vue.d.ts +1 -1
- package/dist/plugins/rect/Shape.vue.d.ts +2 -2
- package/dist/plugins/rect/rect.d.ts +66 -0
- package/dist/plugins/snap/snap.d.ts +10 -1
- package/dist/plugins/text/PropertyPanel.vue.d.ts +1 -1
- package/dist/plugins/text/Shape.vue.d.ts +2 -2
- package/dist/plugins/text/text.d.ts +79 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/shape-props.d.ts +6 -0
- package/dist/utils/geometry.d.ts +13 -0
- package/dist/utils/transform-geometry.d.ts +1 -1
- package/dist/vkedit.css +1 -1
- package/dist/vkedit.es.js +1 -1
- package/package.json +19 -15
package/dist/vkedit.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";:root{--vkedit-palette-neutral-0: oklch(99% 0 0);--vkedit-palette-neutral-50: oklch(97% 0 0);--vkedit-palette-neutral-100: oklch(94% 0 0);--vkedit-palette-neutral-200: oklch(88% 0 0);--vkedit-palette-neutral-300: oklch(78% 0 0);--vkedit-palette-neutral-400: oklch(68% 0 0);--vkedit-palette-neutral-500: oklch(55% 0 0);--vkedit-palette-neutral-600: oklch(45% 0 0);--vkedit-palette-neutral-700: oklch(35% 0 0);--vkedit-palette-neutral-800: oklch(27% 0 0);--vkedit-palette-neutral-900: oklch(20% 0 0);--vkedit-palette-neutral-950: oklch(14% 0 0);--vkedit-palette-teal-400: oklch(78% .12 185);--vkedit-palette-teal-500: oklch(70% .14 185);--vkedit-palette-teal-600: oklch(60% .13 185);--vkedit-palette-danger-500: oklch(63% .22 25);--vkedit-palette-danger-600: oklch(55% .23 27);--vkedit-palette-warning-500: oklch(78% .15 75);--vkedit-palette-success-500: oklch(72% .15 155);--vkedit-spacing-0: 0;--vkedit-spacing-0-5: .125rem;--vkedit-spacing-1: .25rem;--vkedit-spacing-1-5: .375rem;--vkedit-spacing-2: .5rem;--vkedit-spacing-3: .75rem;--vkedit-spacing-4: 1rem;--vkedit-spacing-5: 1.25rem;--vkedit-spacing-6: 1.5rem;--vkedit-spacing-8: 2rem;--vkedit-spacing-xs: var(--vkedit-spacing-0-5);--vkedit-spacing-sm: var(--vkedit-spacing-1);--vkedit-spacing-md: var(--vkedit-spacing-2);--vkedit-spacing-lg: var(--vkedit-spacing-3);--vkedit-spacing-xl: var(--vkedit-spacing-8);--vkedit-radius-sm: .25rem;--vkedit-radius-md: .375rem;--vkedit-radius-lg: .5rem;--vkedit-radius-xl: .75rem;--vkedit-radius-full: 9999px;--vkedit-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--vkedit-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--vkedit-font-size-xs: .75rem;--vkedit-font-size-sm: .8125rem;--vkedit-font-size-base: .875rem;--vkedit-font-size-lg: .9375rem;--vkedit-font-size-xl: 1.0625rem;--vkedit-font-weight-medium: 500;--vkedit-font-weight-bold: 700;--vkedit-line-height-tight: 1.25;--vkedit-line-height-normal: 1.5;--vkedit-border-width: 1px;--vkedit-duration-fast: .12s;--vkedit-duration-normal: .16s;--vkedit-duration-slow: .22s;--vkedit-easing-default: cubic-bezier(.2, 0, 0, 1);--vkedit-easing-in: cubic-bezier(.4, 0, 1, 1);--vkedit-easing-out: cubic-bezier(0, 0, .2, 1);--vkedit-z-base: 1;--vkedit-z-sidebar: 90;--vkedit-z-toolbar: 100;--vkedit-z-dropdown-overlay: 150;--vkedit-z-dropdown: 160;--vkedit-z-context-menu: 200;--vkedit-z-modal: 999;--vkedit-z-warning: 1000;--vkedit-toolbar-gap: 2px;--vkedit-toolbar-top: 33px;--vkedit-control-height-sm: 24px;--vkedit-control-height-md: 28px;--vkedit-control-height-lg: 32px}.vkedit-editor,[data-vkedit-theme=dark]{color-scheme:dark;--vkedit-color-primary: var(--vkedit-palette-teal-500);--vkedit-color-primary-hover: var(--vkedit-palette-teal-400);--vkedit-color-on-primary: var(--vkedit-palette-neutral-950);--vkedit-color-danger: var(--vkedit-palette-danger-500);--vkedit-color-danger-hover: var(--vkedit-palette-danger-600);--vkedit-color-on-danger: var(--vkedit-palette-neutral-0);--vkedit-color-warning: var(--vkedit-palette-warning-500);--vkedit-color-success: var(--vkedit-palette-success-500);--vkedit-color-canvas-area: oklch(20% .015 265);--vkedit-color-paper: var(--vkedit-palette-neutral-0);--vkedit-color-surface: oklch(26% .012 260 / .92);--vkedit-color-surface-solid: oklch(26% .012 260);--vkedit-color-surface-1: oklch(22% .01 260 / .55);--vkedit-color-surface-2: oklch(30% .01 260);--vkedit-color-bg: var(--vkedit-color-surface-solid);--vkedit-color-bg-hover: oklch(32% .01 260);--vkedit-color-bg-active: oklch(36% .012 260);--vkedit-color-border: oklch(100% 0 0 / .09);--vkedit-color-border-subtle: oklch(100% 0 0 / .06);--vkedit-color-border-strong: oklch(100% 0 0 / .14);--vkedit-color-text: oklch(86% .005 260);--vkedit-color-text-secondary: oklch(70% .005 260);--vkedit-color-text-muted: oklch(58% .005 260);--vkedit-color-text-disabled: oklch(50% 0 0 / .55);--vkedit-color-focus-ring: var(--vkedit-color-primary);--vkedit-color-overlay: oklch(0% 0 0 / .45);--vkedit-color-toolbar-bg: oklch(26% .012 260 / .78);--vkedit-color-panel-bg: var(--vkedit-color-surface);--vkedit-toolbar-divider-color: var(--vkedit-color-border-strong);--vkedit-blur-panel: blur(12px);--vkedit-elevation-1: 0 1px 2px oklch(0% 0 0 / .18);--vkedit-elevation-2: 0 4px 16px oklch(0% 0 0 / .28);--vkedit-elevation-3: 0 12px 32px oklch(0% 0 0 / .36);--vkedit-shadow-sm: var(--vkedit-elevation-1);--vkedit-shadow-md: var(--vkedit-elevation-2);--vkedit-shadow-lg: var(--vkedit-elevation-3);--vkedit-shadow-panel: var(--vkedit-elevation-2);--vkedit-transition-colors: color, background-color, border-color, box-shadow, opacity, var(--vkedit-duration-fast) var(--vkedit-easing-default)}[data-vkedit-theme=light]{color-scheme:light;--vkedit-color-primary: var(--vkedit-palette-teal-600);--vkedit-color-primary-hover: var(--vkedit-palette-teal-500);--vkedit-color-on-primary: var(--vkedit-palette-neutral-0);--vkedit-color-danger: var(--vkedit-palette-danger-500);--vkedit-color-danger-hover: var(--vkedit-palette-danger-600);--vkedit-color-on-danger: var(--vkedit-palette-neutral-0);--vkedit-color-warning: var(--vkedit-palette-warning-500);--vkedit-color-success: var(--vkedit-palette-success-500);--vkedit-color-canvas-area: oklch(94% .01 260);--vkedit-color-paper: var(--vkedit-palette-neutral-0);--vkedit-color-surface: oklch(100% 0 0 / .92);--vkedit-color-surface-solid: oklch(100% 0 0);--vkedit-color-surface-1: oklch(97% 0 0);--vkedit-color-surface-2: oklch(94% 0 0);--vkedit-color-bg: var(--vkedit-color-surface-solid);--vkedit-color-bg-hover: oklch(96% 0 0);--vkedit-color-bg-active: oklch(92% 0 0);--vkedit-color-border: oklch(0% 0 0 / .1);--vkedit-color-border-subtle: oklch(0% 0 0 / .06);--vkedit-color-border-strong: oklch(0% 0 0 / .16);--vkedit-color-text: oklch(22% 0 0);--vkedit-color-text-secondary: oklch(40% 0 0);--vkedit-color-text-muted: oklch(50% 0 0);--vkedit-color-text-disabled: oklch(55% 0 0 / .7);--vkedit-color-focus-ring: var(--vkedit-color-primary);--vkedit-color-overlay: oklch(0% 0 0 / .35);--vkedit-color-toolbar-bg: oklch(100% 0 0 / .78);--vkedit-color-panel-bg: var(--vkedit-color-surface);--vkedit-toolbar-divider-color: var(--vkedit-color-border);--vkedit-blur-panel: blur(12px);--vkedit-elevation-1: 0 1px 2px oklch(0% 0 0 / .06);--vkedit-elevation-2: 0 4px 16px oklch(0% 0 0 / .1);--vkedit-elevation-3: 0 12px 32px oklch(0% 0 0 / .14);--vkedit-shadow-sm: var(--vkedit-elevation-1);--vkedit-shadow-md: var(--vkedit-elevation-2);--vkedit-shadow-lg: var(--vkedit-elevation-3);--vkedit-shadow-panel: var(--vkedit-elevation-2);--vkedit-transition-colors: color, background-color, border-color, box-shadow, opacity, var(--vkedit-duration-fast) var(--vkedit-easing-default)}.vkedit-editor :where(*,*:before,*:after){box-sizing:border-box}.vkedit-editor :where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}.vkedit-editor :where(button,input,select,textarea){font:inherit;color:inherit}.vkedit-editor :where(ol,ul,menu){list-style:none}.vkedit-editor :where(img,svg,video,canvas){display:block;vertical-align:middle}@keyframes vkedit-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes vkedit-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes vkedit-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vkedit-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vkedit-toolbar-enter{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes vkedit-toolbar-leave{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-6px)}}.vkedit-scale-enter-active{animation:vkedit-scale-in var(--vkedit-duration-fast) var(--vkedit-easing-out)}.vkedit-scale-leave-active{animation:vkedit-scale-out var(--vkedit-duration-fast) var(--vkedit-easing-in)}.vkedit-toolbar-enter-active{animation:vkedit-toolbar-enter var(--vkedit-duration-normal) var(--vkedit-easing-out)}.vkedit-toolbar-leave-active{animation:vkedit-toolbar-leave var(--vkedit-duration-normal) var(--vkedit-easing-in)}@media(prefers-reduced-motion:reduce){.vkedit-scale-enter-active,.vkedit-scale-leave-active,.vkedit-toolbar-enter-active,.vkedit-toolbar-leave-active{animation-duration:.01ms!important;animation-iteration-count:1!important}.vkedit-editor *,[data-vkedit-theme] *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.vkedit-editor{position:relative;width:100%;height:100vh;overflow:hidden;background:var(--vkedit-color-canvas-area);font-family:var(--vkedit-font-sans);color:var(--vkedit-color-text)}.vkedit-editor *{scrollbar-width:thin;scrollbar-color:var(--vkedit-color-border-strong) transparent}.vkedit-editor *::-webkit-scrollbar{width:8px;height:8px}.vkedit-editor *::-webkit-scrollbar-thumb{background:var(--vkedit-color-border-strong);border-radius:var(--vkedit-radius-full)}.vkedit-editor *::-webkit-scrollbar-thumb:hover{background:var(--vkedit-color-text-muted)}.vkedit-editor .vkedit-editor__minwidth-warning{position:absolute;inset:0;z-index:var(--vkedit-z-warning);display:flex;align-items:center;justify-content:center;background:var(--vkedit-color-canvas-area);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-lg);text-align:center;padding:var(--vkedit-spacing-lg)}.vkedit-editor .vkedit-editor__minwidth-warning p{max-width:320px;line-height:1.6}@media(max-width:1023px){.vkedit-editor .vkedit-floating-toolbox,.vkedit-editor .vkedit-floating-toolbox--collapsed{width:44px}.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__title span,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__title span,.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__title .vkedit-floating-toolbox__toggle,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__title .vkedit-floating-toolbox__toggle{display:none}.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__title,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__title{border-bottom:none;padding:var(--vkedit-spacing-xs)}.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__content,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__content{display:none}.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__collapsed-icon,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__collapsed-icon{display:flex}.vkedit-editor .vkedit-floating-property-panel,.vkedit-editor .vkedit-floating-property-panel--collapsed{width:44px}.vkedit-editor .vkedit-floating-toolbar{padding:0 var(--vkedit-spacing-xs);font-size:var(--vkedit-font-size-xs);gap:0}.vkedit-editor .vkedit-floating-toolbar .vkedit-btn--ghost{height:28px;padding:0 var(--vkedit-spacing-xs)}.vkedit-editor .vkedit-floating-toolbar .vkedit-toolbar__label{display:none}}.vkedit-floating-toolbar{position:absolute;top:var(--vkedit-toolbar-top);left:50%;transform:translate(-50%);z-index:var(--vkedit-z-toolbar);display:flex;align-items:center;height:40px;padding:0 var(--vkedit-spacing-2);background:var(--vkedit-color-toolbar-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border-strong);border-radius:var(--vkedit-radius-xl);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-sm);transition:opacity var(--vkedit-duration-normal) var(--vkedit-easing-default)}.vkedit-toolbar__group{display:flex;align-items:center;gap:var(--vkedit-toolbar-gap)}.vkedit-toolbar__divider{width:1px;height:20px;margin:0 var(--vkedit-spacing-1-5);background:var(--vkedit-toolbar-divider-color);flex-shrink:0}.vkedit-floating-toolbar .vkedit-btn.is-active,.vkedit-floating-toolbar .vkedit-btn[aria-pressed=true]{color:var(--vkedit-color-primary);background:var(--vkedit-color-bg-active)}.vkedit-floating-toolbox{position:absolute;top:100px;left:36px;width:var(--vkedit-sidebar-width, 200px);z-index:var(--vkedit-z-sidebar);background:var(--vkedit-color-panel-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-lg);box-shadow:var(--vkedit-shadow-panel);max-height:calc(100vh - 64px);font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text);transition:width var(--vkedit-duration-normal) var(--vkedit-easing-default);display:flex;flex-direction:column;overflow:hidden}.vkedit-floating-toolbox__title{display:flex;align-items:center;justify-content:space-between;padding:var(--vkedit-spacing-sm) var(--vkedit-spacing-md);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-bold);border-bottom:1px solid var(--vkedit-color-border-subtle);flex-shrink:0}.vkedit-floating-toolbox__toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--vkedit-radius-sm);cursor:pointer;color:var(--vkedit-color-text-secondary);flex-shrink:0}.vkedit-floating-toolbox__toggle:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-floating-toolbox__collapsed-icon{display:flex;align-items:center;justify-content:center;height:100%;min-height:44px;color:var(--vkedit-color-text-secondary);cursor:pointer}.vkedit-floating-toolbox__collapsed-icon:hover{color:var(--vkedit-color-text);background:var(--vkedit-color-bg-hover)}.vkedit-floating-toolbox--collapsed{width:44px;overflow:hidden}.vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__title,.vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__content,.vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__resize-handle{display:none}.vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__collapsed-icon{display:flex}.vkedit-floating-toolbox__content{padding:var(--vkedit-spacing-sm);display:flex;flex-direction:column;gap:var(--vkedit-spacing-xs);overflow-y:auto;flex:1;min-height:0}.vkedit-floating-toolbox__content .vkedit-btn{width:100%;justify-content:center}.vkedit-floating-toolbox__layers{margin-top:var(--vkedit-spacing-xs);padding-top:var(--vkedit-spacing-xs);border-top:1px solid var(--vkedit-color-border)}.vkedit-floating-toolbox__resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;transition:background var(--vkedit-duration-fast) var(--vkedit-easing-default)}.vkedit-floating-toolbox__resize-handle:hover,.vkedit-floating-toolbox__resize-handle--active{background:var(--vkedit-color-border)}.vkedit-floating-toolbox.vkedit-floating-toolbox .vkedit-floating-toolbox__content .vkedit-tool-link{background:transparent;color:var(--vkedit-color-text-secondary)}.vkedit-floating-toolbox.vkedit-floating-toolbox .vkedit-floating-toolbox__content .vkedit-tool-link:hover{background:transparent;color:var(--vkedit-color-text)}.vkedit-floating-toolbox .vkedit-graphic-tool__header{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);padding:var(--vkedit-spacing-xs) 0;color:var(--vkedit-color-text-secondary)}.vkedit-floating-toolbox .vkedit-graphic-tool__title{font-size:var(--vkedit-font-size-xs);font-weight:var(--vkedit-font-weight-bold);white-space:nowrap}.vkedit-floating-toolbox .vkedit-graphic-tool__divider{flex:1;height:1px;background:var(--vkedit-color-border)}.vkedit-floating-toolbox .vkedit-graphic-tool__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--vkedit-spacing-md);padding:var(--vkedit-spacing-sm) 0 var(--vkedit-spacing-md)}.vkedit-graphic-tool__grid .vkedit-btn.vkedit-tool-link{flex-direction:column;gap:var(--vkedit-spacing-xs);height:auto;padding:var(--vkedit-spacing-md)}.vkedit-graphic-tool__grid .vkedit-btn.vkedit-tool-link svg{width:24px;height:24px}.vkedit-stage-view{position:absolute;inset:0;width:100%;height:100%;z-index:var(--vkedit-z-base);overflow:hidden;background:transparent}.vkedit-status-bar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:var(--vkedit-z-sidebar);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--vkedit-color-toolbar-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-lg);padding:0 var(--vkedit-spacing-4);height:36px;color:var(--vkedit-color-text-secondary);font-size:var(--vkedit-font-size-sm);-webkit-user-select:none;user-select:none;white-space:nowrap}.vkedit-status-bar__section{display:flex;align-items:center;gap:8px}.vkedit-status-bar__zoom-controls{display:flex;align-items:center;gap:4px}.vkedit-status-bar__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--vkedit-radius-sm);cursor:pointer;color:var(--vkedit-color-text-secondary)}.vkedit-status-bar__btn:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-status-bar__btn--active{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-text)}.vkedit-status-bar__zoom-value{font-size:var(--vkedit-font-size-sm);font-weight:500;min-width:44px;text-align:center;color:var(--vkedit-color-text-secondary)}.vkedit-status-bar__coords{font-size:var(--vkedit-font-size-sm);font-variant-numeric:tabular-nums;color:var(--vkedit-color-text-secondary);letter-spacing:.02em}.vkedit-status-bar__cursor-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.vkedit-context-menu{position:absolute;z-index:var(--vkedit-z-context-menu);min-width:160px;border-radius:var(--vkedit-radius-lg);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);padding:var(--vkedit-spacing-1);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-sm);display:flex;flex-direction:column;gap:2px}.vkedit-context-menu__item{display:block;width:100%;padding:4px 8px;border:none;border-radius:var(--vkedit-radius-sm);background:transparent;font-size:var(--vkedit-font-size-sm);cursor:pointer;text-align:left;color:var(--vkedit-color-text)}.vkedit-context-menu__item:hover{background:var(--vkedit-color-bg-hover)}.vkedit-context-menu>button{width:100%;justify-content:flex-start}.vkedit-help-guide{position:absolute;bottom:16px;right:16px;z-index:95}.vkedit-help-guide__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-lg);background:var(--vkedit-color-toolbar-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);cursor:pointer;color:var(--vkedit-color-text-secondary)}.vkedit-help-guide__btn:hover{background:var(--vkedit-color-bg-hover)}.vkedit-help-guide__overlay{position:fixed;inset:0;z-index:var(--vkedit-z-modal);display:flex;align-items:center;justify-content:center;background:var(--vkedit-color-overlay)}.vkedit-help-guide__popup{width:380px;max-height:80vh;overflow-y:auto;border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:12px;background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-base);-webkit-user-select:none;user-select:none}.vkedit-help-guide__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:var(--vkedit-border-width) solid var(--vkedit-color-border)}.vkedit-help-guide__title{font-size:var(--vkedit-font-size-xl);font-weight:600}.vkedit-help-guide__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--vkedit-radius-sm);background:transparent;cursor:pointer;color:var(--vkedit-color-text-muted)}.vkedit-help-guide__close:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-help-guide__list{padding:12px 20px 16px}.vkedit-help-guide__group{margin-bottom:14px}.vkedit-help-guide__group:last-child{margin-bottom:0}.vkedit-help-guide__group-title{font-size:var(--vkedit-font-size-xs);font-weight:600;color:var(--vkedit-color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.vkedit-help-guide__item{display:flex;align-items:center;gap:6px;padding:5px 0;line-height:1.5}.vkedit-help-guide__sep{color:var(--vkedit-color-text-muted);font-size:var(--vkedit-font-size-xs)}.vkedit-help-guide__desc{margin-left:auto;color:var(--vkedit-color-text-muted);font-size:var(--vkedit-font-size-sm);white-space:nowrap}.vkedit-help-guide__item kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border:var(--vkedit-border-width) solid var(--vkedit-color-border-subtle);border-radius:var(--vkedit-radius-sm);background:var(--vkedit-color-bg-hover);font-family:inherit;font-size:var(--vkedit-font-size-xs);line-height:1;color:var(--vkedit-color-text-secondary);white-space:nowrap}.vkedit-floating-property-panel,.vkedit-property-panel{position:absolute;top:100px;right:12px;width:240px;z-index:var(--vkedit-z-sidebar);background:var(--vkedit-color-panel-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:1px solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-lg);box-shadow:var(--vkedit-shadow-panel);max-height:calc(100vh - 64px);overflow-y:auto;font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text);transition:width var(--vkedit-duration-slow) var(--vkedit-easing-default);display:flex;flex-direction:column}.vkedit-floating-property-panel__toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--vkedit-color-text-secondary);flex-shrink:0}.vkedit-floating-property-panel__toggle:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-floating-property-panel__collapsed-icon{display:none;align-items:center;justify-content:center;height:44px;color:var(--vkedit-color-text-secondary);cursor:pointer}.vkedit-floating-property-panel--collapsed{width:44px;overflow:hidden;align-items:center;justify-content:center}.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__title{padding:var(--vkedit-spacing-xs);border-bottom:none}.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__title span,.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__title .vkedit-floating-property-panel__toggle,.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__content{display:none}.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__collapsed-icon{display:flex}.vkedit-floating-property-panel__title{display:flex;align-items:center;justify-content:space-between;padding:var(--vkedit-spacing-sm) var(--vkedit-spacing-md);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-bold);border-bottom:var(--vkedit-border-width) solid var(--vkedit-color-border-subtle);flex-shrink:0}.vkedit-floating-property-panel__content{padding:var(--vkedit-spacing-3);overflow:hidden auto;display:grid;grid-template-columns:1fr;gap:var(--vkedit-spacing-3)}.vkedit-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--vkedit-spacing-sm);white-space:nowrap;border-radius:var(--vkedit-radius-md);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);line-height:1;border:var(--vkedit-border-width) solid transparent;cursor:pointer;transition:var(--vkedit-transition-colors);color:var(--vkedit-color-text);background:transparent}.vkedit-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--vkedit-color-canvas-area),0 0 0 4px var(--vkedit-color-focus-ring)}.vkedit-btn:disabled{pointer-events:none;opacity:.45;color:var(--vkedit-color-text-disabled)}.vkedit-btn svg{pointer-events:none;width:16px;height:16px;flex-shrink:0;color:currentColor}.vkedit-btn--primary{background:var(--vkedit-color-primary);color:var(--vkedit-color-on-primary)}.vkedit-btn--primary:hover{background:var(--vkedit-color-primary-hover)}.vkedit-btn--primary:active{filter:brightness(.95)}.vkedit-btn--default{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-text)}.vkedit-btn--default:hover{background:var(--vkedit-color-bg-hover)}.vkedit-btn--destructive{background:var(--vkedit-color-danger);color:var(--vkedit-color-on-danger)}.vkedit-btn--destructive:hover{background:var(--vkedit-color-danger-hover)}.vkedit-btn--outline{border-color:var(--vkedit-color-border-strong);background:transparent;color:var(--vkedit-color-text)}.vkedit-btn--outline:hover{background:var(--vkedit-color-bg-hover)}.vkedit-btn--secondary{background:var(--vkedit-color-surface-1);color:var(--vkedit-color-text)}.vkedit-btn--secondary:hover{background:var(--vkedit-color-bg-hover)}.vkedit-btn--ghost{background:transparent;color:var(--vkedit-color-text)}.vkedit-btn--ghost:hover{background:var(--vkedit-color-bg-hover)}.vkedit-btn--ghost:active,.vkedit-btn--ghost.is-active,.vkedit-btn--ghost[aria-pressed=true]{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-primary)}.vkedit-btn--link{background:transparent;color:var(--vkedit-color-primary);text-decoration:underline;text-underline-offset:4px;border-color:transparent}.vkedit-btn--link:hover{color:var(--vkedit-color-primary-hover)}.vkedit-btn--default{height:var(--vkedit-control-height-md);padding:0 var(--vkedit-spacing-2)}.vkedit-btn--xs{height:var(--vkedit-control-height-sm);padding:0 var(--vkedit-spacing-1-5);font-size:var(--vkedit-font-size-xs)}.vkedit-btn--sm{height:26px;padding:0 var(--vkedit-spacing-1-5);font-size:var(--vkedit-font-size-xs)}.vkedit-btn--lg{height:var(--vkedit-control-height-lg);padding:0 var(--vkedit-spacing-3)}.vkedit-btn--icon{height:var(--vkedit-control-height-md);width:var(--vkedit-control-height-md);padding:0}.vkedit-btn--icon-sm{height:var(--vkedit-control-height-sm);width:var(--vkedit-control-height-sm);padding:0}.vkedit-btn--icon-lg{height:var(--vkedit-control-height-lg);width:var(--vkedit-control-height-lg);padding:0}.vkedit-toggle{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--vkedit-radius-md);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);border:none;background:transparent;cursor:pointer;white-space:nowrap;outline:none;color:var(--vkedit-color-text-secondary)}.vkedit-toggle:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-toggle--on{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-primary)}.vkedit-toggle:focus-visible{box-shadow:0 0 0 2px var(--vkedit-color-focus-ring)}.vkedit-toggle:disabled{pointer-events:none;opacity:.45}.vkedit-toggle svg{pointer-events:none;width:16px;height:16px;flex-shrink:0}.vkedit-toggle--default{height:36px;min-width:36px;padding:0 var(--vkedit-spacing-sm)}.vkedit-toggle--sm{height:32px;min-width:32px;padding:0 6px}.vkedit-toggle--lg{height:40px;min-width:40px;padding:0 10px}.vkedit-input{display:flex;align-items:center;height:var(--vkedit-control-height-md);width:100%;border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-1);padding:0 var(--vkedit-spacing-2);font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text);box-shadow:none;transition:var(--vkedit-transition-colors)}.vkedit-input::placeholder{color:var(--vkedit-color-text-muted)}.vkedit-input:hover:not(:disabled):not(:focus-visible){border-color:var(--vkedit-color-border-strong)}.vkedit-input:focus-visible{outline:none;border-color:var(--vkedit-color-focus-ring);box-shadow:0 0 0 2px var(--vkedit-color-canvas-area),0 0 0 4px color-mix(in oklab,var(--vkedit-color-focus-ring) 45%,transparent)}.vkedit-input:disabled{cursor:not-allowed;opacity:.5;color:var(--vkedit-color-text-disabled)}.vkedit-input.is-invalid,.vkedit-input[aria-invalid=true]{border-color:var(--vkedit-color-danger)}.vkedit-textarea{display:block;width:100%;min-height:72px;resize:vertical;border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-1);padding:var(--vkedit-spacing-2);font-size:var(--vkedit-font-size-sm);line-height:var(--vkedit-line-height-normal);color:var(--vkedit-color-text);transition:var(--vkedit-transition-colors)}.vkedit-textarea::placeholder{color:var(--vkedit-color-text-muted)}.vkedit-textarea:focus-visible{outline:none;border-color:var(--vkedit-color-focus-ring);box-shadow:0 0 0 2px var(--vkedit-color-canvas-area),0 0 0 4px color-mix(in oklab,var(--vkedit-color-focus-ring) 45%,transparent)}.vkedit-textarea:disabled{cursor:not-allowed;opacity:.5}.vkedit-label{font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);color:var(--vkedit-color-text-secondary);line-height:var(--vkedit-line-height-tight);margin-bottom:var(--vkedit-spacing-xs)}.vkedit-select{display:flex;align-items:center;height:var(--vkedit-control-height-md);width:100%;border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-1);padding:0 var(--vkedit-spacing-2);font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text);color-scheme:inherit;transition:var(--vkedit-transition-colors);cursor:pointer}.vkedit-select option{background:var(--vkedit-color-surface-solid);color:var(--vkedit-color-text)}.vkedit-select:hover:not(:disabled){border-color:var(--vkedit-color-border-strong)}.vkedit-select:focus-visible{outline:none;border-color:var(--vkedit-color-focus-ring);box-shadow:0 0 0 2px var(--vkedit-color-focus-ring)}.vkedit-select:disabled{opacity:.5;cursor:not-allowed}.vkedit-switch{display:inline-flex;height:20px;width:36px;flex-shrink:0;cursor:pointer;align-items:center;border-radius:var(--vkedit-radius-full);border:2px solid transparent;background:var(--vkedit-color-bg-active);transition:var(--vkedit-transition-colors);box-shadow:var(--vkedit-shadow-sm);position:relative}.vkedit-switch__input{position:absolute;opacity:0;width:0;height:0}.vkedit-switch__thumb{display:block;height:16px;width:16px;border-radius:var(--vkedit-radius-full);background:var(--vkedit-color-text);box-shadow:var(--vkedit-shadow-sm);transition:transform var(--vkedit-duration-fast) var(--vkedit-easing-default)}.vkedit-switch:has(.vkedit-switch__input:checked){background:var(--vkedit-color-primary)}.vkedit-switch:has(.vkedit-switch__input:checked) .vkedit-switch__thumb{transform:translate(16px);background:var(--vkedit-color-on-primary)}.vkedit-switch:has(.vkedit-switch__input:focus-visible){box-shadow:0 0 0 2px var(--vkedit-color-focus-ring)}.vkedit-switch:has(.vkedit-switch__input:disabled){cursor:not-allowed;opacity:.45}.vkedit-input-mm{display:flex;align-items:stretch;width:100%}.vkedit-input-mm__btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--vkedit-control-height-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--vkedit-transition-colors)}.vkedit-input-mm__btn:first-child{border-radius:var(--vkedit-radius-md) 0 0 var(--vkedit-radius-md);border-right:none}.vkedit-input-mm__btn:last-child{border-radius:0 var(--vkedit-radius-md) var(--vkedit-radius-md) 0;border-left:none}.vkedit-input-mm__btn:hover:not(:disabled){background:var(--vkedit-color-bg-active)}.vkedit-input-mm__btn:disabled{opacity:.45;cursor:not-allowed}.vkedit-input-mm__field{flex:1}.vkedit-input-mm__display,.vkedit-input-mm__input{flex:1;min-width:0;height:var(--vkedit-control-height-md);width:100%;border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-left:none;border-right:none;background:var(--vkedit-color-surface-1);color:var(--vkedit-color-text);padding:0 var(--vkedit-spacing-sm);font-size:var(--vkedit-font-size-sm);text-align:center;transition:var(--vkedit-transition-colors)}.vkedit-input-mm__display:focus-visible,.vkedit-input-mm__input:focus-visible{outline:none;border-color:var(--vkedit-color-focus-ring);box-shadow:0 0 0 2px var(--vkedit-color-canvas-area),0 0 0 4px color-mix(in oklab,var(--vkedit-color-focus-ring) 45%,transparent);position:relative;z-index:1}.vkedit-dropdown{position:relative;display:inline-block}.vkedit-dropdown__overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--vkedit-z-dropdown-overlay)}.vkedit-dropdown__content{position:fixed;z-index:var(--vkedit-z-dropdown);min-width:160px;max-height:300px;overflow-x:hidden;overflow-y:auto;border-radius:var(--vkedit-radius-lg);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);padding:var(--vkedit-spacing-1);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text)}.vkedit-dropdown__label{padding:var(--vkedit-spacing-1) var(--vkedit-spacing-2);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);color:var(--vkedit-color-text-secondary)}.vkedit-dropdown__sep{height:1px;margin:var(--vkedit-spacing-1) 0;background:var(--vkedit-color-border)}.vkedit-dropdown__item{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);width:100%;padding:var(--vkedit-spacing-1) var(--vkedit-spacing-2);border:none;border-radius:var(--vkedit-radius-sm);background:transparent;font-size:var(--vkedit-font-size-sm);cursor:pointer;text-align:left;color:var(--vkedit-color-text)}.vkedit-dropdown__item:hover{background:var(--vkedit-color-bg-hover)}.vkedit-dropdown__item:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--vkedit-color-focus-ring)}.vkedit-dropdown__item:disabled,.vkedit-dropdown__item[disabled]{opacity:.45;pointer-events:none}.vkedit-dropdown__item.is-active,.vkedit-dropdown__item[aria-selected=true]{color:var(--vkedit-color-primary);background:color-mix(in oklab,var(--vkedit-color-primary) 16%,transparent)}.vkedit-dropdown__item svg{width:16px;height:16px;flex-shrink:0}.vkedit-btn-group{display:flex;align-items:stretch;gap:var(--vkedit-toolbar-gap);width:fit-content}.vkedit-btn-group>.vkedit-btn{border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md)}.vkedit-color-picker{display:flex;flex-direction:column;gap:var(--vkedit-spacing-xs)}.vkedit-color-picker.is-disabled{opacity:.6;pointer-events:none}.vkedit-color-picker__label{font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);line-height:var(--vkedit-line-height-tight);color:var(--vkedit-color-text-secondary)}.vkedit-color-picker__field{display:flex;align-items:stretch;gap:var(--vkedit-spacing-sm);min-width:0}.vkedit-color-picker__swatch{position:relative;width:28px;height:28px;flex-shrink:0;border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background-image:linear-gradient(45deg,#c8c8c8 25%,transparent 25%),linear-gradient(-45deg,#c8c8c8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#c8c8c8 75%),linear-gradient(-45deg,transparent 75%,#c8c8c8 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;cursor:pointer;overflow:hidden;box-shadow:var(--vkedit-shadow-sm)}.vkedit-color-picker__swatch-inner{position:absolute;inset:0}.vkedit-color-picker__swatch.is-transparent{cursor:pointer}.vkedit-color-picker__hex{flex:1;min-width:0;font-family:var(--vkedit-font-mono);text-transform:lowercase}.vkedit-color-picker__none-btn{height:28px;padding:0 var(--vkedit-spacing-sm);border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:transparent;font-size:var(--vkedit-font-size-xs);font-weight:var(--vkedit-font-weight-medium);color:var(--vkedit-color-text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:var(--vkedit-transition-colors)}.vkedit-color-picker__none-btn:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-color-picker__none-btn.is-active{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-text);border-color:var(--vkedit-color-border-strong)}.vkedit-color-picker__none-btn:disabled{cursor:not-allowed;opacity:.5}.vkedit-color-picker__message{font-size:var(--vkedit-font-size-xs);line-height:1.4;padding:2px 6px;border-radius:var(--vkedit-radius-sm)}.vkedit-color-picker__message.is-error{color:var(--vkedit-color-danger);background:color-mix(in oklab,var(--vkedit-color-danger) 12%,transparent)}.vkedit-color-picker__message.is-warning{color:var(--vkedit-color-warning);background:color-mix(in oklab,var(--vkedit-color-warning) 12%,transparent)}.vkedit-color-picker__overlay{position:fixed;inset:0;z-index:var(--vkedit-z-dropdown-overlay)}.vkedit-color-picker__panel{position:fixed;z-index:var(--vkedit-z-dropdown);min-width:220px;padding:var(--vkedit-spacing-3);border-radius:var(--vkedit-radius-lg);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);display:flex;flex-direction:column;gap:var(--vkedit-spacing-sm)}.vkedit-color-picker__panel-title{font-size:var(--vkedit-font-size-xs);font-weight:var(--vkedit-font-weight-medium);color:var(--vkedit-color-text-secondary)}.vkedit-color-picker__panel-native{display:flex;align-items:center;gap:var(--vkedit-spacing-sm)}.vkedit-color-picker__panel-native input[type=color]{width:100%;height:32px;border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md);background:transparent;cursor:pointer;padding:2px}.vkedit-color-picker__panel-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.vkedit-color-picker__panel-swatch{width:100%;aspect-ratio:1;border-radius:var(--vkedit-radius-sm);border:var(--vkedit-border-width) solid var(--vkedit-color-border);cursor:pointer;padding:0;transition:transform .1s ease}.vkedit-color-picker__panel-swatch:hover{transform:scale(1.06)}.vkedit-color-picker__panel-actions{display:flex;justify-content:flex-end}.vkedit-color-picker__panel-btn{height:28px;padding:0 var(--vkedit-spacing-md);border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);cursor:pointer}.vkedit-color-picker__panel-btn:hover{background:var(--vkedit-color-bg-active)}.vkedit-property__title{font-size:var(--vkedit-font-size-base);font-weight:var(--vkedit-font-weight-bold);color:var(--vkedit-color-text);padding-bottom:var(--vkedit-spacing-sm);border-bottom:var(--vkedit-border-width) solid var(--vkedit-color-border-subtle);margin-bottom:var(--vkedit-spacing-sm)}.vkedit-property__label{font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text-secondary);display:block}.vkedit-property__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--vkedit-spacing-md);align-items:center;padding:var(--vkedit-spacing-sm) 0}.vkedit-property__col-full{grid-column:1/-1}.vkedit-chart__field{width:100%;border:1px solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md);padding:0 var(--vkedit-spacing-sm)}.vkedit-chart__input{width:100%;border:1px solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md);padding:0 var(--vkedit-spacing-sm);height:36px}.vkedit-chart__textarea{width:100%;border:1px solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md);padding:var(--vkedit-spacing-xs) var(--vkedit-spacing-sm);font-family:var(--vkedit-font-mono);font-size:var(--vkedit-font-size-xs);height:192px;resize:vertical}.vkedit-chart__error{color:var(--vkedit-color-danger);font-size:var(--vkedit-font-size-xs);margin-top:4px}.vkedit-chart__section{padding-top:var(--vkedit-spacing-md);font-weight:var(--vkedit-font-weight-bold)}.vkedit-input-mm__input[data-v-47959cb1]::-webkit-outer-spin-button,.vkedit-input-mm__input[data-v-47959cb1]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.vkedit-input-mm__input[data-v-47959cb1]{-moz-appearance:textfield}.vkedit-input-mm__input[data-v-f78ba536]::-webkit-outer-spin-button,.vkedit-input-mm__input[data-v-f78ba536]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.vkedit-input-mm__input[data-v-f78ba536]{-moz-appearance:textfield}.vkedit-textarea[data-v-079f2ff9]{display:block;width:100%;min-height:56px;height:auto;resize:vertical;padding:var(--vkedit-spacing-sm);line-height:1.4;font-family:var(--vkedit-font-sans);text-transform:none}.vkedit-property__warning[data-v-02fac382]{font-size:var(--vkedit-font-size-xs);color:var(--vkedit-color-warning);background:color-mix(in oklab,var(--vkedit-color-warning) 12%,transparent);padding:4px 6px;border-radius:var(--vkedit-radius-sm);line-height:1.4}[data-v-f1133ec9]:root{--vkedit-palette-neutral-0: oklch(99% 0 0);--vkedit-palette-neutral-50: oklch(97% 0 0);--vkedit-palette-neutral-100: oklch(94% 0 0);--vkedit-palette-neutral-200: oklch(88% 0 0);--vkedit-palette-neutral-300: oklch(78% 0 0);--vkedit-palette-neutral-400: oklch(68% 0 0);--vkedit-palette-neutral-500: oklch(55% 0 0);--vkedit-palette-neutral-600: oklch(45% 0 0);--vkedit-palette-neutral-700: oklch(35% 0 0);--vkedit-palette-neutral-800: oklch(27% 0 0);--vkedit-palette-neutral-900: oklch(20% 0 0);--vkedit-palette-neutral-950: oklch(14% 0 0);--vkedit-palette-teal-400: oklch(78% .12 185);--vkedit-palette-teal-500: oklch(70% .14 185);--vkedit-palette-teal-600: oklch(60% .13 185);--vkedit-palette-danger-500: oklch(63% .22 25);--vkedit-palette-danger-600: oklch(55% .23 27);--vkedit-palette-warning-500: oklch(78% .15 75);--vkedit-palette-success-500: oklch(72% .15 155);--vkedit-spacing-0: 0;--vkedit-spacing-0-5: .125rem;--vkedit-spacing-1: .25rem;--vkedit-spacing-1-5: .375rem;--vkedit-spacing-2: .5rem;--vkedit-spacing-3: .75rem;--vkedit-spacing-4: 1rem;--vkedit-spacing-5: 1.25rem;--vkedit-spacing-6: 1.5rem;--vkedit-spacing-8: 2rem;--vkedit-spacing-xs: var(--vkedit-spacing-0-5);--vkedit-spacing-sm: var(--vkedit-spacing-1);--vkedit-spacing-md: var(--vkedit-spacing-2);--vkedit-spacing-lg: var(--vkedit-spacing-3);--vkedit-spacing-xl: var(--vkedit-spacing-8);--vkedit-radius-sm: .25rem;--vkedit-radius-md: .375rem;--vkedit-radius-lg: .5rem;--vkedit-radius-xl: .75rem;--vkedit-radius-full: 9999px;--vkedit-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--vkedit-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--vkedit-font-size-xs: .75rem;--vkedit-font-size-sm: .8125rem;--vkedit-font-size-base: .875rem;--vkedit-font-size-lg: .9375rem;--vkedit-font-size-xl: 1.0625rem;--vkedit-font-weight-medium: 500;--vkedit-font-weight-bold: 700;--vkedit-line-height-tight: 1.25;--vkedit-line-height-normal: 1.5;--vkedit-border-width: 1px;--vkedit-duration-fast: .12s;--vkedit-duration-normal: .16s;--vkedit-duration-slow: .22s;--vkedit-easing-default: cubic-bezier(.2, 0, 0, 1);--vkedit-easing-in: cubic-bezier(.4, 0, 1, 1);--vkedit-easing-out: cubic-bezier(0, 0, .2, 1);--vkedit-z-base: 1;--vkedit-z-sidebar: 90;--vkedit-z-toolbar: 100;--vkedit-z-dropdown-overlay: 150;--vkedit-z-dropdown: 160;--vkedit-z-context-menu: 200;--vkedit-z-modal: 999;--vkedit-z-warning: 1000;--vkedit-toolbar-gap: 2px;--vkedit-toolbar-top: 33px;--vkedit-control-height-sm: 24px;--vkedit-control-height-md: 28px;--vkedit-control-height-lg: 32px}.vkedit-editor[data-v-f1133ec9],[data-vkedit-theme=dark][data-v-f1133ec9]{color-scheme:dark;--vkedit-color-primary: var(--vkedit-palette-teal-500);--vkedit-color-primary-hover: var(--vkedit-palette-teal-400);--vkedit-color-on-primary: var(--vkedit-palette-neutral-950);--vkedit-color-danger: var(--vkedit-palette-danger-500);--vkedit-color-danger-hover: var(--vkedit-palette-danger-600);--vkedit-color-on-danger: var(--vkedit-palette-neutral-0);--vkedit-color-warning: var(--vkedit-palette-warning-500);--vkedit-color-success: var(--vkedit-palette-success-500);--vkedit-color-canvas-area: oklch(20% .015 265);--vkedit-color-paper: var(--vkedit-palette-neutral-0);--vkedit-color-surface: oklch(26% .012 260 / .92);--vkedit-color-surface-solid: oklch(26% .012 260);--vkedit-color-surface-1: oklch(22% .01 260 / .55);--vkedit-color-surface-2: oklch(30% .01 260);--vkedit-color-bg: var(--vkedit-color-surface-solid);--vkedit-color-bg-hover: oklch(32% .01 260);--vkedit-color-bg-active: oklch(36% .012 260);--vkedit-color-border: oklch(100% 0 0 / .09);--vkedit-color-border-subtle: oklch(100% 0 0 / .06);--vkedit-color-border-strong: oklch(100% 0 0 / .14);--vkedit-color-text: oklch(86% .005 260);--vkedit-color-text-secondary: oklch(70% .005 260);--vkedit-color-text-muted: oklch(58% .005 260);--vkedit-color-text-disabled: oklch(50% 0 0 / .55);--vkedit-color-focus-ring: var(--vkedit-color-primary);--vkedit-color-overlay: oklch(0% 0 0 / .45);--vkedit-color-toolbar-bg: oklch(26% .012 260 / .78);--vkedit-color-panel-bg: var(--vkedit-color-surface);--vkedit-toolbar-divider-color: var(--vkedit-color-border-strong);--vkedit-blur-panel: blur(12px);--vkedit-elevation-1: 0 1px 2px oklch(0% 0 0 / .18);--vkedit-elevation-2: 0 4px 16px oklch(0% 0 0 / .28);--vkedit-elevation-3: 0 12px 32px oklch(0% 0 0 / .36);--vkedit-shadow-sm: var(--vkedit-elevation-1);--vkedit-shadow-md: var(--vkedit-elevation-2);--vkedit-shadow-lg: var(--vkedit-elevation-3);--vkedit-shadow-panel: var(--vkedit-elevation-2);--vkedit-transition-colors: color, background-color, border-color, box-shadow, opacity, var(--vkedit-duration-fast) var(--vkedit-easing-default)}[data-vkedit-theme=light][data-v-f1133ec9]{color-scheme:light;--vkedit-color-primary: var(--vkedit-palette-teal-600);--vkedit-color-primary-hover: var(--vkedit-palette-teal-500);--vkedit-color-on-primary: var(--vkedit-palette-neutral-0);--vkedit-color-danger: var(--vkedit-palette-danger-500);--vkedit-color-danger-hover: var(--vkedit-palette-danger-600);--vkedit-color-on-danger: var(--vkedit-palette-neutral-0);--vkedit-color-warning: var(--vkedit-palette-warning-500);--vkedit-color-success: var(--vkedit-palette-success-500);--vkedit-color-canvas-area: oklch(94% .01 260);--vkedit-color-paper: var(--vkedit-palette-neutral-0);--vkedit-color-surface: oklch(100% 0 0 / .92);--vkedit-color-surface-solid: oklch(100% 0 0);--vkedit-color-surface-1: oklch(97% 0 0);--vkedit-color-surface-2: oklch(94% 0 0);--vkedit-color-bg: var(--vkedit-color-surface-solid);--vkedit-color-bg-hover: oklch(96% 0 0);--vkedit-color-bg-active: oklch(92% 0 0);--vkedit-color-border: oklch(0% 0 0 / .1);--vkedit-color-border-subtle: oklch(0% 0 0 / .06);--vkedit-color-border-strong: oklch(0% 0 0 / .16);--vkedit-color-text: oklch(22% 0 0);--vkedit-color-text-secondary: oklch(40% 0 0);--vkedit-color-text-muted: oklch(50% 0 0);--vkedit-color-text-disabled: oklch(55% 0 0 / .7);--vkedit-color-focus-ring: var(--vkedit-color-primary);--vkedit-color-overlay: oklch(0% 0 0 / .35);--vkedit-color-toolbar-bg: oklch(100% 0 0 / .78);--vkedit-color-panel-bg: var(--vkedit-color-surface);--vkedit-toolbar-divider-color: var(--vkedit-color-border);--vkedit-blur-panel: blur(12px);--vkedit-elevation-1: 0 1px 2px oklch(0% 0 0 / .06);--vkedit-elevation-2: 0 4px 16px oklch(0% 0 0 / .1);--vkedit-elevation-3: 0 12px 32px oklch(0% 0 0 / .14);--vkedit-shadow-sm: var(--vkedit-elevation-1);--vkedit-shadow-md: var(--vkedit-elevation-2);--vkedit-shadow-lg: var(--vkedit-elevation-3);--vkedit-shadow-panel: var(--vkedit-elevation-2);--vkedit-transition-colors: color, background-color, border-color, box-shadow, opacity, var(--vkedit-duration-fast) var(--vkedit-easing-default)}.vkedit-layer-panel[data-v-f1133ec9]{display:flex;flex-direction:column;gap:var(--vkedit-spacing-xs);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);-webkit-user-select:none;user-select:none;position:relative}.vkedit-layer-panel__header[data-v-f1133ec9]{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);padding:var(--vkedit-spacing-xs) 0;color:var(--vkedit-color-text-secondary)}.vkedit-layer-panel__title[data-v-f1133ec9]{font-size:var(--vkedit-font-size-xs);font-weight:var(--vkedit-font-weight-bold);white-space:nowrap}.vkedit-layer-panel__divider[data-v-f1133ec9]{flex:1;height:1px;background:var(--vkedit-color-border)}.vkedit-layer-panel__empty[data-v-f1133ec9]{padding:var(--vkedit-spacing-md) var(--vkedit-spacing-sm);color:var(--vkedit-color-text-secondary);text-align:center;font-size:var(--vkedit-font-size-xs);opacity:.6}.vkedit-layer-panel__list[data-v-f1133ec9]{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:2px 0}.vkedit-layer-row[data-v-f1133ec9]{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);height:36px;padding:0 var(--vkedit-spacing-sm);border-radius:var(--vkedit-radius-sm);cursor:pointer;position:relative;transition:background .1s ease,transform .2s ease}.vkedit-layer-row[data-v-f1133ec9]:hover{background:var(--vkedit-color-bg-hover)}.vkedit-layer-row--selected[data-v-f1133ec9]{background:color-mix(in oklab,var(--vkedit-color-primary) 14%,transparent)}.vkedit-layer-row--hidden[data-v-f1133ec9]{opacity:.5}.vkedit-layer-row--locked .vkedit-layer-row__handle[data-v-f1133ec9]{color:var(--vkedit-color-text-secondary)}.vkedit-layer-row--dragging[data-v-f1133ec9]{opacity:.5;box-shadow:var(--vkedit-shadow-panel)}.vkedit-layer-row__handle[data-v-f1133ec9]{display:flex;align-items:center;cursor:grab;color:var(--vkedit-color-text-secondary)}.vkedit-layer-row__handle[data-v-f1133ec9]:hover{color:var(--vkedit-color-text)}.vkedit-layer-row__type[data-v-f1133ec9]{flex-shrink:0;color:var(--vkedit-color-text-secondary)}.vkedit-layer-row__name[data-v-f1133ec9]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--vkedit-font-size-xs)}.vkedit-layer-row__rename-input[data-v-f1133ec9]{flex:1;min-width:0;height:24px;padding:0 4px;background:var(--vkedit-color-bg-active);border:1px solid var(--vkedit-color-border-strong);border-radius:var(--vkedit-radius-sm);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);outline:none}.vkedit-layer-row__actions[data-v-f1133ec9]{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .1s ease}.vkedit-layer-row:hover .vkedit-layer-row__actions[data-v-f1133ec9],.vkedit-layer-row--selected .vkedit-layer-row__actions[data-v-f1133ec9]{opacity:1}.vkedit-layer-row__btn[data-v-f1133ec9]{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--vkedit-radius-sm);cursor:pointer;color:var(--vkedit-color-text-secondary)}.vkedit-layer-row__btn[data-v-f1133ec9]:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-layer-row__btn--active[data-v-f1133ec9]{color:var(--vkedit-color-text)}.vkedit-layer-indicator[data-v-f1133ec9]{position:absolute;left:var(--vkedit-spacing-sm);right:var(--vkedit-spacing-sm);height:2px;border-radius:1px;background:var(--vkedit-color-border-strong);box-shadow:0 0 6px var(--vkedit-color-border-strong);z-index:2;pointer-events:none;animation:vkedit-layer-indicator-fade-in-f1133ec9 .12s ease-out}.vkedit-layer-indicator--top[data-v-f1133ec9]{top:0}.vkedit-layer-indicator--bottom[data-v-f1133ec9]{bottom:0}@keyframes vkedit-layer-indicator-fade-in-f1133ec9{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.vkedit-layer-menu[data-v-f1133ec9]{position:fixed;z-index:var(--vkedit-z-dropdown);min-width:140px;padding:4px;background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-sm);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);display:flex;flex-direction:column;gap:2px}.vkedit-layer-menu__item[data-v-f1133ec9]{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);padding:8px var(--vkedit-spacing-sm);background:transparent;border:none;border-radius:var(--vkedit-radius-sm);cursor:pointer;color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);text-align:left}.vkedit-layer-menu__item[data-v-f1133ec9]:hover{background:var(--vkedit-color-bg-hover)}.vkedit-layer-menu__divider[data-v-f1133ec9]{height:1px;margin:2px 0;background:var(--vkedit-color-border)}.vkedit-layer-ghost[data-v-f1133ec9]{position:fixed;z-index:1000;display:flex;align-items:center;gap:var(--vkedit-spacing-sm);height:32px;padding:0 var(--vkedit-spacing-sm);min-width:160px;max-width:280px;background:var(--vkedit-color-panel-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border-strong);border-radius:var(--vkedit-radius-sm);box-shadow:var(--vkedit-shadow-lg);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);pointer-events:none;-webkit-user-select:none;user-select:none;transform:translateY(-50%);transition:opacity .1s ease}.vkedit-layer-ghost__name[data-v-f1133ec9]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vkedit-property__name-row[data-v-b7aca303]{display:flex;flex-direction:column;gap:4px}.vkedit-property__warning[data-v-c699cb78]{font-size:var(--vkedit-font-size-xs);color:var(--vkedit-color-warning);background:color-mix(in oklab,var(--vkedit-color-warning) 12%,transparent);padding:4px 6px;border-radius:var(--vkedit-radius-sm);line-height:1.4}.snap-toggle[data-v-ede64735]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:8px 0;border:none;border-radius:var(--vkedit-radius-sm);background:transparent;color:var(--vkedit-color-text-secondary);cursor:pointer;transition:var(--vkedit-transition-colors)}.snap-toggle[data-v-ede64735]:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.snap-toggle--active[data-v-ede64735]{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-text)}.vkedit-rotate-angle-label{position:fixed;pointer-events:none;z-index:10000;padding:2px 6px;font-size:12px;line-height:1.2;border-radius:4px;background:var(--vkedit-color-surface-solid, #fff);color:var(--vkedit-color-text, #111);border:1px solid var(--vkedit-color-border, #ccc);box-shadow:0 1px 2px #0000001f;white-space:nowrap}.vkedit-toolbar-enter-active[data-v-d776308e]{animation:vkedit-toolbar-enter .2s ease-out}.vkedit-toolbar-leave-active[data-v-d776308e]{animation:vkedit-toolbar-leave .15s ease-in}
|
|
1
|
+
@charset "UTF-8";:root{--vkedit-palette-neutral-0: oklch(99% 0 0);--vkedit-palette-neutral-50: oklch(97% 0 0);--vkedit-palette-neutral-100: oklch(94% 0 0);--vkedit-palette-neutral-200: oklch(88% 0 0);--vkedit-palette-neutral-300: oklch(78% 0 0);--vkedit-palette-neutral-400: oklch(68% 0 0);--vkedit-palette-neutral-500: oklch(55% 0 0);--vkedit-palette-neutral-600: oklch(45% 0 0);--vkedit-palette-neutral-700: oklch(35% 0 0);--vkedit-palette-neutral-800: oklch(27% 0 0);--vkedit-palette-neutral-900: oklch(20% 0 0);--vkedit-palette-neutral-950: oklch(14% 0 0);--vkedit-palette-teal-400: oklch(78% .12 185);--vkedit-palette-teal-500: oklch(70% .14 185);--vkedit-palette-teal-600: oklch(60% .13 185);--vkedit-palette-danger-500: oklch(63% .22 25);--vkedit-palette-danger-600: oklch(55% .23 27);--vkedit-palette-warning-500: oklch(78% .15 75);--vkedit-palette-success-500: oklch(72% .15 155);--vkedit-spacing-0: 0;--vkedit-spacing-0-5: .125rem;--vkedit-spacing-1: .25rem;--vkedit-spacing-1-5: .375rem;--vkedit-spacing-2: .5rem;--vkedit-spacing-3: .75rem;--vkedit-spacing-4: 1rem;--vkedit-spacing-5: 1.25rem;--vkedit-spacing-6: 1.5rem;--vkedit-spacing-8: 2rem;--vkedit-spacing-xs: var(--vkedit-spacing-0-5);--vkedit-spacing-sm: var(--vkedit-spacing-1);--vkedit-spacing-md: var(--vkedit-spacing-2);--vkedit-spacing-lg: var(--vkedit-spacing-3);--vkedit-spacing-xl: var(--vkedit-spacing-8);--vkedit-radius-sm: .25rem;--vkedit-radius-md: .375rem;--vkedit-radius-lg: .5rem;--vkedit-radius-xl: .75rem;--vkedit-radius-full: 9999px;--vkedit-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--vkedit-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--vkedit-font-size-xs: .75rem;--vkedit-font-size-sm: .8125rem;--vkedit-font-size-base: .875rem;--vkedit-font-size-lg: .9375rem;--vkedit-font-size-xl: 1.0625rem;--vkedit-font-weight-medium: 500;--vkedit-font-weight-bold: 700;--vkedit-line-height-tight: 1.25;--vkedit-line-height-normal: 1.5;--vkedit-border-width: 1px;--vkedit-duration-fast: .12s;--vkedit-duration-normal: .16s;--vkedit-duration-slow: .22s;--vkedit-easing-default: cubic-bezier(.2, 0, 0, 1);--vkedit-easing-in: cubic-bezier(.4, 0, 1, 1);--vkedit-easing-out: cubic-bezier(0, 0, .2, 1);--vkedit-z-base: 1;--vkedit-z-sidebar: 90;--vkedit-z-toolbar: 100;--vkedit-z-dropdown-overlay: 150;--vkedit-z-dropdown: 160;--vkedit-z-context-menu: 200;--vkedit-z-modal: 999;--vkedit-z-warning: 1000;--vkedit-toolbar-gap: 2px;--vkedit-toolbar-top: 33px;--vkedit-control-height-sm: 24px;--vkedit-control-height-md: 28px;--vkedit-control-height-lg: 32px}.vkedit-editor,[data-vkedit-theme=dark]{color-scheme:dark;--vkedit-color-primary: var(--vkedit-palette-teal-500);--vkedit-color-primary-hover: var(--vkedit-palette-teal-400);--vkedit-color-on-primary: var(--vkedit-palette-neutral-950);--vkedit-color-danger: var(--vkedit-palette-danger-500);--vkedit-color-danger-hover: var(--vkedit-palette-danger-600);--vkedit-color-on-danger: var(--vkedit-palette-neutral-0);--vkedit-color-warning: var(--vkedit-palette-warning-500);--vkedit-color-success: var(--vkedit-palette-success-500);--vkedit-color-canvas-area: oklch(20% .015 265);--vkedit-color-paper: var(--vkedit-palette-neutral-0);--vkedit-color-surface: oklch(26% .012 260 / .92);--vkedit-color-surface-solid: oklch(26% .012 260);--vkedit-color-surface-1: oklch(22% .01 260 / .55);--vkedit-color-surface-2: oklch(30% .01 260);--vkedit-color-bg: var(--vkedit-color-surface-solid);--vkedit-color-bg-hover: oklch(32% .01 260);--vkedit-color-bg-active: oklch(36% .012 260);--vkedit-color-border: oklch(100% 0 0 / .09);--vkedit-color-border-subtle: oklch(100% 0 0 / .06);--vkedit-color-border-strong: oklch(100% 0 0 / .14);--vkedit-color-text: oklch(86% .005 260);--vkedit-color-text-secondary: oklch(70% .005 260);--vkedit-color-text-muted: oklch(58% .005 260);--vkedit-color-text-disabled: oklch(50% 0 0 / .55);--vkedit-color-focus-ring: var(--vkedit-color-primary);--vkedit-color-overlay: oklch(0% 0 0 / .45);--vkedit-color-toolbar-bg: oklch(26% .012 260 / .78);--vkedit-color-panel-bg: var(--vkedit-color-surface);--vkedit-toolbar-divider-color: var(--vkedit-color-border-strong);--vkedit-blur-panel: blur(12px);--vkedit-elevation-1: 0 1px 2px oklch(0% 0 0 / .18);--vkedit-elevation-2: 0 4px 16px oklch(0% 0 0 / .28);--vkedit-elevation-3: 0 12px 32px oklch(0% 0 0 / .36);--vkedit-shadow-sm: var(--vkedit-elevation-1);--vkedit-shadow-md: var(--vkedit-elevation-2);--vkedit-shadow-lg: var(--vkedit-elevation-3);--vkedit-shadow-panel: var(--vkedit-elevation-2);--vkedit-transition-colors: color, background-color, border-color, box-shadow, opacity, var(--vkedit-duration-fast) var(--vkedit-easing-default)}[data-vkedit-theme=light]{color-scheme:light;--vkedit-color-primary: var(--vkedit-palette-teal-600);--vkedit-color-primary-hover: var(--vkedit-palette-teal-500);--vkedit-color-on-primary: var(--vkedit-palette-neutral-0);--vkedit-color-danger: var(--vkedit-palette-danger-500);--vkedit-color-danger-hover: var(--vkedit-palette-danger-600);--vkedit-color-on-danger: var(--vkedit-palette-neutral-0);--vkedit-color-warning: var(--vkedit-palette-warning-500);--vkedit-color-success: var(--vkedit-palette-success-500);--vkedit-color-canvas-area: oklch(94% .01 260);--vkedit-color-paper: var(--vkedit-palette-neutral-0);--vkedit-color-surface: oklch(100% 0 0 / .92);--vkedit-color-surface-solid: oklch(100% 0 0);--vkedit-color-surface-1: oklch(97% 0 0);--vkedit-color-surface-2: oklch(94% 0 0);--vkedit-color-bg: var(--vkedit-color-surface-solid);--vkedit-color-bg-hover: oklch(96% 0 0);--vkedit-color-bg-active: oklch(92% 0 0);--vkedit-color-border: oklch(0% 0 0 / .1);--vkedit-color-border-subtle: oklch(0% 0 0 / .06);--vkedit-color-border-strong: oklch(0% 0 0 / .16);--vkedit-color-text: oklch(22% 0 0);--vkedit-color-text-secondary: oklch(40% 0 0);--vkedit-color-text-muted: oklch(50% 0 0);--vkedit-color-text-disabled: oklch(55% 0 0 / .7);--vkedit-color-focus-ring: var(--vkedit-color-primary);--vkedit-color-overlay: oklch(0% 0 0 / .35);--vkedit-color-toolbar-bg: oklch(100% 0 0 / .78);--vkedit-color-panel-bg: var(--vkedit-color-surface);--vkedit-toolbar-divider-color: var(--vkedit-color-border);--vkedit-blur-panel: blur(12px);--vkedit-elevation-1: 0 1px 2px oklch(0% 0 0 / .06);--vkedit-elevation-2: 0 4px 16px oklch(0% 0 0 / .1);--vkedit-elevation-3: 0 12px 32px oklch(0% 0 0 / .14);--vkedit-shadow-sm: var(--vkedit-elevation-1);--vkedit-shadow-md: var(--vkedit-elevation-2);--vkedit-shadow-lg: var(--vkedit-elevation-3);--vkedit-shadow-panel: var(--vkedit-elevation-2);--vkedit-transition-colors: color, background-color, border-color, box-shadow, opacity, var(--vkedit-duration-fast) var(--vkedit-easing-default)}.vkedit-editor :where(*,*:before,*:after){box-sizing:border-box}.vkedit-editor :where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}.vkedit-editor :where(button,input,select,textarea){font:inherit;color:inherit}.vkedit-editor :where(ol,ul,menu){list-style:none}.vkedit-editor :where(img,svg,video,canvas){display:block;vertical-align:middle}@keyframes vkedit-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes vkedit-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes vkedit-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vkedit-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vkedit-toolbar-enter{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes vkedit-toolbar-leave{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-6px)}}.vkedit-scale-enter-active{animation:vkedit-scale-in var(--vkedit-duration-fast) var(--vkedit-easing-out)}.vkedit-scale-leave-active{animation:vkedit-scale-out var(--vkedit-duration-fast) var(--vkedit-easing-in)}.vkedit-toolbar-enter-active{animation:vkedit-toolbar-enter var(--vkedit-duration-normal) var(--vkedit-easing-out)}.vkedit-toolbar-leave-active{animation:vkedit-toolbar-leave var(--vkedit-duration-normal) var(--vkedit-easing-in)}@media(prefers-reduced-motion:reduce){.vkedit-scale-enter-active,.vkedit-scale-leave-active,.vkedit-toolbar-enter-active,.vkedit-toolbar-leave-active{animation-duration:.01ms!important;animation-iteration-count:1!important}.vkedit-editor *,[data-vkedit-theme] *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.vkedit-editor{position:relative;width:100%;height:100vh;overflow:hidden;background:var(--vkedit-color-canvas-area);font-family:var(--vkedit-font-sans);color:var(--vkedit-color-text)}.vkedit-editor *{scrollbar-width:thin;scrollbar-color:var(--vkedit-color-border-strong) transparent}.vkedit-editor *::-webkit-scrollbar{width:8px;height:8px}.vkedit-editor *::-webkit-scrollbar-thumb{background:var(--vkedit-color-border-strong);border-radius:var(--vkedit-radius-full)}.vkedit-editor *::-webkit-scrollbar-thumb:hover{background:var(--vkedit-color-text-muted)}.vkedit-editor .vkedit-editor__minwidth-warning{position:absolute;inset:0;z-index:var(--vkedit-z-warning);display:flex;align-items:center;justify-content:center;background:var(--vkedit-color-canvas-area);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-lg);text-align:center;padding:var(--vkedit-spacing-lg)}.vkedit-editor .vkedit-editor__minwidth-warning p{max-width:320px;line-height:1.6}@media(max-width:1023px){.vkedit-editor .vkedit-floating-toolbox,.vkedit-editor .vkedit-floating-toolbox--collapsed{width:44px}.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__title span,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__title span,.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__title .vkedit-floating-toolbox__toggle,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__title .vkedit-floating-toolbox__toggle{display:none}.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__title,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__title{border-bottom:none;padding:var(--vkedit-spacing-xs)}.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__content,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__content{display:none}.vkedit-editor .vkedit-floating-toolbox .vkedit-floating-toolbox__collapsed-icon,.vkedit-editor .vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__collapsed-icon{display:flex}.vkedit-editor .vkedit-floating-property-panel,.vkedit-editor .vkedit-floating-property-panel--collapsed{width:44px}.vkedit-editor .vkedit-floating-toolbar{padding:0 var(--vkedit-spacing-xs);font-size:var(--vkedit-font-size-xs);gap:0}.vkedit-editor .vkedit-floating-toolbar .vkedit-btn--ghost{height:28px;padding:0 var(--vkedit-spacing-xs)}.vkedit-editor .vkedit-floating-toolbar .vkedit-toolbar__label{display:none}}.vkedit-floating-toolbar{position:absolute;top:var(--vkedit-toolbar-top);left:50%;transform:translate(-50%);z-index:var(--vkedit-z-toolbar);display:flex;align-items:center;height:40px;padding:0 var(--vkedit-spacing-2);background:var(--vkedit-color-toolbar-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border-strong);border-radius:var(--vkedit-radius-xl);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-sm);transition:opacity var(--vkedit-duration-normal) var(--vkedit-easing-default)}.vkedit-toolbar__group{display:flex;align-items:center;gap:var(--vkedit-toolbar-gap)}.vkedit-toolbar__divider{width:1px;height:20px;margin:0 var(--vkedit-spacing-1-5);background:var(--vkedit-toolbar-divider-color);flex-shrink:0}.vkedit-floating-toolbar .vkedit-btn.is-active,.vkedit-floating-toolbar .vkedit-btn[aria-pressed=true]{color:var(--vkedit-color-primary);background:var(--vkedit-color-bg-active)}.vkedit-floating-toolbox{position:absolute;top:100px;left:36px;width:var(--vkedit-sidebar-width, 200px);z-index:var(--vkedit-z-sidebar);background:var(--vkedit-color-panel-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-lg);box-shadow:var(--vkedit-shadow-panel);max-height:calc(100vh - 64px);font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text);transition:width var(--vkedit-duration-normal) var(--vkedit-easing-default);display:flex;flex-direction:column;overflow:hidden}.vkedit-floating-toolbox__title{display:flex;align-items:center;justify-content:space-between;padding:var(--vkedit-spacing-sm) var(--vkedit-spacing-md);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-bold);border-bottom:1px solid var(--vkedit-color-border-subtle);flex-shrink:0}.vkedit-floating-toolbox__toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--vkedit-radius-sm);cursor:pointer;color:var(--vkedit-color-text-secondary);flex-shrink:0}.vkedit-floating-toolbox__toggle:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-floating-toolbox__collapsed-icon{display:flex;align-items:center;justify-content:center;height:100%;min-height:44px;color:var(--vkedit-color-text-secondary);cursor:pointer}.vkedit-floating-toolbox__collapsed-icon:hover{color:var(--vkedit-color-text);background:var(--vkedit-color-bg-hover)}.vkedit-floating-toolbox--collapsed{width:44px;overflow:hidden}.vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__title,.vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__content,.vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__resize-handle{display:none}.vkedit-floating-toolbox--collapsed .vkedit-floating-toolbox__collapsed-icon{display:flex}.vkedit-floating-toolbox__content{padding:var(--vkedit-spacing-sm);display:flex;flex-direction:column;gap:var(--vkedit-spacing-xs);overflow-y:auto;flex:1;min-height:0}.vkedit-floating-toolbox__content .vkedit-btn{width:100%;justify-content:center}.vkedit-floating-toolbox__layers{margin-top:var(--vkedit-spacing-xs);padding-top:var(--vkedit-spacing-xs);border-top:1px solid var(--vkedit-color-border)}.vkedit-floating-toolbox__resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;transition:background var(--vkedit-duration-fast) var(--vkedit-easing-default)}.vkedit-floating-toolbox__resize-handle:hover,.vkedit-floating-toolbox__resize-handle--active{background:var(--vkedit-color-border)}.vkedit-floating-toolbox.vkedit-floating-toolbox .vkedit-floating-toolbox__content .vkedit-tool-link{background:transparent;color:var(--vkedit-color-text-secondary)}.vkedit-floating-toolbox.vkedit-floating-toolbox .vkedit-floating-toolbox__content .vkedit-tool-link:hover{background:transparent;color:var(--vkedit-color-text)}.vkedit-floating-toolbox .vkedit-graphic-tool__header{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);padding:var(--vkedit-spacing-xs) 0;color:var(--vkedit-color-text-secondary)}.vkedit-floating-toolbox .vkedit-graphic-tool__title{font-size:var(--vkedit-font-size-xs);font-weight:var(--vkedit-font-weight-bold);white-space:nowrap}.vkedit-floating-toolbox .vkedit-graphic-tool__divider{flex:1;height:1px;background:var(--vkedit-color-border)}.vkedit-floating-toolbox .vkedit-graphic-tool__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--vkedit-spacing-md);padding:var(--vkedit-spacing-sm) 0 var(--vkedit-spacing-md)}.vkedit-graphic-tool__grid .vkedit-btn.vkedit-tool-link{flex-direction:column;gap:var(--vkedit-spacing-xs);height:auto;padding:var(--vkedit-spacing-md)}.vkedit-graphic-tool__grid .vkedit-btn.vkedit-tool-link svg{width:24px;height:24px}.vkedit-stage-view{position:absolute;inset:0;width:100%;height:100%;z-index:var(--vkedit-z-base);overflow:hidden;background:transparent}.vkedit-status-bar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:var(--vkedit-z-sidebar);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--vkedit-color-toolbar-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-lg);padding:0 var(--vkedit-spacing-4);height:36px;color:var(--vkedit-color-text-secondary);font-size:var(--vkedit-font-size-sm);-webkit-user-select:none;user-select:none;white-space:nowrap}.vkedit-status-bar__section{display:flex;align-items:center;gap:8px}.vkedit-status-bar__zoom-controls{display:flex;align-items:center;gap:4px}.vkedit-status-bar__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--vkedit-radius-sm);cursor:pointer;color:var(--vkedit-color-text-secondary)}.vkedit-status-bar__btn:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-status-bar__btn--active{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-text)}.vkedit-status-bar__zoom-value{font-size:var(--vkedit-font-size-sm);font-weight:500;min-width:44px;text-align:center;color:var(--vkedit-color-text-secondary)}.vkedit-status-bar__coords{font-size:var(--vkedit-font-size-sm);font-variant-numeric:tabular-nums;color:var(--vkedit-color-text-secondary);letter-spacing:.02em}.vkedit-status-bar__cursor-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.vkedit-context-menu{position:absolute;z-index:var(--vkedit-z-context-menu);min-width:160px;border-radius:var(--vkedit-radius-lg);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);padding:var(--vkedit-spacing-1);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-sm);display:flex;flex-direction:column;gap:2px}.vkedit-context-menu__item{display:block;width:100%;padding:4px 8px;border:none;border-radius:var(--vkedit-radius-sm);background:transparent;font-size:var(--vkedit-font-size-sm);cursor:pointer;text-align:left;color:var(--vkedit-color-text)}.vkedit-context-menu__item:hover{background:var(--vkedit-color-bg-hover)}.vkedit-context-menu>button{width:100%;justify-content:flex-start}.vkedit-help-guide{position:absolute;bottom:16px;right:16px;z-index:95}.vkedit-help-guide__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-lg);background:var(--vkedit-color-toolbar-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);cursor:pointer;color:var(--vkedit-color-text-secondary)}.vkedit-help-guide__btn:hover{background:var(--vkedit-color-bg-hover)}.vkedit-help-guide__overlay{position:fixed;inset:0;z-index:var(--vkedit-z-modal);display:flex;align-items:center;justify-content:center;background:var(--vkedit-color-overlay)}.vkedit-help-guide__popup{width:380px;max-height:80vh;overflow-y:auto;border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:12px;background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-base);-webkit-user-select:none;user-select:none}.vkedit-help-guide__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:var(--vkedit-border-width) solid var(--vkedit-color-border)}.vkedit-help-guide__title{font-size:var(--vkedit-font-size-xl);font-weight:600}.vkedit-help-guide__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--vkedit-radius-sm);background:transparent;cursor:pointer;color:var(--vkedit-color-text-muted)}.vkedit-help-guide__close:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-help-guide__list{padding:12px 20px 16px}.vkedit-help-guide__group{margin-bottom:14px}.vkedit-help-guide__group:last-child{margin-bottom:0}.vkedit-help-guide__group-title{font-size:var(--vkedit-font-size-xs);font-weight:600;color:var(--vkedit-color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.vkedit-help-guide__item{display:flex;align-items:center;gap:6px;padding:5px 0;line-height:1.5}.vkedit-help-guide__sep{color:var(--vkedit-color-text-muted);font-size:var(--vkedit-font-size-xs)}.vkedit-help-guide__desc{margin-left:auto;color:var(--vkedit-color-text-muted);font-size:var(--vkedit-font-size-sm);white-space:nowrap}.vkedit-help-guide__item kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border:var(--vkedit-border-width) solid var(--vkedit-color-border-subtle);border-radius:var(--vkedit-radius-sm);background:var(--vkedit-color-bg-hover);font-family:inherit;font-size:var(--vkedit-font-size-xs);line-height:1;color:var(--vkedit-color-text-secondary);white-space:nowrap}.vkedit-floating-property-panel,.vkedit-property-panel{position:absolute;top:100px;right:12px;width:240px;z-index:var(--vkedit-z-sidebar);background:var(--vkedit-color-panel-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:1px solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-lg);box-shadow:var(--vkedit-shadow-panel);max-height:calc(100vh - 64px);overflow-y:auto;font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text);transition:width var(--vkedit-duration-slow) var(--vkedit-easing-default);display:flex;flex-direction:column}.vkedit-floating-property-panel__toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--vkedit-color-text-secondary);flex-shrink:0}.vkedit-floating-property-panel__toggle:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-floating-property-panel__collapsed-icon{display:none;align-items:center;justify-content:center;height:44px;color:var(--vkedit-color-text-secondary);cursor:pointer}.vkedit-floating-property-panel--collapsed{width:44px;overflow:hidden;align-items:center;justify-content:center}.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__title{padding:var(--vkedit-spacing-xs);border-bottom:none}.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__title span,.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__title .vkedit-floating-property-panel__toggle,.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__content{display:none}.vkedit-floating-property-panel--collapsed .vkedit-floating-property-panel__collapsed-icon{display:flex}.vkedit-floating-property-panel__title{display:flex;align-items:center;justify-content:space-between;padding:var(--vkedit-spacing-sm) var(--vkedit-spacing-md);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-bold);border-bottom:var(--vkedit-border-width) solid var(--vkedit-color-border-subtle);flex-shrink:0}.vkedit-floating-property-panel__content{padding:var(--vkedit-spacing-3);overflow:hidden auto;display:grid;grid-template-columns:1fr;gap:var(--vkedit-spacing-3)}.vkedit-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--vkedit-spacing-sm);white-space:nowrap;border-radius:var(--vkedit-radius-md);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);line-height:1;border:var(--vkedit-border-width) solid transparent;cursor:pointer;transition:var(--vkedit-transition-colors);color:var(--vkedit-color-text);background:transparent}.vkedit-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--vkedit-color-canvas-area),0 0 0 4px var(--vkedit-color-focus-ring)}.vkedit-btn:disabled{pointer-events:none;opacity:.45;color:var(--vkedit-color-text-disabled)}.vkedit-btn svg{pointer-events:none;width:16px;height:16px;flex-shrink:0;color:currentColor}.vkedit-btn--primary{background:var(--vkedit-color-primary);color:var(--vkedit-color-on-primary)}.vkedit-btn--primary:hover{background:var(--vkedit-color-primary-hover)}.vkedit-btn--primary:active{filter:brightness(.95)}.vkedit-btn--default{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-text)}.vkedit-btn--default:hover{background:var(--vkedit-color-bg-hover)}.vkedit-btn--destructive{background:var(--vkedit-color-danger);color:var(--vkedit-color-on-danger)}.vkedit-btn--destructive:hover{background:var(--vkedit-color-danger-hover)}.vkedit-btn--outline{border-color:var(--vkedit-color-border-strong);background:transparent;color:var(--vkedit-color-text)}.vkedit-btn--outline:hover{background:var(--vkedit-color-bg-hover)}.vkedit-btn--secondary{background:var(--vkedit-color-surface-1);color:var(--vkedit-color-text)}.vkedit-btn--secondary:hover{background:var(--vkedit-color-bg-hover)}.vkedit-btn--ghost{background:transparent;color:var(--vkedit-color-text)}.vkedit-btn--ghost:hover{background:var(--vkedit-color-bg-hover)}.vkedit-btn--ghost:active,.vkedit-btn--ghost.is-active,.vkedit-btn--ghost[aria-pressed=true]{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-primary)}.vkedit-btn--link{background:transparent;color:var(--vkedit-color-primary);text-decoration:underline;text-underline-offset:4px;border-color:transparent}.vkedit-btn--link:hover{color:var(--vkedit-color-primary-hover)}.vkedit-btn--default{height:var(--vkedit-control-height-md);padding:0 var(--vkedit-spacing-2)}.vkedit-btn--xs{height:var(--vkedit-control-height-sm);padding:0 var(--vkedit-spacing-1-5);font-size:var(--vkedit-font-size-xs)}.vkedit-btn--sm{height:26px;padding:0 var(--vkedit-spacing-1-5);font-size:var(--vkedit-font-size-xs)}.vkedit-btn--lg{height:var(--vkedit-control-height-lg);padding:0 var(--vkedit-spacing-3)}.vkedit-btn--icon{height:var(--vkedit-control-height-md);width:var(--vkedit-control-height-md);padding:0}.vkedit-btn--icon-sm{height:var(--vkedit-control-height-sm);width:var(--vkedit-control-height-sm);padding:0}.vkedit-btn--icon-lg{height:var(--vkedit-control-height-lg);width:var(--vkedit-control-height-lg);padding:0}.vkedit-toggle{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--vkedit-radius-md);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);border:none;background:transparent;cursor:pointer;white-space:nowrap;outline:none;color:var(--vkedit-color-text-secondary)}.vkedit-toggle:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-toggle--on{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-primary)}.vkedit-toggle:focus-visible{box-shadow:0 0 0 2px var(--vkedit-color-focus-ring)}.vkedit-toggle:disabled{pointer-events:none;opacity:.45}.vkedit-toggle svg{pointer-events:none;width:16px;height:16px;flex-shrink:0}.vkedit-toggle--default{height:36px;min-width:36px;padding:0 var(--vkedit-spacing-sm)}.vkedit-toggle--sm{height:32px;min-width:32px;padding:0 6px}.vkedit-toggle--lg{height:40px;min-width:40px;padding:0 10px}.vkedit-input{display:flex;align-items:center;height:var(--vkedit-control-height-md);width:100%;border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-1);padding:0 var(--vkedit-spacing-2);font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text);box-shadow:none;transition:var(--vkedit-transition-colors)}.vkedit-input::placeholder{color:var(--vkedit-color-text-muted)}.vkedit-input:hover:not(:disabled):not(:focus-visible){border-color:var(--vkedit-color-border-strong)}.vkedit-input:focus-visible{outline:none;border-color:var(--vkedit-color-focus-ring);box-shadow:0 0 0 2px var(--vkedit-color-canvas-area),0 0 0 4px color-mix(in oklab,var(--vkedit-color-focus-ring) 45%,transparent)}.vkedit-input:disabled{cursor:not-allowed;opacity:.5;color:var(--vkedit-color-text-disabled)}.vkedit-input.is-invalid,.vkedit-input[aria-invalid=true]{border-color:var(--vkedit-color-danger)}.vkedit-textarea{display:block;width:100%;min-height:72px;resize:vertical;border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-1);padding:var(--vkedit-spacing-2);font-size:var(--vkedit-font-size-sm);line-height:var(--vkedit-line-height-normal);color:var(--vkedit-color-text);transition:var(--vkedit-transition-colors)}.vkedit-textarea::placeholder{color:var(--vkedit-color-text-muted)}.vkedit-textarea:focus-visible{outline:none;border-color:var(--vkedit-color-focus-ring);box-shadow:0 0 0 2px var(--vkedit-color-canvas-area),0 0 0 4px color-mix(in oklab,var(--vkedit-color-focus-ring) 45%,transparent)}.vkedit-textarea:disabled{cursor:not-allowed;opacity:.5}.vkedit-label{font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);color:var(--vkedit-color-text-secondary);line-height:var(--vkedit-line-height-tight);margin-bottom:var(--vkedit-spacing-xs)}.vkedit-select{display:flex;align-items:center;height:var(--vkedit-control-height-md);width:100%;border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-1);padding:0 var(--vkedit-spacing-2);font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text);color-scheme:inherit;transition:var(--vkedit-transition-colors);cursor:pointer}.vkedit-select option{background:var(--vkedit-color-surface-solid);color:var(--vkedit-color-text)}.vkedit-select:hover:not(:disabled){border-color:var(--vkedit-color-border-strong)}.vkedit-select:focus-visible{outline:none;border-color:var(--vkedit-color-focus-ring);box-shadow:0 0 0 2px var(--vkedit-color-focus-ring)}.vkedit-select:disabled{opacity:.5;cursor:not-allowed}.vkedit-switch{display:inline-flex;height:20px;width:36px;flex-shrink:0;cursor:pointer;align-items:center;border-radius:var(--vkedit-radius-full);border:2px solid transparent;background:var(--vkedit-color-bg-active);transition:var(--vkedit-transition-colors);box-shadow:var(--vkedit-shadow-sm);position:relative}.vkedit-switch__input{position:absolute;opacity:0;width:0;height:0}.vkedit-switch__thumb{display:block;height:16px;width:16px;border-radius:var(--vkedit-radius-full);background:var(--vkedit-color-text);box-shadow:var(--vkedit-shadow-sm);transition:transform var(--vkedit-duration-fast) var(--vkedit-easing-default)}.vkedit-switch:has(.vkedit-switch__input:checked){background:var(--vkedit-color-primary)}.vkedit-switch:has(.vkedit-switch__input:checked) .vkedit-switch__thumb{transform:translate(16px);background:var(--vkedit-color-on-primary)}.vkedit-switch:has(.vkedit-switch__input:focus-visible){box-shadow:0 0 0 2px var(--vkedit-color-focus-ring)}.vkedit-switch:has(.vkedit-switch__input:disabled){cursor:not-allowed;opacity:.45}.vkedit-input-mm{display:flex;align-items:stretch;width:100%}.vkedit-input-mm__btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--vkedit-control-height-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--vkedit-transition-colors)}.vkedit-input-mm__btn:first-child{border-radius:var(--vkedit-radius-md) 0 0 var(--vkedit-radius-md);border-right:none}.vkedit-input-mm__btn:last-child{border-radius:0 var(--vkedit-radius-md) var(--vkedit-radius-md) 0;border-left:none}.vkedit-input-mm__btn:hover:not(:disabled){background:var(--vkedit-color-bg-active)}.vkedit-input-mm__btn:disabled{opacity:.45;cursor:not-allowed}.vkedit-input-mm__field{flex:1}.vkedit-input-mm__display,.vkedit-input-mm__input{flex:1;min-width:0;height:var(--vkedit-control-height-md);width:100%;border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-left:none;border-right:none;background:var(--vkedit-color-surface-1);color:var(--vkedit-color-text);padding:0 var(--vkedit-spacing-sm);font-size:var(--vkedit-font-size-sm);text-align:center;transition:var(--vkedit-transition-colors)}.vkedit-input-mm__display:focus-visible,.vkedit-input-mm__input:focus-visible{outline:none;border-color:var(--vkedit-color-focus-ring);box-shadow:0 0 0 2px var(--vkedit-color-canvas-area),0 0 0 4px color-mix(in oklab,var(--vkedit-color-focus-ring) 45%,transparent);position:relative;z-index:1}.vkedit-dropdown{position:relative;display:inline-block}.vkedit-dropdown__overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--vkedit-z-dropdown-overlay)}.vkedit-dropdown__content{position:fixed;z-index:var(--vkedit-z-dropdown);min-width:160px;max-height:300px;overflow-x:hidden;overflow-y:auto;border-radius:var(--vkedit-radius-lg);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);padding:var(--vkedit-spacing-1);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text)}.vkedit-dropdown__label{padding:var(--vkedit-spacing-1) var(--vkedit-spacing-2);font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);color:var(--vkedit-color-text-secondary)}.vkedit-dropdown__sep{height:1px;margin:var(--vkedit-spacing-1) 0;background:var(--vkedit-color-border)}.vkedit-dropdown__item{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);width:100%;padding:var(--vkedit-spacing-1) var(--vkedit-spacing-2);border:none;border-radius:var(--vkedit-radius-sm);background:transparent;font-size:var(--vkedit-font-size-sm);cursor:pointer;text-align:left;color:var(--vkedit-color-text)}.vkedit-dropdown__item:hover{background:var(--vkedit-color-bg-hover)}.vkedit-dropdown__item:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--vkedit-color-focus-ring)}.vkedit-dropdown__item:disabled,.vkedit-dropdown__item[disabled]{opacity:.45;pointer-events:none}.vkedit-dropdown__item.is-active,.vkedit-dropdown__item[aria-selected=true]{color:var(--vkedit-color-primary);background:color-mix(in oklab,var(--vkedit-color-primary) 16%,transparent)}.vkedit-dropdown__item svg{width:16px;height:16px;flex-shrink:0}.vkedit-btn-group{display:flex;align-items:stretch;gap:var(--vkedit-toolbar-gap);width:fit-content}.vkedit-btn-group>.vkedit-btn{border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md)}.vkedit-color-picker{display:flex;flex-direction:column;gap:var(--vkedit-spacing-xs)}.vkedit-color-picker.is-disabled{opacity:.6;pointer-events:none}.vkedit-color-picker__label{font-size:var(--vkedit-font-size-sm);font-weight:var(--vkedit-font-weight-medium);line-height:var(--vkedit-line-height-tight);color:var(--vkedit-color-text-secondary)}.vkedit-color-picker__field{display:flex;align-items:stretch;gap:var(--vkedit-spacing-sm);min-width:0}.vkedit-color-picker__swatch{position:relative;width:28px;height:28px;flex-shrink:0;border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background-image:linear-gradient(45deg,#c8c8c8 25%,transparent 25%),linear-gradient(-45deg,#c8c8c8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#c8c8c8 75%),linear-gradient(-45deg,transparent 75%,#c8c8c8 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;cursor:pointer;overflow:hidden;box-shadow:var(--vkedit-shadow-sm)}.vkedit-color-picker__swatch-inner{position:absolute;inset:0}.vkedit-color-picker__swatch.is-transparent{cursor:pointer}.vkedit-color-picker__hex{flex:1;min-width:0;font-family:var(--vkedit-font-mono);text-transform:lowercase}.vkedit-color-picker__none-btn{height:28px;padding:0 var(--vkedit-spacing-sm);border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:transparent;font-size:var(--vkedit-font-size-xs);font-weight:var(--vkedit-font-weight-medium);color:var(--vkedit-color-text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:var(--vkedit-transition-colors)}.vkedit-color-picker__none-btn:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-color-picker__none-btn.is-active{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-text);border-color:var(--vkedit-color-border-strong)}.vkedit-color-picker__none-btn:disabled{cursor:not-allowed;opacity:.5}.vkedit-color-picker__message{font-size:var(--vkedit-font-size-xs);line-height:1.4;padding:2px 6px;border-radius:var(--vkedit-radius-sm)}.vkedit-color-picker__message.is-error{color:var(--vkedit-color-danger);background:color-mix(in oklab,var(--vkedit-color-danger) 12%,transparent)}.vkedit-color-picker__message.is-warning{color:var(--vkedit-color-warning);background:color-mix(in oklab,var(--vkedit-color-warning) 12%,transparent)}.vkedit-color-picker__overlay{position:fixed;inset:0;z-index:var(--vkedit-z-dropdown-overlay)}.vkedit-color-picker__panel{position:fixed;z-index:var(--vkedit-z-dropdown);min-width:220px;padding:var(--vkedit-spacing-3);border-radius:var(--vkedit-radius-lg);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);display:flex;flex-direction:column;gap:var(--vkedit-spacing-sm)}.vkedit-color-picker__panel-title{font-size:var(--vkedit-font-size-xs);font-weight:var(--vkedit-font-weight-medium);color:var(--vkedit-color-text-secondary)}.vkedit-color-picker__panel-native{display:flex;align-items:center;gap:var(--vkedit-spacing-sm)}.vkedit-color-picker__panel-native input[type=color]{width:100%;height:32px;border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md);background:transparent;cursor:pointer;padding:2px}.vkedit-color-picker__panel-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.vkedit-color-picker__panel-swatch{width:100%;aspect-ratio:1;border-radius:var(--vkedit-radius-sm);border:var(--vkedit-border-width) solid var(--vkedit-color-border);cursor:pointer;padding:0;transition:transform .1s ease}.vkedit-color-picker__panel-swatch:hover{transform:scale(1.06)}.vkedit-color-picker__panel-actions{display:flex;justify-content:flex-end}.vkedit-color-picker__panel-btn{height:28px;padding:0 var(--vkedit-spacing-md);border-radius:var(--vkedit-radius-md);border:var(--vkedit-border-width) solid var(--vkedit-color-border);background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);cursor:pointer}.vkedit-color-picker__panel-btn:hover{background:var(--vkedit-color-bg-active)}.vkedit-property__title{font-size:var(--vkedit-font-size-base);font-weight:var(--vkedit-font-weight-bold);color:var(--vkedit-color-text);padding-bottom:var(--vkedit-spacing-sm);border-bottom:var(--vkedit-border-width) solid var(--vkedit-color-border-subtle);margin-bottom:var(--vkedit-spacing-sm)}.vkedit-property__label{font-size:var(--vkedit-font-size-sm);color:var(--vkedit-color-text-secondary);display:block}.vkedit-property__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--vkedit-spacing-md);align-items:center;padding:var(--vkedit-spacing-sm) 0}.vkedit-property__col-full{grid-column:1/-1}.vkedit-chart__field{width:100%;border:1px solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md);padding:0 var(--vkedit-spacing-sm)}.vkedit-chart__input{width:100%;border:1px solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md);padding:0 var(--vkedit-spacing-sm);height:36px}.vkedit-chart__textarea{width:100%;border:1px solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-md);padding:var(--vkedit-spacing-xs) var(--vkedit-spacing-sm);font-family:var(--vkedit-font-mono);font-size:var(--vkedit-font-size-xs);height:192px;resize:vertical}.vkedit-chart__error{color:var(--vkedit-color-danger);font-size:var(--vkedit-font-size-xs);margin-top:4px}.vkedit-chart__section{padding-top:var(--vkedit-spacing-md);font-weight:var(--vkedit-font-weight-bold)}.vkedit-input-mm__input[data-v-47959cb1]::-webkit-outer-spin-button,.vkedit-input-mm__input[data-v-47959cb1]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.vkedit-input-mm__input[data-v-47959cb1]{-moz-appearance:textfield}.vkedit-input-mm__input[data-v-f78ba536]::-webkit-outer-spin-button,.vkedit-input-mm__input[data-v-f78ba536]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.vkedit-input-mm__input[data-v-f78ba536]{-moz-appearance:textfield}.vkedit-textarea[data-v-079f2ff9]{display:block;width:100%;min-height:56px;height:auto;resize:vertical;padding:var(--vkedit-spacing-sm);line-height:1.4;font-family:var(--vkedit-font-sans);text-transform:none}.vkedit-property__warning[data-v-921592c1]{font-size:var(--vkedit-font-size-xs);color:var(--vkedit-color-warning);background:color-mix(in oklab,var(--vkedit-color-warning) 12%,transparent);padding:4px 6px;border-radius:var(--vkedit-radius-sm);line-height:1.4}[data-v-f6f063f5]:root{--vkedit-palette-neutral-0: oklch(99% 0 0);--vkedit-palette-neutral-50: oklch(97% 0 0);--vkedit-palette-neutral-100: oklch(94% 0 0);--vkedit-palette-neutral-200: oklch(88% 0 0);--vkedit-palette-neutral-300: oklch(78% 0 0);--vkedit-palette-neutral-400: oklch(68% 0 0);--vkedit-palette-neutral-500: oklch(55% 0 0);--vkedit-palette-neutral-600: oklch(45% 0 0);--vkedit-palette-neutral-700: oklch(35% 0 0);--vkedit-palette-neutral-800: oklch(27% 0 0);--vkedit-palette-neutral-900: oklch(20% 0 0);--vkedit-palette-neutral-950: oklch(14% 0 0);--vkedit-palette-teal-400: oklch(78% .12 185);--vkedit-palette-teal-500: oklch(70% .14 185);--vkedit-palette-teal-600: oklch(60% .13 185);--vkedit-palette-danger-500: oklch(63% .22 25);--vkedit-palette-danger-600: oklch(55% .23 27);--vkedit-palette-warning-500: oklch(78% .15 75);--vkedit-palette-success-500: oklch(72% .15 155);--vkedit-spacing-0: 0;--vkedit-spacing-0-5: .125rem;--vkedit-spacing-1: .25rem;--vkedit-spacing-1-5: .375rem;--vkedit-spacing-2: .5rem;--vkedit-spacing-3: .75rem;--vkedit-spacing-4: 1rem;--vkedit-spacing-5: 1.25rem;--vkedit-spacing-6: 1.5rem;--vkedit-spacing-8: 2rem;--vkedit-spacing-xs: var(--vkedit-spacing-0-5);--vkedit-spacing-sm: var(--vkedit-spacing-1);--vkedit-spacing-md: var(--vkedit-spacing-2);--vkedit-spacing-lg: var(--vkedit-spacing-3);--vkedit-spacing-xl: var(--vkedit-spacing-8);--vkedit-radius-sm: .25rem;--vkedit-radius-md: .375rem;--vkedit-radius-lg: .5rem;--vkedit-radius-xl: .75rem;--vkedit-radius-full: 9999px;--vkedit-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--vkedit-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--vkedit-font-size-xs: .75rem;--vkedit-font-size-sm: .8125rem;--vkedit-font-size-base: .875rem;--vkedit-font-size-lg: .9375rem;--vkedit-font-size-xl: 1.0625rem;--vkedit-font-weight-medium: 500;--vkedit-font-weight-bold: 700;--vkedit-line-height-tight: 1.25;--vkedit-line-height-normal: 1.5;--vkedit-border-width: 1px;--vkedit-duration-fast: .12s;--vkedit-duration-normal: .16s;--vkedit-duration-slow: .22s;--vkedit-easing-default: cubic-bezier(.2, 0, 0, 1);--vkedit-easing-in: cubic-bezier(.4, 0, 1, 1);--vkedit-easing-out: cubic-bezier(0, 0, .2, 1);--vkedit-z-base: 1;--vkedit-z-sidebar: 90;--vkedit-z-toolbar: 100;--vkedit-z-dropdown-overlay: 150;--vkedit-z-dropdown: 160;--vkedit-z-context-menu: 200;--vkedit-z-modal: 999;--vkedit-z-warning: 1000;--vkedit-toolbar-gap: 2px;--vkedit-toolbar-top: 33px;--vkedit-control-height-sm: 24px;--vkedit-control-height-md: 28px;--vkedit-control-height-lg: 32px}.vkedit-editor[data-v-f6f063f5],[data-vkedit-theme=dark][data-v-f6f063f5]{color-scheme:dark;--vkedit-color-primary: var(--vkedit-palette-teal-500);--vkedit-color-primary-hover: var(--vkedit-palette-teal-400);--vkedit-color-on-primary: var(--vkedit-palette-neutral-950);--vkedit-color-danger: var(--vkedit-palette-danger-500);--vkedit-color-danger-hover: var(--vkedit-palette-danger-600);--vkedit-color-on-danger: var(--vkedit-palette-neutral-0);--vkedit-color-warning: var(--vkedit-palette-warning-500);--vkedit-color-success: var(--vkedit-palette-success-500);--vkedit-color-canvas-area: oklch(20% .015 265);--vkedit-color-paper: var(--vkedit-palette-neutral-0);--vkedit-color-surface: oklch(26% .012 260 / .92);--vkedit-color-surface-solid: oklch(26% .012 260);--vkedit-color-surface-1: oklch(22% .01 260 / .55);--vkedit-color-surface-2: oklch(30% .01 260);--vkedit-color-bg: var(--vkedit-color-surface-solid);--vkedit-color-bg-hover: oklch(32% .01 260);--vkedit-color-bg-active: oklch(36% .012 260);--vkedit-color-border: oklch(100% 0 0 / .09);--vkedit-color-border-subtle: oklch(100% 0 0 / .06);--vkedit-color-border-strong: oklch(100% 0 0 / .14);--vkedit-color-text: oklch(86% .005 260);--vkedit-color-text-secondary: oklch(70% .005 260);--vkedit-color-text-muted: oklch(58% .005 260);--vkedit-color-text-disabled: oklch(50% 0 0 / .55);--vkedit-color-focus-ring: var(--vkedit-color-primary);--vkedit-color-overlay: oklch(0% 0 0 / .45);--vkedit-color-toolbar-bg: oklch(26% .012 260 / .78);--vkedit-color-panel-bg: var(--vkedit-color-surface);--vkedit-toolbar-divider-color: var(--vkedit-color-border-strong);--vkedit-blur-panel: blur(12px);--vkedit-elevation-1: 0 1px 2px oklch(0% 0 0 / .18);--vkedit-elevation-2: 0 4px 16px oklch(0% 0 0 / .28);--vkedit-elevation-3: 0 12px 32px oklch(0% 0 0 / .36);--vkedit-shadow-sm: var(--vkedit-elevation-1);--vkedit-shadow-md: var(--vkedit-elevation-2);--vkedit-shadow-lg: var(--vkedit-elevation-3);--vkedit-shadow-panel: var(--vkedit-elevation-2);--vkedit-transition-colors: color, background-color, border-color, box-shadow, opacity, var(--vkedit-duration-fast) var(--vkedit-easing-default)}[data-vkedit-theme=light][data-v-f6f063f5]{color-scheme:light;--vkedit-color-primary: var(--vkedit-palette-teal-600);--vkedit-color-primary-hover: var(--vkedit-palette-teal-500);--vkedit-color-on-primary: var(--vkedit-palette-neutral-0);--vkedit-color-danger: var(--vkedit-palette-danger-500);--vkedit-color-danger-hover: var(--vkedit-palette-danger-600);--vkedit-color-on-danger: var(--vkedit-palette-neutral-0);--vkedit-color-warning: var(--vkedit-palette-warning-500);--vkedit-color-success: var(--vkedit-palette-success-500);--vkedit-color-canvas-area: oklch(94% .01 260);--vkedit-color-paper: var(--vkedit-palette-neutral-0);--vkedit-color-surface: oklch(100% 0 0 / .92);--vkedit-color-surface-solid: oklch(100% 0 0);--vkedit-color-surface-1: oklch(97% 0 0);--vkedit-color-surface-2: oklch(94% 0 0);--vkedit-color-bg: var(--vkedit-color-surface-solid);--vkedit-color-bg-hover: oklch(96% 0 0);--vkedit-color-bg-active: oklch(92% 0 0);--vkedit-color-border: oklch(0% 0 0 / .1);--vkedit-color-border-subtle: oklch(0% 0 0 / .06);--vkedit-color-border-strong: oklch(0% 0 0 / .16);--vkedit-color-text: oklch(22% 0 0);--vkedit-color-text-secondary: oklch(40% 0 0);--vkedit-color-text-muted: oklch(50% 0 0);--vkedit-color-text-disabled: oklch(55% 0 0 / .7);--vkedit-color-focus-ring: var(--vkedit-color-primary);--vkedit-color-overlay: oklch(0% 0 0 / .35);--vkedit-color-toolbar-bg: oklch(100% 0 0 / .78);--vkedit-color-panel-bg: var(--vkedit-color-surface);--vkedit-toolbar-divider-color: var(--vkedit-color-border);--vkedit-blur-panel: blur(12px);--vkedit-elevation-1: 0 1px 2px oklch(0% 0 0 / .06);--vkedit-elevation-2: 0 4px 16px oklch(0% 0 0 / .1);--vkedit-elevation-3: 0 12px 32px oklch(0% 0 0 / .14);--vkedit-shadow-sm: var(--vkedit-elevation-1);--vkedit-shadow-md: var(--vkedit-elevation-2);--vkedit-shadow-lg: var(--vkedit-elevation-3);--vkedit-shadow-panel: var(--vkedit-elevation-2);--vkedit-transition-colors: color, background-color, border-color, box-shadow, opacity, var(--vkedit-duration-fast) var(--vkedit-easing-default)}.vkedit-layer-panel[data-v-f6f063f5]{display:flex;flex-direction:column;gap:var(--vkedit-spacing-xs);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);-webkit-user-select:none;user-select:none;position:relative}.vkedit-layer-panel__header[data-v-f6f063f5]{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);padding:var(--vkedit-spacing-xs) 0;color:var(--vkedit-color-text-secondary)}.vkedit-layer-panel__title[data-v-f6f063f5]{font-size:var(--vkedit-font-size-xs);font-weight:var(--vkedit-font-weight-bold);white-space:nowrap}.vkedit-layer-panel__divider[data-v-f6f063f5]{flex:1;height:1px;background:var(--vkedit-color-border)}.vkedit-layer-panel__empty[data-v-f6f063f5]{padding:var(--vkedit-spacing-md) var(--vkedit-spacing-sm);color:var(--vkedit-color-text-secondary);text-align:center;font-size:var(--vkedit-font-size-xs);opacity:.6}.vkedit-layer-panel__list[data-v-f6f063f5]{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:2px 0}.vkedit-layer-row[data-v-f6f063f5]{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);height:36px;padding:0 var(--vkedit-spacing-sm);border-radius:var(--vkedit-radius-sm);cursor:pointer;position:relative;transition:background .1s ease,transform .2s ease}.vkedit-layer-row[data-v-f6f063f5]:hover{background:var(--vkedit-color-bg-hover)}.vkedit-layer-row--selected[data-v-f6f063f5]{background:color-mix(in oklab,var(--vkedit-color-primary) 14%,transparent)}.vkedit-layer-row--hidden[data-v-f6f063f5]{opacity:.5}.vkedit-layer-row--locked .vkedit-layer-row__handle[data-v-f6f063f5]{color:var(--vkedit-color-text-secondary)}.vkedit-layer-row--dragging[data-v-f6f063f5]{opacity:.5;box-shadow:var(--vkedit-shadow-panel)}.vkedit-layer-row__handle[data-v-f6f063f5]{display:flex;align-items:center;cursor:grab;color:var(--vkedit-color-text-secondary)}.vkedit-layer-row__handle[data-v-f6f063f5]:hover{color:var(--vkedit-color-text)}.vkedit-layer-row__type[data-v-f6f063f5]{flex-shrink:0;color:var(--vkedit-color-text-secondary)}.vkedit-layer-row__name[data-v-f6f063f5]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--vkedit-font-size-xs)}.vkedit-layer-row__rename-input[data-v-f6f063f5]{flex:1;min-width:0;height:24px;padding:0 4px;background:var(--vkedit-color-bg-active);border:1px solid var(--vkedit-color-border-strong);border-radius:var(--vkedit-radius-sm);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);outline:none}.vkedit-layer-row__actions[data-v-f6f063f5]{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .1s ease}.vkedit-layer-row:hover .vkedit-layer-row__actions[data-v-f6f063f5],.vkedit-layer-row--selected .vkedit-layer-row__actions[data-v-f6f063f5]{opacity:1}.vkedit-layer-row__btn[data-v-f6f063f5]{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--vkedit-radius-sm);cursor:pointer;color:var(--vkedit-color-text-secondary)}.vkedit-layer-row__btn[data-v-f6f063f5]:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.vkedit-layer-row__btn--active[data-v-f6f063f5]{color:var(--vkedit-color-text)}.vkedit-layer-indicator[data-v-f6f063f5]{position:absolute;left:var(--vkedit-spacing-sm);right:var(--vkedit-spacing-sm);height:2px;border-radius:1px;background:var(--vkedit-color-border-strong);box-shadow:0 0 6px var(--vkedit-color-border-strong);z-index:2;pointer-events:none;animation:vkedit-layer-indicator-fade-in-f6f063f5 .12s ease-out}.vkedit-layer-indicator--top[data-v-f6f063f5]{top:0}.vkedit-layer-indicator--bottom[data-v-f6f063f5]{bottom:0}@keyframes vkedit-layer-indicator-fade-in-f6f063f5{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.vkedit-layer-menu[data-v-f6f063f5]{position:fixed;z-index:var(--vkedit-z-dropdown);min-width:140px;padding:4px;background:var(--vkedit-color-surface-solid);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border);border-radius:var(--vkedit-radius-sm);box-shadow:var(--vkedit-shadow-panel);color:var(--vkedit-color-text);display:flex;flex-direction:column;gap:2px}.vkedit-layer-menu__item[data-v-f6f063f5]{display:flex;align-items:center;gap:var(--vkedit-spacing-sm);padding:8px var(--vkedit-spacing-sm);background:transparent;border:none;border-radius:var(--vkedit-radius-sm);cursor:pointer;color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);text-align:left}.vkedit-layer-menu__item[data-v-f6f063f5]:hover{background:var(--vkedit-color-bg-hover)}.vkedit-layer-menu__divider[data-v-f6f063f5]{height:1px;margin:2px 0;background:var(--vkedit-color-border)}.vkedit-layer-ghost[data-v-f6f063f5]{position:fixed;z-index:1000;display:flex;align-items:center;gap:var(--vkedit-spacing-sm);height:32px;padding:0 var(--vkedit-spacing-sm);min-width:160px;max-width:280px;background:var(--vkedit-color-panel-bg);backdrop-filter:var(--vkedit-blur-panel);-webkit-backdrop-filter:var(--vkedit-blur-panel);border:var(--vkedit-border-width) solid var(--vkedit-color-border-strong);border-radius:var(--vkedit-radius-sm);box-shadow:var(--vkedit-shadow-lg);color:var(--vkedit-color-text);font-size:var(--vkedit-font-size-xs);pointer-events:none;-webkit-user-select:none;user-select:none;transform:translateY(-50%);transition:opacity .1s ease}.vkedit-layer-ghost__name[data-v-f6f063f5]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vkedit-property__name-row[data-v-b7aca303]{display:flex;flex-direction:column;gap:4px}.vkedit-property__warning[data-v-9e775c08]{font-size:var(--vkedit-font-size-xs);color:var(--vkedit-color-warning);background:color-mix(in oklab,var(--vkedit-color-warning) 12%,transparent);padding:4px 6px;border-radius:var(--vkedit-radius-sm);line-height:1.4}.snap-toggle[data-v-ede64735]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:8px 0;border:none;border-radius:var(--vkedit-radius-sm);background:transparent;color:var(--vkedit-color-text-secondary);cursor:pointer;transition:var(--vkedit-transition-colors)}.snap-toggle[data-v-ede64735]:hover{background:var(--vkedit-color-bg-hover);color:var(--vkedit-color-text)}.snap-toggle--active[data-v-ede64735]{background:var(--vkedit-color-bg-active);color:var(--vkedit-color-text)}.vkedit-rotate-angle-label{position:fixed;pointer-events:none;z-index:10000;padding:2px 6px;font-size:12px;line-height:1.2;border-radius:4px;background:var(--vkedit-color-surface-solid, #fff);color:var(--vkedit-color-text, #111);border:1px solid var(--vkedit-color-border, #ccc);box-shadow:0 1px 2px #0000001f;white-space:nowrap}.vkedit-toolbar-enter-active[data-v-d776308e]{animation:vkedit-toolbar-enter .2s ease-out}.vkedit-toolbar-leave-active[data-v-d776308e]{animation:vkedit-toolbar-leave .15s ease-in}
|
package/dist/vkedit.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as s, O as n, h as t, P as r, W as o, X as l, Q as m, S as i, B as u, i as P, av as p, aw as g, d, au as C, j as y, e as E, b as c, Y as S, C as k, Z as x, at as L, D as T, E as V, ay as h, ax as B, $ as R, a0 as v, az as M, a1 as b, a2 as A, a3 as I, a4 as w, a5 as H, a6 as N, a9 as O, aa as U, a7 as f, a8 as D, ab as Q, ac as G, ad as j, ae as q, af as z, ai as F, aj as K, ag as Z, ah as _, R as J, f as W, ak as X, am as Y, al as $, ap as aa, aq as ea, ar as sa, k as na, an as ta, ao as ra, as as oa, T as la, a as ma, U as ia, l as ua, u as Pa, t as pa, n as ga, V as da, s as Ca, r as ya, o as Ea, p as ca, q as Sa, v as ka, m as xa, w as La, x as Ta, y as Va, H as ha, z as Ba, F as Ra, G as va, I as Ma, J as ba, L as Aa, K as Ia, N as wa, M as Ha } from "./index-
|
|
1
|
+
import { A as s, O as n, h as t, P as r, W as o, X as l, Q as m, S as i, B as u, i as P, av as p, aw as g, d, au as C, j as y, e as E, b as c, Y as S, C as k, Z as x, at as L, D as T, E as V, ay as h, ax as B, $ as R, a0 as v, az as M, a1 as b, a2 as A, a3 as I, a4 as w, a5 as H, a6 as N, a9 as O, aa as U, a7 as f, a8 as D, ab as Q, ac as G, ad as j, ae as q, af as z, ai as F, aj as K, ag as Z, ah as _, R as J, f as W, ak as X, am as Y, al as $, ap as aa, aq as ea, ar as sa, k as na, an as ta, ao as ra, as as oa, T as la, a as ma, U as ia, l as ua, u as Pa, t as pa, n as ga, V as da, s as Ca, r as ya, o as Ea, p as ca, q as Sa, v as ka, m as xa, w as La, x as Ta, y as Va, H as ha, z as Ba, F as Ra, G as va, I as Ma, J as ba, L as Aa, K as Ia, N as wa, M as Ha } from "./index-BlZP6Kl3.js";
|
|
2
2
|
export {
|
|
3
3
|
s as AddElementCommand,
|
|
4
4
|
n as Align,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vkedit",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -17,6 +17,20 @@
|
|
|
17
17
|
"THIRD_PARTY_LICENSES.md"
|
|
18
18
|
],
|
|
19
19
|
"types": "dist/index.d.ts",
|
|
20
|
+
"scripts": {
|
|
21
|
+
"dev": "vite",
|
|
22
|
+
"build": "vue-tsc --noEmit && vite build && pnpm pack",
|
|
23
|
+
"build:playground": "vue-tsc --noEmit && vite build --config vite.playground.config.ts",
|
|
24
|
+
"prepublishOnly": "npm run build",
|
|
25
|
+
"preview": "vite preview",
|
|
26
|
+
"build-only": "vite build",
|
|
27
|
+
"type-check": "vue-tsc --build",
|
|
28
|
+
"test": "vitest run",
|
|
29
|
+
"test:watch": "vitest",
|
|
30
|
+
"lint": "eslint . --fix",
|
|
31
|
+
"format": "prettier --write src/",
|
|
32
|
+
"build:css": "vite build"
|
|
33
|
+
},
|
|
20
34
|
"peerDependencies": {
|
|
21
35
|
"konva": "^10.0.2",
|
|
22
36
|
"vue": "^3.5.18",
|
|
@@ -78,6 +92,7 @@
|
|
|
78
92
|
"eslint": "^9.31.0",
|
|
79
93
|
"eslint-plugin-vue": "~10.3.0",
|
|
80
94
|
"jiti": "^2.4.2",
|
|
95
|
+
"jsdom": "^30.0.0",
|
|
81
96
|
"npm-run-all2": "^8.0.4",
|
|
82
97
|
"prettier": "3.6.2",
|
|
83
98
|
"primevue": "^4.4.1",
|
|
@@ -88,6 +103,7 @@
|
|
|
88
103
|
"vite-plugin-css-injected-by-js": "^3.5.2",
|
|
89
104
|
"vite-plugin-dts": "^4.5.4",
|
|
90
105
|
"vite-plugin-vue-devtools": "^8.0.0",
|
|
106
|
+
"vitest": "^4.1.10",
|
|
91
107
|
"vue-tsc": "^3.0.4"
|
|
92
108
|
},
|
|
93
109
|
"dependencies": {
|
|
@@ -98,20 +114,8 @@
|
|
|
98
114
|
"qrcode": "^1.5.1",
|
|
99
115
|
"uuid": "^13.0.0"
|
|
100
116
|
},
|
|
117
|
+
"packageManager": "pnpm@10.19.0+sha512.c9fc7236e92adf5c8af42fd5bf1612df99c2ceb62f27047032f4720b33f8eacdde311865e91c411f2774f618d82f320808ecb51718bfa82c060c4ba7c76a32b8",
|
|
101
118
|
"publishConfig": {
|
|
102
119
|
"registry": "https://registry.npmjs.org/"
|
|
103
|
-
},
|
|
104
|
-
"scripts": {
|
|
105
|
-
"dev": "vite",
|
|
106
|
-
"build": "vue-tsc --noEmit && vite build && pnpm pack",
|
|
107
|
-
"build:playground": "vue-tsc --noEmit && vite build --config vite.playground.config.ts",
|
|
108
|
-
"preview": "vite preview",
|
|
109
|
-
"build-only": "vite build",
|
|
110
|
-
"type-check": "vue-tsc --build",
|
|
111
|
-
"test": "vitest run",
|
|
112
|
-
"test:watch": "vitest",
|
|
113
|
-
"lint": "eslint . --fix",
|
|
114
|
-
"format": "prettier --write src/",
|
|
115
|
-
"build:css": "vite build"
|
|
116
120
|
}
|
|
117
|
-
}
|
|
121
|
+
}
|