@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(./mona-sans-vietnamese-wdth-normal-Rd0aZl9c.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(./mona-sans-latin-ext-wdth-normal-CQ1tG6In.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(./mona-sans-latin-wdth-normal-BMVx8nn_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--font-ui:"Mona Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "Cascadia Code", "SF Mono", Menlo, monospace;--bg:#f3f5f8;--surface:#fff;--surface-2:#f7f8fa;--surface-3:#eef1f5;--line:#e2e6ed;--line-strong:#cdd3de;--text:#131926;--text-2:#566074;--text-3:#656d80;--text-4:#9aa1b0;--accent:#4b57d6;--accent-ink:#fff;--accent-soft:#4b57d61a;--focus:#4b57d673;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px #4b57d6bf;--danger:#d1393f;--success:#17895a;--success-soft:#17895a1f;--warning:#b86e00;--warning-soft:#e5a00d29;--danger-soft:#d1393f1c;--info:var(--accent);--info-soft:var(--accent-soft);--status-up:#1f9d61;--status-paused:#d99000;--status-down:#d1393f;--status-up-soft:#1f9d6124;--status-paused-soft:#d9900029;--status-down-soft:#d1393f21;--particle-core:#fff;--particle-glow-blur:5px;--particle-glow-opacity:.4;--live-backlog:var(--status-paused);--live-dlq:var(--status-down);--live-throughput:var(--accent);--hover:#1018280b;--press:#10182814;--surface-raised:#fff;--shadow-1:0 1px 2px #1018280d, 0 6px 16px -8px #10182824;--shadow-2:0 1px 2px #1018280f, 0 18px 40px -14px #10182852;--shadow-3:0 0 0 1px #1018280a, 0 24px 64px -16px #1018284d;--scrim:#0f141e2e;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-1:.12s;--dur-2:.18s;--dur-3:.26s;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--dot:#c5ccd8;--edge:#97a0b3;--edge-strong:#556075;--edge-label-bg:#fff;--node-bg:#fff;--node-border:#dde2ea;--node-shadow:0 1px 2px #1018280d, 0 6px 16px -8px #10182824;--node-shadow-hover:0 1px 2px #1018280f, 0 10px 24px -10px #10182838;--tile-base:#fff;--tile-mix:11%;--stage-bg:#f6f7fa;--radius-s:6px;--radius-m:10px;--radius-l:14px;--topbar-h:52px}[data-theme=dark]{--bg:#0e131d;--surface:#141a26;--surface-2:#181f2d;--surface-3:#1e2637;--line:#232b3c;--line-strong:#313b51;--text:#e8ecf4;--text-2:#9ba5b9;--text-3:#8992a9;--text-4:#5b647a;--accent:#8f9bff;--accent-ink:#0e131d;--accent-soft:#8f9bff24;--focus:#8f9bff80;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px #8f9bffcc;--danger:#ff6b6f;--success:#4ad295;--success-soft:#4ad29524;--warning:#f5b84a;--warning-soft:#f5b84a26;--danger-soft:#ff6b6f24;--status-up:#3fcf8e;--status-paused:#f5b84a;--status-down:#ff6b6f;--status-up-soft:#3fcf8e26;--status-paused-soft:#f5b84a26;--status-down-soft:#ff6b6f26;--particle-core:#fff;--particle-glow-blur:7px;--particle-glow-opacity:.7;--hover:#ffffff0b;--press:#ffffff14;--surface-raised:#1b2232;--shadow-1:inset 0 1px 0 #ffffff0a, 0 10px 28px -12px #000000b3;--shadow-2:inset 0 1px 0 #ffffff0a, 0 20px 48px -12px #000000bf;--shadow-3:inset 0 1px 0 #ffffff0d, 0 0 0 1px #00000059, 0 28px 72px -16px #000c;--scrim:#04070c73;--dot:#2e3850;--edge:#58637b;--edge-strong:#9aa5bc;--edge-label-bg:#182030;--node-bg:#171e2c;--node-border:#283149;--node-shadow:inset 0 1px 0 #ffffff0a, 0 10px 28px -12px #000000b3;--node-shadow-hover:inset 0 1px 0 #ffffff0d, 0 14px 32px -12px #000c;--tile-base:#e9edf4;--tile-mix:16%;--stage-bg:#111724}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;cursor:default;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-size:14px;line-height:1.45}input,textarea,[contenteditable=true],.selectable{-webkit-user-select:text;user-select:text}input:not([type=checkbox],[type=radio],[type=range],[type=color]),textarea,[contenteditable=true]{cursor:text}img{-webkit-user-drag:none}[draggable=true]{cursor:grab}[draggable=true]:active{cursor:grabbing}button,input,select{font:inherit;color:inherit}button,select,a[href],label[for],summary,input[type=checkbox],input[type=radio],input[type=color]{cursor:pointer}label.field{cursor:text}button:disabled,select:disabled,input:disabled,[aria-disabled=true]:not([role^=menuitem]){cursor:not-allowed}[data-copy],.copy-chip{cursor:copy}.selectable{cursor:text}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.app-body>:not(.view-loading){animation:view-in var(--dur-2) var(--ease-out)}.view-loading{animation:view-in var(--dur-2) .35s both}@keyframes view-in{0%{opacity:0}}.mono,code,kbd{font-family:var(--font-mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}kbd{border:1px solid var(--line-strong);color:var(--text-3);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:3px 5px;font-size:10.5px;line-height:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app{grid-template-rows:var(--topbar-h) 1fr;height:100%;display:grid}.app.is-presenting{grid-template-rows:1fr}.app-body{min-height:0;position:relative}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:12px;min-width:0;padding:0 12px 0 16px;display:flex;position:relative}.brand{letter-spacing:-.015em;align-items:center;gap:9px;padding-right:6px;font-size:15px;font-weight:650;font-stretch:110%;display:flex}.logo .logo-a{fill:var(--accent)}.logo .logo-b{fill:var(--text)}.logo .logo-wire{stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round}.logo .logo-dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.4px}.topbar-spacer{flex:1}.topbar-group{align-items:center;gap:6px;display:flex}.topbar-group+.topbar-group{border-left:1px solid var(--line);margin-left:4px;padding-left:10px}.segmented{background:var(--surface-3);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.segmented button{height:28px;color:var(--text-2);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:550;display:inline-flex}.segmented button:hover{color:var(--text)}.segmented button:active:not(.is-on){background:var(--press)}.segmented button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014, 0 0 0 1px var(--line)}[data-theme=dark] .segmented button.is-on{background:var(--surface-2);box-shadow:inset 0 1px 0 #ffffff0d, 0 0 0 1px var(--line-strong)}.btn,.icon-btn{border:1px solid var(--line);background:var(--surface);height:32px;color:var(--text);white-space:nowrap;transition:background var(--dur-1), border-color var(--dur-1), color var(--dur-1), opacity var(--dur-1);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:550;display:inline-flex}.btn:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.btn.is-pressed{background:var(--surface-3);border-color:var(--line-strong);translate:0 .5px}.btn:disabled,.icon-btn:disabled{opacity:.45}.btn-ghost,.icon-btn-quiet{background:0 0;border-color:#0000}.btn-ghost{color:var(--text-2)}.btn-ghost svg{color:var(--text-3)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.btn-danger-solid:hover:not(:disabled),.btn.btn-danger-solid:active:not(:disabled){background:var(--danger);border-color:var(--danger);opacity:.88}.btn svg{color:var(--text-2)}.btn-primary{background:var(--text);border-color:var(--text);color:var(--bg)}.btn-primary svg{color:inherit}.btn-primary:hover:not(:disabled),.btn-primary:active:not(:disabled){background:var(--text);border-color:var(--text);opacity:.88}.btn-primary:active:not(:disabled){opacity:.78}.icon-btn{width:32px;color:var(--text-2);padding:0}.select{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;height:32px;font-size:13px;display:inline-flex;position:relative}.select:hover{border-color:var(--line-strong)}.select select{appearance:none;cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;max-width:280px;height:100%;padding:0 28px 0 10px;font-weight:550}.select select:focus-visible{outline:none}.select:focus-within{box-shadow:0 0 0 3px var(--focus)}.select:after{content:"";border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);pointer-events:none;width:6px;height:6px;margin-top:-5px;position:absolute;top:50%;right:11px;transform:rotate(45deg)}.select option{background:var(--surface);color:var(--text)}.select-prefix{color:var(--text-3);padding-left:10px;font-weight:500}.select-prefix+select{padding-left:6px}.select-quiet{background:0 0}.field{border:1px solid var(--line);background:var(--surface);height:32px;color:var(--text-3);border-radius:8px;align-items:center;gap:8px;min-width:0;padding:0 10px;display:flex}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.field input::placeholder{color:var(--text-3)}.field:hover:not(:focus-within){border-color:var(--line-strong)}.field-clear{width:20px;height:20px;color:var(--text-3);background:0 0;border:0;border-radius:5px;flex:none;place-items:center;margin-right:-4px;padding:0;display:grid}.field-clear:hover{background:var(--hover);color:var(--text)}.field-clear:active{background:var(--press)}.link-btn{color:var(--accent);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.link-btn:hover{text-underline-offset:2px;text-decoration:underline}.link-btn:active{opacity:.75}.toast{z-index:100;background:var(--text);max-width:min(640px,100vw - 32px);color:var(--bg);border-radius:10px;align-items:center;gap:14px;padding:10px 10px 10px 16px;font-size:13px;font-weight:500;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px -8px #00000059}.toast-error{background:var(--danger);color:#fff}.toast button{color:inherit;opacity:.7;background:0 0;border:0;padding:2px 6px;font-size:18px;line-height:1}.toast button:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}@media (width<=1100px){.select-prefix,.btn .label-optional{display:none}}@media (width<=820px){.topbar{overflow-x:auto}.brand span{display:none}}.nb{--tile-bg:color-mix(in oklab, var(--accent) var(--tile-mix), var(--tile-base));--tile-ring:color-mix(in oklab, var(--accent) 26%, transparent);font-family:var(--font-ui);color:var(--text);position:relative}.nb-tile{background:var(--tile-bg);box-shadow:inset 0 0 0 1px var(--tile-ring);flex:none;place-items:center;display:grid}.nb-tile .stencil-icon{object-fit:contain;display:block}.nb-label{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:620;line-height:1.25;overflow:hidden}.nb-sub{font-family:var(--font-mono);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.3;overflow:hidden}.nb-kind{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:1.3;overflow:hidden}.nb-card{border-radius:var(--radius-l);background:var(--node-bg);border:1px solid var(--node-border);width:max-content;min-width:220px;max-width:260px;height:72px;box-shadow:var(--node-shadow);align-items:center;gap:12px;padding:0 14px 0 13px;transition:box-shadow .15s,border-color .15s;display:flex}.nb-card .nb-sub{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;display:-webkit-box}.nb-card .nb-tile{border-radius:11px;width:44px;height:44px}.nb-card .nb-tile .stencil-icon{width:36px;height:26px}.nb-text{flex-direction:column;gap:3px;min-width:0;display:flex}.nb-compact{background:var(--node-bg);border:1px solid var(--node-border);min-width:140px;max-width:220px;height:40px;box-shadow:var(--node-shadow);border-radius:11px;align-items:center;gap:9px;padding:0 13px 0 6px;display:inline-flex}.nb-compact .nb-tile{border-radius:7px;width:28px;height:28px}.nb-compact .nb-tile .stencil-icon{width:24px;height:18px}.nb-compact .nb-label{font-size:13px}.nb-icon{width:64px;height:64px}.nb-icon .nb-tile{width:64px;height:64px;box-shadow:inset 0 0 0 1px var(--tile-ring), var(--node-shadow);border-radius:16px}.nb-icon .nb-tile .stencil-icon{width:50px;height:34px}.nb-caption{text-align:center;width:180px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.nb-caption .nb-label{font-size:12.5px}.nb-caption .nb-sub{font-size:10.5px}.nb.is-selected.nb-card,.nb.is-selected.nb-compact{border-color:color-mix(in oklab, var(--accent) 70%, var(--node-border));box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 22%, transparent), var(--node-shadow-hover)}.nb.is-selected.nb-icon .nb-tile{box-shadow:inset 0 0 0 1.5px var(--accent), 0 0 0 4px color-mix(in oklab, var(--accent) 22%, transparent)}.nb.is-unknown.nb-card,.nb.is-unknown.nb-compact{border-style:dashed}.diagram-thumb{display:block;overflow:visible}.diagram-thumb .dt-node{fill-opacity:.22;stroke-opacity:.55;stroke-width:1px;vector-effect:non-scaling-stroke}.diagram-thumb .dt-edge{stroke:var(--text-4);stroke-width:1px;vector-effect:non-scaling-stroke}.diagram-thumb .dt-group{fill:none;stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.lib-list{gap:2px;margin:0 -8px;padding:0;list-style:none;display:grid}.lib-row{border-radius:var(--radius-m);align-items:center;gap:4px;display:flex;position:relative}.lib-row:hover,.lib-row:focus-within{background:var(--hover)}.lib-row.is-current{background:var(--accent-soft)}.lib-open{border-radius:var(--radius-m);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:8px;display:flex}.lib-open:active{background:var(--press)}.lib-thumb{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex:none;width:76px;height:48px;padding:4px}.lib-thumb .diagram-thumb{width:100%;height:100%}.lib-text{flex:1;gap:2px;min-width:0;display:grid}.lib-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.lib-text span{color:var(--text-3);font-size:12px}.lib-rename{position:absolute;top:50%;left:100px;right:112px;translate:0 -50%}.lib-row.is-renaming .lib-text{visibility:hidden}.lib-rename .inline-input{border:1px solid var(--accent);background:var(--surface);width:100%;height:26px;box-shadow:0 0 0 3px var(--accent-soft);font-size:13.5px;font-weight:600}.lib-actions{opacity:.55;transition:opacity var(--dur-1);flex:none;gap:2px;padding-right:6px;display:flex}.lib-row:hover .lib-actions,.lib-row:focus-within .lib-actions{opacity:1}.lib-delete:hover{color:var(--danger)}.lib-empty{color:var(--text-2);margin:4px 0}.lib-usage{min-width:0;color:var(--text-3);align-items:center;gap:8px;font-size:12px;display:flex}.lib-meter{background:var(--line);border-radius:999px;flex:none;width:64px;height:5px;overflow:hidden}.lib-meter>span{border-radius:inherit;background:var(--text-3);height:100%;display:block}.lib-usage.is-full{color:var(--danger)}.lib-usage.is-full .lib-meter>span{background:var(--danger)}.gallery{grid-template-columns:216px 1fr;height:100%;min-height:0;display:grid}.gallery-rail{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:1px;padding:20px 12px;display:flex;overflow-y:auto}.rail-title{color:var(--text-3);padding:0 10px 8px;font-size:12px;font-weight:600}.rail-link{height:32px;color:var(--text-2);text-align:left;transition:background var(--dur-1), color var(--dur-1);background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;padding:0 10px;font-size:13.5px;font-weight:550;display:flex;position:relative}.rail-link:hover:not(:disabled){background:var(--hover);color:var(--text)}.rail-link:active:not(:disabled){background:var(--press)}.rail-link.is-on{background:var(--surface-3);color:var(--text)}.rail-link:disabled{opacity:.4}.rail-count{font-family:var(--font-mono);color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.rail-legend{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.legend-row{color:var(--text-2);cursor:help;align-items:center;gap:9px;padding:4px 10px;font-size:12.5px;display:flex}.legend-row i{border-radius:50%;width:8px;height:8px}.gallery-main{min-height:0;padding:0 32px 48px;overflow-y:auto}.gallery-head{z-index:5;background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);flex-direction:column;gap:16px;margin:0 -32px;padding:24px 32px 14px;display:flex;position:sticky;top:0}.gallery-heading{flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0;display:flex}.gallery-heading h1{letter-spacing:-.03em;margin:0;font-size:28px;font-weight:700;font-stretch:112%;line-height:1.1}.gallery-heading p{color:var(--text-2);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:14px}.gallery-heading .warn{color:var(--danger);font-weight:600}.gallery-search{min-width:0;margin-left:auto}.field-lg{border-radius:9px;width:340px;max-width:100%;height:36px}.gallery-filters{align-items:center;gap:12px;min-width:0;display:flex}.families{background:var(--surface-3);scrollbar-width:none;border-radius:10px;gap:2px;min-width:0;padding:3px;display:flex;position:relative;overflow-x:auto}.family{height:28px;color:var(--text-2);white-space:nowrap;transition:background var(--dur-1), color var(--dur-1), box-shadow var(--dur-1);background:0 0;border:0;border-radius:7px;flex:none;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:550;display:inline-flex}.family i{background:var(--family);border-radius:50%;width:7px;height:7px}.family-count{font-family:var(--font-mono);color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10.5px}.family:hover{color:var(--text);background:var(--hover)}.family:active:not(.is-on){background:var(--press)}.family.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014, 0 0 0 1px var(--line)}[data-theme=dark] .family.is-on{background:var(--surface-2);box-shadow:inset 0 1px 0 #ffffff0d, 0 0 0 1px var(--line-strong)}.family.is-empty:not(.is-on){color:var(--text-3)}.family.is-empty i{opacity:.45}.family.is-folded{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}.gallery-filter-end{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.token{border:1px solid var(--line-strong);background:var(--surface);height:28px;animation:pop-in var(--dur-2) var(--ease-out);border-radius:8px;align-items:center;gap:7px;padding:0 4px 0 10px;font-size:12.5px;font-weight:550;display:inline-flex}.token i{border-radius:50%;width:7px;height:7px}.token button{width:20px;height:20px;color:var(--text-3);background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid}.token button:hover{background:var(--hover);color:var(--text)}@keyframes pop-in{0%{opacity:0;scale:.96}}.gallery-section{padding-top:36px;scroll-margin-top:128px}.section-head{flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.section-head h2{letter-spacing:-.02em;align-items:baseline;gap:8px;margin:0;font-size:19px;font-weight:650;font-stretch:108%;display:flex}.section-head h2 span{font-family:var(--font-mono);color:var(--text-3);font-size:12px;font-weight:500}.section-head p{color:var(--text-3);margin:0;font-size:13px}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:14px;display:grid}.tile{border:1px solid var(--line);background:var(--surface);cursor:grab;transition:border-color var(--dur-2), box-shadow var(--dur-2), translate var(--dur-2) var(--ease-out);border-radius:12px;flex-direction:column;display:flex;position:relative;overflow:hidden}.tile:hover{border-color:color-mix(in oklab, var(--accent) 45%, var(--line));box-shadow:var(--shadow-1);translate:0 -2px}.tile:active{cursor:grabbing;box-shadow:none;translate:0}.tile:focus-visible{border-color:color-mix(in oklab, var(--accent) 60%, var(--line));box-shadow:var(--focus-ring);outline:none}.tile.is-open{border-color:color-mix(in oklab, var(--accent) 70%, var(--line));box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 20%, transparent)}@media (prefers-reduced-motion:reduce){.tile:hover{translate:none}}.tile-stage{background-color:var(--stage-bg);background-image:radial-gradient(var(--dot) 1px, transparent 1.2px);border-bottom:1px solid var(--line);background-position:8px 8px;background-size:16px 16px;place-items:center;height:128px;display:grid;position:relative}.tile-stage .nb{pointer-events:none}.tile-stage.stage-iconOnly{padding-bottom:34px}.tile-stage:before{content:"";background:var(--accent);height:3px;position:absolute;inset:0 0 auto}.tile-missing{font-family:var(--font-mono);background:var(--danger);color:#fff;border-radius:4px;padding:2px 6px;font-size:10.5px;position:absolute;top:10px;left:10px}.tile-add{border:1px solid var(--line-strong);background:var(--surface);width:28px;height:28px;color:var(--text-2);box-shadow:var(--shadow-1);cursor:pointer;opacity:0;transition:opacity var(--dur-1), scale var(--dur-1), background var(--dur-1), color var(--dur-1);border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:10px;scale:.92}.tile:hover .tile-add,.tile:focus-within .tile-add{opacity:1;scale:1}.tile-add:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.tile-add:active{scale:.94}@media (hover:none){.tile-add{opacity:1;scale:1}}.tile-body{flex-direction:column;flex:1;gap:2px;padding:12px 14px;display:flex}.tile-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.tile-row h3{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:620;overflow:hidden}.role{height:20px;color:color-mix(in oklab, var(--role) 60%, var(--text));background:color-mix(in oklab, var(--role) 13%, transparent);border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}[data-theme=dark] .role{color:color-mix(in oklab, var(--role) 72%, var(--text))}.role:before{content:"";background:var(--role);border-radius:50%;width:6px;height:6px}.tile-vendor{color:var(--text-2);align-items:center;gap:7px;font-size:12.5px;display:flex}.tile-swatch{background:var(--accent);border-radius:2.5px;width:8px;height:8px;box-shadow:inset 0 0 0 1px #0000001f}.tile-desc{color:var(--text-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 10px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.tile-foot{align-items:center;gap:8px;min-width:0;margin-top:auto;display:flex}.tile-id{min-width:0;max-width:100%;font-family:var(--font-mono);color:var(--text-2);background:var(--surface-3);cursor:copy;transition:background var(--dur-1), color var(--dur-1);border:0;border-radius:5px;align-items:center;gap:6px;padding:3px 6px;font-size:11px;display:inline-flex}.tile-id span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile-id svg{color:var(--text-3);opacity:.55;transition:opacity var(--dur-1);flex:none}.tile-id:hover{color:var(--text);background:color-mix(in oklab, var(--text) 9%, var(--surface))}.tile-id:hover svg{opacity:1}.tile-id:active{background:color-mix(in oklab, var(--text) 14%, var(--surface))}.gallery-empty{color:var(--text-2);max-width:56ch;animation:view-in var(--dur-2) var(--ease-out);flex-direction:column;align-items:flex-start;gap:10px;padding:72px 0 48px;display:flex}.gallery-empty-mark{background:var(--surface-3);width:44px;height:44px;color:var(--text-3);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}.gallery-empty strong{letter-spacing:-.01em;color:var(--text);font-size:16px;font-weight:650}.gallery-empty p{color:var(--text-3);margin:0;font-size:13.5px}.gallery-empty-actions{gap:8px;margin-top:8px;display:flex}.gallery-credits{border-top:1px solid var(--line);color:var(--text-3);max-width:72ch;margin-top:48px;padding-top:20px;font-size:12px}.gallery-credits a{color:var(--text-2)}.drawer-scrim{inset:var(--topbar-h) 0 0 0;z-index:55;background:var(--scrim);animation:view-in var(--dur-2) var(--ease-out);border:0;padding:0;position:fixed}.drawer{top:var(--topbar-h);z-index:60;background:var(--surface-raised);border-left:1px solid var(--line-strong);width:min(460px,100vw);box-shadow:var(--shadow-3);animation:drawer-in var(--dur-3) var(--ease-out);flex-direction:column;display:flex;position:fixed;bottom:0;right:0}@keyframes drawer-in{0%{opacity:0;translate:24px}}.drawer-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 12px 16px 20px;display:flex}.drawer-icon{background:color-mix(in oklab, var(--accent) var(--tile-mix), var(--tile-base));width:44px;height:44px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 26%, transparent);border-radius:11px;flex:none;place-items:center;display:grid}.drawer-icon .stencil-icon{object-fit:contain;width:34px;height:26px}.drawer-heading{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.drawer-heading h2{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:650;font-stretch:106%;line-height:1.25;overflow:hidden}.drawer-heading span{color:var(--text-2);font-size:13px}.drawer-nav{align-items:center;gap:2px;display:flex}.drawer-nav .icon-btn{width:30px;height:30px}.drawer-nav .icon-btn:first-child svg{rotate:180deg}.drawer-pos{text-align:center;min-width:52px;font-family:var(--font-mono);color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.drawer-body{flex:1;padding:20px 20px 28px;overflow-y:auto}.drawer-stage{border:1px solid var(--line);background-color:var(--stage-bg);background-image:radial-gradient(var(--dot) 1px, transparent 1.2px);background-position:8px 8px;background-size:16px 16px;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:28px 36px;padding:32px 20px 20px;display:flex;position:relative;overflow:hidden}.drawer-stage:before{content:"";background:var(--accent);height:3px;position:absolute;inset:0 0 auto}.drawer-variant{flex-direction:column;align-items:center;margin:0;display:flex}.drawer-variant.variant-card{flex-basis:100%}.drawer-variant-node{position:relative}.drawer-variant.variant-iconOnly .drawer-variant-node{padding-bottom:40px}.drawer-variant figcaption{color:var(--text-3);margin-top:10px;font-size:11.5px}.drawer-desc{color:var(--text-2);max-width:60ch;margin:20px 0 22px;font-size:14px;line-height:1.55}.drawer-section{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.drawer-desc+.drawer-section{margin-top:0}.drawer-section h3{color:var(--text-3);margin:0 0 12px;font-size:12px;font-weight:600}.drawer-role{align-items:flex-start;gap:12px;display:flex}.drawer-role .role{margin-top:1px}.drawer-role p{color:var(--text-2);margin:0;font-size:13px;line-height:1.5}.drawer-facts{grid-template-columns:112px 1fr;gap:11px 16px;margin:0;font-size:13px;display:grid}.drawer-facts dt{color:var(--text-3);font-size:12.5px;line-height:24px}.drawer-facts dd{min-width:0;margin:0;line-height:24px}.drawer-facts dd small{color:var(--text-3);font-size:12px;line-height:1.4;display:block}.drawer-facts .mono{font-size:12px}.drawer-family{align-items:center;gap:8px;display:flex}.drawer-family i{border-radius:50%;width:7px;height:7px}.copy-chip{background:var(--surface-3);max-width:100%;height:24px;color:var(--text);font-family:var(--font-mono);transition:background var(--dur-1);border:0;border-radius:6px;align-items:center;gap:7px;padding:0 8px;font-size:12px;display:inline-flex}.copy-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.copy-chip svg{color:var(--text-3);flex:none}.copy-chip:hover{background:color-mix(in oklab, var(--text) 10%, var(--surface))}.copy-chip:active{background:color-mix(in oklab, var(--text) 15%, var(--surface))}.drawer-swatch{background:var(--accent);border-radius:3px;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0000001f}.drawer-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:14px 20px;display:flex}.drawer-foot>.icon-btn{margin-left:auto}.gallery-dock{z-index:70;border:1.5px dashed color-mix(in oklab, var(--accent) 55%, var(--line-strong));background:var(--surface-raised);height:56px;box-shadow:var(--shadow-2);color:var(--text-2);animation:dock-in var(--dur-2) var(--ease-out);transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1), scale var(--dur-1);border-radius:14px;align-items:center;gap:10px;padding:0 24px;font-size:13.5px;font-weight:600;display:flex;position:fixed;bottom:28px;left:50%;translate:-50%}.gallery-dock.is-over{border-style:solid;border-color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface-raised));color:var(--accent);scale:1.03}@keyframes dock-in{0%{opacity:0;translate:-50% 10px}}.gallery-note{z-index:90;background:var(--text);height:38px;color:var(--bg);animation:dock-in var(--dur-2) var(--ease-out);pointer-events:none;border-radius:10px;align-items:center;gap:8px;padding:0 16px 0 12px;font-size:13px;font-weight:550;display:flex;position:fixed;bottom:24px;left:50%;translate:-50%;box-shadow:0 12px 32px -8px #00000059}@media (width<=1180px){.gallery{grid-template-columns:184px 1fr}}@media (width<=860px){.gallery{grid-template-columns:1fr}.gallery-rail{display:none}.gallery-search{flex-basis:100%;margin-left:0}.field-lg{width:100%}.gallery-main{padding:0 16px 40px}.gallery-head{margin:0 -16px;padding:18px 16px 14px}}.drawer:focus{outline:none}.canvas-view{display:flex;position:absolute;inset:0}.canvas-wrap{flex:1;min-width:0;position:relative}.df-defs{width:0;height:0;position:absolute}.react-flow{--xy-background-color:var(--bg);--xy-node-boxshadow-selected:none;--xy-node-border-radius:0;--xy-controls-button-background-color:var(--surface);--xy-controls-button-background-color-hover:var(--surface-2);--xy-controls-button-color:var(--text-2);--xy-controls-button-color-hover:var(--text);--xy-controls-button-border-color:var(--line);--xy-controls-box-shadow:none;--xy-minimap-background-color:var(--surface);--xy-minimap-mask-background-color:color-mix(in oklab, var(--bg) 70%, transparent);--xy-minimap-mask-stroke-color:var(--line-strong);--xy-minimap-mask-stroke-width:1;--xy-handle-background-color:var(--accent);--xy-selection-background-color:var(--accent-soft);--xy-selection-border:1px solid color-mix(in oklab, var(--accent) 50%, transparent);--xy-resize-background-color:var(--accent);background:var(--bg);font-family:var(--font-ui)}.react-flow__node-diagram,.react-flow__node-boundary{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.react-flow__controls{border:1px solid var(--line);box-shadow:var(--node-shadow);border-radius:10px;overflow:hidden}.react-flow__controls-button{border-bottom:1px solid var(--line);width:30px;height:30px}.react-flow__controls-button:last-child{border-bottom:0}.react-flow__controls-button svg{fill:currentColor}.react-flow__minimap{border:1px solid var(--line);box-shadow:var(--node-shadow);border-radius:10px;overflow:hidden}@media (width<=1100px){.react-flow__minimap{display:none}}.react-flow__attribution{opacity:.45;background:0 0;font-size:9px}.react-flow__attribution a{color:var(--text-3)}.react-flow .react-flow__panel.react-flow__attribution.bottom.right{margin:0 16px 3px 0;padding:1px 4px}.react-flow:has(.react-flow__minimap) .react-flow__panel.react-flow__attribution.bottom.right{margin-bottom:132px}@media (width<=1100px){.react-flow:has(.react-flow__minimap) .react-flow__panel.react-flow__attribution.bottom.right{margin-bottom:3px}}.react-flow__panel.bottom.left,.react-flow__panel.bottom.right{margin:16px}.dn{position:relative}.dn .nb-card:hover,.dn .nb-compact:hover{box-shadow:var(--node-shadow-hover)}.dn-handle.react-flow__handle{background:var(--node-bg);border:1.5px solid color-mix(in oklab, var(--accent) 75%, var(--node-border));opacity:0;border-radius:50%;width:9px;height:9px;transition:opacity .15s,transform .15s}.dn:hover .dn-handle,.react-flow__node.selected .dn-handle,.react-flow.connecting .dn-handle,.react-flow__handle.connectingto,.react-flow__handle.connectingfrom{opacity:1}.dn-handle.react-flow__handle:hover{background:var(--accent)}.dn-iconOnly .dn-handle.react-flow__handle-left,.dn-iconOnly .dn-handle.react-flow__handle-right{top:32px}.dn-handle.react-flow__handle:after{content:"";border-radius:50%;position:absolute;inset:-7px}.react-flow.connecting .dn-handle.react-flow__handle{opacity:.7}.react-flow__handle.connectingto,.react-flow__handle.valid{background:var(--accent);scale:1.35}.dn-unknown{max-width:200px;font-family:var(--font-mono);background:var(--danger);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:1px 6px;font-size:10px;position:absolute;top:-9px;left:10px;overflow:hidden}.dn-editor{z-index:20;background:var(--surface);border:1px solid var(--line-strong);cursor:default;border-radius:10px;flex-direction:column;gap:6px;width:260px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 40px -12px #00000059}.dn-editor input{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;outline:0;height:30px;padding:0 8px;font-size:13px}.dn-editor input.mono{font-family:var(--font-mono);font-size:12px}.dn-editor input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dn-editor-hint{color:var(--text-3);padding:0 2px;font-size:11px}.react-flow__node-boundary{pointer-events:none!important}.grp{border:1px solid color-mix(in oklab, var(--tone) 32%, transparent);background:color-mix(in oklab, var(--tone) 5%, transparent);border-radius:20px;width:100%;height:100%;position:relative}[data-theme=dark] .grp{border-color:color-mix(in oklab, var(--tone) 40%, transparent);background:color-mix(in oklab, var(--tone) 7%, transparent)}.grp.is-selected{border-color:color-mix(in oklab, var(--tone) 70%, transparent)}.grp-label{letter-spacing:-.005em;height:24px;color:color-mix(in oklab, var(--tone) 70%, var(--text));background:color-mix(in oklab, var(--tone) 12%, var(--bg));pointer-events:all;cursor:move;white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:0 10px 0 8px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:12px;left:14px}.grp-swatch{background:var(--tone);border-radius:2.5px;width:8px;height:8px}.grp .react-flow__resize-control{pointer-events:all}.grp .grp-resize-line{border-color:#0000}.grp .grp-resize-handle{background:var(--surface);border:1.5px solid var(--tone);border-radius:3px;width:9px;height:9px}.fe{--fe-stroke:var(--edge)}.fe-sync{--fe-stroke:var(--edge-strong)}.fe.is-selected{--fe-stroke:var(--accent)}.react-flow__edge .fe-path.react-flow__edge-path,.fe-path{fill:none;stroke:var(--fe-stroke);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.fe-async .fe-path{stroke-dasharray:5 5}.fe-halo{fill:none;stroke:#0000;stroke-width:8px}.react-flow__edge:hover .fe-halo{stroke:color-mix(in oklab, var(--accent) 14%, transparent)}.react-flow__edge .fe.is-selected .fe-path.react-flow__edge-path{stroke-width:2px}.fe.is-selected .fe-halo{stroke:color-mix(in oklab, var(--accent) 18%, transparent)}.m-async{fill:var(--edge)}.m-sync{fill:var(--edge-strong)}.m-selected{fill:var(--accent)}.react-flow__connection-path{stroke:var(--accent);stroke-width:1.6px;stroke-dasharray:5 5}.react-flow__edgelabel-renderer{z-index:1001}.fe-label{pointer-events:all;box-sizing:border-box;width:var(--fe-w,auto);height:var(--fe-h,auto);font-family:var(--font-mono);text-align:center;white-space:pre;text-overflow:ellipsis;color:var(--text-2);background:var(--edge-label-bg);border:1px solid var(--line);border-radius:8px;padding:2px 7px;font-size:10px;font-weight:500;line-height:13px;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0000000d}.fe-label.is-truncate:hover{z-index:2;width:max-content}.fe-label.is-dot{color:var(--text);border-radius:999px;place-items:center;padding:0;font-size:9px;font-weight:650;line-height:1;display:grid;overflow:visible}.fe-dot-tip{color:var(--text-2);background:var(--edge-label-bg);border:1px solid var(--line);box-shadow:var(--node-shadow);white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:2px 7px;font-size:10px;font-weight:500;line-height:13px;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.fe-label.is-dot:hover .fe-dot-tip{opacity:1}.is-presenting .fe-label{color:var(--text);border-color:color-mix(in oklab, var(--text) 22%, var(--line));font-weight:600}.fe-label.is-selected{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 45%, var(--line))}.fe-label.is-editing{border-color:var(--accent);width:auto;height:auto;box-shadow:0 0 0 3px var(--accent-soft);padding:0;overflow:visible}.inline-input{min-width:0;height:22px;color:var(--text);font:inherit;background:0 0;border:0;border-radius:7px;outline:0;padding:0 7px}.grp-label .inline-input{background:var(--surface);height:20px;box-shadow:0 0 0 1.5px var(--tone);cursor:text;border-radius:5px;margin:0 -4px 0 -2px;padding:0 4px;font-weight:600}.palette{border-right:1px solid var(--line);background:var(--surface);z-index:5;flex-direction:column;flex:none;width:248px;min-height:0;display:flex}.palette.is-collapsed{align-items:center;width:52px;padding-top:10px}.palette-head{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 10px 8px;display:flex}.palette-head-row{gap:6px;display:flex}.palette-head .field{flex:1}.palette-family{width:100%;height:28px;color:var(--text-2);border-color:#0000}.palette-family:hover{border-color:var(--line);background:var(--hover)}.palette-family select{flex:1;max-width:none;padding-left:8px;font-size:12.5px;font-weight:550}.palette-family-dot{border-radius:50%;flex:none;width:7px;height:7px;margin-left:9px;margin-right:-2px}.palette-list{flex:1;padding:4px 10px 16px;overflow-y:auto}.palette-list h3{color:var(--text-3);margin:10px 0 2px;font-size:12px;font-weight:600}.palette-sec-static,.palette-results-head{justify-content:space-between;align-items:baseline;gap:8px;padding:6px 4px 4px;display:flex}.palette-results-head span{color:var(--text-4);font-size:11px;font-weight:500}.palette-sec-head{width:100%;height:28px;color:var(--text-3);text-align:left;transition:background var(--dur-1), color var(--dur-1);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 4px;font-size:12px;font-weight:600;display:flex}.palette-sec-head:hover{background:var(--hover);color:var(--text-2)}.palette-sec-head:active{background:var(--press)}.palette-sec-head svg{transition:rotate var(--dur-1) var(--ease-out);flex:none;rotate:90deg}.palette-sec.is-closed .palette-sec-head svg{rotate:0deg}.palette-sec-count{font-family:var(--font-mono);color:var(--text-3);margin-left:auto;font-size:10.5px;font-weight:500}.palette-grid{flex-direction:column;gap:1px;padding-bottom:4px;display:flex}.palette-item{text-align:left;height:34px;color:var(--text);cursor:grab;transition:background var(--dur-1);background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:0 6px;font-size:13px;font-weight:520;display:flex}.palette-item:hover{background:var(--surface-3)}.palette-item:active{cursor:grabbing;background:var(--press)}.palette-tile{background:color-mix(in oklab, var(--accent) var(--tile-mix), var(--tile-base));width:26px;height:26px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 24%, transparent);border-radius:7px;flex:none;place-items:center;display:grid}.palette-tile .stencil-icon{object-fit:contain;width:22px;height:17px}.palette-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.palette-add{width:20px;height:20px;color:var(--text-3);opacity:0;transition:opacity var(--dur-1);border-radius:5px;flex:none;place-items:center;display:grid}.palette-item:hover .palette-add,.palette-item:focus-visible .palette-add{opacity:1}.palette-recent{border-bottom:1px solid var(--line);margin-bottom:2px;padding-bottom:6px}.palette-recent-grid{flex-wrap:wrap;gap:6px;padding:2px 4px 6px;display:flex}.palette-recent-item{background:color-mix(in oklab, var(--accent) var(--tile-mix), var(--tile-base));width:32px;height:32px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 24%, transparent);cursor:grab;transition:box-shadow var(--dur-1), translate var(--dur-1) var(--ease-out);border:0;border-radius:8px;place-items:center;padding:0;display:grid}.palette-recent-item .stencil-icon{object-fit:contain;width:22px;height:18px}.palette-recent-item:hover{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 50%, transparent), var(--shadow-1);translate:0 -1px}.palette-recent-item:active{cursor:grabbing;translate:0}.palette-rail-recent{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}.palette-empty{color:var(--text-3);padding:8px 4px;font-size:13px}.palette-empty p{margin:0 0 8px}.palette-foot{border-top:1px solid var(--line);color:var(--text-3);padding:10px 14px 12px;font-size:11.5px;line-height:1.5}.diagram-card{background:color-mix(in oklab, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);max-width:min(380px,100% - 156px);box-shadow:var(--node-shadow);z-index:5;pointer-events:auto;border-radius:12px;padding:12px 14px;position:absolute;top:16px;left:16px}.diagram-card h1{letter-spacing:-.015em;margin:0;font-size:15px;font-weight:650;font-stretch:106%;line-height:1.25}.diagram-card p{color:var(--text-2);margin:4px 0 0;font-size:12.5px;line-height:1.45}.diagram-card-meta{color:var(--text-3);align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.diagram-card.is-large{-webkit-backdrop-filter:none;backdrop-filter:none;max-width:min(560px,100% - 340px);box-shadow:none;background:0 0;border:0;padding:0;top:28px;left:32px}.diagram-card.is-large h1{letter-spacing:-.03em;font-size:30px;font-weight:700;font-stretch:112%}.diagram-card.is-large p{margin-top:8px;font-size:15px}.export-header{width:max-content;color:var(--text);font-family:var(--font-ui);pointer-events:none;position:absolute}.export-header h1{letter-spacing:-.03em;margin:0;font-size:26px;font-weight:700;font-stretch:112%;line-height:1.2}.export-header p{color:var(--text-2);margin:8px 0 0;font-size:15px;line-height:1.45}.diagram-card{transition:opacity .18s,padding .18s}.diagram-card.is-compact:not(:hover){opacity:.86;padding:6px 12px}.diagram-card.is-compact:not(:hover) h1{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.diagram-card.is-compact:not(:hover)>:not(h1){display:none}.diagram-card.is-large.is-compact:not(:hover){background:color-mix(in oklab, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:6px 12px}.diagram-card.is-large.is-compact:not(:hover) h1{font-size:16px}.present-exit{z-index:6;border:1px solid var(--line);background:var(--surface);height:34px;color:var(--text-2);opacity:.55;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:12.5px;font-weight:550;transition:opacity .15s;display:inline-flex;position:absolute;top:24px;right:24px}.present-exit:hover{opacity:1}.canvas-empty{pointer-events:none;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:13px;display:flex;position:absolute;inset:0}.canvas-empty strong{color:var(--text-2);font-size:15px;font-weight:600}.is-presenting .react-flow__edge .fe-path.react-flow__edge-path{stroke-width:2px}.react-flow__selection{border-radius:6px}.react-flow__nodesselection-rect{border:1px dashed color-mix(in oklab, var(--accent) 55%, transparent);background:color-mix(in oklab, var(--accent) 5%, transparent);border-radius:10px}.react-flow__controls-button:disabled{opacity:.38;cursor:not-allowed}.react-flow__controls-button svg[stroke]{fill:none;max-width:14px;max-height:14px}.cm-layer{z-index:200;pointer-events:none;position:fixed;inset:0}.cm{border:1px solid var(--line-strong);background:var(--surface);min-width:224px;max-width:320px;color:var(--text);pointer-events:auto;border-radius:11px;outline:none;flex-direction:column;padding:5px;font-size:13px;animation:.11s ease-out cm-in;display:flex;position:fixed;overflow:hidden;box-shadow:0 1px 2px #1018280f,0 18px 40px -14px #10182852}[data-theme=dark] .cm{background:var(--surface-2);box-shadow:inset 0 1px #ffffff0a,0 20px 48px -12px #000000bf}.cm-searchable{width:280px}@keyframes cm-in{0%{opacity:0}}.cm-items{overscroll-behavior:contain;min-height:0;overflow-y:auto}.cm-search{background:var(--surface-3);height:32px;color:var(--text-3);border-radius:7px;flex:none;align-items:center;gap:7px;margin:0 0 5px;padding:0 9px;display:flex}.cm-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.cm-item{cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:7px;align-items:center;gap:9px;height:30px;padding:0 8px 0 7px;display:flex}.cm-item.is-active,.cm-item.is-open{background:var(--accent-soft)}.cm-item.is-disabled{opacity:.42}.cm-item.is-danger .cm-label,.cm-item.is-danger .cm-lead{color:var(--danger)}.cm-item.is-danger.is-active{background:color-mix(in oklab, var(--danger) 12%, transparent)}.cm-lead{width:18px;color:var(--text-2);flex:none;place-items:center;display:grid}.cm-item.is-active .cm-lead{color:var(--accent)}.cm-tile{background:color-mix(in oklab, var(--accent) var(--tile-mix), var(--tile-base));width:18px;height:18px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 24%, transparent);border-radius:5px;place-items:center;display:grid}.cm-tile .stencil-icon{object-fit:contain;width:13px;height:13px}.cm-swatch{border-radius:3.5px;width:11px;height:11px;box-shadow:inset 0 0 0 1px #0000001f}.cm-label{text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.cm-hint{text-overflow:ellipsis;max-width:110px;color:var(--text-3);font-size:11.5px;overflow:hidden}.cm-kbd{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.01em;padding-left:12px;font-size:11px}.cm-check{color:var(--accent);display:grid}.cm-chevron{color:var(--text-3);margin-right:-3px;display:grid}.cm-sep{background:var(--line);height:1px;margin:5px 2px}.cm-header{color:var(--text-3);padding:6px 8px 3px;font-size:12px;font-weight:650}.cm-empty{color:var(--text-3);padding:10px 8px;font-size:12.5px}.inspector{border-left:1px solid var(--line);background:var(--surface);z-index:5;flex-direction:column;flex:none;width:296px;min-height:0;display:flex}.inspector.is-collapsed{align-items:center;width:52px;padding-top:10px}.insp-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:8px;height:53px;padding:0 10px 0 16px;display:flex}.insp-title{letter-spacing:-.005em;font-size:13px;font-weight:650}.insp-body{flex:1;padding-bottom:24px;overflow-y:auto}.insp-section{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.insp-section:last-child{border-bottom:0}.insp-section h3{color:var(--text-3);justify-content:space-between;align-items:center;margin:0;font-size:12px;font-weight:600;display:flex}.insp-field{flex-direction:column;gap:5px;min-width:0;display:flex}.insp-label{color:var(--text-2);font-size:11.5px;font-weight:550}.insp-input{border:1px solid var(--line);background:var(--surface-2);width:100%;min-width:0;height:28px;color:var(--text);border-radius:7px;outline:0;padding:0 9px;font-size:13px;transition:border-color .12s,box-shadow .12s}textarea.insp-input{resize:vertical;height:auto;padding:7px 9px;font-family:inherit;line-height:1.45}select.insp-input{padding-right:4px}.insp-input.mono{font-family:var(--font-mono);font-size:12px}.insp-input:hover{border-color:var(--line-strong)}.insp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface)}.insp-input::placeholder{color:var(--text-3)}.insp-unit-wrap{display:flex;position:relative}.insp-unit-wrap .insp-input{padding-right:58px}.insp-unit{font-family:var(--font-mono);color:var(--text-3);pointer-events:none;font-size:11px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.insp-row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.insp-stencil{border:1px solid var(--line);background:var(--surface-2);text-align:left;height:44px;color:var(--text-3);border-radius:9px;align-items:center;gap:10px;padding:0 10px 0 8px;display:flex}.insp-stencil:hover{border-color:var(--line-strong)}.insp-stencil-name{min-width:0;color:var(--text);flex-direction:column;flex:1;font-size:13px;font-weight:560;line-height:1.25;display:flex}.insp-stencil-name small{color:var(--text-3);font-size:11px;font-weight:450}.insp-meta{color:var(--text-3);align-items:center;gap:5px;font-size:11px;display:flex}.insp-role{font-family:var(--font-mono);color:color-mix(in oklab, var(--role) 75%, var(--text));background:color-mix(in oklab, var(--role) 13%, transparent);border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:500}.insp-note{color:var(--text-3);margin:0;font-size:12px;line-height:1.5}.insp-seg{display:flex}.insp-seg button{flex:1;justify-content:center;height:26px;font-size:12.5px}.insp-check{cursor:pointer;align-items:flex-start;gap:9px;font-size:13px;display:flex}.insp-check input{accent-color:var(--accent);margin:3px 0 0}.insp-check span{flex-direction:column;gap:1px;display:flex}.insp-check small{color:var(--text-3);font-size:11.5px}.insp-route{color:var(--text-2);align-items:center;gap:6px;font-size:12.5px;font-weight:560;display:flex}.insp-route span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.insp-route .insp-mini{margin-left:auto}.icon-btn.insp-mini{border-radius:6px;flex:none;width:26px;height:26px}.icon-btn.insp-mini:disabled{opacity:.4;cursor:not-allowed}.insp-tones{gap:8px;display:flex}.insp-tone{border:1px solid color-mix(in oklab, var(--tone) 45%, transparent);background:color-mix(in oklab, var(--tone) 18%, var(--surface));border-radius:8px;width:26px;height:26px;padding:0}.insp-tone.is-on{box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--tone)}.insp-actions{flex-wrap:wrap;gap:8px;display:flex}.insp-actions .btn{height:30px;font-size:12.5px}.btn.btn-danger,.btn.btn-danger svg{color:var(--danger)}.insp-toolbar{gap:4px;display:flex}.insp-toolbar .icon-btn{width:32px;height:30px}.insp-props{flex-direction:column;gap:6px;display:flex}.insp-prop{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) 26px;align-items:center;gap:6px;display:grid}.insp-prop-new{grid-template-columns:minmax(0,1fr) 26px}.insp-prop-key{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:11.5px;overflow:hidden}.insp-prop .insp-input{height:28px}.dlg-backdrop{z-index:150;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e166b;place-items:center;padding:24px;animation:.14s ease-out cm-in;display:grid;position:fixed;inset:0}.dlg{border:1px solid var(--line-strong);background:var(--surface);border-radius:14px;outline:none;flex-direction:column;width:min(760px,100%);max-height:min(640px,100%);display:flex;box-shadow:0 30px 80px -20px #00000073}.dlg-head{border-bottom:1px solid var(--line);color:var(--text-2);align-items:center;gap:10px;padding:12px 12px 12px 18px;display:flex}.dlg-head h2{color:var(--text);letter-spacing:-.01em;flex:1;margin:0;font-size:15px;font-weight:650}.dlg-body{padding:6px 18px 18px;overflow-y:auto}.sc-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));column-gap:28px;display:grid}.sc-grid h3{color:var(--text-3);margin:14px 0 6px;font-size:12px;font-weight:600}.sc-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:30px;font-size:13px;display:flex}.sc-keys{flex:none;gap:4px;display:flex}.sc-keys kbd{color:var(--text-2);padding:3px 6px;font-size:11px}.palette-foot kbd{padding:1px 4px;font-size:10px}.react-flow__node-diagram.draggable,.react-flow__node-diagram.draggable.dragging,.react-flow__nodesselection-rect,.react-flow__node.dragging .grp-label{cursor:move}.react-flow__minimap svg:active{cursor:grabbing}.react-flow__minimap svg{cursor:grab}.fe-label{cursor:pointer}.fe-label.is-editing{cursor:auto}.start-card{border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--line);width:min(468px,100% - 48px);max-height:calc(100% - 48px);box-shadow:var(--shadow-3);z-index:6;animation:start-in var(--dur-3) var(--ease-out);padding:22px 22px 18px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}@keyframes start-in{0%{opacity:0;transform:translate(-50%,calc(6px - 50%))}}.start-card h2{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:19px;font-weight:650;font-stretch:110%;line-height:1.2}.start-lede{color:var(--text-2);margin:6px 0 14px;font-size:13px}.start-examples{gap:2px;margin:0 -8px;padding:0;list-style:none;display:grid}.start-example{border-radius:var(--radius-m);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px;display:flex}.start-example:hover{background:var(--hover)}.start-example:active{background:var(--press)}.start-example>svg{color:var(--text-4);transition:transform var(--dur-1) var(--ease-out);flex:none}.start-example:hover>svg{color:var(--text-3);transform:translate(2px)}.start-thumb{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex:none;width:64px;height:40px;padding:3px;overflow:hidden}.start-thumb .diagram-thumb{width:100%;height:100%}.start-heading{justify-content:space-between;align-items:baseline;margin:12px 0 4px;display:flex}.start-heading:first-of-type{margin-top:0}.start-heading h3{color:var(--text-3);margin:0;font-size:12px;font-weight:600}.start-example-text{flex:1;gap:1px;min-width:0;display:grid}.start-example-text strong{font-size:13.5px;font-weight:600}.start-example-text span{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.start-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;display:flex}.start-note{color:var(--text-3);margin:8px 0 0;font-size:12px}.node-tip{z-index:60;border-radius:var(--radius-m);background:var(--surface-raised);border:1px solid var(--line);max-width:280px;box-shadow:var(--shadow-2);pointer-events:none;animation:tip-in var(--dur-2) var(--ease-out);gap:2px;padding:8px 10px;font-size:12px;line-height:1.4;display:grid;position:fixed}.node-tip.is-above{transform:translate(-50%,-100%)}.node-tip.is-below{transform:translate(-50%)}@keyframes tip-in{0%{opacity:0}}.node-tip strong{font-size:12.5px;font-weight:600}.node-tip-sub{color:var(--text-2);font-size:11px}.node-tip-kind{color:var(--text-2);margin-top:2px;font-weight:600}.node-tip-desc{color:var(--text-3)}.first-hint{z-index:5;background:color-mix(in oklab, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);max-width:calc(100% - 260px);box-shadow:var(--shadow-1);color:var(--text-2);white-space:nowrap;animation:start-hint-in var(--dur-3) var(--ease-out) .4s both;border-radius:999px;align-items:center;gap:14px;padding:5px 6px 5px 14px;font-size:12.5px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}@keyframes start-hint-in{0%{opacity:0;transform:translate(-50%,6px)}}.first-hint>span{text-overflow:ellipsis;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.first-hint>span svg{color:var(--text-3)}.first-hint kbd{font-size:11px}.insp-disclosure:not(.is-open){padding-bottom:12px}.insp-disclosure-head{border-radius:var(--radius-s);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:-4px -6px;padding:4px 6px;display:inline-flex}.insp-disclosure-head:hover{background:var(--hover);color:var(--text-2)}.insp-disclosure-head svg{transition:transform var(--dur-1) var(--ease-out)}.insp-disclosure.is-open .insp-disclosure-head svg{transform:rotate(90deg)}.insp-count{background:var(--surface-3);min-width:18px;color:var(--text-2);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;font-weight:600}.insp-id{background:var(--surface-3);max-width:100%;height:22px;color:var(--text-2);border:0;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:0 8px;font-size:11.5px;display:inline-flex}.insp-id:hover{color:var(--text)}.insp-id span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-flow__node-annotation{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.react-flow__node-annotation:has(>.ann-zone){pointer-events:none!important}.react-flow__node-annotation:has(>.ann-note){filter:drop-shadow(0 1px 1px #10182812)drop-shadow(0 8px 14px #1018281a)}[data-theme=dark] .react-flow__node-annotation:has(>.ann-note){filter:drop-shadow(0 1px 1px #00000059)drop-shadow(0 10px 18px #00000073)}.ann{--ann-fs:14px;--ann-ink:color-mix(in oklab, var(--ann) 58%, var(--text));box-sizing:border-box;width:100%;height:100%;color:var(--text);font-family:var(--font-ui);font-size:var(--ann-fs);line-height:1.38;position:relative}[data-theme=dark] .ann{--ann-ink:color-mix(in oklab, var(--ann) 52%, var(--text))}.ann-s-s{--ann-fs:12px}.ann-s-l{--ann-fs:18px}.ann-s-xl{--ann-fs:26px}.ann-body{box-sizing:border-box;height:100%;overflow:hidden}.ann-content{white-space:pre-wrap;overflow-wrap:anywhere}.ann-placeholder{color:color-mix(in oklab, var(--ann-ink) 55%, transparent);font-style:italic}.ann.is-selected,.ann.is-editing{outline:1.5px solid var(--accent);outline-offset:3px}.ann-text{cursor:move;border-radius:6px}.ann-text .ann-body{padding:3px 6px;overflow:visible}.ann-text .ann-content{color:var(--ann-ink);font-weight:520}.ann-text[data-color=neutral] .ann-content{color:var(--text)}.ann-text.ann-s-l .ann-content{letter-spacing:-.01em;font-weight:600;line-height:1.25}.ann-text.ann-s-xl .ann-content{letter-spacing:-.02em;font-weight:680;line-height:1.15}.ann-text:not(.is-selected):not(.is-editing):hover{outline:1px dashed var(--line-strong);outline-offset:3px}.ann-note{--fold:16px;cursor:move}.ann-paper{background:color-mix(in oklab, var(--ann) 26%, #fffdf6);clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--fold)), calc(100% - var(--fold)) 100%, 0 100%);border-radius:3px;position:absolute;inset:0}[data-theme=dark] .ann-paper{background:linear-gradient(color-mix(in oklab, var(--ann) 85%, #fff) 0 3px, color-mix(in oklab, var(--ann) 17%, #222a3b) 3px)}[data-theme=dark] .ann-note .ann-content,[data-theme=dark] .ann-note .ann-editor{color:color-mix(in oklab, var(--ann) 12%, #eef1f7)}.ann-note .ann-body{padding:12px 14px 14px;position:relative}.ann-note .ann-content{color:color-mix(in oklab, var(--ann) 30%, var(--text))}.ann-fold{width:var(--fold);height:var(--fold);background:linear-gradient(to bottom right, color-mix(in oklab, var(--ann) 46%, #fffdf6) 50%, transparent 50%);border-top-left-radius:3px;position:absolute;bottom:0;right:0}[data-theme=dark] .ann-fold{background:linear-gradient(to bottom right, color-mix(in oklab, var(--ann) 30%, #2c3547) 50%, transparent 50%)}.ann-zone{border:1.5px dashed color-mix(in oklab, var(--ann) 50%, transparent);background:color-mix(in oklab, var(--ann) 5%, transparent);border-radius:18px}[data-theme=dark] .ann-zone{border-color:color-mix(in oklab, var(--ann) 55%, transparent);background:color-mix(in oklab, var(--ann) 7%, transparent)}.ann-zone.is-selected,.ann-zone.is-editing{border-color:color-mix(in oklab, var(--ann) 85%, transparent);border-style:solid;outline:0}.ann-zone-label{max-width:calc(100% - 28px);font-size:calc(var(--ann-fs) * .93);letter-spacing:-.005em;color:var(--ann-ink);white-space:nowrap;text-overflow:ellipsis;pointer-events:all;cursor:move;border-radius:5px;padding:2px 4px;font-weight:620;line-height:1.3;position:absolute;top:10px;left:14px;overflow:hidden}.ann-zone-label:hover{background:color-mix(in oklab, var(--ann) 10%, transparent)}.ann-zone.is-editing .ann-zone-label{overflow:visible}.ann-shape{cursor:move}.ann-shape-svg{position:absolute;inset:0;overflow:visible}.ann-shape-svg>*{fill:color-mix(in oklab, var(--ann) 7%, var(--node-bg));stroke:color-mix(in oklab, var(--ann) 72%, var(--text));stroke-width:1.5px;stroke-linejoin:round}.ann-shape-svg>.ann-shape-top{fill:color-mix(in oklab, var(--ann) 15%, var(--node-bg))}.ann-shape .ann-body{text-align:center;justify-content:center;align-items:center;padding:8px 12px;display:flex;position:absolute;inset:0}.ann-body-ellipse{padding:12% 16%}.ann-body-diamond{padding:20% 24%}.ann-shape .ann-body-cylinder{padding-top:30px}.ann-shape .ann-content{font-weight:550}.ann-shape:hover .dn-handle{opacity:1}.ann-editor{box-sizing:border-box;resize:none;width:100%;height:100%;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;cursor:text;background:0 0;border:0;outline:0;margin:0;padding:0;display:block;overflow:hidden}.ann-text .ann-editor{color:var(--ann-ink)}.ann-text[data-color=neutral] .ann-editor{color:var(--text)}.ann-note .ann-editor{color:color-mix(in oklab, var(--ann) 30%, var(--text))}.ann-zone .ann-editor{background:var(--surface);width:240px;height:auto;box-shadow:0 0 0 1.5px var(--accent);white-space:nowrap;border-radius:6px;padding:2px 6px}.ann-editor::placeholder{color:var(--text-4)}.ann .react-flow__resize-control{pointer-events:all}.ann .react-flow__resize-control.line{border-color:#0000}.ann .react-flow__resize-control.handle.ann-resize-handle{background:var(--surface);border:1.5px solid var(--accent);border-radius:3px;width:9px;height:9px}.ann-resize-hit{position:absolute;inset:-6px}.is-presenting .ann .react-flow__resize-control{display:none}.is-presenting .ann.is-selected{outline:0}.is-presenting .ann-placeholder{visibility:hidden}.is-presenting .ann-zone.is-selected{border-color:color-mix(in oklab, var(--ann) 55%, transparent);border-style:dashed}.is-presenting .ann-zone-label{color:color-mix(in oklab, var(--ann) 70%, var(--text))}.is-presenting .ann-text .ann-content{font-weight:600}.canvas-view .react-flow__node-annotation{transition:opacity var(--dur-3) var(--ease-out)}.canvas-view.is-live:not(.is-presenting) .ann-shape-svg,.canvas-view.is-live:not(.is-presenting) .ann-paper,.canvas-view.is-live:not(.is-presenting) .ann-fold{opacity:.6}.palette-annotate.is-results{border-top:1px solid var(--line);margin-top:6px;padding-top:4px}.palette-annotate.is-pinned{border-top:1px solid var(--line);flex:none;padding:2px 10px 0}.palette-annotate.is-pinned h3{color:var(--text-3);margin:8px 0 0;font-size:12px;font-weight:600}.palette-annotate.is-pinned+.palette-foot{border-top:0;padding-top:4px}.palette-annotate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:2px 2px 6px;display:grid}.palette-annotate-item{min-width:0;color:var(--text-2);cursor:grab;transition:background var(--dur-1), color var(--dur-1);background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:7px 2px 5px;font-size:11px;font-weight:520;display:flex}.palette-annotate-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10.5px;overflow:hidden}.palette-annotate-item:hover{background:var(--surface-3);color:var(--text)}.palette-annotate-item:active{cursor:grabbing;background:var(--press)}.insp-toolbar .icon-btn.is-on{background:var(--accent-soft);color:var(--accent)}.insp-size{color:var(--text-3);align-items:center;gap:6px;display:flex}.insp-size .insp-input{flex:1;width:0}.ix-caret{color:var(--text-3);margin:0 -3px 0 -1px;transition:transform .15s;display:inline-grid}.btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--line-strong)}.btn[aria-expanded=true] .ix-caret{transform:rotate(180deg)}.ix-menu{z-index:220;overscroll-behavior:contain;border:1px solid var(--line-strong);background:var(--surface);max-height:calc(100vh - 80px);color:var(--text);box-shadow:var(--shadow-2);animation:ix-pop var(--dur-1) var(--ease-out);transform-origin:100% 0;border-radius:13px;outline:none;flex-direction:column;padding:6px;display:flex;position:fixed;overflow-y:auto}[data-theme=dark] .ix-menu{background:var(--surface-2)}@keyframes ix-pop{0%{opacity:0;transform:translateY(-4px)scale(.985)}}.ix-menu-section:first-child{padding-top:4px}.ix-menu-note{border-top:1px solid var(--line);color:var(--text-3);margin:4px 2px 0;padding:9px 10px 4px;font-size:11.5px}.ix-menu-row{border-radius:9px;align-items:center;display:flex;position:relative}.ix-menu-row:hover,.ix-menu-row:focus-within{background:var(--accent-soft)}.ix-menu-row.is-disabled{opacity:.45}.ix-menu-item{text-align:left;background:0 0;border:0;border-radius:9px;flex:1;align-items:center;gap:11px;min-width:0;padding:7px 8px;display:flex}.ix-menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);outline:none}.ix-menu-icon{background:var(--surface-3);width:30px;height:30px;color:var(--text-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;flex:none;place-items:center;display:grid}[data-theme=dark] .ix-menu-icon{background:var(--surface-3)}.ix-menu-row:hover .ix-menu-icon,.ix-menu-row:focus-within .ix-menu-icon{color:var(--accent);background:var(--surface)}.ix-menu-text{flex-direction:column;gap:1px;min-width:0;display:flex}.ix-menu-title{letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:580;overflow:hidden}.ix-menu-desc{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.ix-menu-kbd{color:var(--text-3);background:0 0;border:0;margin-left:auto;padding-left:10px;font-size:11px}.ix-menu-chips{gap:4px;padding-right:6px;display:flex}.ix-chip{border:1px solid var(--line);background:var(--surface);height:24px;color:var(--text-2);white-space:nowrap;border-radius:6px;padding:0 8px;font-size:11.5px;font-weight:560}.ix-chip:hover,.ix-chip:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.ix-toast{z-index:300;background:var(--text);max-width:min(680px,100vw - 32px);color:var(--bg);box-shadow:var(--shadow-3);animation:ix-toast-in var(--dur-2) var(--ease-out);border-radius:12px;align-items:center;gap:10px;padding:8px 8px 8px 12px;font-size:13px;font-weight:500;line-height:1.35;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes ix-toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.ix-toast-icon{opacity:.85;flex:none;display:grid}.ix-toast-success .ix-toast-icon{color:#4ad295}[data-theme=dark] .ix-toast-success .ix-toast-icon{color:#17895a}.ix-toast-error{background:var(--danger);color:#fff}.ix-toast-text{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;min-width:0}.ix-toast-action{border:1px solid color-mix(in oklab, currentColor 30%, transparent);height:26px;color:inherit;background:0 0;border-radius:7px;flex:none;padding:0 10px;font-size:12.5px;font-weight:600}.ix-toast-action:hover{background:color-mix(in oklab, currentColor 12%, transparent)}.ix-toast-close{width:26px;height:26px;color:inherit;opacity:.65;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;display:grid}.ix-toast-close:hover{opacity:1;background:color-mix(in oklab, currentColor 12%, transparent)}.ix-spin{animation:.8s linear infinite ix-spin}@keyframes ix-spin{to{transform:rotate(360deg)}}.ix-backdrop{z-index:250;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ix-fade var(--dur-1) var(--ease-out);place-items:center;padding:16px;display:grid;position:fixed;inset:0}@keyframes ix-fade{0%{opacity:0}}.ix-dialog{border:1px solid var(--line-strong);background:var(--surface);max-height:calc(100vh - 32px);color:var(--text);box-shadow:var(--shadow-3);animation:ix-rise var(--dur-2) var(--ease-out);border-radius:16px;outline:none;flex-direction:column;display:flex}[data-theme=dark] .ix-dialog{background:var(--surface-2)}@keyframes ix-rise{0%{opacity:0;transform:translateY(8px)scale(.99)}}.ix-dialog-head{align-items:flex-start;gap:12px;padding:18px 18px 6px 20px;display:flex}.ix-dialog-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.ix-dialog-titles{flex:1;min-width:0}.ix-dialog-titles h2{letter-spacing:-.015em;margin:1px 0 0;font-size:16px;font-weight:650}.ix-dialog-titles p{color:var(--text-2);margin:3px 0 0;font-size:12.5px}.ix-dialog-close{background:0 0;border-color:#0000;flex:none;width:30px;height:30px}.ix-dialog-body{flex-direction:column;gap:12px;padding:12px 20px 18px;display:flex;overflow:auto}.ix-dialog-foot{border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 16px 16px;align-items:center;gap:8px;padding:12px 16px 14px;display:flex}[data-theme=dark] .ix-dialog-foot{background:var(--surface)}.ix-dialog-foot a.btn{text-decoration:none}.ix-dialog .btn:disabled{opacity:.5;cursor:default}.ix-grow{flex:1}.ix-input{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-width:0;color:var(--text);resize:vertical;border-radius:9px;outline:none;padding:9px 11px;font-size:13px}[data-theme=dark] .ix-input{background:var(--bg)}.ix-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ix-mono{font-family:var(--font-mono);font-size:12px}.ix-code{min-height:84px;color:var(--text-2);line-height:1.5}.ix-paste{min-height:220px;line-height:1.5}.ix-meta-row{color:var(--text-3);align-items:center;gap:7px;font-size:12px;display:flex}.ix-warn-text{color:var(--warning);font-weight:600}.ix-callout{background:var(--surface-3);color:var(--text-2);border-radius:10px;align-items:flex-start;gap:9px;padding:10px 12px;font-size:12.5px;line-height:1.45;display:flex}.ix-callout svg{flex:none;margin-top:1px}.ix-callout-warn{background:var(--warning-soft);color:var(--text)}.ix-callout-warn svg{color:var(--warning)}.ix-error{background:var(--danger-soft);color:var(--danger);border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.ix-muted{color:var(--text-3);font-size:12.5px}.ix-badge{background:var(--surface-3);height:22px;color:var(--text-3);border-radius:999px;align-items:center;padding:0 9px;font-size:11.5px;font-weight:560;display:inline-flex}.ix-badge.is-on{background:var(--accent-soft);color:var(--accent)}.ix-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ix-seg{background:var(--surface-3);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.ix-seg button{height:26px;color:var(--text-2);background:0 0;border:0;border-radius:7px;padding:0 10px;font-size:12.5px;font-weight:560}.ix-seg button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014, 0 0 0 1px var(--line)}.ix-select{border:1px solid var(--line);height:32px;color:var(--text-3);border-radius:8px;align-items:center;gap:6px;padding:0 4px 0 10px;font-size:12.5px;display:inline-flex}.ix-select select{height:100%;color:var(--text);background:0 0;border:0;outline:none;font-weight:560}.ix-select option{background:var(--surface);color:var(--text)}.ix-preview{border:1px solid var(--line);background:var(--bg);border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.ix-preview iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.ix-page-list{flex-direction:column;gap:4px;display:flex}.ix-page{border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-weight:560;display:flex}.ix-page:hover,.ix-page:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}.ix-page-num{background:var(--surface-3);width:24px;height:24px;color:var(--text-2);font-size:12px;font-family:var(--font-mono);border-radius:7px;place-items:center;display:grid}.ix-page-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ix-page svg{color:var(--text-3)}.ix-drop{z-index:280;background:color-mix(in oklab, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(6px)saturate(1.1);backdrop-filter:blur(6px)saturate(1.1);place-items:center;padding:24px;animation:.12s ease-out ix-fade;display:grid;position:fixed;inset:0}.ix-drop:before{content:"";border:2px dashed color-mix(in oklab, var(--accent) 60%, transparent);background:color-mix(in oklab, var(--accent) 5%, transparent);pointer-events:none;border-radius:22px;animation:1.6s ease-in-out infinite ix-breathe;position:absolute;inset:14px}@keyframes ix-breathe{50%{border-color:var(--accent);inset:18px}}.ix-drop-card{border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-3);text-align:center;pointer-events:none;border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:30px 40px 26px;display:flex;position:relative}.ix-drop-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:16px;place-items:center;animation:1.2s ease-in-out infinite ix-bob;display:grid}@keyframes ix-bob{50%{transform:translateY(-4px)}}.ix-drop-card strong{letter-spacing:-.015em;font-size:18px;font-weight:650}.ix-drop-formats{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.ix-drop-formats span{background:var(--surface-3);height:26px;color:var(--text-2);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;display:inline-flex}.ix-drop-hint{color:var(--text-3);font-size:12px}.ix-shared{border:1px solid color-mix(in oklab, var(--accent) 35%, var(--line));background:var(--accent-soft);height:32px;color:var(--accent);white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:0 4px 0 10px;font-size:12.5px;font-weight:600;animation:.2s ease-out ix-fade;display:inline-flex}.ix-shared-keep{background:var(--accent);height:24px;color:var(--accent-ink);border:0;border-radius:6px;margin-left:2px;padding:0 9px;font-size:12px;font-weight:600}.ix-shared-keep:hover{opacity:.9}.ix-embed{background:var(--bg);position:fixed;inset:0}.ix-embed .diagram-card{padding:9px 12px;top:12px;left:12px}.ix-embed .diagram-card h1{font-size:14px}.ix-embed .diagram-card p{display:none}.ix-embed-open{z-index:10;border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:28px;color:var(--text-2);opacity:.8;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:560;text-decoration:none;transition:opacity .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;bottom:10px;right:10px}.ix-embed-open:hover{opacity:1;color:var(--accent);border-color:color-mix(in oklab, var(--accent) 40%, var(--line))}.ix-embed-msg{color:var(--text-2);text-align:center;place-items:center;padding:24px;font-size:13px;display:grid;position:absolute;inset:0}.ix-embed .react-flow__attribution{left:10px;right:auto;transform:none}.ix-menu-sep{background:var(--line);height:1px;margin:5px 4px}.ix-menu-row.is-open{background:var(--accent-soft)}.ix-menu-hint{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;margin-left:auto;padding-left:10px;font-size:11px}.ix-menu-chevron{color:var(--text-3);margin-left:auto;padding-left:8px;display:grid}.ix-menu-hint+.ix-menu-kbd,.ix-menu-hint+.ix-menu-chevron{margin-left:0}.ix-disclosure-btn{color:var(--text-2);background:0 0;border:0;align-items:center;gap:5px;padding:2px 0;font-size:12.5px;font-weight:580;display:inline-flex}.ix-disclosure-btn:hover{color:var(--text)}.ix-disclosure-btn svg{transition:transform .15s}.ix-disclosure.is-open .ix-disclosure-btn svg{transform:rotate(90deg)}.ix-disclosure-body{border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:12px;animation:.12s ease-out ix-fade}.ix-form{grid-template-columns:auto 1fr;place-items:center start;gap:10px 14px;display:grid}.ix-form-label{color:var(--text-3);font-size:12.5px}.ix-check{align-items:center;gap:7px;font-size:13px;display:inline-flex}.ix-check input{accent-color:var(--accent)}.ix-menu-section{color:var(--text-3);padding:8px 10px 3px;font-size:12px;font-weight:600}.ix-menu-check{color:var(--accent);margin-left:auto;padding-left:8px;display:grid}.ix-menu-row:has([role=menuitemradio]) .ix-menu-item{min-height:32px;padding:5px 10px}
