@font-face{font-family:Geist;src:url(/assets/Geist-Variable-Dsi8iidl.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-Variable-Italic-BHcJ9Neo.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(/assets/InstrumentSerif-Regular-DwV0Yxaz.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(/assets/InstrumentSerif-Italic-OZTPLl-F.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--blue-50: #8ccfd7;--blue-100: #6db2bb;--blue-200: #4d969f;--blue-300: #2e7983;--blue-400: #0f5d67;--blue-500: #0c4a52;--blue-600: #09383e;--blue-700: #062529;--blue-800: #051c1f;--blue-900: #031315;--blue-950: #02090a;--red-50: #fff5f4;--red-100: #ffe8e6;--red-200: #ffd3ce;--red-300: #ffb1aa;--red-400: #ff928b;--red-500: #ff4245;--red-600: #e80022;--red-700: #bf0017;--red-800: #9f000f;--red-900: #88000a;--red-950: #530004;--green-50: #eafeeb;--green-100: #cefed2;--green-200: #98fda5;--green-300: #3bf76b;--green-400: #35e261;--green-500: #30d158;--green-600: #1ba93f;--green-700: #1b862d;--green-800: #12671e;--green-900: #0d5416;--green-950: #05310a;--yellow-50: #fffbea;--yellow-100: #fff4c9;--yellow-200: #ffe88f;--yellow-300: #ffd600;--yellow-400: #ecc400;--yellow-500: #dcb500;--yellow-600: #b98e00;--yellow-700: #996a00;--yellow-800: #794f00;--yellow-900: #633f00;--yellow-950: #382400;--orange-50: #fff4ed;--orange-100: #ffe7d8;--orange-200: #ffd3b4;--orange-300: #ffb57f;--orange-400: #ff8d28;--orange-500: #e87600;--orange-600: #ce6600;--orange-700: #a74d00;--orange-800: #883c00;--orange-900: #723000;--orange-950: #441b00;--sage-50: #f5fbf3;--sage-100: #e8f6e5;--sage-200: #cfeec9;--sage-300: #b0e1a6;--sage-400: #95bf8d;--sage-500: #7da075;--sage-600: #627c5a;--sage-700: #4c6045;--sage-800: #374732;--sage-900: #2a3726;--sage-950: #151d13;--greyscale-0: #ffffff;--greyscale-50: #fafafa;--greyscale-100: #f4f4f4;--greyscale-200: #e5e5e5;--greyscale-300: #d3d3d3;--greyscale-400: #929292;--greyscale-500: #707070;--greyscale-600: #505050;--greyscale-700: #3c3c3c;--greyscale-800: #222222;--greyscale-900: #121212;--greyscale-950: #050505;--greyscale-999: #000000}:root{--font-sans: "Geist", system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;--font-weight-thin: 100;--font-weight-extralight: 200;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--font-size-xxs: 12px;--font-size-xs: 14px;--font-size-s: 16px;--font-size-m: 24px;--font-size-l: 32px;--font-size-xl: 48px;--font-size-xxl: 64px;--font-size-xxxl: 72px;--leading-none: 1;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em}:root,[data-theme=dark]{--bg-primary: var(--greyscale-900);--bg-secondary: var(--greyscale-800);--bg-tertiary: var(--greyscale-700);--bg-disabled: var(--greyscale-600);--bg-inverse-primary: var(--greyscale-200);--bg-inverse-secondary: var(--greyscale-300);--bg-inverse-tertiary: var(--greyscale-500);--bg-brand-primary: var(--sage-500);--bg-brand-secondary: var(--sage-400);--bg-brand-tertiary: var(--sage-200);--bg-brand-surface: var(--sage-900);--surface-1: var(--greyscale-900);--bg-canvas: var(--surface-1);--canvas-grid: rgba(255, 255, 255, .04);--surface-2: #1e1e1e;--surface-2t: rgba(30, 30, 30, .7);--surface-3: #282828;--surface-3t: rgba(40, 40, 40, .4);--surface-4: #333333;--on-surface-1: #f5f5f5;--on-surface-t: #9e9e9e;--on-surface-t2: rgba(158, 158, 158, .2);--brand-1: var(--sage-500);--brand-1t: rgba(125, 160, 117, .4);--brand-2: #64855c;--brand-3: var(--sage-900);--surface-frosted: var(--surface-2t);--surface-frosted-soft: var(--surface-3t);--border-frosted: var(--on-surface-t2);--text-on-surface: var(--greyscale-100);--text-on-surface-muted: var(--on-surface-t);--divider-frosted: #3f484a;--surface-deep: var(--blue-950);--gradient-brand: linear-gradient(95deg, var(--brand-1), var(--brand-3));--bg-success-subtle: var(--green-900);--bg-success-bold: var(--green-600);--bg-warning-subtle: var(--orange-900);--bg-warning-bold: var(--orange-600);--bg-error-subtle: var(--red-900);--bg-error-bold: var(--red-600);--bg-info-subtle: var(--blue-800);--bg-info-bold: var(--blue-600);--text-primary: var(--greyscale-0);--text-secondary: var(--greyscale-300);--text-tertiary: var(--greyscale-400);--text-disabled: var(--greyscale-500);--text-inverse-primary: var(--greyscale-999);--text-inverse-secondary: var(--greyscale-800);--text-inverse-tertiary: var(--greyscale-700);--text-brand-primary: var(--sage-500);--text-brand-inverse: var(--blue-200);--text-success-subtle: var(--green-500);--text-success-bold: var(--green-900);--text-warning-subtle: var(--orange-400);--text-warning-bold: var(--orange-900);--text-error-subtle: var(--red-300);--text-error-bold: var(--red-900);--text-info-subtle: var(--blue-200);--text-info-bold: var(--blue-800)}body{margin:0;font-family:var(--font-sans);font-weight:var(--font-weight-regular);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow{direction:ltr;--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: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--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: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--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 rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.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: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--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: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--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 rgba(0, 0, 0, .08);--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{position:absolute;width:100%;height:100%;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{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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;-moz-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:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.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:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;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))}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.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))}._page_8bqvn_10{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);overflow:hidden}._canvasArea_8bqvn_21{position:absolute;top:0;right:0;bottom:0;left:0}._topbar_8bqvn_28{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px}._title_8bqvn_41{margin:0;font-size:var(--font-size-s);font-weight:var(--font-weight-regular);color:var(--text-tertiary)}._paletteDock_8bqvn_49{position:absolute;top:64px;left:16px;z-index:4}._warning_8bqvn_57{position:absolute;top:56px;left:20px;right:20px;z-index:5;padding:8px 12px;border-radius:8px;background:var(--bg-error-subtle);border:1px solid var(--text-error-subtle);color:var(--text-error-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}._zoomDock_8bqvn_73{position:absolute;left:24px;bottom:18px;z-index:5}._footer_8bqvn_82{position:absolute;left:50%;transform:translate(-50%);bottom:16px;z-index:5;font-size:var(--font-size-xs)}._footerError_8bqvn_90{color:var(--text-error-subtle)}._footerBusy_8bqvn_91{color:var(--text-warning-subtle)}._loadingGrid_8bqvn_100{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,var(--canvas-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--canvas-grid) 1px,transparent 1px);background-size:16px 16px}._skel_8bqvn_111{position:absolute;z-index:2;border-radius:16px;background-color:var(--greyscale-800);background-image:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);background-size:60% 100%;background-repeat:no-repeat;animation:_canvasShimmer_8bqvn_1 1.4s ease-in-out infinite}@keyframes _canvasShimmer_8bqvn_1{0%{background-position:-60% 0}to{background-position:160% 0}}@media (prefers-reduced-motion: reduce){._skel_8bqvn_111{animation:none}}._skelMenu_8bqvn_141{top:32px;left:24px;width:241px;height:69px;border-radius:24px}._skelToolbar_8bqvn_142{top:50%;left:24px;width:40px;height:168px;border-radius:32px;transform:translateY(-50%)}._skelZoom_8bqvn_144{bottom:18px;left:24px;width:265px;height:39px;border-radius:24px}._skelAgent_8bqvn_145{top:50%;right:32px;width:280px;height:626px;border-radius:24px;transform:translateY(-50%);max-height:calc(100vh - 48px)}._canvasArea_8bqvn_21 .react-flow{background:transparent}._canvasArea_8bqvn_21 .react-flow__attribution{background:transparent;color:var(--text-disabled)}._canvasArea_8bqvn_21 .react-flow__node{padding:0;width:auto;border:none;border-radius:0;background:transparent;box-shadow:none;text-align:left;color:inherit;font-size:inherit}._canvasArea_8bqvn_21 .react-flow__node.selectable:hover{box-shadow:none}._controls_v428i_4{display:inline-flex;align-items:center;height:40px;padding:0 8px;border-radius:24px;background:var(--surface-frosted);border:1px solid var(--border-frosted);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);color:var(--text-on-surface)}._iconBtn_v428i_18{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:transparent;border-radius:8px;color:inherit;cursor:pointer;transition:background-color .12s ease}._iconBtn_v428i_18:hover{background:#ffffff0f}._iconBtn_v428i_18:active{background:#ffffff1a}._divider_v428i_40{width:1px;height:16px;margin:0 8px;background:var(--divider-frosted)}._zoom_v428i_48{min-width:42px;text-align:center;font-family:var(--font-mono);font-size:var(--font-size-xxs);color:var(--text-on-surface);-webkit-user-select:none;user-select:none}._led_q0k4j_2{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}._dot_q0k4j_11{width:10px;height:10px;border-radius:50%;background:#5c5c5c;transition:background-color .2s ease,box-shadow .2s ease}._disconnected_q0k4j_20{background:#5c5c5c}._connected_q0k4j_25{background:var(--sage-500);box-shadow:0 0 4px #7da075e6,0 0 9px 1px #7da0758c}._warning_q0k4j_33{background:#ffb74d;box-shadow:0 0 4px #ffb74de6,0 0 9px 1px #ffb74d8c}._node_ypve9_3{position:relative;box-sizing:border-box;width:284px;display:flex;flex-direction:column;gap:12px;padding:16px 8px;border-radius:24px;background:var(--surface-2t);border:1px solid var(--on-surface-t2);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:0 0 15px #40404066}._header_ypve9_21{display:flex;flex-direction:column;gap:4px;width:100%}._titleRow_ypve9_29{display:flex;align-items:center;height:21px;padding:0 16px}._title_ypve9_29{flex:1;min-width:0;margin:0;font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:var(--font-size-s);line-height:var(--leading-none);color:#fff;word-break:break-word}._statusRow_ypve9_49{display:flex;align-items:flex-start;justify-content:space-between;min-height:16px;width:100%}._statusSide_ypve9_56{display:flex;align-items:center;gap:8px}._inputColumn_ypve9_63{position:relative;display:flex;flex-direction:column;gap:8px}._ledRow_ypve9_69{display:flex;align-items:center;gap:8px}._statusLabel_ypve9_74{font-family:var(--font-mono);font-weight:var(--font-weight-regular);font-size:var(--font-size-xxs);line-height:var(--leading-none);color:var(--on-surface-t);white-space:nowrap}._ledSlot_ypve9_85{position:relative;display:inline-flex;width:16px;height:16px}._handle_ypve9_93._handle_ypve9_93{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-width:0;min-height:0;transform:none;border:none;border-radius:50%;background:transparent}._box_1qusk_2{box-sizing:border-box;width:100%;min-height:48px;display:flex;flex-direction:column;padding:8px;border-radius:16px;background:var(--surface-4);border:1px solid var(--on-surface-t2);overflow:hidden}._configBox_fe4t4_2{gap:16px}._field_fe4t4_7{display:flex;flex-direction:column;gap:4px;width:100%}._fieldLabel_fe4t4_13{font-family:var(--font-sans);font-weight:var(--font-weight-regular);font-size:var(--font-size-xxs);line-height:var(--leading-none);color:var(--on-surface-t)}._selectWrap_fe4t4_22{position:relative;width:100%}._select_fe4t4_22{box-sizing:border-box;width:100%;height:41px;padding:0 30px 0 13px;border:none;border-radius:8px;background:var(--surface-3);color:var(--on-surface-1);font-family:var(--font-sans);font-size:var(--font-size-xxs);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}._chevron_fe4t4_42{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:var(--on-surface-1);pointer-events:none}._segments_fe4t4_52{display:flex;gap:2px;width:100%;box-sizing:border-box;padding:4px;border-radius:10px;background:var(--surface-3)}._segment_fe4t4_52{flex:1;min-width:0;height:30px;padding:0;border:none;border-radius:7px;background:transparent;color:#737373;font-family:var(--font-sans);font-size:var(--font-size-xxs);cursor:pointer;transition:background-color .12s ease,color .12s ease}._segment_fe4t4_52:hover:not(._segmentActive_fe4t4_75){color:var(--on-surface-1)}._segmentActive_fe4t4_75{background:var(--surface-2t);color:#fff;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}._generate_fe4t4_87{width:100%;padding:8px 0;border:none;border-radius:48px;background:var(--on-surface-1);color:var(--surface-3);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);cursor:pointer;transition:opacity .12s ease}._generate_fe4t4_87:disabled{opacity:.45;cursor:not-allowed}._chips_fe4t4_107{display:flex;flex-wrap:wrap;gap:6px;width:100%}._chip_fe4t4_107{padding:4px 8px;border-radius:6px;background:var(--surface-4);color:var(--on-surface-t);font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:var(--leading-none);white-space:nowrap}._resultBox_fe4t4_124{gap:8px}._imageWrap_fe4t4_128{position:relative;width:100%;border-radius:16px;overflow:hidden}._image_fe4t4_128{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}._actions_fe4t4_143{display:flex;gap:8px;width:100%}._actionBtn_fe4t4_148{flex:1;min-width:0;padding:10px 0;border:1px solid var(--on-surface-t2);border-radius:10px;background:var(--surface-3);color:var(--on-surface-1);font-family:var(--font-sans);font-size:var(--font-size-xxs);text-align:center;text-decoration:none;cursor:pointer}._download_fe4t4_163{background:var(--brand-2)}._statusRow_fwj12_2{display:flex;gap:8px;align-items:center;width:100%}._statusText_fwj12_8{flex:1;min-width:0;font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:var(--leading-normal);color:var(--on-surface-t)}._warnIcon_fwj12_17,._okIcon_fwj12_18{flex-shrink:0}._readyBox_fwj12_22{gap:12px}._analyse_fwj12_26{width:100%;padding:8px 16px;border:none;border-radius:100px;background:var(--on-surface-1);color:var(--surface-1);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xxs);cursor:pointer;box-shadow:0 4px 4px #7da07540;transition:opacity .12s ease}._analyse_fwj12_26:disabled{opacity:.55;cursor:not-allowed}._reportBox_fwj12_46{gap:8px}._scorePanel_fwj12_51{box-sizing:border-box;width:100%;display:flex;flex-direction:column;gap:16px;padding:8px;border-radius:16px;border:1px solid var(--on-surface-t2);background:linear-gradient(90deg,#333,#2a2a2a)}._panelTitle_fwj12_62{margin:0;font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:var(--font-size-s);line-height:var(--leading-none);color:#fff}._rows_fwj12_71{display:flex;flex-direction:column;gap:12px;width:100%}._row_fwj12_71{display:flex;flex-direction:column;gap:6px;width:100%}._rowLabel_fwj12_83{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:var(--leading-none)}._area_fwj12_92{color:var(--on-surface-t)}._rowScore_fwj12_95{color:#fff}._track_fwj12_100{width:100%;height:6px;border-radius:3px;background:var(--on-surface-t2);overflow:hidden}._fill_fwj12_107{height:100%;border-radius:3px;background:var(--sage-700);transition:width .3s ease}._averageRow_fwj12_115{display:flex;align-items:center;gap:16px;width:100%;padding-top:12px;border-top:1px solid var(--on-surface-t2)}._ring_fwj12_123{position:relative;flex-shrink:0;width:48px;height:48px}._ringTrack_fwj12_129{stroke:var(--on-surface-t2)}._ringFill_fwj12_132{stroke:var(--brand-1);transition:stroke-dashoffset .4s ease}._ringValue_fwj12_136{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:var(--font-size-s);color:#fff}._averageText_fwj12_147{display:flex;flex-direction:column;gap:2px;min-width:0}._averageLabel_fwj12_153{font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:var(--leading-none);color:var(--on-surface-t)}._averageValue_fwj12_159{font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:20px;line-height:var(--leading-none);color:var(--brand-1)}._summary_fwj12_168{display:flex;flex-direction:column;gap:4px;padding-top:8px;width:100%}._summaryHeading_fwj12_175{margin:0;font-family:var(--font-sans);font-weight:var(--font-weight-bold);font-size:var(--font-size-xxs);line-height:var(--leading-normal);color:var(--on-surface-1)}._summaryText_fwj12_183{margin:0;font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:var(--leading-normal);color:var(--on-surface-1)}._fixes_fwj12_190{margin:4px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:4px}._fix_fwj12_190{font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:var(--leading-normal);color:var(--on-surface-t)}._input_w75r4_3{width:100%;box-sizing:border-box;padding:0;border:none;outline:none;resize:none;background:transparent;color:var(--on-surface-1);font-family:var(--font-sans);font-weight:var(--font-weight-regular);font-size:var(--font-size-xxs);line-height:var(--leading-normal)}._input_w75r4_3::placeholder{color:var(--on-surface-t)}._dropzone_7hqxp_4{transition:border-color .12s ease,background-color .12s ease}._dropzoneActive_7hqxp_8{border-color:var(--brand-1);background:var(--surface-3)}._dropTarget_7hqxp_13{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px 0 8px;cursor:pointer}._badge_7hqxp_25{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:8px;background:var(--surface-2t);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}._folder_7hqxp_38{width:22px;height:18px}._hint_7hqxp_43{margin:0;font-family:var(--font-mono);font-size:var(--font-size-xxs);line-height:var(--leading-none);color:var(--on-surface-t);text-align:center}._hintSub_7hqxp_51{margin:0;font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:var(--leading-none);color:#6b7280;text-align:center}._error_7hqxp_59{margin:4px 0 0;font-family:var(--font-sans);font-size:var(--font-size-xxs);color:#e5786d;text-align:center}._preview_7hqxp_69{display:block;width:100%;height:148px;object-fit:cover;border-radius:16px;border:1px solid var(--on-surface-t2);cursor:pointer}._fileCard_7hqxp_79{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:148px;padding:0 12px;box-sizing:border-box;border:1px solid var(--on-surface-t2);border-radius:16px;background:transparent;cursor:pointer}._fileName_7hqxp_94{font-family:var(--font-sans);font-size:var(--font-size-xxs);color:var(--on-surface-t);text-align:center;word-break:break-all}._subheader_7hqxp_104{margin:0;padding:16px 0 4px;font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:var(--leading-none);color:var(--on-surface-t)}._noteBox_7hqxp_114{width:100%;box-sizing:border-box;min-height:84px;padding:16px;border:none;border-radius:16px;background:var(--surface-3);color:var(--on-surface-1);font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:1.4;resize:none}._noteBox_7hqxp_114::placeholder{color:var(--on-surface-t)}._noteBox_7hqxp_114:focus{outline:none}._launcher_1m98p_6{position:fixed;right:24px;bottom:24px;z-index:30;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:24px;background:var(--bg-brand-primary);color:var(--sage-900);font-family:var(--font-sans);font-size:var(--font-size-xs);cursor:pointer;box-shadow:0 4px 16px #00000059}._panel_1m98p_26{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;width:280px;height:626px;max-height:calc(100vh - 32px);border-radius:24px;background:var(--surface-frosted);border:1px solid var(--border-frosted);box-shadow:0 0 50px #0006;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);overflow:hidden}._header_1m98p_47{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--divider-frosted)}._title_1m98p_57{margin:0;font-family:var(--font-serif);font-weight:var(--font-weight-regular);font-size:var(--font-size-m);line-height:1;color:var(--text-on-surface)}._closeBtn_1m98p_66{border:none;background:transparent;color:var(--text-on-surface-muted);font-size:16px;line-height:1;padding:4px 6px;border-radius:6px;cursor:pointer}._closeBtn_1m98p_66:hover{color:var(--text-on-surface)}._messages_1m98p_79{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:16px 0}._empty_1m98p_89{margin:auto;padding:24px;text-align:center;color:var(--text-on-surface-muted);font-size:var(--font-size-xxs)}._msgText_1m98p_98{margin:0;font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:1.5;color:var(--text-on-surface);white-space:pre-wrap;word-break:break-word}._msgUser_1m98p_109{align-self:flex-end;max-width:80%;margin:0 16px;padding:8px 16px;border-radius:8px;background:var(--bg-secondary)}._msgAssistant_1m98p_119{align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 24px}._assistantLogo_1m98p_128{flex:0 0 auto;width:12px;height:16px;color:var(--bg-brand-primary)}._feedback_1m98p_136{display:flex;gap:4px;padding:0 24px;margin-top:-8px}._thumb_1m98p_143{border:none;background:transparent;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:6px;opacity:.45}._thumb_1m98p_143:hover{opacity:1;background:#ffffff0f}._thumbActive_1m98p_153{opacity:1;background:#ffffff1a}._typing_1m98p_155{align-self:flex-start;padding:4px 24px;color:var(--text-on-surface-muted);font-size:var(--font-size-xxs)}._error_1m98p_162{padding:0 24px 8px;color:var(--text-error-subtle);font-size:var(--font-size-xxs)}._inputRow_1m98p_169{flex:0 0 auto;padding:0 8px 16px}._inputBar_1m98p_175{position:relative;border-radius:16px}._inputBar_1m98p_175:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:16px;background:var(--gradient-brand);filter:blur(15px);opacity:.55;pointer-events:none}._inputField_1m98p_193{position:relative;z-index:1;display:flex;align-items:center;gap:8px;height:52px;padding:6px 8px 6px 12px;border-radius:16px;border:1px solid transparent;background:linear-gradient(var(--surface-deep),var(--surface-deep)) padding-box,var(--gradient-brand) border-box;box-sizing:border-box}._textarea_1m98p_212{flex:1 1 auto;min-width:0;align-self:center;resize:none;border:none;outline:none;background:transparent;color:var(--text-on-surface);font-family:var(--font-sans);font-size:var(--font-size-xxs);line-height:1.4;max-height:96px;padding:0;margin:0}._textarea_1m98p_212::placeholder{color:var(--text-on-surface-muted)}._sendBtn_1m98p_231{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:32px;background:var(--gradient-brand);color:var(--greyscale-0);cursor:pointer}._sendBtn_1m98p_231:disabled{opacity:.5;cursor:not-allowed}
