.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:Manrope;src:url(/assets/Manrope-Variable-cEkRO9-c.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}html,body,#root{background:var(--lc-bg);height:100%;margin:0}body{font-family:var(--lc-font);color:var(--lc-text)}.lc-editor{height:100vh;font-size:var(--lc-font-size-ui);line-height:var(--lc-line-height-ui);font-family:var(--lc-font);font-variant-numeric:tabular-nums;color:var(--lc-text);background:var(--lc-bg);grid-template:"toolbar toolbar toolbar""palette canvas panel"1fr"palette trend panel"/200px 1fr 320px;display:grid}.lc-editor :focus-visible{outline:3px solid var(--lc-focus);outline-offset:2px}.lc-toolbar{align-items:center;gap:var(--lc-space-1);padding:var(--lc-space-2) var(--lc-space-3);background:var(--lc-surface);border-bottom:1px solid var(--lc-border);flex-wrap:wrap;grid-area:toolbar;row-gap:4px;min-width:0;display:flex}.lc-toolbar button{white-space:nowrap}.lc-brand{width:160px;height:auto;margin:0 var(--lc-space-2) 0 0;display:block}.lc-toolbar-sep{background:var(--lc-border);align-self:stretch;width:1px;margin:0 2px}.lc-project-name{color:var(--lc-text-muted);white-space:nowrap;flex:64px;justify-content:flex-end;align-items:center;min-width:0;margin-left:auto;display:flex}.lc-name-inline{font:inherit;color:var(--lc-text);border-radius:var(--lc-radius-control);text-overflow:ellipsis;background:0 0;border:1px solid #0000;width:100%;min-width:64px;max-width:24ch;padding:4px 8px;font-weight:600}.lc-name-inline:hover{border-color:var(--lc-border)}.lc-name-inline:focus,.lc-name-field:focus{outline:2px solid var(--lc-focus);outline-offset:1px;border-color:var(--lc-control-border);background:var(--lc-surface)}.lc-name-field{font:inherit;box-sizing:border-box;border:1px solid var(--lc-control-border);border-radius:var(--lc-radius-control);background:var(--lc-surface);width:100%;color:var(--lc-text);padding:6px 8px}.lc-input--error{border-color:var(--lc-trip)!important}.lc-run{align-items:center;gap:var(--lc-space-1);display:flex}.lc-button.lc-button--run{background:var(--lc-action);border-color:var(--lc-action);min-width:84px;color:var(--lc-action-text)}.lc-button.lc-button--run:hover:not(:disabled){background:var(--lc-action-hover);border-color:var(--lc-action-hover)}.lc-clock{font-weight:var(--lc-font-weight-value);font-variant-numeric:tabular-nums;padding:5px var(--lc-space-2);border-radius:var(--lc-radius-control);background:var(--lc-bg);border:1px solid var(--lc-border);text-align:center;min-width:70px}.lc-clock--running{color:var(--lc-running);border-color:var(--lc-running)}.lc-segmented{border:1px solid var(--lc-control-border);border-radius:var(--lc-radius-control);display:inline-flex;overflow:hidden}.lc-segmented button{font:inherit;font-weight:var(--lc-font-weight-ui);border:0;border-left:1px solid var(--lc-border);background:var(--lc-surface);color:var(--lc-text);cursor:pointer;padding:5px 7px}.lc-segmented button:first-child{border-left:0}.lc-segmented button:hover:not(:disabled,[aria-pressed=true]){background:var(--lc-surface-soft)}.lc-segmented button[aria-pressed=true]{background:var(--lc-action);color:var(--lc-action-text)}.lc-segmented button:disabled{color:var(--lc-text-muted);cursor:default;opacity:.6}.lc-segmented button[aria-pressed=true]:disabled{background:var(--lc-text-muted);color:var(--lc-surface)}.lc-button,.lc-mini-button{font:inherit;font-weight:var(--lc-font-weight-ui);padding:5px var(--lc-space-2);border:1px solid var(--lc-control-border);border-radius:var(--lc-radius-control);background:var(--lc-surface);color:var(--lc-text);cursor:pointer}.lc-button:hover:not(:disabled),.lc-mini-button:hover:not(:disabled){background:var(--lc-surface-soft)}.lc-button:disabled,.lc-mini-button:disabled{color:var(--lc-text-muted);border-color:var(--lc-border);opacity:.7;cursor:default}.lc-button--danger{color:var(--lc-trip)}.lc-mini-button{font-size:var(--lc-font-size-small);padding:3px 8px}.lc-theme-toggle{place-items:center;width:32px;height:32px;padding:0;display:inline-grid}.lc-theme-toggle svg{fill:currentColor;width:16px;height:16px}.lc-theme-toggle[aria-pressed=true]{background:var(--lc-surface-soft);border-color:var(--lc-brand)}.lc-menu{position:relative}.lc-menu-list{z-index:20;min-width:300px;padding:var(--lc-space-2);background:var(--lc-surface);border:1px solid var(--lc-border);border-radius:var(--lc-radius-card);box-shadow:0 6px 20px var(--lc-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0}.lc-menu-list button{font:inherit;text-align:left;border-radius:var(--lc-radius-control);color:var(--lc-text);cursor:pointer;background:0 0;border:0;padding:6px 10px}.lc-menu-list button:hover{background:var(--lc-surface-soft)}.lc-menu-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--lc-text-muted);padding:8px 10px 2px;font-size:11px;font-weight:700}.lc-check-badge{font:inherit;font-weight:var(--lc-font-weight-ui);border-radius:var(--lc-radius-pill);border:1px solid var(--lc-brand);color:var(--lc-text);background:var(--lc-surface);cursor:pointer;white-space:nowrap;padding:4px 10px}.lc-check-badge:before{content:"✓ ";color:var(--lc-brand)}.lc-check-badge--warn{border-color:var(--lc-open-end)}.lc-check-badge--warn:before{content:"! ";color:var(--lc-open-end);font-weight:800}.lc-palette,.lc-sidebar{background:var(--lc-surface);padding:var(--lc-space-3) var(--lc-space-4);overflow-y:auto}.lc-palette{border-right:1px solid var(--lc-border);grid-area:palette}.lc-sidebar--right{border-left:1px solid var(--lc-border);grid-area:panel}.lc-sidebar-title{font-size:var(--lc-font-size-ui);margin:0 0 4px;font-weight:700}.lc-hint{color:var(--lc-text-muted);margin:4px 0 10px;line-height:1.4}.lc-palette-category{text-transform:uppercase;letter-spacing:.04em;color:var(--lc-text-muted);margin:12px 0 4px;font-size:11px;font-weight:700}.lc-palette-item{font:inherit;border-radius:var(--lc-radius-control);width:100%;color:var(--lc-text);cursor:grab;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:4px 6px;display:flex}.lc-palette-item:hover{border-color:var(--lc-border);background:var(--lc-surface-soft)}.lc-palette-item svg{flex:none;width:40px}.lc-canvas{grid-area:canvas;min-width:0;min-height:0;position:relative}.lc-markers{width:0;height:0;position:absolute}.lc-flow-arrow{fill:var(--lc-pipe)}.lc-empty{color:var(--lc-text-muted);background:var(--lc-surface);border:1px dashed var(--lc-border);border-radius:var(--lc-radius-card);margin-top:40px;padding:10px 16px}.lc-legend{color:var(--lc-text-muted);background:var(--lc-overlay);border:1px solid var(--lc-border);border-radius:var(--lc-radius-control);flex-wrap:wrap;gap:4px 14px;padding:6px 10px;font-size:11px;display:flex;margin-left:56px!important}.lc-legend span{align-items:center;gap:6px;display:inline-flex}.lc-legend-line{border-top:var(--lc-line-process) solid var(--lc-pipe);width:26px;height:0;display:inline-block}.lc-legend-line--signal{border-top:2px dashed var(--lc-signal)}.lc-legend-line--pv{background:repeating-linear-gradient(90deg, var(--lc-pv) 0 8px, transparent 8px 11px, var(--lc-pv) 11px 13px, transparent 13px 16px);border:0;height:2px}.lc-symbol{color:var(--lc-symbol);display:block;overflow:visible}.lc-sym-body{fill:var(--lc-symbol-fill);stroke:currentColor;stroke-width:2px;stroke-linejoin:round}.lc-sym-line{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round}.lc-sym-unknown{stroke-dasharray:5 3}.lc-sym-text{fill:currentColor;stroke:none;font-family:inherit;font-size:11px}.lc-sym-text--letters{font-weight:700}.lc-node{position:relative}.lc-node-tag{white-space:nowrap;pointer-events:none;font-size:12px;font-weight:600;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.lc-node--selected .lc-symbol{color:var(--lc-select);filter:drop-shadow(0 0 2px var(--lc-select-halo)) drop-shadow(0 0 4px var(--lc-select-halo))}.lc-node--selected .lc-node-tag{color:var(--lc-select);text-decoration:underline;-webkit-text-decoration-color:var(--lc-select-halo);text-decoration-color:var(--lc-select-halo);text-decoration-thickness:3px}.lc-node--unknown .lc-symbol{color:var(--lc-text-muted)}.react-flow__handle.lc-port{border-style:solid;border-width:2px;width:9px;min-width:0;height:9px;min-height:0;transition:scale .1s}.react-flow__handle.lc-port--fluid{background:var(--lc-pipe);border-color:var(--lc-pipe);border-radius:50%}.react-flow__handle.lc-port--signal{background:var(--lc-surface);border-color:var(--lc-signal);border-style:dashed;border-radius:0}.react-flow__handle.lc-port--pv{background:var(--lc-surface);border-color:var(--lc-pv);transform-origin:50%;border-radius:0;rotate:45deg}.react-flow__handle.lc-port--open{background:var(--lc-surface);border-color:var(--lc-open-end);box-shadow:0 0 0 3px color-mix(in srgb, var(--lc-open-end) 30%, transparent)}.react-flow__handle.lc-port--accepts{box-shadow:0 0 0 3px var(--lc-select-halo);scale:1.5}.react-flow__handle.lc-port--refuses{opacity:.25}.react-flow__handle.lc-port.connectingto.lc-port--refuses,.react-flow__handle.lc-port.connectingto.lc-port--refuses:hover{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, var(--lc-trip) 45%, transparent)}.lc-port-label{white-space:nowrap;color:var(--lc-text);background:var(--lc-overlay);border:1px solid var(--lc-border);border-radius:var(--lc-radius-small);pointer-events:none;padding:2px 4px;font-size:10px;line-height:1;display:none;position:absolute;rotate:0deg}.lc-port--pv .lc-port-label{rotate:-45deg}.react-flow__handle.lc-port:hover .lc-port-label{z-index:10;display:block}.lc-port-label--left{top:50%;right:12px;translate:0 -50%}.lc-port-label--right{top:50%;left:12px;translate:0 -50%}.lc-port-label--top{bottom:12px;left:50%;translate:-50%}.lc-port-label--bottom{top:12px;left:50%;translate:-50%}.react-flow__edge-path.lc-edge{fill:none}.react-flow__edge-path.lc-edge--fluid{stroke:var(--lc-pipe);stroke-width:var(--lc-line-process)}.react-flow__edge-path.lc-edge--signal{stroke:var(--lc-signal);stroke-width:var(--lc-line-signal);stroke-dasharray:6 4}.react-flow__edge-path.lc-edge--pv{stroke:var(--lc-pv);stroke-width:var(--lc-line-signal);stroke-dasharray:10 4 2 4}.react-flow__edge-path.lc-edge--selected,.react-flow__edge:hover .react-flow__edge-path.lc-edge{stroke:var(--lc-select)}.react-flow__edge .react-flow__edge-interaction{stroke:#0000;cursor:pointer}.react-flow__edge:hover .react-flow__edge-interaction{stroke:color-mix(in srgb, var(--lc-select-halo) 45%, transparent)}.react-flow__edge.selected .react-flow__edge-interaction{stroke:var(--lc-select-halo)}.react-flow__edge-path.lc-edge--fluid.lc-edge--flowing{stroke-dasharray:10 4;animation:1s linear infinite lc-flow}@keyframes lc-flow{to{stroke-dashoffset:-14px}}@media (prefers-reduced-motion:reduce){.react-flow__edge-path.lc-edge--fluid.lc-edge--flowing{stroke-dasharray:none;animation:none}}.lc-edge-label{pointer-events:none;z-index:5;position:absolute}.lc-flow-label{font-variant-numeric:tabular-nums;color:var(--lc-text);background:var(--lc-overlay);border:1px solid var(--lc-border);border-radius:var(--lc-radius-small);white-space:nowrap;pointer-events:none;padding:1px 5px;font-size:10px;display:inline-block}.lc-flow-label--none{color:var(--lc-text-muted)}.lc-edge-delete{pointer-events:all;width:22px;height:22px;font:700 15px/1 var(--lc-font);color:var(--lc-on-status);background:var(--lc-trip);border:2px solid var(--lc-surface);box-shadow:0 1px 4px var(--lc-shadow);cursor:pointer;border-radius:50%;padding:0}.lc-edge-delete:hover{background:color-mix(in srgb, var(--lc-trip) 80%, var(--lc-text))}.lc-sym-liquid{fill:var(--lc-liquid);stroke:none}.lc-sym-reading{paint-order:stroke;stroke:var(--lc-overlay);stroke-width:3px;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.lc-sym-body.lc-run--running{fill:var(--lc-running)}.lc-sym-body.lc-run--starting{fill:var(--lc-warning)}.lc-sym-body.lc-run--tripped{fill:var(--lc-trip)}.lc-sym-body.lc-run--stopped{fill:color-mix(in srgb, var(--lc-stopped) 22%, var(--lc-symbol-fill))}.lc-sym-body:is(.lc-run--running,.lc-run--starting,.lc-run--tripped)+.lc-sym-line{stroke:var(--lc-on-status)}.lc-readout{font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;color:var(--lc-text);flex-direction:column;gap:1px;font-size:11px;line-height:1.25;display:flex;position:absolute}.lc-readout--below{align-items:center;top:calc(100% + 22px);left:50%;transform:translate(-50%)}.lc-readout--below.lc-readout--no-tag{top:calc(100% + 6px)}.lc-readout--right{background:var(--lc-overlay);border:1px solid var(--lc-border);border-radius:var(--lc-radius-small);padding:3px 6px;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.lc-readout b{min-width:26px;color:var(--lc-text-muted);font-weight:600;display:inline-block}.lc-readout-mode{text-transform:uppercase;letter-spacing:.05em;color:var(--lc-text-muted);font-size:10px;font-weight:700}.lc-readout-alarm{color:var(--lc-trip);font-weight:700}.lc-readout-alarm:before{content:"⚠ "}.lc-badges{pointer-events:none;gap:3px;display:flex;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.lc-badge{border-radius:var(--lc-radius-small);white-space:nowrap;color:var(--lc-on-status);padding:1px 5px;font-size:10px;font-weight:700}.lc-badge--alarm{background:var(--lc-warning)}.lc-badge--fault{background:var(--lc-trip);pointer-events:auto}.lc-node--faulted .lc-symbol{filter:drop-shadow(0 0 3px var(--lc-trip))}.lc-node--faulted:after{content:"";border:2px dashed var(--lc-trip);border-radius:var(--lc-radius-control);pointer-events:none;position:absolute;inset:-5px}.lc-panel-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.lc-panel-type{font-weight:700;font-size:var(--lc-font-size-ui)}.lc-panel-subtitle{text-transform:uppercase;letter-spacing:.04em;color:var(--lc-text-muted);margin:16px 0 6px;font-size:11px;font-weight:700}.lc-field{grid-template-columns:1fr;gap:3px;margin-bottom:9px;display:grid}.lc-field>label,.lc-label{color:var(--lc-text-muted);font-size:var(--lc-font-size-small);font-weight:var(--lc-font-weight-small)}.lc-field--check{grid-template-columns:auto 1fr;align-items:center}.lc-field--check>label{color:var(--lc-text)}.lc-field--check .lc-field-error{grid-column:1/-1}.lc-field-input{align-items:center;gap:6px;display:flex}.lc-field input[type=text],.lc-field select{font:inherit;box-sizing:border-box;border:1px solid var(--lc-control-border);border-radius:var(--lc-radius-control);background:var(--lc-surface);width:100%;min-width:0;color:var(--lc-text);padding:6px 8px}.lc-field input[type=text]:focus,.lc-field select:focus{outline:2px solid var(--lc-focus);outline-offset:1px}.lc-field input:disabled{background:var(--lc-bg);color:var(--lc-text-muted);border-color:var(--lc-border);cursor:not-allowed}.lc-field input::placeholder{color:var(--lc-text-muted);font-style:italic}.lc-tag-input{letter-spacing:.02em;font-weight:600}.lc-unit{min-width:42px;color:var(--lc-text-muted);white-space:nowrap;flex:none}.lc-field--error input{border-color:var(--lc-trip)}.lc-field-error{color:var(--lc-trip);font-size:var(--lc-font-size-small)}.lc-readonly{font-size:var(--lc-font-size-small);font-variant-numeric:tabular-nums}.lc-note{padding:var(--lc-space-3);background:var(--lc-warning-soft);border:1px solid var(--lc-warning);border-radius:var(--lc-radius-card)}.lc-facts{grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 8px;display:grid}.lc-facts dt{color:var(--lc-text-muted)}.lc-facts dd{margin:0}.lc-check-ok{color:var(--lc-text)}.lc-check-ok:before{content:"✓ ";color:var(--lc-brand);font-weight:700}.lc-check-list{margin:0 0 12px;padding:0;list-style:none}.lc-link{font:inherit;color:var(--lc-text);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;display:inline-flex}.lc-link:hover{color:var(--lc-text);text-decoration:underline;-webkit-text-decoration-color:var(--lc-brand);text-decoration-color:var(--lc-brand)}.lc-open-dot{border:2px solid var(--lc-open-end);width:7px;height:7px;box-shadow:0 0 0 2px color-mix(in srgb, var(--lc-open-end) 30%, transparent);border-radius:50%;display:inline-block}.lc-toasts{z-index:50;flex-direction:column;gap:6px;max-width:min(560px,90vw);display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.lc-toast{padding:var(--lc-space-3) var(--lc-space-4);border-radius:var(--lc-radius-card);background:var(--lc-text);color:var(--lc-surface);box-shadow:0 4px 14px var(--lc-shadow);line-height:1.4}.lc-toast--error{background:var(--lc-trip);color:var(--lc-on-status)}.lc-toast--error:before{content:"⚠ "}.lc-tabs{border-bottom:1px solid var(--lc-border);gap:2px;margin:-2px 0 10px;display:flex}.lc-tab{font:inherit;color:var(--lc-text-muted);font-weight:var(--lc-font-weight-ui);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 12px}.lc-tab[aria-selected=true]{color:var(--lc-text);border-bottom:3px solid var(--lc-brand)}.lc-panel-subtype{color:var(--lc-text-muted);font-weight:400;font-size:var(--lc-font-size-small);margin-left:4px}.lc-field-hint{color:var(--lc-text-muted);font-size:11px}.lc-op{margin-bottom:12px}.lc-op-current{float:right;color:var(--lc-text);font-variant-numeric:tabular-nums}.lc-op-buttons{gap:6px;margin-bottom:8px;display:flex}.lc-bars{gap:6px;margin-bottom:14px;display:grid}.lc-bar{font-variant-numeric:tabular-nums;grid-template-columns:30px 1fr 74px;align-items:center;gap:6px;display:grid}.lc-bar-label{color:var(--lc-text-muted);font-size:11px;font-weight:700}.lc-bar-track{background:var(--lc-bg);border:1px solid var(--lc-border);border-radius:var(--lc-radius-small);height:12px;overflow:hidden}.lc-bar-fill{background:var(--lc-pipe);height:100%;transition:width .1s linear;display:block}.lc-bar--sp .lc-bar-fill{background:var(--lc-signal)}.lc-bar--out .lc-bar-fill{background:var(--lc-pv)}.lc-bar-text{text-align:right}.lc-readings dd{font-variant-numeric:tabular-nums}.lc-reading--alarm dd,.lc-reading--alarm dt{color:var(--lc-trip);font-weight:600}.lc-reading--alarm dt:before{content:"⚠ "}.lc-faults{gap:6px;margin:0;padding:0;list-style:none;display:grid}.lc-fault{padding:var(--lc-space-2) var(--lc-space-3);border:1px solid var(--lc-border);border-radius:var(--lc-radius-card)}.lc-fault--active{border-color:var(--lc-trip);background:var(--lc-trip-soft)}.lc-fault-head{justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.lc-fault-name{font-weight:600}.lc-fault-meta{color:var(--lc-text-muted);text-align:right;font-size:11px}.lc-fault--active .lc-fault-meta{color:var(--lc-trip)}.lc-fault-param{margin-bottom:4px}.lc-fault-actions{gap:6px;display:flex}.lc-connections{margin:0 0 10px;padding:0;list-style:none}.lc-connections li{align-items:center;gap:8px;padding:3px 0;display:flex}.lc-connections .lc-legend-line{flex:0 0 18px;width:18px}.lc-connection-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lc-icon-button{width:22px;height:22px;font:700 14px/1 var(--lc-font);color:var(--lc-trip);background:var(--lc-surface);border:1px solid var(--lc-control-border);cursor:pointer;border-radius:50%;flex:none;padding:0}.lc-icon-button:hover{border-color:var(--lc-trip);background:var(--lc-trip-soft)}.lc-context-menu{z-index:60;min-width:190px;position:fixed;top:auto;left:auto}.lc-context-menu .lc-button--danger{color:var(--lc-trip)}.lc-trend{background:var(--lc-surface);border-top:1px solid var(--lc-border);box-sizing:border-box;flex-direction:column;grid-area:trend;min-width:0;height:250px;padding:6px 10px 4px;display:flex}.lc-trend-header{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:4px;display:flex}.lc-trend-header .lc-hint{margin:0}.lc-trend-hide{margin-left:auto}.lc-trend-show{grid-area:trend;justify-self:start;margin:6px 10px}.lc-trend-picker{max-height:260px;top:auto;bottom:calc(100% + 4px);overflow-y:auto}.lc-trend-pick{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:3px 6px;display:flex}.lc-trend-pick .lc-unit{min-width:0;margin-left:auto;padding-left:10px}.lc-trend-range{font-size:var(--lc-font-size-small);color:var(--lc-text-muted);align-items:center;gap:4px;display:inline-flex}.lc-trend-range input[type=text],.lc-trend-range input:not([type]){width:52px;font:inherit;border:1px solid var(--lc-control-border);border-radius:var(--lc-radius-control);background:var(--lc-surface);color:var(--lc-text);padding:2px 6px}.lc-trend-plot{flex:1;min-height:0;overflow:hidden}.lc-trend-empty{flex:1}.lc-trend .u-legend{text-align:left;color:var(--lc-text);font-variant-numeric:tabular-nums;font-size:11px}.lc-trend .u-legend th{font-weight:600}.lc-warning-text{color:var(--lc-warning);text-align:left}.lc-tap-point{fill:var(--lc-surface);stroke:var(--lc-pv);stroke-width:2px}.lc-tap-line{fill:none;stroke:var(--lc-pv);stroke-width:1.5px;stroke-dasharray:8 3 2 3;pointer-events:none}.lc-true-value{color:var(--lc-engineering);background:var(--lc-engineering-soft);border:1px dashed var(--lc-engineering-border);border-radius:var(--lc-radius-small);padding:0 4px}.lc-true-value:before{content:"≡ ";font-weight:700}.lc-flow-label.lc-true-value{color:var(--lc-engineering);background:var(--lc-engineering-soft);border:1px dashed var(--lc-engineering-border)}.lc-sym-liquid--true{fill:var(--lc-engineering-fill)}.lc-sym-reading--true{fill:var(--lc-engineering)}.lc-badge--true{background:var(--lc-engineering);color:var(--lc-engineering-soft)}.lc-canvas--engineering .react-flow{--xy-background-color:var(--lc-engineering-canvas)}.lc-view-banner{font-size:var(--lc-font-size-small);color:var(--lc-engineering);background:var(--lc-engineering-soft);border:1px dashed var(--lc-engineering-border);border-radius:var(--lc-radius-control);padding:4px 10px;font-weight:600}.lc-view-toggle button[aria-pressed=true]{font-weight:700}.lc-canvas .react-flow{--xy-background-color:var(--lc-bg);--xy-background-pattern-color:var(--lc-canvas-dots);--xy-controls-button-background-color:var(--lc-surface);--xy-controls-button-background-color-hover:var(--lc-surface-soft);--xy-controls-button-color:var(--lc-text);--xy-controls-button-color-hover:var(--lc-text);--xy-controls-button-border-color:var(--lc-border);--xy-controls-box-shadow:0 1px 4px var(--lc-shadow);--xy-attribution-background-color:var(--lc-overlay);--xy-selection-background-color:color-mix(in srgb, var(--lc-select-halo) 25%, transparent);--xy-selection-border:1px dotted var(--lc-select);background-color:var(--xy-background-color);font-family:var(--lc-font)}.lc-canvas .react-flow__controls{border-radius:var(--lc-radius-control);overflow:hidden}.lc-canvas .react-flow__attribution a{color:var(--lc-text-muted)}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}@font-face{font-family:Manrope;src:url(/assets/Manrope-Variable-cEkRO9-c.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--lc-forest:#303c2c;--lc-olive:#697844;--lc-olive-strong:#536136;--lc-citron:#d9e76c;--lc-pale:#e8ebd0;--lc-canvas:#f2f0db;--lc-chalk:#fffef4;--lc-moss:#5b6351;--lc-sage:#cbd1b7;--lc-rule:#d5d8bd;--lc-rule-dark:#56634a;--lc-night:#20271e;--lc-white:#fff;--lc-font:"Manrope", system-ui, sans-serif;--lc-font-size-h1:48px;--lc-font-weight-h1:800;--lc-line-height-h1:1.15;--lc-font-size-h2:32px;--lc-font-weight-h2:700;--lc-line-height-h2:1.15;--lc-font-size-body:16px;--lc-font-weight-body:400;--lc-line-height-body:1.6;--lc-font-size-ui:14px;--lc-font-weight-ui:600;--lc-line-height-ui:1.4;--lc-font-size-small:12px;--lc-font-weight-small:500;--lc-line-height-small:1.35;--lc-font-size-value:16px;--lc-font-weight-value:600;--lc-line-height-value:1.4;--lc-space-1:4px;--lc-space-2:8px;--lc-space-3:12px;--lc-space-4:16px;--lc-space-6:24px;--lc-space-8:32px;--lc-space-12:48px;--lc-radius-small:4px;--lc-radius-control:8px;--lc-radius-card:16px;--lc-radius-pill:999px;--lc-line-ui:1px;--lc-line-icon:2px;--lc-line-process:3px;--lc-line-signal:1.5px;--lc-brand:#697844;--lc-accent:#d9e76c;--lc-bg:#f2f0db;--lc-surface:#fffef4;--lc-surface-soft:#e8ebd0;--lc-overlay:#fffef4eb;--lc-text:#303c2c;--lc-text-muted:#5b6351;--lc-border:#d5d8bd;--lc-control-border:#5b6351;--lc-focus:#536136;--lc-action:#697844;--lc-action-hover:#536136;--lc-action-text:#fff;--lc-shadow:#303c2c2e;--lc-running:#166534;--lc-warning:#92400e;--lc-trip:#b91c1c;--lc-stopped:#5b6351;--lc-on-status:#fff;--lc-warning-soft:#fbf0d9;--lc-trip-soft:#fbe9e6;--lc-pipe:#697844;--lc-signal:#5b6351;--lc-pv:#1d6f78;--lc-open-end:#c2410c;--lc-liquid:#a9cfe3;--lc-symbol:#303c2c;--lc-symbol-fill:#fffef4;--lc-select:#303c2c;--lc-select-halo:#d9e76cd9;--lc-canvas-dots:#c9ccae;--lc-engineering:#6b3fa0;--lc-engineering-soft:#f1eafb;--lc-engineering-border:#9b7bc8;--lc-engineering-fill:#c9b2ec;--lc-engineering-canvas:#f4eff4;--lc-trend-1:#2f64a8;--lc-trend-2:#c2410c;--lc-trend-3:#4d7c0f;--lc-trend-4:#0e7490;--lc-trend-5:#a16207;--lc-trend-6:#be185d}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--lc-brand:#d9e76c;--lc-accent:#d9e76c;--lc-bg:#20271e;--lc-surface:#303c2c;--lc-surface-soft:#3b4836;--lc-overlay:#20271eeb;--lc-text:#fffef4;--lc-text-muted:#cbd1b7;--lc-border:#56634a;--lc-control-border:#cbd1b7;--lc-focus:#d9e76c;--lc-action:#697844;--lc-action-hover:#536136;--lc-action-text:#fff;--lc-shadow:#00000073;--lc-running:#86cb75;--lc-warning:#f3cc62;--lc-trip:#ff9090;--lc-stopped:#cbd1b7;--lc-on-status:#20271e;--lc-warning-soft:#45391c;--lc-trip-soft:#4a2826;--lc-pipe:#a3b46b;--lc-signal:#cbd1b7;--lc-pv:#5fc3cf;--lc-open-end:#fdba74;--lc-liquid:#3f7396;--lc-symbol:#e8ebd0;--lc-symbol-fill:#303c2c;--lc-select:#d9e76c;--lc-select-halo:#d9e76c73;--lc-canvas-dots:#3e4a38;--lc-engineering:#d2bbf7;--lc-engineering-soft:#352b47;--lc-engineering-border:#9c7fd0;--lc-engineering-fill:#7e62b3;--lc-engineering-canvas:#26232c;--lc-trend-1:#7fb2f0;--lc-trend-2:#fb9b6b;--lc-trend-3:#a3d15a;--lc-trend-4:#5cc8db;--lc-trend-5:#e9b949;--lc-trend-6:#f28db8}html,body,#root{height:100%;margin:0}body{font-family:var(--lc-font);font-size:var(--lc-font-size-ui);line-height:var(--lc-line-height-ui);color:var(--lc-text);background:var(--lc-bg)}a{color:var(--lc-action-hover);font-weight:var(--lc-font-weight-ui)}[data-theme=dark] a{color:var(--lc-accent)}.app-page{min-height:100%;padding:var(--lc-space-8) var(--lc-space-4);box-sizing:border-box;place-items:start center;display:grid}.app-card{width:min(420px,100%);padding:var(--lc-space-6);background:var(--lc-surface);border:var(--lc-line-ui) solid var(--lc-border);border-radius:var(--lc-radius-card);box-shadow:0 6px 20px var(--lc-shadow);font-size:var(--lc-font-size-body);line-height:var(--lc-line-height-body)}.app-card--wide{width:min(720px,100%)}.app-card h1{margin:var(--lc-space-4) 0 var(--lc-space-3);font-size:var(--lc-font-size-h2);line-height:var(--lc-line-height-h2);font-weight:var(--lc-font-weight-h2)}.app-card h2{margin:var(--lc-space-6) 0 var(--lc-space-2);font-size:var(--lc-font-size-value)}.app-logo{display:block}.app-form{gap:var(--lc-space-3);margin:var(--lc-space-4) 0;flex-direction:column;display:flex}.app-field{gap:var(--lc-space-1);font-weight:var(--lc-font-weight-ui);flex-direction:column;display:flex}.app-field small,.app-hint{font-weight:var(--lc-font-weight-small);font-size:var(--lc-font-size-small);color:var(--lc-text-muted);display:block}.app-field input,.app-field select,.app-admin-bar input{font:inherit;font-weight:var(--lc-font-weight-body);padding:var(--lc-space-2) var(--lc-space-3);color:var(--lc-text);background:var(--lc-surface);border:var(--lc-line-ui) solid var(--lc-control-border);border-radius:var(--lc-radius-control)}.app-check{gap:var(--lc-space-2);align-items:flex-start;display:flex}.app-check input{accent-color:var(--lc-action);margin-top:3px}.app-error{padding:var(--lc-space-2) var(--lc-space-3);color:var(--lc-trip);background:var(--lc-trip-soft);border-radius:var(--lc-radius-control);margin:0}.app-draft{padding:var(--lc-space-3);color:var(--lc-warning);background:var(--lc-warning-soft);border-radius:var(--lc-radius-control);font-weight:var(--lc-font-weight-ui)}.app-button{font:inherit;font-weight:var(--lc-font-weight-ui);padding:var(--lc-space-2) var(--lc-space-4);color:var(--lc-text);background:var(--lc-surface);border:var(--lc-line-ui) solid var(--lc-control-border);border-radius:var(--lc-radius-control);cursor:pointer}.app-button:hover:not(:disabled){background:var(--lc-surface-soft)}.app-button:disabled{opacity:.6;cursor:default}.app-button--primary{color:var(--lc-action-text);background:var(--lc-action);border-color:var(--lc-action)}.app-button--primary:hover:not(:disabled){background:var(--lc-action-hover)}.app-button--danger{color:var(--lc-trip)}.app-button--small{padding:var(--lc-space-1) var(--lc-space-2);font-size:var(--lc-font-size-small)}.app-button:focus-visible,.app-field input:focus-visible,.app-field select:focus-visible,.app-check input:focus-visible,a:focus-visible{outline:3px solid var(--lc-focus);outline-offset:2px}.app-actions{gap:var(--lc-space-3);flex-wrap:wrap;align-items:center;display:flex}.app-badge{padding:1px var(--lc-space-2);font-size:var(--lc-font-size-small);font-weight:var(--lc-font-weight-ui);border-radius:var(--lc-radius-pill);border:var(--lc-line-ui) solid currentColor;white-space:nowrap;display:inline-block}.app-badge--active{color:var(--lc-running)}.app-badge--pending,.app-badge--unverified{color:var(--lc-warning)}.app-badge--blocked{color:var(--lc-trip)}.app-admin{max-width:1280px;padding:var(--lc-space-6) var(--lc-space-4);margin:0 auto}.app-admin-head{justify-content:space-between;align-items:baseline;display:flex}.app-admin-head h1{font-size:var(--lc-font-size-h2);margin:0}.app-panel{margin-top:var(--lc-space-6);padding:var(--lc-space-4) var(--lc-space-6);background:var(--lc-surface);border:var(--lc-line-ui) solid var(--lc-border);border-radius:var(--lc-radius-card)}.app-panel h2{margin:0 0 var(--lc-space-3);font-size:var(--lc-font-size-value)}.app-panel h2 small{color:var(--lc-text-muted);font-weight:var(--lc-font-weight-small)}.app-admin-bar{gap:var(--lc-space-3);flex-wrap:wrap;align-items:center;display:flex}.app-admin-bar h2{flex:1;margin:0}.app-table-wrap{margin-top:var(--lc-space-3);overflow-x:auto}.app-table{border-collapse:collapse;width:100%}.app-table th,.app-table td{padding:var(--lc-space-2) var(--lc-space-3);text-align:left;border-bottom:var(--lc-line-ui) solid var(--lc-border);vertical-align:top}.app-table th{font-size:var(--lc-font-size-small);color:var(--lc-text-muted);white-space:nowrap}.app-num{text-align:right;font-variant-numeric:tabular-nums}.app-row-actions{gap:var(--lc-space-2);white-space:nowrap;display:flex}.app-account{align-items:center;gap:var(--lc-space-3);margin-left:auto;display:inline-flex}.app-save-status{color:var(--lc-text-muted);font-size:var(--lc-font-size-small)}.app-account-list{min-width:240px;left:auto;right:0}.app-account-list a{text-decoration:none}.app-menu-item{border-radius:var(--lc-radius-control);color:var(--lc-text);font-weight:var(--lc-font-weight-ui);padding:6px 10px;display:block}.app-menu-item:hover{background:var(--lc-surface-soft)}.app-menu-note{color:var(--lc-text-muted);font-size:var(--lc-font-size-small);padding:0 10px 6px}.lc-menu-list .app-menu-danger{color:var(--lc-trip)}.app-backdrop{z-index:50;padding:var(--lc-space-4);background:var(--lc-overlay);place-items:center;display:grid;position:fixed;inset:0}.app-dialog{width:min(680px,100%);max-height:85vh;padding:var(--lc-space-4) var(--lc-space-6) var(--lc-space-6);background:var(--lc-surface);border:var(--lc-line-ui) solid var(--lc-border);border-radius:var(--lc-radius-card);box-shadow:0 12px 32px var(--lc-shadow);overflow:auto}.app-dialog-head{justify-content:space-between;align-items:center;display:flex}.app-dialog-head h2{font-size:var(--lc-font-size-h2);margin:0}.app-projects{margin:var(--lc-space-3) 0 0;padding:0;list-style:none}.app-projects li{justify-content:space-between;gap:var(--lc-space-3);padding:var(--lc-space-3) 0;border-bottom:var(--lc-line-ui) solid var(--lc-border);flex-wrap:wrap;align-items:center;display:flex}.app-project-main{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.app-project-main small{color:var(--lc-text-muted)}.app-toast{left:50%;bottom:var(--lc-space-6);z-index:60;max-width:min(640px,90vw);padding:var(--lc-space-3) var(--lc-space-4);color:var(--lc-text);background:var(--lc-surface);border:var(--lc-line-ui) solid var(--lc-control-border);border-radius:var(--lc-radius-control);box-shadow:0 6px 20px var(--lc-shadow);position:fixed;transform:translate(-50%)}.app-toast--error{color:var(--lc-trip);background:var(--lc-trip-soft);border-color:var(--lc-trip)}
