pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}._GzYRV{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;line-height:1.2}._3eOF8{margin-right:5px;font-weight:700}._3eOF8+._3eOF8{margin-left:-5px}._1MFti{cursor:pointer}._f10Tu{-webkit-user-select:none;user-select:none;margin-right:5px;font-size:1.2em}._1UmXx:after{content:"▸"}._1LId0:after{content:"▾"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0;padding:0 10px}._1BXBN{margin:0;padding:0}._1MGIk{color:#000;margin-right:5px;font-weight:600}._3uHL6{color:#000}._2T6PJ,._1Gho6{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._oLqym,._2AXVT,._2KJWg{color:#000}._11RoI{background:#002b36}._17H2C,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{color:#fdf6e3;margin-right:5px;font-weight:bolder}._gsbQL{color:#fdf6e3}._LaAZe,._GTKgm{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.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-button:last-child{border-bottom:none}.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))}@font-face{font-family:Instrument Sans Latin;font-style:normal;font-weight:400 700;font-stretch:95%;font-display:swap;src:url(/fonts/instrument-sans-latin-standard-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+2122,U+2212}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:95%;font-display:swap;src:url(/fonts/martian-mono-latin-standard-normal.woff2)format("woff2")}:root{--brand-primary:#102f3e;--brand-secondary:#0e6375;--brand-accent:#0e6375;--brand-silver:#c6dadd;--brand-background:#fbfdfd;--brand-surface:#f2f8f9;--brand-ink:#12303f;--brand-cyan:#42c5d7;--brand-jade:#2aa67f;--brand-dark:#071f2c;--text-2:#365461;--muted:#5f7b84;--line-soft:#e3eef0;--ok:#1e8a68;--ok-bg:#e6f6f0;--warn:#93630c;--warn-bg:#fbf3e2;--bad:#b23b32;--bad-bg:#fbecea;--sans:"Instrument Sans Latin", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--mono:"Martian Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;color:var(--brand-ink);background:var(--brand-background);font-family:var(--sans);font-synthesis:none;--radius:8px;--radius-sm:6px;font-size:15px;line-height:1.7}*{box-sizing:border-box}body{background:var(--brand-background);margin:0}::selection{color:var(--brand-primary);background:#c7eef2}a{color:var(--brand-secondary);text-decoration:none}a:hover{color:var(--brand-primary)}h1,h2,h3{font-family:var(--sans);color:var(--brand-primary)}h1{margin:0 0 10px;font-size:32px;font-weight:600;line-height:1.35}h2{margin:0 0 16px;font-size:18px;font-weight:600}h3{margin:22px 0 8px;font-size:15px;font-weight:600}pre{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);margin:0;font-size:12.5px;line-height:1.75}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.eyebrow{font-family:var(--mono);letter-spacing:0;color:var(--brand-secondary);text-transform:uppercase;font-size:12px}button{border:1px solid var(--brand-silver);background:var(--brand-background);cursor:pointer;border-radius:var(--radius-sm);padding:8px 16px;font-size:14px;transition:background .2s,border-color .2s,color .2s}button:hover:not(:disabled){border-color:var(--brand-primary)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--brand-accent);color:var(--brand-background);border-color:var(--brand-accent)}button.primary:hover:not(:disabled){background:var(--brand-primary);border-color:var(--brand-primary)}button.danger{color:var(--bad)}button.danger:hover:not(:disabled){border-color:var(--bad)}button.link{color:var(--bad);font-size:inherit;background:0 0;border:none;padding:0 4px;text-decoration:underline}button.x{color:var(--muted);background:0 0;border:none;padding:0 4px}button.x:hover{color:var(--brand-primary)}button.x.big{font-size:24px;line-height:1}input,select,textarea{border:1px solid var(--brand-silver);border-radius:var(--radius-sm);background:#fff;width:100%;padding:9px 12px}input:focus,select:focus,textarea:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #42c5d724}input::placeholder,textarea::placeholder{color:#9bb1b6}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--brand-accent)}.shell{grid-template-columns:272px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--brand-primary);color:#dbe9ec;border-right:1px solid var(--brand-dark);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{color:var(--brand-background);align-items:center;gap:8px;padding:26px 24px 0;display:inline-flex}.brand:hover{color:var(--brand-background)}.brand>svg{flex:none;width:35px;height:31px}.brand-cn{font-size:23px;font-weight:600;line-height:1.2}.brand-product{color:var(--brand-cyan);border-bottom:1px solid #c6dadd29;padding:10px 24px 22px}.nav{border-bottom:1px solid #c6dadd29;flex-direction:column;gap:2px;padding:14px 12px;display:flex}.nav a{color:#dbe9ec;border-radius:var(--radius-sm);align-items:center;gap:8px;padding:9px 12px;font-size:14px;display:flex}.nav a:hover{color:#fff;background:#ffffff12}.nav a.active{color:#fff;box-shadow:inset 2px 0 0 var(--brand-cyan);background:#42c5d729}.side-title{color:#8fb0b8;padding:18px 24px 8px}.sidebar .muted{color:#8fb0b8}.main{min-width:0}.page{max-width:900px;margin:0 auto;padding:48px 40px 80px}.page.wide{max-width:1200px}.page>.eyebrow{margin-bottom:14px}.lead{color:var(--text-2);max-width:680px;margin:0 0 32px;line-height:2}.card{border:1px solid var(--brand-silver);border-radius:var(--radius);background:#fff;margin-bottom:20px;padding:24px 26px}.card>.eyebrow{margin-bottom:14px}.field{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.field>span:first-child{color:var(--brand-primary);font-size:14px;font-weight:600}.hint{color:var(--muted);font-size:13px;line-height:1.8}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap;gap:6px}.grid2{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.actions{justify-content:flex-end;display:flex}.actions .primary{padding:13px 30px;font-size:15px}.muted{color:var(--muted)}.small{font-size:13px}.pad{padding:24px}.alert{background:var(--bad-bg);color:var(--bad);border-left:3px solid var(--bad);border-radius:var(--radius-sm);margin:12px 0;padding:10px 14px}.empty{color:var(--muted);text-align:center;border:1px dashed var(--brand-silver);border-radius:var(--radius);background:#fff;padding:56px}.drop{border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--brand-surface);border:1px dashed #9fc3c9;margin-bottom:14px;padding:36px;transition:background .2s,border-color .2s}.drop:hover,.drop.dragging{border-color:var(--brand-accent);background:#e8f5f7}.drop-title{color:var(--brand-primary);margin-bottom:4px;font-weight:600}.file-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px;display:flex}.chip{border:1px solid var(--brand-silver);background:#fff;border-radius:999px;padding:2px 6px 2px 12px;font-size:13px}.seg{border:1px solid var(--brand-silver);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.seg button{border:none;border-radius:0;padding:8px 18px}.seg button+button{border-left:1px solid var(--brand-silver)}.seg button.on{background:var(--brand-primary);color:var(--brand-background)}.radio-row{gap:26px;margin-bottom:14px;display:flex}.radio-row label{cursor:pointer;align-items:center;gap:7px;display:flex}.badge{white-space:nowrap;border:1px solid var(--brand-silver);color:var(--text-2);background:#fff;border-radius:4px;padding:1px 9px;font-size:12.5px;line-height:1.6;display:inline-block}.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:#a9dcc9}.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:#ecd3a0}.badge.bad{color:var(--bad);background:var(--bad-bg);border-color:#efc0bb}.check{border-radius:var(--radius-sm);border-left:3px solid;margin-top:16px;padding:12px 14px}.check.ok{background:var(--ok-bg);color:var(--ok)}.check.bad{background:var(--bad-bg);color:var(--bad)}.check .muted{color:inherit;opacity:.85}.dot{background:var(--brand-cyan);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dot.done{background:var(--brand-jade)}.dot.failed{background:var(--bad)}.dot.cancelled{background:#9bb1b6}.dot.queued,.dot.unpacking,.dot.extracting,.dot.agent,.dot.finalizing{animation:1.2s infinite pulse;box-shadow:0 0 8px #42c5d799}@keyframes pulse{50%{opacity:.35}}.status{color:var(--brand-primary);align-items:center;gap:7px;font-weight:600;display:inline-flex}.stats{color:var(--muted);font-size:13px}.cat-bar{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.cat-bar button{border-radius:999px;padding:5px 14px;font-size:13px}.cat-bar button.on{background:var(--brand-primary);color:var(--brand-background);border-color:var(--brand-primary)}.search{max-width:380px}.sources>.row{margin-bottom:18px}.sources>.row select{width:190px}.src-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin-bottom:20px;display:grid}.src-card{text-align:left;border:1px solid var(--brand-silver);border-radius:var(--radius);background:#fff;flex-direction:column;gap:8px;padding:20px 22px 22px;display:flex}.src-card:hover:not(:disabled){background:var(--brand-surface);border-color:var(--brand-accent)}.src-title{color:var(--brand-primary);font-size:16px;font-weight:600;line-height:1.5}.src-summary{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.85;display:-webkit-box;overflow:hidden}.src-id{font-family:var(--mono);color:var(--muted);font-size:11px}.tag{color:var(--brand-secondary);font-size:13px;font-weight:600}.pill{border:1px solid var(--brand-silver);color:var(--text-2);background:#fff;border-radius:999px;padding:0 9px;font-size:12.5px}.drawer-mask{z-index:10;background:#071f2c61;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--brand-background);border-left:1px solid var(--brand-silver);width:min(780px,100%);height:100%;padding:26px 34px 48px;overflow:auto}.drawer h2{margin:14px 0 6px;font-size:22px;line-height:1.45}.drawer .src-meta{color:var(--muted);word-break:break-all;font-size:13px}.kv{border-top:1px solid var(--brand-silver);grid-template-columns:100px 1fr;gap:8px 16px;margin:18px 0;padding-top:16px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.preview{border:1px solid var(--brand-silver);border-radius:var(--radius-sm);max-width:100%;margin-top:12px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:9px 10px}.table th{color:var(--brand-secondary);border-bottom-color:var(--brand-silver);font-size:13px;font-weight:600}.table td:first-child{font-family:var(--mono);color:var(--muted);font-size:11.5px}.break{word-break:break-all}.md{overflow-wrap:anywhere;color:var(--brand-ink);max-width:920px;font-size:15px;line-height:1.9}.md>:first-child{margin-top:0}.md h1{border-bottom:1px solid var(--brand-silver);margin:8px 0 18px;padding-bottom:10px;font-size:26px}.md h2{border-bottom:1px solid var(--line-soft);margin:34px 0 12px;padding-bottom:6px;font-size:20px}.md h3{margin:24px 0 8px;font-size:16.5px}.md h4{color:var(--text-2);margin:18px 0 6px;font-size:15px}.md p{margin:0 0 12px}.md ul,.md ol{margin:0 0 12px;padding-left:1.5em}.md li{margin:3px 0}.md li>ul,.md li>ol{margin:2px 0}.md strong{color:var(--brand-primary)}.md hr{border:none;border-top:1px solid var(--brand-silver);margin:24px 0}.md a{text-underline-offset:2px;text-decoration:underline}.md table{border-collapse:collapse;max-width:100%;margin:14px 0;font-size:14px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--brand-silver);vertical-align:top;text-align:left;padding:6px 12px}.md th{background:var(--brand-surface);white-space:nowrap;font-weight:600}.md pre{background:var(--brand-surface);border-radius:var(--radius-sm);padding:12px 14px;line-height:1.6;overflow:auto}.md code{font-family:var(--mono);background:var(--brand-surface);border-radius:4px;padding:1px 5px;font-size:12.5px}.md pre code{background:0 0;padding:0}.md img{max-width:100%}.md blockquote{border-left:3px solid var(--brand-cyan);color:var(--text-2);background:var(--brand-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:12px 0;padding:4px 16px}@media (width<=800px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;height:auto;position:static}.tree{max-height:320px}.grid2{grid-template-columns:1fr}.page{padding:28px 16px 48px}.src-grid{grid-template-columns:1fr}}.icon{flex:none;width:15px;height:15px}.tree{flex:1;padding:0 8px 24px;overflow:auto}.tree-project{margin-bottom:2px}.tree-row{color:#c6d9dd;text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;width:100%;min-width:0;padding:5px 8px;font-size:13.5px;line-height:1.5;display:flex}.tree-row:hover:not(:disabled){color:#fff;background:#ffffff12}.tree-row.active{color:#fff;box-shadow:inset 2px 0 0 var(--brand-cyan);background:#42c5d729}.tree-row.project{color:#eef6f7;padding-left:2px;font-size:14px;font-weight:600}.tree-row.group{color:#8fb0b8;font-size:12.5px}.tree-row .tree-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:inherit;flex:1;overflow:hidden}.tree-row a.tree-label:hover{color:#fff}.tree-row .count{font-family:var(--mono);color:#6f8f97;font-size:10.5px}.tree-row .ext{opacity:.55;width:12px;height:12px}.tree-row.add{color:var(--brand-cyan)}.tree-row .icon{color:#8fb0b8}.tree-row.active .icon,.tree-row:hover .icon{color:var(--brand-cyan)}.chev{color:#8fb0b8;cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;padding:2px;display:grid}.chev:hover:not(:disabled){color:#fff;background:#ffffff12}.tree-children{border-left:1px solid #c6dadd1a;margin-left:11px;padding-left:10px}.tree-empty{color:#6f8f97;padding:4px 10px;font-size:12.5px}.sidebar .pad{padding:8px 16px}.page-head{margin-bottom:22px}.page-head h1{word-break:break-all;margin:4px 0 6px}.page-head .row.between{align-items:flex-start;gap:16px}.page-head .row.between>.row{flex:none}.crumb{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.crumb a{color:var(--brand-secondary)}.crumb .eyebrow{font-size:11px}.button-link{border:1px solid var(--brand-silver);border-radius:var(--radius-sm);background:var(--brand-background);color:var(--brand-ink);white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:14px;display:inline-flex}.button-link:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.button-link.primary{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-background)}.button-link.primary:hover{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--brand-background)}.file-path{color:var(--muted);word-break:break-all;align-items:center;gap:6px;margin:-10px 0 14px;font-size:13px;display:flex}.src-note{background:var(--brand-surface);border-left:3px solid var(--brand-cyan);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2);margin-bottom:18px;padding:10px 14px;font-size:14px}.src-note .tag{margin-right:6px}.tiles{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px;display:grid}.tile{border:1px solid var(--brand-silver);border-radius:var(--radius);color:var(--brand-ink);background:#fff;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.tile .icon{width:22px;height:22px;color:var(--brand-accent);margin-top:2px}a.tile:hover{border-color:var(--brand-accent);background:var(--brand-surface);color:var(--brand-ink)}.tile-title{color:var(--brand-primary);font-size:16px;font-weight:600}.tile-sub{color:var(--muted);font-size:13px}.run-banner{border-radius:var(--radius);color:var(--brand-primary);background:#e8f5f7;border:1px solid #b9e3ea;align-items:center;gap:8px;margin-bottom:18px;padding:12px 16px;display:flex}.card.flush{padding:4px 0}.run-row{color:var(--brand-ink);border-bottom:1px solid var(--line-soft);grid-template-columns:14px 90px 110px 1fr 90px 70px;align-items:center;gap:12px;padding:11px 20px;font-size:14px;display:grid}.run-row:last-child{border-bottom:none}.run-row:hover{background:var(--brand-surface);color:var(--brand-ink)}.run-kind{font-weight:600}.run-status{text-align:right;font-size:13px}.run-status.failed{color:var(--bad)}.run-status.done{color:var(--ok)}.run-meta{gap:14px;margin-bottom:14px;font-size:14px}.run-page{flex-direction:column;display:flex}.terminal{border-radius:var(--radius);background:#071f2c;border:1px solid #0d3242;height:calc(100vh - 250px);min-height:420px;padding:14px 6px 10px 16px;overflow:hidden}.terminal .xterm{height:100%}.terminal .xterm-viewport{background:#071f2c!important}.run-log{color:#dbe9ec;padding:14px 18px;font:13px/1.6 Martian Mono,Cascadia Mono,Consolas,Microsoft YaHei,monospace;overflow:auto}.run-log>*{white-space:pre-wrap;word-break:break-word}.run-log .t-mark{width:1.6em;margin-left:-1.6em;display:inline-block}.run-log .t-assistant,.run-log .t-thinking,.run-log .t-tool,.run-log .t-result{padding-left:1.6em}.run-log .t-stage{color:#42c5d7;margin-top:14px;font-weight:700}.run-log .t-log{color:#8096a0;padding-left:1.6em}.run-log .t-auth{color:#57d38c;padding-left:1.6em}.run-log .t-assistant{margin-top:12px}.run-log .t-thinking{color:#8096a0;font-style:italic}.run-log .t-tool{margin-top:12px;font-weight:700}.run-log .t-tool .t-mark{color:#e8c468;font-weight:400}.run-log .t-result{color:#8096a0;padding-left:3.2em}.run-log .t-result .t-mark{width:1.6em;margin-left:-1.6em}.run-log .t-result.err{color:#ff7b72}.run-log details.t-result summary{cursor:pointer;white-space:pre-wrap;list-style:none}.run-log details.t-result summary::-webkit-details-marker{display:none}.run-log .t-more{white-space:pre-wrap}.run-log .t-error{color:#ff7b72;margin-top:8px;font-weight:700}.run-log .t-done{color:#57d38c;margin-top:14px;font-weight:700}.preview-area{min-width:0}.preview-frame{border:1px solid var(--brand-silver);border-radius:var(--radius);background:#fff;width:100%;height:calc(100vh - 220px);min-height:520px}.preview-img{border:1px solid var(--brand-silver);border-radius:var(--radius);background:#fff;max-width:100%}pre.plain,pre.code-view{border:1px solid var(--brand-silver);border-radius:var(--radius);background:#fff;max-height:calc(100vh - 220px);padding:14px 16px;font-size:12.5px;line-height:1.7;overflow:auto}pre.code-view code.hljs{background:0 0;padding:0}.json-view{border:1px solid var(--brand-silver);border-radius:var(--radius);font-family:var(--mono);background:#fff;padding:12px 16px;font-size:12.5px}.json-view .row{font-family:var(--sans);margin-bottom:8px}.docx-box{border-radius:var(--radius);overflow:auto}.docx-box .docx-wrapper{background:0 0!important;padding:0!important}.docx-box .docx-wrapper>section.docx{border:1px solid var(--brand-silver);border-radius:var(--radius);box-shadow:none!important;margin:0 auto 12px!important}.pptx-box{overflow:auto}.pptx-box>div{margin:0 auto}.sheet-tabs{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.sheet-tabs button{border-radius:999px;padding:4px 12px;font-size:13px}.sheet-tabs button.on{background:var(--brand-primary);color:var(--brand-background);border-color:var(--brand-primary)}.sheet-wrap{border:1px solid var(--brand-silver);border-radius:var(--radius);background:#fff;max-height:calc(100vh - 260px);overflow:auto}table.sheet{border-collapse:collapse;font-size:13px}table.sheet th,table.sheet td{border:1px solid var(--line-soft);white-space:nowrap;text-overflow:ellipsis;text-align:left;max-width:360px;padding:4px 10px;overflow:hidden}table.sheet th{background:var(--brand-surface);z-index:1;font-weight:600;position:sticky;top:0}table.sheet .rn{color:var(--muted);font-family:var(--mono);background:var(--brand-surface);text-align:right;font-size:10.5px;position:sticky;left:0}.empty .button-link{margin-top:12px}@media (width<=1000px){.tiles{grid-template-columns:1fr}.run-row{grid-template-columns:14px 1fr 70px}.run-row>:nth-child(3),.run-row>:nth-child(4),.run-row>:nth-child(5){display:none}}.access{background:#102f3e;place-items:center;min-height:100vh;padding:16px;display:grid}.access-card{background:var(--brand-background);border-radius:var(--radius);width:100%;max-width:360px;padding:28px 28px 24px;box-shadow:0 12px 40px #00000040}.access-brand{align-items:center;gap:12px;margin-bottom:26px;display:flex}.access-mark{width:44px;height:36px}.access-name{color:var(--brand-ink);font-size:20px;font-weight:700}.access-sub{letter-spacing:.08em;color:var(--muted);font-family:Martian Mono,monospace;font-size:11px}.access-btn{width:100%;margin-top:4px;padding:10px}.section-head{align-items:center;margin-bottom:14px}.section-head h2{margin:0}.wf-page{box-sizing:border-box;flex-direction:column;height:100vh;padding:22px 28px 18px;display:flex}.wf-head h1{margin:4px 0 10px;font-size:24px}.wf-head .row.between{align-items:center;gap:16px}.wf-save{color:var(--muted);white-space:nowrap;font-size:13px}.wf-save.saved{color:var(--ok)}.wf-save.error{color:var(--bad)}.wf-save.locked{color:var(--warn)}.wf-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.wf-toolbar button{align-items:center;gap:6px;padding:6px 12px;font-size:14px;display:inline-flex}.wf-toolbar .icon{width:16px;height:16px}.wf-sep{background:var(--brand-silver);width:1px;height:22px;margin:0 4px}.wf-hint{margin-left:auto}.wf-body{border:1px solid var(--brand-silver);border-radius:var(--radius);background:#fff;flex:1;grid-template-columns:1fr 300px;min-height:0;display:grid;overflow:hidden}.wf-canvas{background:var(--brand-background);min-width:0;position:relative}.wf-side{border-left:1px solid var(--line-soft);flex-direction:column;gap:4px;padding:16px 18px;display:flex;overflow:auto}.wf-side .field{margin-bottom:12px}.wf-side-title{color:var(--brand-primary);margin-bottom:12px;font-weight:600}.wf-side-sub{color:var(--brand-primary);margin-bottom:4px;font-size:13px;font-weight:600}.wf-side>button{margin-top:6px}.wf-del{justify-content:center;align-items:center;gap:6px;display:inline-flex;margin-top:auto!important}.wf-del .icon{width:15px;height:15px}.wf-type{align-self:flex-start;margin-bottom:14px}.wf-type button{padding:6px 16px}.wf-stats{color:var(--text-2);margin:4px 0 12px;font-size:14px;line-height:1.6}.wf-legend{color:var(--text-2);grid-template-columns:1fr 1fr;gap:6px 10px;margin-bottom:14px;font-size:13px;display:grid}.wf-legend span{align-items:center;gap:6px;display:flex}.lg{background:#fff;border:1.5px solid #8a9aa0;border-radius:3px;width:18px;height:12px;display:inline-block}.lg.ai{background:#e3eefa;border-color:#2f6fb3}.lg.decision{background:#fdf7e4;border-color:#b8901f;border-radius:1px;width:12px;height:12px;margin:0 3px;transform:rotate(45deg)}.lg.inferred{border-style:dashed}.wf-problems{background:var(--warn-bg);color:var(--warn);border-radius:var(--radius-sm);margin-bottom:12px;padding:10px 12px;line-height:1.6}.wf-problems .wf-side-sub{color:var(--warn)}.wf-tip{margin-bottom:12px}.wf-sources{flex-wrap:wrap;gap:6px;margin:-4px 0 12px;display:flex}.wf-sources .chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--brand-ink);padding:2px 10px;font-size:12px;overflow:hidden}.wf-sources .chip.bad{color:var(--bad);border-color:var(--bad)}.wf-edge-ends{background:var(--brand-surface);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 12px;font-size:14px;line-height:1.5}.wf-step{box-sizing:border-box;text-align:center;background:#fff;border:1.5px solid #8a9aa0;border-radius:8px;flex-direction:column;justify-content:center;width:200px;min-height:64px;padding:10px 12px;display:flex;box-shadow:0 1px 3px #102f3e14}.wf-step.ai{background:#e3eefa;border-color:#2f6fb3}.wf-step.inferred,.wf-decision.inferred polygon{stroke-dasharray:6 4;border-style:dashed}.wf-step.sel{box-shadow:0 0 0 3px #42c5d759}.wf-label{color:var(--brand-ink);word-break:break-word;font-size:14px;font-weight:600;line-height:1.4}.wf-sys{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.wf-decision{place-items:center;width:150px;height:96px;display:grid;position:relative}.wf-decision svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wf-decision polygon{fill:#fdf7e4;stroke:#b8901f;stroke-width:1.5px;vector-effect:non-scaling-stroke}.wf-decision.sel polygon{stroke:#42c5d7;stroke-width:2.5px}.wf-decision .wf-label{text-align:center;max-width:104px;font-size:13px;position:relative}.wf-inline{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--brand-cyan);resize:none;background:#fff;border-radius:4px;padding:2px 4px;font-weight:600}.wf-decision .wf-inline{text-align:center;width:110px}.wf-handle{opacity:0;transition:opacity .12s;border:1.5px solid var(--brand-accent)!important;background:#fff!important;width:9px!important;height:9px!important}.react-flow__node:hover .wf-handle,.react-flow__node.selected .wf-handle,.react-flow.connecting .wf-handle,.connectionindicator.wf-handle:hover{opacity:1}.react-flow__edge-path.wf-edge,.wf-edge{stroke:#5f7b84;stroke-width:1.5px}.react-flow__edge.selected .react-flow__edge-path,.wf-edge.sel{stroke:#0e6375;stroke-width:2.5px}.wf-edge-label{pointer-events:all;border:1px solid var(--line-soft);color:var(--text-2);white-space:nowrap;cursor:default;background:#fff;border-radius:4px;padding:1px 7px;font-size:12px;position:absolute}.wf-edge-label.sel{border-color:var(--brand-accent);color:var(--brand-primary)}.wf-edge-label .wf-inline{width:120px;font-weight:400}.react-flow__controls button{border-radius:0;padding:4px}.react-flow__minimap{border:1px solid var(--line-soft);border-radius:6px}@media (width<=900px){.wf-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.wf-side{border-left:none;border-top:1px solid var(--line-soft);max-height:40vh}.wf-hint{display:none}}.react-flow__node-lane,.react-flow__node-band{pointer-events:none!important}.wf-lane{box-sizing:border-box;background:#fff;border-right:1px solid #d3e2e5;width:100%;height:100%}.wf-lane.odd{background:#f4f8fa}.wf-lane-head{pointer-events:all;cursor:pointer;color:#fff;background:#1f4e6b;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 12px;font-size:15px;font-weight:600;display:flex}.wf-lane-head .icon{opacity:.75;flex:none;width:15px;height:15px}.wf-lane-head span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wf-lane.ai .wf-lane-head{background:#1d6f86}.wf-lane.external .wf-lane-head{background:#3c5866}.wf-lane.none .wf-lane-head{background:#8a9aa0}.wf-lane.sel .wf-lane-head{box-shadow:inset 0 -4px 0 var(--brand-cyan)}.wf-band{box-sizing:border-box;border-top:1.5px dashed #8fb3d9;width:100%;height:100%}.wf-band.first{border-top-color:#0000}.wf-band.sel{border-top-color:var(--brand-cyan);background:#42c5d70f}.wf-band-label{pointer-events:all;cursor:pointer;color:#2563a8;white-space:nowrap;background:#ffffffd9;border-radius:6px;margin:10px 0 0 12px;padding:3px 10px;font-size:14px;font-weight:700;display:inline-block}.wf-band.sel .wf-band-label{box-shadow:0 0 0 2px var(--brand-cyan)}.wf-stage-list{color:var(--text-2);flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.wf-add-ref{align-self:flex-start;width:auto;margin-top:4px;padding:4px 8px;font-size:13px}.wf-stage-move{gap:8px;margin-bottom:14px}.wf-stage-move button{padding:5px 14px;font-size:13px}.wf-members{color:var(--text-2);flex-direction:column;gap:3px;margin-bottom:12px;display:flex}.grid2.tight{gap:10px}.sem-table{border-collapse:collapse;width:100%}.sem-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line-soft);padding:10px 12px;font-size:13px;font-weight:600}.sem-table td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:8px 12px}.sem-table td:first-child{width:26%}.sem-table input,.sem-table select{padding:6px 10px;font-size:14px}.sem-id{color:var(--muted);margin-top:4px;font-family:Martian Mono,monospace;font-size:11px}.sem-table .x .icon{width:16px;height:16px}.sem-add{align-items:center;gap:6px;margin:10px 12px;padding:5px 12px;font-size:13px;display:inline-flex}.sem-add .icon{width:14px;height:14px}.ok-text{color:var(--ok)}.bad-text{color:var(--bad)}.sem-table .sem-pick{width:36px;padding-right:0}.sem-table .sem-pick input{width:auto;accent-color:var(--brand-accent);margin-top:9px}.sem-table tr.picked td{background:#eef8fa}.merge-bar{border-radius:var(--radius);background:#f2fbfc;border:1px solid #b9e3ea;flex-direction:column;gap:10px;margin:4px 12px 14px;padding:14px 16px;display:flex}.merge-title{color:var(--brand-primary);font-weight:600}.merge-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.merge-row label{color:var(--text-2);flex-direction:column;gap:5px;font-size:13px;display:flex}.merge-row select,.merge-row input{min-width:200px;padding:6px 10px;font-size:14px}.merge-row button{padding:7px 18px}.ctx-stages{flex-direction:column;gap:14px;margin:18px 0 22px;display:flex;position:relative}.ctx-stage{gap:18px;margin:0;display:flex}.ctx-stage.soon{opacity:.6}.ctx-num{background:var(--brand-surface);width:34px;height:34px;color:var(--brand-accent);border:1.5px solid var(--brand-silver);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.ctx-stage.done .ctx-num{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.ctx-main{flex:1;min-width:0}.ctx-main h2{margin:4px 0 6px}.ctx-main p{margin:0 0 10px;font-size:14px;line-height:1.6}.ctx-state{color:var(--muted);white-space:nowrap;font-size:13px}.ctx-state.done{color:var(--ok)}.ctx-state.running{color:var(--brand-accent);font-weight:600}.ctx-out{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.ctx-out .chip{color:var(--brand-ink);align-items:center;gap:5px;padding:3px 12px;display:inline-flex}.ctx-out .chip .icon{width:14px;height:14px}.ctx-out .chip.warn{background:var(--warn-bg);border-color:#e2b55a}.ctx-last{color:var(--muted);margin-bottom:10px;display:block}.ctx-run{flex-direction:column;gap:8px;display:flex}.ctx-run .row{justify-content:flex-end;gap:8px}.tree-row.pending{opacity:.5}.tile.off{opacity:.6}.tabs{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.tabs a{color:var(--text-2);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:15px}.tabs a.on{color:var(--brand-primary);border-bottom-color:var(--brand-accent);font-weight:600}.tabs .count{color:var(--muted);margin-left:2px;font-size:12px}.tab-intro{margin:0 0 12px}.sem-note{resize:vertical;min-height:34px;padding:6px 10px;font-size:14px}.kn-layout{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:16px;display:grid}.kn-list{flex-direction:column;gap:8px;display:flex}.kn-filters{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.kn-filters select{width:auto;padding:5px 8px;font-size:13px}.kn-filters button{align-items:center;gap:4px;margin-left:auto;padding:5px 10px;font-size:13px;display:inline-flex}.kn-filters .icon{width:14px;height:14px}.kn-card{text-align:left;border-radius:var(--radius);border:1px solid var(--line-soft);background:#fff;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.kn-card.on{border-color:var(--brand-accent);box-shadow:0 0 0 2px #42c5d733}.kn-card.missing{border-left:3px solid #d98a2b}.kn-head{align-items:center;gap:6px;display:flex}.kn-type{background:var(--brand-surface);color:var(--brand-accent);border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600}.kn-basis{color:var(--muted);font-size:11px}.kn-basis.missing{color:#b26a12;font-weight:600}.kn-title{color:var(--brand-ink);font-size:14px;font-weight:600}.kn-anchors{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kn-detail{margin:0;position:sticky;top:16px}.kn-editor .field{margin-bottom:14px}.kn-content{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--brand-background);min-height:60px;padding:10px 14px;font-size:14px}.kn-chips{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.kn-chips .chip{align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.kn-chips .chip a{color:var(--brand-ink)}.kn-add{gap:6px}.kn-add select{padding:5px 8px;font-size:13px}.kn-questions{flex-direction:column;gap:12px;margin:12px 0 0;padding-left:22px;display:flex}.kn-q{color:var(--brand-ink);margin-bottom:3px;font-weight:600}.kn-open{cursor:pointer;margin-left:8px}.wf-kn{color:#fff;border-radius:9px;height:18px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-9px;right:-8px;overflow:hidden;box-shadow:0 1px 2px #102f3e33}.wf-kn b{box-sizing:border-box;background:var(--brand-accent);place-items:center;min-width:18px;padding:0 5px;display:grid}.wf-decision .wf-kn{top:6px;right:20px}.wf-step{position:relative}.wf-obj{color:var(--brand-primary);font-weight:600}.wf-kn-list{flex-direction:column;gap:6px;display:flex}.wf-kn-item{border-radius:var(--radius-sm);border:1px solid var(--line-soft);color:var(--brand-ink);flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;font-size:13px;display:flex}.wf-kn-item.missing{border-left:3px solid #d98a2b}.wf-kn-title{flex:1;min-width:0}@media (width<=900px){.kn-layout{grid-template-columns:1fr}.kn-detail{position:static}}.ctx-state.stale{color:#b26a12;font-weight:600}.ctx-stale{background:var(--warn-bg);color:var(--warn);border-radius:var(--radius-sm);margin-bottom:10px;padding:8px 12px;line-height:2}.ctx-stale .chip{color:var(--brand-ink);margin:0 4px;padding:1px 8px;font-size:12px}.stale-dot{background:#e8a33c;border-radius:50%;flex:none;width:7px;height:7px;margin-left:auto}.run-banner.stale{background:var(--warn-bg);color:var(--warn);border-color:#edd29b}.kn-tree{flex-direction:column;gap:2px;display:flex}.kn-tree-head{color:var(--muted);justify-content:space-between;align-items:center;margin:14px 0 4px;font-size:13px;font-weight:600;display:flex}.kn-tree-head button,.kn-folder-head button{color:var(--muted);background:0 0;border:none;padding:2px 4px}.kn-tree-head .icon,.kn-folder-head .icon,.kn-node .icon{flex:none;width:15px;height:15px}.kn-node{border-radius:var(--radius-sm);color:var(--brand-ink);align-items:center;gap:8px;padding:7px 10px;font-size:14px;display:flex}.kn-node span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kn-node:hover{background:var(--brand-surface)}.kn-node.on{color:var(--brand-primary);background:#e5f4f6;font-weight:600}.kn-node.sub{padding-left:30px}.kn-node.questions{border:1px solid var(--line-soft)}.kn-node .count{color:var(--muted);margin-left:auto;font-size:12px}.kn-folder-head{color:var(--brand-primary);align-items:center;gap:8px;padding:7px 10px 3px;font-size:14px;font-weight:600;display:flex}.kn-folder-head span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.kn-doc-bar{align-items:center;gap:10px;margin-bottom:10px}.kn-doc-bar .row{gap:8px}.kn-doc-title{margin:0 0 6px}.kn-desc{color:var(--text-2);margin:0 0 12px;line-height:1.6}.kn-meta{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);flex-direction:column;gap:8px;margin-bottom:14px;padding:10px 0;display:flex}.kn-meta-row{align-items:baseline;gap:10px;display:flex}.kn-meta-key{width:36px;color:var(--muted);flex:none;font-size:13px}.kn-meta-row .kn-chips{margin:0}.kn-meta-row input{padding:5px 10px;font-size:14px}.kn-inline-select{width:auto;padding:3px 8px;font-size:13px}.kn-body-edit{width:100%;min-height:480px;font-family:Martian Mono,Consolas,monospace;font-size:13px;line-height:1.6}.kn-doc .kn-content{background:0 0;border:none;padding:0}.kn-related-q{background:var(--warn-bg);border-radius:var(--radius-sm);color:var(--warn);margin-top:18px;padding:10px 12px;line-height:1.7}.kn-questions textarea{width:100%;font-weight:600}.kn-q-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.kn-q-meta input{flex:1;min-width:200px;padding:5px 10px;font-size:13px}.kn-q-meta select{width:auto;padding:5px 8px;font-size:13px}.kn-cat{margin-top:6px}.kn-cat .kn-tree-head{color:var(--brand-primary);letter-spacing:.04em;margin-top:12px;font-size:13px}.kn-lines{color:var(--muted);flex:none;margin-left:auto;font-family:Martian Mono,monospace;font-size:11px}.kn-empty{padding:4px 10px}
