:root{--vme-note-width:600px;color:#172b42;background:#eef3f8;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:1200px;margin:auto;padding:20px}h1{font-size:26px}h1 small{color:#52677e;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #91a3b8;border-radius:5px;padding:7px 12px}button:disabled{opacity:.45;cursor:default}nav{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}nav input{width:70px}.vme-tree{background:#fff;border:1px solid #cad5e0;max-height:500px;padding:8px;overflow:auto}.vme-tree h2{font-size:16px}.vme-tree button{text-align:left;white-space:pre-wrap;width:100%;margin:3px 0;font-size:13px;display:block}.vme-tree button[aria-pressed=true]{background:#d7e9ff;border-color:#176cc1}.vme-canvas{touch-action:none;background:#fff;border:1px solid #cad5e0;min-height:440px;position:relative;overflow:auto}.vme-zoom{transform-origin:0 0;max-width:var(--vme-note-width);white-space:pre-wrap;margin:100px;font-size:20px;line-height:1.5;display:inline-block;position:relative}.vme-node{vertical-align:baseline;transform-origin:50%;white-space:pre-wrap;display:inline-block}.vme-selected{outline:1px dashed #176cc1}.vme-bold{font-weight:700}.vme-italic{font-style:italic}.vme-strike{text-decoration:line-through}.vme-small{font-size:.8em}.vme-emoji{object-fit:contain;vertical-align:middle;width:1.4em;height:1.4em}.vme-paused .vme-node{animation-play-state:paused!important}.vme-overlay{pointer-events:none;border:1px solid #176cc1;position:absolute}.vme-handle{pointer-events:auto;touch-action:none;background:#176cc1;border:2px solid #fff;width:24px;height:24px;padding:0;position:absolute}.vme-handle[data-handle=scale]{cursor:nwse-resize;bottom:-12px;right:-12px}.vme-handle[data-handle=rotate]{cursor:grab;border-radius:50%;top:-40px;left:calc(50% - 12px)}.vme-status{color:#52677e;font-size:13px;position:absolute;top:10px;left:10px}textarea{border:1px solid #91a3b8;border-radius:5px;width:100%;min-height:90px;margin:8px 0;padding:10px;display:block}label{margin-top:10px;display:block}.notice{color:#52677e;font-size:13px}.emoji-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.emoji-tools label{align-items:center;gap:6px;margin-top:0;display:inline-flex}.emoji-tools input[data-input=instance-base]{width:240px}.emoji-tools select{width:auto}.vme-emoji-fallback{color:#52677e;vertical-align:middle;background:#f4f8fc;border:1px dashed #91a3b8;border-radius:4px;padding:0 .15em;font-size:.85em;display:inline-block}.vme-unicode-emoji{white-space:pre}@keyframes vme-spin{to{transform:rotate(360deg)}}@keyframes vme-shake{25%{transform:translate(-.1em)}75%{transform:translate(.1em)}}@keyframes vme-bounce{50%{transform:translateY(-.3em)}}@keyframes vme-jump{50%{transform:translateY(-.5em)}}@keyframes vme-tada{50%{transform:scale(1.1)rotate(5deg)}}@keyframes vme-jelly{50%{transform:scale(1.1,.9)}}@keyframes vme-twitch{50%{transform:translate(.1em,-.1em)}}@keyframes vme-sparkle{50%{opacity:.5}}@keyframes vme-rainbow{50%{filter:hue-rotate(180deg)}}:root{--vme-fg:#172b42;--vme-accent:#176cc1;--vme-divider:#91a3b8}.vme-node{display:inline}.vme-fn{vertical-align:baseline;transform-origin:50%;display:inline-block}.vme-center{text-align:center;display:block}.vme-quote{opacity:.7;color:var(--vme-fg);border-left:solid 3px var(--vme-fg);margin:8px;padding:6px 0 6px 12px;display:block}.vme-small{opacity:.7;font-size:small}.vme-blockCode,.vme-mathBlock{white-space:pre;background:#f6f9fc;border:1px solid #e3ebf2;border-radius:4px;margin:4px 0;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:block;overflow-x:auto}.vme-unicode-emoji{vertical-align:-.25em;width:auto;height:1.25em}.vme-unicode-emoji-native{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif}.vme-custom-emoji{vertical-align:middle;width:auto;height:2em}.vme-emoji-original{height:auto}.vme-fn-x2{--vme-zoom-size:200%}.vme-fn-x3{--vme-zoom-size:400%}.vme-fn-x4{--vme-zoom-size:600%}.vme-fn-zoom{font-size:var(--vme-zoom-size)}.vme-fn-zoom .vme-fn-zoom{font-size:calc(var(--vme-zoom-size)/2 + 50%)}.vme-fn-zoom .vme-fn-zoom .vme-fn-zoom{font-size:100%}.vme-code{background:#eef3f8;border-radius:3px;padding:0 3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em}.vme-link{color:var(--vme-accent);cursor:help;text-decoration:underline}.vme-mention{color:var(--vme-accent);font-weight:600}.vme-hashtag{color:var(--vme-accent)}.vme-search{color:#52677e;border:1px solid #cad5e0;border-radius:3px;padding:0 3px}.vme-fn-literal{opacity:.75}.vme-fn-literal-mark{color:#a03434;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.vme-fn-blur{filter:blur(6px);transition:filter .3s}.vme-fn-blur:hover{filter:blur()}.vme-rainbow-fallback{color:#0000;background-image:linear-gradient(90deg,red 0%,orange 17%,#ff0 33%,#0f0 50%,#0ff 67%,#00f 83%,#f0f 100%);-webkit-background-clip:text;background-clip:text}.vme-sparkle{display:inline-block;position:relative}.vme-sparkle:before,.vme-sparkle:after{pointer-events:none;z-index:1;font-size:.6em;line-height:1;position:absolute}.vme-sparkle:before{content:"✦";color:#ff1493;animation:1.2s ease-in-out infinite vme-sparkle-twinkle;top:-.45em;left:-.35em}.vme-sparkle:after{content:"✦";color:#0ff;animation:1.2s ease-in-out .4s infinite vme-sparkle-twinkle;bottom:-.45em;right:-.35em}@keyframes vme-sparkle-twinkle{0%,to{opacity:.4;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}@keyframes vme-mfm-tada{0%{transform:scale(1)}10%,20%{transform:scale3d(.91,.91,.91)rotate(-2deg)}30%,70%{transform:scale3d(1.09,1.09,1.09)rotate(2deg)}50%,90%{transform:scale3d(1.09,1.09,1.09)rotate(-2deg)}to{transform:scale(1)}}@keyframes vme-mfm-rubberBand{0%{transform:scale(1)}30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}50%{transform:scale(1.15,.85)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.05,.95)}to{transform:scale(1)}}@keyframes vme-mfm-twitch{0%{transform:translate(7px,-2px)}5%{transform:translate(-3px,1px)}10%{transform:translate(-7px,-1px)}15%{transform:translateY(-1px)}20%{transform:translate(-8px,6px)}25%{transform:translate(-4px,-3px)}30%{transform:translate(-4px,-6px)}35%{transform:translate(-8px,-8px)}40%{transform:translate(4px,6px)}45%{transform:translate(-3px,1px)}50%{transform:translate(2px,-10px)}55%{transform:translate(-7px)}60%{transform:translate(-2px,4px)}65%{transform:translate(3px,-8px)}70%{transform:translate(6px,7px)}75%{transform:translate(-7px,-2px)}80%{transform:translate(-7px,-8px)}85%{transform:translate(9px,3px)}90%{transform:translate(-3px,-2px)}95%{transform:translate(-10px,2px)}to{transform:translate(-2px,-6px)}}@keyframes vme-mfm-shake{0%{transform:translate(-3px,-1px)rotate(-8deg)}5%{transform:translateY(-1px)rotate(-10deg)}10%{transform:translate(1px,-3px)rotate(0)}15%{transform:translate(1px,1px)rotate(11deg)}20%{transform:translate(-2px,1px)rotate(1deg)}25%{transform:translate(-1px,-2px)rotate(-2deg)}30%{transform:translate(-1px,2px)rotate(-3deg)}35%{transform:translate(2px,1px)rotate(6deg)}40%{transform:translate(-2px,-3px)rotate(-9deg)}45%{transform:translateY(-1px)rotate(-12deg)}50%{transform:translate(1px,2px)rotate(10deg)}55%{transform:translateY(-3px)rotate(8deg)}60%{transform:translate(1px,-1px)rotate(8deg)}65%{transform:translateY(-1px)rotate(-7deg)}70%{transform:translate(-1px,-3px)rotate(6deg)}75%{transform:translateY(-2px)rotate(4deg)}80%{transform:translate(-2px,-1px)rotate(3deg)}85%{transform:translate(1px,-3px)rotate(-10deg)}90%{transform:translate(1px)rotate(3deg)}95%{transform:translate(-2px)rotate(-3deg)}to{transform:translate(2px,1px)rotate(2deg)}}@keyframes vme-mfm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes vme-mfm-spinX{0%{transform:perspective(128px)rotateX(0)}to{transform:perspective(128px)rotateX(360deg)}}@keyframes vme-mfm-spinY{0%{transform:perspective(128px)rotateY(0)}to{transform:perspective(128px)rotateY(360deg)}}@keyframes vme-mfm-jump{0%{transform:translateY(0)}25%{transform:translateY(-16px)}50%{transform:translateY(0)}75%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes vme-mfm-bounce{0%{transform:translateY(0)scale(1)}25%{transform:translateY(-16px)scale(1)}50%{transform:translateY(0)scale(1)}75%{transform:translateY(0)scale(1.5,.75)}to{transform:translateY(0)scale(1)}}@keyframes vme-mfm-rainbow{0%{filter:hue-rotate()contrast(150%)saturate(150%)}to{filter:hue-rotate(360deg)contrast(150%)saturate(150%)}}.vme-overlay-wrap{pointer-events:none;z-index:10;position:absolute;top:0;left:0}.vme-overlay-svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.vme-box-outline{fill:#176cc11a;stroke:#176cc1;stroke-width:1.5px;vector-effect:non-scaling-stroke}.vme-resize-handle{pointer-events:auto;touch-action:none;cursor:grab;background:0 0;border:2px solid #0000;border-radius:4px;width:24px;height:24px;margin-top:-12px;margin-left:-12px;padding:0;position:absolute}.vme-resize-handle[data-handle=nw],.vme-resize-handle[data-handle=se]{cursor:nwse-resize}.vme-resize-handle[data-handle=ne],.vme-resize-handle[data-handle=sw]{cursor:nesw-resize}.vme-resize-handle[data-handle=n],.vme-resize-handle[data-handle=s]{cursor:ns-resize}.vme-resize-handle[data-handle=e],.vme-resize-handle[data-handle=w]{cursor:ew-resize}.vme-rotate-handle{pointer-events:auto;touch-action:none;cursor:grab;background:0 0;border:2px solid #0000;border-radius:50%;width:24px;height:24px;margin-top:-12px;margin-left:-12px;padding:0;position:absolute}.vme-resize-handle:disabled,.vme-rotate-handle:disabled{cursor:default;opacity:.4}.vme-anchor{pointer-events:none;z-index:2;background:#176cc1;border:1.5px solid #fff;border-radius:2px;width:8px;height:8px;margin-top:-4px;margin-left:-4px;position:absolute}.vme-anchor[data-anchor=rotate]{background:#e07b00;border-radius:50%}.vme-anchor[aria-disabled=true]{opacity:.45}.vme-rotate-line{stroke:#e07b00;stroke-width:1.5px;vector-effect:non-scaling-stroke;opacity:.6}.vme-handle.vme-resize-handle,.vme-handle.vme-rotate-handle{background:0 0;border-color:#0000}.vme-handle.vme-resize-handle:hover{background:#176cc140;border-color:#ffffffe6}.vme-handle.vme-rotate-handle:hover{background:#e07b0040;border-color:#ffffffe6}.vme-header{margin-bottom:4px}.vme-intro{color:#52677e;margin:0 0 12px;font-size:14px}.vme-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.vme-primary{min-width:0}.vme-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.vme-tools label{align-items:center;gap:6px;margin-top:0;font-size:14px;display:inline-flex}.vme-tools input{width:70px}.vme-workspace{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:12px;display:grid}.vme-canvas-col,.vme-side{flex-direction:column;gap:12px;min-width:0;display:flex}.vme-panel{background:#fff;border:1px solid #cad5e0;border-radius:6px;padding:10px 12px}.vme-panel h2{margin:0 0 6px;font-size:15px}.vme-panel h2 small{color:#52677e;font-size:12px;font-weight:400}.vme-panel label{color:#172b42;margin-top:8px;font-size:13px;display:block}.vme-panel label input,.vme-panel label select{width:100%;margin-top:3px;display:block}.vme-panel label.static-toggle{align-items:center;gap:8px;display:flex}.vme-panel label.static-toggle input{width:auto;margin-top:0}.vme-panel textarea{min-height:110px}.vme-panel-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.vme-panel-actions button{min-height:38px}.vme-panel-actions span[role=status]{color:#52677e;font-size:13px}.vme-footer{margin-top:16px}.vme-props .vme-prop-row{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:8px;display:flex}.vme-props label{margin-top:0;font-size:13px;display:block}.vme-props label input{width:84px;margin-top:3px}.vme-props .vme-prop-row button{min-height:38px}.vme-hint{color:#52677e;margin:4px 0;font-size:13px}.vme-props span[role=status]{color:#52677e;font-size:13px}@media (width<=700px){main{padding:12px}.vme-layout,.vme-workspace{grid-template-columns:1fr}.vme-tree{max-height:none;overflow:visible}.vme-canvas{min-height:0}.vme-zoom{margin:48px 40px}.vme-tools{gap:6px}button{min-height:40px}.vme-panel textarea{min-height:130px}}
