@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";.vue-flow{z-index:0;direction:ltr;width:100%;height:100%;position:relative;overflow:hidden}.vue-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.vue-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{pointer-events:none;min-width:5px;min-height:5px;position:absolute}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{z-index:5;margin:15px;position:absolute}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10px}}:root{--vf-node-bg:#fff;--vf-node-text:#222;--vf-connection-path:#b1b1b7;--vf-handle:#555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{text-align:center;width:150px;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-style:solid;border-width:1px;border-color:var(--vf-node-color);border-radius:3px;padding:10px;font-size:12px}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid #555;outline:none}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color:var(--vf-node-color,#0041d0);--vf-handle:var(--vf-node-color,#0041d0);--vf-box-shadow:var(--vf-node-color,#0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color,#0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{border:1px solid var(--vf-node-color,#0041d0);outline:none}.vue-flow__node-default{--vf-handle:var(--vf-node-color,#1a192b);--vf-box-shadow:var(--vf-node-color,#1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color,#1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{border:1px solid var(--vf-node-color,#1a192b);outline:none}.vue-flow__node-output{--vf-handle:var(--vf-node-color,#ff0072);--vf-box-shadow:var(--vf-node-color,#ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color,#ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid var(--vf-node-color,#ff0072);outline:none}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{background:var(--vf-handle);border:1px solid #fff;border-radius:100%;width:6px;height:6px}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}.vue-flow__resize-control{position:absolute}.vue-flow__resize-control.left,.vue-flow__resize-control.right{cursor:ew-resize}.vue-flow__resize-control.top,.vue-flow__resize-control.bottom{cursor:ns-resize}.vue-flow__resize-control.top.left,.vue-flow__resize-control.bottom.right{cursor:nwse-resize}.vue-flow__resize-control.bottom.left,.vue-flow__resize-control.top.right{cursor:nesw-resize}.vue-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:5px;height:5px;transform:translate(-50%,-50%)}.vue-flow__resize-control.handle.left{top:50%;left:0}.vue-flow__resize-control.handle.right{top:50%;left:100%}.vue-flow__resize-control.handle.top{top:0;left:50%}.vue-flow__resize-control.handle.bottom{top:100%;left:50%}.vue-flow__resize-control.handle.top.left,.vue-flow__resize-control.handle.bottom.left{left:0}.vue-flow__resize-control.handle.top.right,.vue-flow__resize-control.handle.bottom.right{left:100%}.vue-flow__resize-control.line{border:0 solid #3367d9}.vue-flow__resize-control.line.left,.vue-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.vue-flow__resize-control.line.left{border-left-width:1px;left:0}.vue-flow__resize-control.line.right{border-right-width:1px;left:100%}.vue-flow__resize-control.line.top,.vue-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.vue-flow__resize-control.line.top{border-top-width:1px;top:0}.vue-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{color:#1b2520;font-synthesis:none;text-rendering:optimizelegibility;--ink:#18211c;--muted:#68736c;--line:#d8ded8;--panel:#fbfcfa;--canvas:#f4f6f2;--navy:#16241e;--focus:#3267d6;--ease-out:cubic-bezier(.2, 0, 0, 1);background:#e8ece7;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:active:not(:disabled){scale:.96}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--canvas);grid-template-rows:58px minmax(0,1fr);height:100svh;display:grid}.topbar{z-index:20;color:#f5f8f5;background:var(--navy);grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;min-width:0;padding:0 14px 0 16px;display:grid;box-shadow:0 1px #ffffff14}.brand,.brand>div,.topbar__actions,.document-title,.save-state,.export-button{align-items:center;display:flex}.brand{gap:10px;min-width:0}.brand__mark{color:#14241d;background:#d9f36a;border-radius:7px;flex:none;place-items:center;width:34px;height:34px;display:grid}.brand>div{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15}.brand strong{font-family:Manrope,sans-serif;font-size:14px}.brand span:last-child{color:#9db0a6;margin-top:3px;font-size:11px}.document-title{color:#dae3de;gap:8px;min-width:0;font-size:12px}.document-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-title__dot{background:#54c89c;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #54c89c1f}.document-title__tag{color:#a9bab1;text-transform:uppercase;background:#ffffff12;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:700}.topbar__actions{justify-self:end;gap:14px}.save-state{color:#9db0a6;gap:6px;font-size:11px}.export-menu{position:relative}.export-menu>summary{list-style:none}.export-menu>summary::-webkit-details-marker{display:none}.export-button{color:#14241d;cursor:pointer;background:#d9f36a;border:0;border-radius:6px;gap:7px;min-height:34px;padding:0 11px 0 13px;font-size:12px;font-weight:700;transition-property:background-color,scale;transition-duration:.12s}.export-button:hover{background:#e4fa86}.export-menu[open] .export-button>svg:last-child{rotate:180deg}.export-menu__panel{z-index:30;width:224px;color:var(--ink);background:#fffffffa;border:1px solid #dce2dc;border-radius:7px;padding:5px;display:grid;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 14px 34px #0a160f38}.export-menu__panel button{color:#506059;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:30px minmax(0,1fr);align-items:center;min-height:52px;padding:7px 9px;transition-property:color,background-color,scale;transition-duration:.12s;display:grid}.export-menu__panel button:hover{color:var(--ink);background:#f0f3ef}.export-menu__panel button>span{gap:2px;display:grid}.export-menu__panel strong{font-size:11px}.export-menu__panel small{color:#849088;font-size:11px}.export-menu__divider{background:#e4e8e4;height:1px;margin:4px 7px}.workspace{grid-template-columns:248px minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.palette,.inspector{z-index:10;background:var(--panel);min-height:0}.palette{border-right:1px solid var(--line);animation:panel-in .45s var(--ease-out) both;padding:22px 16px;overflow-y:auto}.panel-heading{justify-content:space-between;align-items:center;display:flex}.panel-heading h2{margin:4px 0 0;font-family:Manrope,sans-serif;font-size:17px;line-height:1.2}.eyebrow,.palette-section-label{color:#8a958e;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.panel-count{color:#5e6a63;font-variant-numeric:tabular-nums;background:#edf0ec;border-radius:5px;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.palette-search{color:#8a958e;background:#f0f3ef;border:1px solid #e1e6e1;border-radius:6px;align-items:center;gap:8px;height:35px;margin:20px 0 21px;padding:0 10px;display:flex}.palette-search input{width:100%;min-width:0;color:var(--muted);background:0 0;border:0;outline:0;font-size:12px}.palette-section-label{margin:0 0 9px 2px;display:block}.palette-group+.palette-group{margin-top:20px}.palette-list{gap:7px;display:grid}.palette-item{text-align:left;cursor:grab;width:100%;min-height:60px;transition-property:border-color,box-shadow,translate,scale;transition-duration:.14s;transition-timing-function:var(--ease-out);background:#fff;border:1px solid #e3e7e2;border-radius:7px;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:8px 8px 8px 9px;display:grid;box-shadow:0 1px 1px #1d2b2208}.palette-item:hover{border-color:color-mix(in srgb, var(--item-accent) 38%, #dfe5df);translate:2px;box-shadow:0 5px 14px #1d2b2212}.palette-item__icon{width:36px;height:36px;color:var(--item-accent);background:var(--item-tint);border-radius:6px;place-items:center;display:grid}.palette-item__copy{gap:2px;min-width:0;display:grid}.palette-item__copy strong{font-size:12px;font-weight:600}.palette-item__copy small{color:#7d8881;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.palette-item__grip{color:#c5ccc6}.palette-hint{color:#98a19b;text-align:center;margin:14px 0 0;font-size:11px}.canvas-wrap{background:var(--canvas);min-width:0;min-height:0;position:relative;overflow:hidden}.diagram-canvas{width:100%;height:100%;animation:canvas-in .52s 80ms var(--ease-out) both}.canvas-wrap--drawing .diagram-canvas{cursor:crosshair}.rectangle-draft{z-index:7;pointer-events:none;background:0 0;border:2px dashed #3267d6;border-radius:16px;position:absolute;box-shadow:0 0 0 3px #3267d614}.canvas-caption{z-index:5;pointer-events:none;gap:4px;display:grid;position:absolute;top:22px;left:24px}.canvas-caption span{color:#8a958e;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.canvas-caption strong{font-family:Manrope,sans-serif;font-size:17px}.action-menu{z-index:25;width:210px;color:var(--ink);background:#fffffffa;border:1px solid #dce2dc;border-radius:7px;padding:5px;display:grid;position:absolute;box-shadow:0 14px 34px #0a160f33}.action-menu__label{color:#8a958e;letter-spacing:.08em;text-transform:uppercase;padding:7px 9px 5px;font-size:10px;font-weight:700}.action-menu button{color:#506059;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;min-height:36px;padding:0 9px;transition-property:color,background-color,scale;transition-duration:.12s;display:grid}.action-menu button:hover{color:var(--ink);background:#f0f3ef}.action-menu button svg{color:#748078}.action-menu kbd{color:#9aa39d;font-family:DM Sans,sans-serif;font-size:10px}.action-menu .action-menu__danger{color:#a54132}.action-menu .action-menu__danger svg{color:#bd4c3b}.action-menu .action-menu__danger:hover{background:#fff1ed}.action-menu__divider{background:#e4e8e4;height:1px;margin:4px 7px}.action-menu-enter-active,.action-menu-leave-active{transition-property:opacity,scale;transition-duration:.12s;transition-timing-function:var(--ease-out);transform-origin:0 0}.action-menu-enter-from,.action-menu-leave-to{opacity:0;scale:.96}.system-block{border:1px solid #dce2dc;border-top:3px solid var(--block-accent);cursor:grab;width:248px;min-height:112px;transition-property:border-color,box-shadow,translate;transition-duration:.15s;transition-timing-function:var(--ease-out);background:#fff;border-radius:8px;grid-template-columns:46px minmax(0,1fr);gap:12px;padding:14px;display:grid;position:relative;box-shadow:0 8px 24px #1c282114,0 1px 2px #1c28210d}.system-block:hover{translate:0 -2px;box-shadow:0 12px 28px #1c28211c,0 2px 4px #1c28210f}.system-block--selected{border-color:var(--block-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--block-accent) 17%, transparent), 0 12px 28px #1c28211c}.system-block__icon{width:46px;height:46px;color:var(--block-accent);background:var(--block-tint);border-radius:7px;place-items:center;display:grid}.system-block__content{min-width:0}.system-block__heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.system-block__heading strong{text-overflow:ellipsis;white-space:nowrap;font-family:Manrope,sans-serif;font-size:13px;overflow:hidden}.system-block__status{color:#78837c;text-transform:uppercase;flex:none;align-items:center;gap:4px;font-size:10px;font-weight:700;display:inline-flex}.system-block__status-dot{background:#31a67d;border-radius:50%;width:6px;height:6px}.system-block__content p{color:#7a857e;text-overflow:ellipsis;white-space:nowrap;margin:6px 0 10px;font-size:11px;line-height:1.35;overflow:hidden}.system-block__metadata{align-items:center;gap:5px;min-width:0;display:flex}.system-block__provider{color:#536059;text-overflow:ellipsis;white-space:nowrap;background:#edf0ed;border-radius:4px;max-width:76px;padding:4px 7px;font-size:10px;font-weight:700;overflow:hidden}.system-block__metric{color:color-mix(in srgb, var(--block-accent) 75%, #26342d);background:var(--block-tint);border-radius:4px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.system-block__handle.vue-flow__handle{border:2px solid var(--block-accent);opacity:.62;background:#fff;width:14px;height:14px;transition-property:opacity,scale,background-color,box-shadow;transition-duration:.12s;box-shadow:0 0 0 3px #fff}.system-block:hover .system-block__handle,.system-block--selected .system-block__handle{opacity:1;scale:1.08}.system-block__handle.vue-flow__handle.connecting{opacity:1;scale:1.18}.system-block__handle.vue-flow__handle.valid{background:var(--block-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--block-accent) 20%, #fff)}.vue-flow__node-annotation{box-shadow:none;background:0 0;border:0;padding:0}.annotation-node{width:100%;height:100%;color:var(--annotation-stroke);cursor:move;position:relative}.annotation-node--selected{filter:drop-shadow(0 2px 4px #1f2f261a)}.annotation-node p{width:100%;height:100%;color:var(--annotation-stroke);font-family:Manrope,sans-serif;font-size:var(--annotation-font-size);white-space:pre-wrap;margin:0;font-weight:600;line-height:1.25;overflow:hidden}.annotation-rectangle{width:100%;height:100%;color:var(--annotation-stroke);background:color-mix(in srgb, var(--annotation-fill) 64%, transparent);border:2px solid var(--annotation-stroke);border-radius:var(--annotation-radius);font-size:var(--annotation-font-size);text-align:center;place-items:center;padding:16px;display:grid}.annotation-rectangle__editor{resize:none;width:100%;height:100%;min-height:0;color:var(--annotation-stroke);border-radius:max(3px, calc(var(--annotation-radius) - 8px));font:inherit;text-align:center;background:#ffffffd1;border:1px solid #3267d6;outline:3px solid #3267d61f;padding:4px}.annotation-arrow{width:100%;height:100%;display:block;overflow:visible}.annotation-arrow path{fill:none;stroke:var(--annotation-stroke);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.annotation-arrow .annotation-arrow__head{fill:var(--annotation-stroke);stroke:none}.annotation-node .vue-flow__resize-control.handle{border:1px solid #fff;border-radius:2px;width:9px;height:9px}.annotation-node .vue-flow__resize-control.line{border-color:#3267d6}.vue-flow__edge-path{stroke:#7a8880;stroke-width:1.7px}.vue-flow__edge.selected .vue-flow__edge-path{stroke:#3267d6;stroke-width:2.2px}.vue-flow__connection-path{stroke:#3267d6;stroke-width:2px}.vue-flow__arrowhead{fill:#7a8880}.diagram-canvas .vue-flow__pane.selection{cursor:default}.diagram-canvas .vue-flow__pane.selection.dragging{cursor:grabbing}.canvas-wrap--select .vue-flow__node.draggable,.canvas-wrap--select .system-block,.canvas-wrap--select .annotation-node{cursor:pointer}.canvas-wrap--select .vue-flow__node.draggable.dragging,.canvas-wrap--select .vue-flow__node.draggable.dragging .system-block,.canvas-wrap--select .vue-flow__node.draggable.dragging .annotation-node{cursor:grabbing}.diagram-minimap{border:1px solid #dce2dc;border-radius:6px;overflow:hidden;box-shadow:0 5px 18px #1c282114;background:#ffffffe0!important;width:132px!important;height:82px!important;bottom:16px!important;right:16px!important}.drop-preview{z-index:20;width:248px;min-height:82px;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;animation:drop-preview-in .14s var(--ease-out) both;background:#ffffffe0;border:1px solid #aeb9b1;border-radius:8px;grid-template-columns:5px minmax(0,1fr);gap:13px;padding:13px;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 16px 34px #1c282129}.drop-preview__accent{border-radius:3px;width:5px;height:42px}.drop-preview div{align-content:center;gap:5px;min-width:0;display:grid}.drop-preview strong{text-overflow:ellipsis;white-space:nowrap;font-family:Manrope,sans-serif;font-size:12px;overflow:hidden}.drop-preview span:last-child{color:#748078;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.canvas-toolbar{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:52px;animation:toolbar-in .42s .18s var(--ease-out) both;background:#fffffff0;border:1px solid #dce2dc;border-radius:8px;align-items:center;padding:5px;display:flex;position:absolute;top:16px;left:50%;translate:-50%;box-shadow:0 10px 28px #1c28211f}.toolbar-group{align-items:center;gap:1px;display:flex}.icon-button{color:#5f6b64;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;width:40px;height:40px;padding:0;transition-property:color,background-color,scale;transition-duration:.12s;display:grid}.icon-button:hover:not(:disabled){color:var(--ink);background:#eef1ed}.icon-button--active{color:#fff;background:var(--navy)}.icon-button--active:hover:not(:disabled){color:#fff;background:#22352c}.icon-button:disabled{opacity:.3;cursor:not-allowed}.toolbar-divider{background:#e1e5e1;width:1px;height:24px;margin:0 6px}.zoom-value{color:#67726b;font-variant-numeric:tabular-nums;text-align:center;min-width:46px;font-size:11px}.canvas-status{z-index:5;color:#7e8982;font-variant-numeric:tabular-nums;pointer-events:none;gap:12px;font-size:10px;display:flex;position:absolute;bottom:19px;right:166px}.connector-popover-dismiss{z-index:17;cursor:default;position:absolute;inset:0}.connector-popover{z-index:18;width:min(252px,100% - 16px);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default;background:#fffffff7;border:1px solid #d8ded8;border-radius:8px;padding:9px;position:absolute;translate:-50% calc(-100% - 12px);box-shadow:0 14px 34px #1421192e}.connector-popover--below{translate:-50% 12px}.connector-popover:after{content:"";background:#fff;border-bottom:1px solid #d8ded8;border-right:1px solid #d8ded8;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;translate:-50%;rotate:45deg}.connector-popover--below:after{border:0;border-top:1px solid #d8ded8;border-left:1px solid #d8ded8;top:-6px;bottom:auto}.connector-popover__header{justify-content:space-between;align-items:center;min-height:30px;padding:0 2px 7px 6px;display:flex}.connector-popover__header strong{font-family:Manrope,sans-serif;font-size:12px}.connector-popover__header>div{gap:2px;display:flex}.connector-popover__icon{color:#758078;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:28px;height:28px;padding:0;transition-property:color,background-color,scale;transition-duration:.12s;display:grid}.connector-popover__icon:hover{color:var(--ink);background:#eef1ed}.connector-popover__icon:first-child:hover{color:#b54131;background:#fff1ed}.connector-style-control{background:#eef1ed;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.connector-style-control button{color:#748078;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;gap:5px;min-width:0;min-height:48px;padding:6px 3px;font-size:9px;font-weight:700;transition-property:color,background-color,box-shadow,scale;transition-duration:.12s;display:grid}.connector-style-control button.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #1c28211a}.connector-style-control__sample{background:currentColor;width:30px;height:2px}.connector-style-control__sample--dashed,.connector-style-control__sample--animated{background:repeating-linear-gradient(90deg,currentColor 0 5px,#0000 5px 8px)}.connector-style-control__sample--animated{animation:.5s linear infinite connector-sample-flow}.file-message{z-index:40;color:#174f3c;background:#eaf8f3;border:1px solid #bfe5d8;border-radius:6px;max-width:min(420px,100vw - 24px);padding:10px 14px;font-size:11px;font-weight:600;position:fixed;top:70px;left:50%;translate:-50%;box-shadow:0 8px 24px #1c28211f}.file-message--error{color:#993827;background:#fff2ef;border-color:#f0c9c1}.file-message-enter-active,.file-message-leave-active{transition-property:opacity,translate;transition-duration:.16s;transition-timing-function:var(--ease-out)}.file-message-enter-from,.file-message-leave-to{opacity:0;translate:-50% -6px}.inspector{z-index:12;border-left:1px solid var(--line);flex-direction:column;width:270px;min-height:0;padding:22px 16px 18px;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-10px 0 24px #1b26200d}.inspector__heading{margin-bottom:20px}.inspector__preview{background:var(--preview-tint);border-radius:7px;align-items:center;gap:11px;min-height:58px;padding:10px;display:flex}.inspector__preview-mark{background:var(--preview-accent);border-radius:3px;width:5px;height:34px}.inspector__preview div{gap:3px;min-width:0;display:grid}.inspector__preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.inspector__preview small{color:#748078;text-transform:capitalize;font-size:11px}.inspector__fields{gap:16px;margin-top:22px;display:grid}.field{gap:7px;display:grid}.field>span{color:#707b74;font-size:11px;font-weight:600}.field input,.field select{width:100%;height:36px;color:var(--ink);background:#f7f9f6;border:1px solid #dfe4df;border-radius:5px;padding:0 10px;font-size:11px;transition-property:border-color,box-shadow,background-color;transition-duration:.12s}.field textarea{resize:vertical;width:100%;min-height:86px;color:var(--ink);font:inherit;background:#f7f9f6;border:1px solid #dfe4df;border-radius:5px;padding:9px 10px;font-size:11px;line-height:1.45}.field select{cursor:pointer}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#3267d6;outline:none;box-shadow:0 0 0 3px #3267d61a}.annotation-inspector__type{color:#526058;text-transform:uppercase;background:#edf1ed;border-radius:4px;align-self:flex-start;padding:5px 8px;font-size:9px;font-weight:700}.color-field{grid-template-columns:42px minmax(0,1fr);align-items:center}.color-field>span{grid-column:1/-1}.color-field input[type=color]{cursor:pointer;width:42px;padding:3px}.color-field code{color:#69756e;font-family:monospace;font-size:10px}.transparency-toggle{color:#58655d;cursor:pointer;align-items:center;gap:9px;font-size:11px;display:flex}.transparency-toggle input{accent-color:#3267d6;width:16px;height:16px;margin:0}.segmented-control{background:#eef1ed;border-radius:6px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.segmented-control button{color:#78837c;text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:4px;min-height:29px;padding:0 8px;font-size:10px;font-weight:700;transition-property:color,background-color,box-shadow,scale;transition-duration:.12s}.segmented-control button.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #1c28211a}.inspector__actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:auto;padding-top:24px;display:grid}.secondary-button,.danger-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:36px;font-size:11px;font-weight:600;transition-property:background-color,border-color,scale;transition-duration:.12s;display:inline-flex}.secondary-button{background:#fff;border:1px solid #dce2dc}.secondary-button:hover{background:#f3f6f2}.danger-button{color:#b54131;background:#fff5f2;border:1px solid #f0d4ce}.danger-button:hover{background:#ffebe6;border-color:#eabeb5}.inspector-slide-enter-active,.inspector-slide-leave-active{transition-property:translate,opacity;transition-duration:.22s;transition-timing-function:var(--ease-out)}.inspector-slide-enter-from,.inspector-slide-leave-to{opacity:0;translate:18px}@keyframes panel-in{0%{opacity:0;translate:-12px}to{opacity:1;translate:0}}@keyframes canvas-in{0%{opacity:0}to{opacity:1}}@keyframes toolbar-in{0%{opacity:0;translate:-50% -8px}to{opacity:1;translate:-50%}}@keyframes drop-preview-in{0%{opacity:0;scale:.96}to{opacity:.78;scale:1}}@keyframes connector-sample-flow{to{background-position:8px 0}}@media (width<=1040px){.inspector{width:250px}.canvas-status{display:none}}@media (width<=760px){.app-shell{grid-template-rows:54px minmax(0,1fr)}.topbar{grid-template-columns:minmax(0,1fr) auto;padding-left:10px}.document-title,.save-state{display:none}.workspace{grid-template-columns:68px minmax(0,1fr)}.palette{padding:12px 9px}.palette .panel-heading,.palette-search,.palette-section-label,.palette-item__copy,.palette-item__grip,.palette-hint{display:none}.palette-group+.palette-group{margin-top:9px}.palette-list{gap:9px}.palette-item{grid-template-columns:36px;place-items:center;width:48px;min-height:48px;padding:5px;display:grid}.palette-item:hover{translate:0 -1px}.inspector{border:1px solid var(--line);border-radius:8px;width:min(280px,100% - 16px);height:min(460px,100% - 16px);top:auto;bottom:8px;right:8px;box-shadow:0 12px 36px #1b26202e}.diagram-minimap{display:none}.canvas-caption{top:76px;left:16px}.canvas-toolbar{top:12px}}@media (width<=430px){.brand>div span,.export-button span,.export-button>svg:last-child,.toolbar-group--mode,.toolbar-group--mode+.toolbar-divider,.toolbar-group--history,.toolbar-group--history+.toolbar-divider,.zoom-value{display:none}.export-button{justify-content:center;width:34px;padding:0}.canvas-caption strong{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
