.gdg-mnuv029{word-break:break-word;-webkit-touch-callout:default;padding-top:6px}.gdg-mnuv029>*{margin:0}.gdg-mnuv029 *:last-child{margin-bottom:0}.gdg-mnuv029 p img{width:100%}.gdg-d19meir1{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden;box-sizing:border-box;--overlay-top:var(--d19meir1-0);left:var(--d19meir1-1);top:var(--d19meir1-0);min-width:var(--d19meir1-2);min-height:var(--d19meir1-3);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:400px;max-height:calc(100vh - var(--d19meir1-4));font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);text-align:start}@-webkit-keyframes glide_fade_in-gdg-d19meir1{0%{opacity:0%}to{opacity:100%}}@keyframes glide_fade_in-gdg-d19meir1{0%{opacity:0%}to{opacity:100%}}.gdg-d19meir1.gdg-style{border-radius:2px;background-color:var(--gdg-bg-cell);box-shadow:0 0 0 1px var(--gdg-accent-color),0 0 1px #3e415666,0 6px 12px #3e415626;-webkit-animation:glide_fade_in-gdg-d19meir1 60ms 1;animation:glide_fade_in-gdg-d19meir1 60ms 1}.gdg-d19meir1.gdg-pad{padding:var(--d19meir1-5) 8.5px 3px}.gdg-d19meir1 .gdg-clip-region{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-radius:2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.gdg-d19meir1 .gdg-clip-region .gdg-growing-entry{height:100%}.gdg-d19meir1 .gdg-clip-region input.gdg-input{width:100%;border:none;border-width:0;outline:none}.gdg-d19meir1 .gdg-clip-region textarea.gdg-input{border:none;border-width:0;outline:none}.gdg-b1ygi5by{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:auto;margin-bottom:auto}.gdg-b1ygi5by .boe-bubble{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--gdg-rounding-radius,10px);padding:0 8px;height:20px;background-color:var(--gdg-bg-bubble);color:var(--gdg-text-dark);margin:2px}.gdg-b1ygi5by textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-n15fjm3e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:6px 0 3px;color:var(--gdg-text-dark)}.gdg-n15fjm3e>input{font-size:var(--gdg-editor-font-size);padding:0;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);background-color:var(--gdg-bg-cell)}.gdg-d4zsq0x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.gdg-d4zsq0x .doe-bubble{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 8px;height:24px;background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);margin:2px;border-radius:var(--gdg-rounding-radius,6px);box-shadow:0 0 1px #3e415666,0 1px 3px #3e415666}.gdg-d4zsq0x .doe-bubble img{height:16px;object-fit:contain;margin-right:4px}.gdg-d4zsq0x textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-i2iowwq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}.gdg-i2iowwq .gdg-centering-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.gdg-i2iowwq .gdg-centering-container img,.gdg-i2iowwq .gdg-centering-container canvas{max-height:calc(100vh - var(--overlay-top) - 20px);object-fit:contain;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.gdg-i2iowwq .gdg-centering-container canvas{max-width:380px}.gdg-i2iowwq .gdg-edit-icon{position:absolute;top:12px;right:0;width:48px;height:48px;color:var(--gdg-accent-color);cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gdg-i2iowwq .gdg-edit-icon>*{width:24px;height:24px}.gdg-i2iowwq textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-u1rrojo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:21px}.gdg-u1rrojo .gdg-link-area{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;cursor:pointer;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gdg-link-color);-webkit-text-decoration:underline!important;text-decoration:underline!important}.gdg-u1rrojo .gdg-edit-icon{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:32px;color:var(--gdg-accent-color);cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gdg-u1rrojo .gdg-edit-icon>*{width:24px;height:24px}.gdg-u1rrojo textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-m1pnx84e{min-width:var(--m1pnx84e-0);width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;position:relative;color:var(--gdg-text-dark)}.gdg-m1pnx84e .gdg-g1y0xocz{-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.gdg-m1pnx84e .gdg-spacer{-webkit-flex:1;-ms-flex:1;flex:1}.gdg-m1pnx84e .gdg-edit-icon{position:relative;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--gdg-accent-color);padding:0;height:24px;width:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all "0.125s ease";transition:all "0.125s ease";border-radius:6px}.gdg-m1pnx84e .gdg-edit-icon>*{width:16px;height:16px}.gdg-m1pnx84e .gdg-edit-hover:hover{background-color:var(--gdg-accent-light);-webkit-transition:background-color .15s;transition:background-color .15s}.gdg-m1pnx84e .gdg-checkmark-hover:hover{color:#fff;background-color:var(--gdg-accent-color)}.gdg-m1pnx84e .gdg-md-edit-textarea{position:relative;top:0;left:0;width:0px;height:0px;margin-top:25px;opacity:0;padding:0}.gdg-m1pnx84e .gdg-ml-6{margin-left:6px}.gdg-s1dgczr6 .dvn-scroller{overflow:var(--s1dgczr6-0);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}.gdg-s1dgczr6 .dvn-hidden{visibility:hidden}.gdg-s1dgczr6 .dvn-scroll-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;pointer-events:none}.gdg-s1dgczr6 .dvn-scroll-inner>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-spacer{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-stack{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.gdg-s1dgczr6 .dvn-underlay>*{position:absolute;left:0;top:0}.gdg-s1dgczr6 canvas{outline:none}.gdg-s1dgczr6 canvas *{height:0}.gdg-izpuzkl{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;border-radius:0;resize:none;white-space:pre-wrap;min-width:100%;overflow:hidden;border:0;background-color:transparent;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);-webkit-text-fill-color:var(--gdg-text-dark);color:var(--gdg-text-dark);padding:0;margin:0}.gdg-izpuzkl::-webkit-input-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl::-moz-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl:-ms-input-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl::placeholder{color:var(--gdg-text-light)}.gdg-invalid .gdg-izpuzkl{-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:#d60606;text-decoration-color:#d60606}.gdg-s69h75o{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;min-width:100%;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);padding:0 0 2px;margin:0}.gdg-g1y0xocz{position:relative;margin-top:6px}.gdg-seveqep{position:absolute;top:4px;right:20px;background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);padding:8px;border:1px solid var(--gdg-border-color);border-radius:6px;font-size:var(--gdg-editor-font-size);-webkit-animation:gdg-search-fadein-gdg-seveqep .15s forwards;animation:gdg-search-fadein-gdg-seveqep .15s forwards}.gdg-seveqep.out{-webkit-animation:gdg-search-fadeout-gdg-seveqep .15s forwards;animation:gdg-search-fadeout-gdg-seveqep .15s forwards}.gdg-seveqep .gdg-search-bar-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.gdg-seveqep .gdg-search-status{padding-top:4px;font-size:11px}.gdg-seveqep .gdg-search-progress{position:absolute;height:4px;left:0;bottom:0;background-color:var(--gdg-text-light)}.gdg-seveqep input{width:220px;color:var(--gdg-textDark);background-color:var(--gdg-bg-cell);border:none;border-width:0;outline:none}.gdg-seveqep button{width:24px;height:24px;padding:0;border:none;outline:none;background:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;color:var(--gdg-text-medium)}.gdg-seveqep button:hover{color:var(--gdg-text-dark)}.gdg-seveqep button .button-icon{width:16px;height:16px}.gdg-seveqep button:disabled{opacity:.4;pointer-events:none}@-webkit-keyframes gdg-search-fadeout-gdg-seveqep{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}to{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}}@keyframes gdg-search-fadeout-gdg-seveqep{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}to{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}}@-webkit-keyframes gdg-search-fadein-gdg-seveqep{0%{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}to{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}}@keyframes gdg-search-fadein-gdg-seveqep{0%{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}to{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}}.gdg-wmyidgi{position:relative;min-width:10px;min-height:10px;max-width:100%;max-height:100%;width:var(--wmyidgi-0);height:var(--wmyidgi-1);overflow:hidden;overflow:clip;direction:ltr}.gdg-wmyidgi>:first-child{position:absolute;left:0;top:0;width:100%;height:100%}.gdg-r17m35ur{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border:none;outline:none;background-color:var(--gdg-bg-header-has-focus);border-radius:9px;padding:0 8px;box-shadow:0 0 0 1px var(--gdg-border-color);color:var(--gdg-text-group-header);min-height:var(--r17m35ur-0);font:var(--gdg-header-font-style) var(--gdg-font-family)}.gdg-c1tqibwd{padding:0 8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--gdg-bg-header)}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.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:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;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:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.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.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@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}.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-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.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:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.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:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform: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:#3367d9;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%}:root{--gm-cyan: #006c49;--gm-cyan-light: #c5f3da;--gm-cyan-bg: #e3f6ec;--gm-cyan-deep: #00513a;--gm-accent: #006c49;--gm-accent-bg: #d7f3e4;--gm-text: #0b1c30;--gm-text-muted: #45464d;--gm-text-faint: #64748b;--gm-border: #c6c6cd;--gm-border-soft: #eef2f6;--gm-bg: #ffffff;--gm-bg-2: #f8fafc;--gm-bg-3: #f1f5f9;--gm-canvas-bg: #eef2fb;--gm-launch-red: #ba1a1a;--gm-blue: #3980f4;--gm-focus-bg: rgba(57,128,244,.35);--gm-surface: #f8f9ff;--gm-mono: "JetBrains Mono", Consolas, "Courier New", monospace;--gm-radius: 8px;--gm-radius-lg: 12px;--gm-panel: #ffffff;--gm-border-strong:#9ca3af;--gm-modal-bg: #ffffff;--gm-modal-header-bg: #f1f5f9;--gm-modal-border: #c6c6cd;--gm-modal-shadow: 0 12px 40px rgba(0,0,0,.22);--gm-info-bg: #eff6ff;--gm-info-border: #bfdbfe;--gm-info-text: #1e40af;--gm-warn-bg: #fff7ed;--gm-warn-border: #fed7aa;--gm-warn-text: #9a3412;--gm-err-bg: #fef2f2;--gm-err-border: #fecaca;--gm-err-text: #991b1b;--gm-ok-bg: #ecfdf5;--gm-ok-border: #a7f3d0;--gm-ok-text: #065f46;--gm-note-bg: #fff9c4;--gm-note-border: #fbc02d;--gm-note-text: #5d4037;--gm-link: #1d4ed8;--gm-danger-text: #dc2626;--gm-syn-key: #7c3aed;--gm-syn-val: #15803d;--gm-syn-num: #c2410c;--gm-syn-var: #0e7490;--gm-syn-sel: rgba(0,108,73,.18)}:root[data-theme=dark]{--gm-cyan: #2f9e6e;--gm-cyan-light: #1d3a2e;--gm-cyan-bg: #14241c;--gm-cyan-deep: #57c99a;--gm-accent: #2f9e6e;--gm-accent-bg: #1a3328;--gm-text: #d8d9da;--gm-text-muted: #8e8e9e;--gm-text-faint: #7b7d85;--gm-border: #2c3235;--gm-border-soft: #23282e;--gm-bg: #181b1f;--gm-bg-2: #1f2227;--gm-bg-3: #24292f;--gm-canvas-bg: #0d0e12;--gm-launch-red: #f2495c;--gm-blue: #3274d9;--gm-focus-bg: rgba(50,116,217,.4);--gm-surface: #111217;--gm-panel: #1f2227;--gm-border-strong:#565e66;--gm-modal-bg: #22262c;--gm-modal-header-bg: #1f3d30;--gm-modal-border: #3a5c4a;--gm-modal-shadow: 0 16px 48px rgba(0,0,0,.62);--gm-info-bg: #16263a;--gm-info-border: #2b4a6f;--gm-info-text: #8ab4f0;--gm-warn-bg: #332612;--gm-warn-border: #5c451f;--gm-warn-text: #eab887;--gm-err-bg: #331a1d;--gm-err-border: #5a2a30;--gm-err-text: #f3a9b2;--gm-ok-bg: #12261d;--gm-ok-border: #2c5943;--gm-ok-text: #7fd3a8;--gm-note-bg: #2e2712;--gm-note-border: #6b5416;--gm-note-text: #e0c98d;--gm-link: #6aa8f0;--gm-danger-text: #f3737f;--gm-syn-key: #b39ae8;--gm-syn-val: #6fc48a;--gm-syn-num: #e8a06a;--gm-syn-var: #5cc5d6;--gm-syn-sel: rgba(47,158,110,.28)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:Hanken Grotesk,Segoe UI,system-ui,-apple-system,Roboto,sans-serif}body{background:var(--gm-surface);color:var(--gm-text)}button,input,select,textarea{color:inherit}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 60% at 90% -10%,rgba(211,228,254,.45),transparent 70%),radial-gradient(40% 40% at -10% 110%,rgba(108,248,187,.14),transparent 70%)}:root[data-theme=dark] body:before{background:radial-gradient(60% 60% at 90% -10%,rgba(50,116,217,.1),transparent 70%),radial-gradient(40% 40% at -10% 110%,rgba(47,158,110,.08),transparent 70%)}:root[data-theme=dark] .login-shell{background:linear-gradient(180deg,var(--gm-surface) 0%,#0b0c10 100%)}:root[data-theme=dark] .copy-toast{background:#0b0c10}:root[data-theme=dark] ::-webkit-scrollbar{width:11px;height:11px}:root[data-theme=dark] ::-webkit-scrollbar-track{background:var(--gm-surface)}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#3a4047;border:2px solid var(--gm-surface);border-radius:6px}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#4a525b}:root[data-theme=dark]{scrollbar-color:#3a4047 var(--gm-surface)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color-scheme:dark}:root[data-theme=dark] .node-modal-header,:root[data-theme=dark] .agent-fs-header{background:var(--gm-modal-header-bg)}:root[data-theme=dark] .run-detail-error,:root[data-theme=dark] .run-progress-error,:root[data-theme=dark] .run-progress-row.err,:root[data-theme=dark] .admin-err{background:#371b20;color:#f3a9b2}:root[data-theme=dark] .login-error{background:#371b20;color:#f3a9b2;border-color:#5a2a30}:root[data-theme=dark] .admin-msg{background:#12301b;color:#93dca4}:root[data-theme=dark] .run-progress-warn,:root[data-theme=dark] .run-progress-row.warn,:root[data-theme=dark] .readonly-banner{background:#382c12;color:#efcf83;border-color:#574420}:root[data-theme=dark] .run-progress-chip.info.on{background:#24303f;color:#b6c6d8;border-color:#3f5065}:root[data-theme=dark] .run-progress-chip.warning.on{background:#382c12;color:#efcf83;border-color:#574420}:root[data-theme=dark] .run-progress-chip.error.on{background:#371b20;color:#f3a9b2;border-color:#5a2a30}:root[data-theme=dark] .loop-warning{background:#34280f;color:#eec88c;border-bottom-color:#574420}:root[data-theme=dark] .loop-warning-pill{background:#281f10;color:#eec88c;border-color:#574420}:root[data-theme=dark] .enrollment-banner{background:#382c12;color:#e6d4a0;border-color:#574420}:root[data-theme=dark] .enrollment-banner em{color:#f3a9b2}:root[data-theme=dark] .enrollment-token code,:root[data-theme=dark] .enrollment-banner small code{background:var(--gm-bg-3);border-color:#574420}:root[data-theme=dark] .btn:disabled{background:#2a2f36;color:#6b7178;border-color:#2a2f36}:root[data-theme=dark] .react-flow__controls-button{background:var(--gm-bg-2);border-bottom:1px solid var(--gm-border);color:var(--gm-text);fill:var(--gm-text)}:root[data-theme=dark] .react-flow__controls-button:hover{background:var(--gm-bg-3)}:root[data-theme=dark] .react-flow__controls-button svg{fill:currentColor}:root[data-theme=dark] .react-flow__minimap{background:var(--gm-bg)}:root[data-theme=dark] .react-flow__attribution{background:#0006}:root[data-theme=dark] .react-flow__attribution a{color:var(--gm-text-faint)}:root[data-theme=dark] .run-progress-flow{color:#4db6a0}:root[data-theme=dark] .run-progress-node{color:#6aa8f0}:root[data-theme=dark] .run-progress-iter{color:#b39ae8}:root[data-theme=dark] .run-progress-case{color:#f0a36a}:root[data-theme=dark] .run-progress-level.warning{color:#efcf83}:root[data-theme=dark] .run-progress-level.error{color:#f3a9b2}:root[data-theme=dark] .run-progress-detail-row.warning{color:#efcf83}:root[data-theme=dark] .run-progress-detail-row.error{color:#f3a9b2}:root[data-theme=dark] .run-proj-name.current:after{color:#4db6a0}:root[data-theme=dark] .cmds-ref-td-key b{color:#b39ae8}:root[data-theme=dark] .cmds-ref-vals{color:#6fc48a}:root[data-theme=dark] .conn-pop-title.bad{color:#f3a9b2}:root[data-theme=dark] .conn-pop-title.good{color:#6fc48a}:root[data-theme=dark] .gnode-compact-end .gnode-icon{color:#e57373}:root[data-theme=dark] .gnode-compact-start .gnode-icon{color:#5cc97e}:root[data-theme=dark] .gnode-compact-end{border-color:#e57373}:root[data-theme=dark] .gnode-compact-start{border-color:#5cc97e}:root[data-theme=dark] .gnode.note,:root[data-theme=dark] .gnode-compact-note{background:#2e2712;border-color:#6b5416}:root[data-theme=dark] .gnode.note .gnode-meta{color:#e0c98d}:root[data-theme=dark] .gnode-compact-note .gnode-label{color:#e6cf95}:root[data-theme=dark] .gnode-compact-note .gnode-icon{color:#d9a441}:root[data-theme=dark] .start-cfg .cfg-checkbox{background:#14241c;border-color:#2c5943}:root[data-theme=dark] .start-cfg .cfg-checkbox span{color:#a8dcbe}:root[data-theme=dark] .btn-mini.btn-danger:hover,:root[data-theme=dark] .cmd-btn.cmd-del:hover,:root[data-theme=dark] .run-act.danger:hover,:root[data-theme=dark] .trace-style-clear:hover,:root[data-theme=dark] .manage-plot-channel-remove:hover,:root[data-theme=dark] .subplots-preview-cell-delete:hover,:root[data-theme=dark] .subplots-preview-cell-channels .remove-x:hover,:root[data-theme=dark] .topbar-logout:hover{background:#3a1d22}:root[data-theme=dark] .run-progress-dot.off,:root[data-theme=dark] .conn-dot,:root[data-theme=dark] .conn-dot.unknown{background:#4a5158}:root[data-theme=dark] .results-table .status-icon.pass,:root[data-theme=dark] .analysis-table .pass-pill{background:var(--gm-ok-bg);color:var(--gm-ok-text)}:root[data-theme=dark] .results-table .status-icon.fail,:root[data-theme=dark] .analysis-table .fail-pill{background:var(--gm-err-bg);color:var(--gm-err-text)}:root[data-theme=dark] .results-table .status-icon.data{background:var(--gm-info-bg);color:var(--gm-info-text)}:root[data-theme=dark] .results-table .status-icon.manual{background:var(--gm-warn-bg);color:var(--gm-warn-text)}:root[data-theme=dark] .results-table .status-icon.na{background:var(--gm-bg-3);color:#b6bbc2}:root[data-theme=dark] .snapshot-table tr.row-violation td{background:var(--gm-err-bg);color:var(--gm-err-text)}:root[data-theme=dark] .verdict-pill.v-pass{background:#16794a}:root[data-theme=dark] .verdict-pill.v-fail{background:#b0202c}:root[data-theme=dark] .verdict-pill.v-manual{background:#5b2ba8}:root[data-theme=dark] .verdict-pill.v-na{background:#4d5560}code,pre,kbd,samp{font-family:var(--gm-mono)}.app-shell{display:grid;grid-template-columns:1fr;grid-template-rows:44px 1fr;height:100vh}.topbar{grid-column:1;grid-row:1;background:var(--gm-bg);border-bottom:1px solid var(--gm-border);display:flex;align-items:center;padding:0 24px;gap:18px;position:sticky;top:0;z-index:30}.topbar .logo{font-family:inherit;font-weight:900;font-size:16px;color:var(--gm-text);text-decoration:none;letter-spacing:-.01em}.topbar .logo span.cyan{color:var(--gm-cyan)}.topbar .logo{display:inline-flex;align-items:center;gap:8px}.topbar .logo .logo-full{font-weight:500;font-size:12px;color:var(--gm-text-muted);letter-spacing:0;margin-left:2px}@media (max-width: 900px){.topbar .logo .logo-full{display:none}}.topbar .logo .logo-mark{width:22px;height:22px;display:block}.topbar .spacer{flex:1}.topbar .avatar{width:26px;height:26px;border-radius:50%;background:var(--gm-cyan-light);color:var(--gm-cyan-deep);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.topbar-project{display:flex;align-items:center;gap:6px;height:100%}.topbar-project:not(:empty){padding-right:12px;border-right:1px solid var(--gm-border);margin-right:12px}.topnav{display:flex;align-items:center;gap:2px;background:var(--gm-cyan-bg);border:1px solid var(--gm-border);border-radius:999px;padding:3px}.topnav a{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:999px;color:var(--gm-text-muted);text-decoration:none;font-size:13px;font-weight:700}.topnav a:hover{color:var(--gm-cyan-deep)}.topnav a.active{color:#fff;background:var(--gm-accent)}.topnav .icon{font-size:14px}.topnav-docs{font-size:11px;color:var(--gm-text-muted);text-decoration:none;padding:4px 8px}.topnav-docs:hover{color:var(--gm-cyan-deep)}.topbar-slot{display:flex;align-items:center}.topbar-editor-controls{display:flex;align-items:center;gap:10px}.topbar-sim{padding:5px 14px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;color:var(--gm-text-muted);background:var(--gm-cyan-bg);border:1px solid var(--gm-border)}.topbar-sim:hover{color:var(--gm-cyan-deep)}.topbar-sim.active{color:#fff;background:var(--gm-accent);border-color:var(--gm-accent)}.topbar-project-name{font-size:13px;font-weight:600;color:var(--gm-text);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{position:relative;flex:0 0 auto;width:46px;height:24px;padding:0;border:1px solid var(--gm-border);border-radius:999px;background:var(--gm-bg-3);cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;transition:background .15s,border-color .15s}.theme-toggle:hover{border-color:var(--gm-accent)}.theme-toggle.on{background:#2a2f36}.theme-toggle-icon{font-size:11px;line-height:1;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:22px;transition:opacity .15s}.theme-toggle-icon.sun{color:#d9822b;opacity:1}.theme-toggle-icon.moon{color:#cbd5e1;opacity:.45}.theme-toggle.on .theme-toggle-icon.sun{opacity:.4}.theme-toggle.on .theme-toggle-icon.moon{opacity:1;color:#c7d0ff}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:19px;height:18px;border-radius:999px;background:var(--gm-bg);box-shadow:0 1px 2px #0000004d;transition:transform .18s ease}.theme-toggle.on .theme-toggle-thumb{transform:translate(22px)}.main-content{grid-column:1;grid-row:2;min-height:0;min-width:0;overflow:hidden;background:transparent;display:flex;flex-direction:column}.topbar-user{font-size:12px;color:var(--gm-text);display:inline-flex;align-items:center;gap:6px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user .user-badge{background:var(--gm-launch-red);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:6px;letter-spacing:.5px}.topbar-logout{background:transparent;border:1px solid var(--gm-border);color:var(--gm-text-muted);width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center;padding:0}.topbar-logout:hover{background:#fff5f5;border-color:var(--gm-launch-red);color:var(--gm-launch-red)}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;padding:2px 4px;border-radius:8px;font:inherit}.user-menu-trigger:hover{background:var(--gm-bg-2)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:8px;box-shadow:var(--gm-modal-shadow);padding:4px;z-index:40;display:flex;flex-direction:column}.user-menu-dropdown a,.user-menu-dropdown button{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:6px;text-decoration:none;color:var(--gm-text);font:inherit;font-size:13px;background:none;border:none;cursor:pointer;text-align:left;width:100%}.user-menu-dropdown a:hover,.user-menu-dropdown button:hover{background:var(--gm-cyan-bg);color:var(--gm-cyan-deep)}.user-menu-dropdown .icon{font-size:14px;width:16px;text-align:center}.user-menu-sep{height:1px;background:var(--gm-border);margin:4px 0}.splash{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--gm-text-muted);font-size:14px}.login-shell{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(180deg,var(--gm-surface) 0%,#d3e4fe 100%)}.login-form{background:var(--gm-bg);padding:32px 36px;border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:0 6px 24px #0b1c301a;width:360px;display:flex;flex-direction:column;gap:10px}.login-form h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.4px;color:var(--gm-text)}.login-form h1 .cyan{color:var(--gm-cyan)}.login-form h1{display:flex;align-items:center;gap:10px}.login-form h1 .logo-mark{width:32px;height:32px;display:block}.login-form .login-tagline{margin:-6px 0 0;color:var(--gm-text-muted);font-size:13px;font-weight:600}.login-form .login-sub{margin:0 0 14px;color:var(--gm-text-muted);font-size:12px}.login-form label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gm-text-muted);margin-top:6px}.login-form input{padding:10px 12px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);font-size:13px;font-family:inherit}.login-form input:focus{outline:none;border-color:var(--gm-blue);box-shadow:0 0 0 2px var(--gm-focus-bg)}.login-form .btn.launch{margin-top:14px;background:var(--gm-cyan);color:#fff;border:none;padding:11px 14px;border-radius:var(--gm-radius);font-size:13px;font-weight:700;cursor:pointer}.login-form .btn.launch:hover:not(:disabled){background:var(--gm-cyan-deep)}.login-form .btn.launch:disabled{opacity:.6;cursor:progress}.login-error{background:#fdecea;color:#c0392b;padding:8px 10px;border-radius:var(--gm-radius);font-size:12px;border:1px solid #f5c6cb}.login-help{margin:14px 0 0;font-size:11px;color:var(--gm-text-muted);text-align:center}.login-form.licence-page{width:440px;position:relative}.licence-close{position:absolute;top:10px;right:10px;width:26px;height:26px;border:none;background:transparent;font-size:20px;line-height:1;color:var(--gm-text-muted);cursor:pointer;border-radius:6px}.licence-close:hover{background:var(--gm-bg-2);color:var(--gm-text)}.licence-state{font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--gm-text-muted);margin-top:6px}.licence-state.ok{color:var(--gm-accent)}.licence-state.bad{color:#c0392b}.licence-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:4px 0 0;font-size:12px}.licence-facts dt{color:var(--gm-text-muted);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.5px;align-self:center}.licence-facts dd{margin:0;overflow-wrap:anywhere}.licence-facts code{font-size:11px}.licence-facts .licence-bad{color:#c0392b}.licence-copy{margin-left:6px;font-size:10px;padding:1px 6px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);background:transparent;color:var(--gm-text-muted);cursor:pointer}.licence-notice{background:var(--gm-cyan-bg);color:var(--gm-cyan-deep);padding:8px 10px;border-radius:var(--gm-radius);font-size:12px;border:1px solid var(--gm-border)}.licence-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.licence-actions .btn.ghost{background:transparent;color:var(--gm-text);border:1px solid var(--gm-border);box-shadow:none;text-decoration:none;padding:10px 12px;font-size:12px}.licence-actions .btn.launch{margin-top:0;padding:10px 14px}.subtabs{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--gm-border);padding:8px 24px;background:var(--gm-bg)}.subtabs .subtab{padding:6px 14px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;color:var(--gm-text-muted)}.subtabs .subtab.active{color:#fff;background:var(--gm-accent)}.subtabs .subtab:hover:not(.active){color:var(--gm-cyan-deep);background:var(--gm-cyan-bg)}.subtabs .subtabs-spacer{flex:1}.subtabs .subtabs-project-name{padding:12px 8px;font-size:13px;font-weight:600;color:var(--gm-text);max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-node-menu{position:absolute;top:100%;left:0;background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:var(--gm-radius);box-shadow:var(--gm-modal-shadow);min-width:180px;z-index:200;overflow:hidden}.add-node-menu .item{padding:8px 16px;cursor:pointer;font-size:13px;color:var(--gm-text)}.add-node-menu .item:hover{background:var(--gm-cyan-bg);color:var(--gm-cyan-deep)}.add-node-menu .item.disabled{color:#bdbdbd;cursor:not-allowed}.project-list{padding:32px;max-width:1100px;margin:0 auto;flex:1;min-height:0;overflow-y:auto;width:100%;box-sizing:border-box}.project-list h2{font-weight:400;font-size:32px;margin:0 0 24px;color:var(--gm-text)}.new-project{display:flex;gap:8px;margin-bottom:16px}.new-project input{flex:1;padding:9px 12px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);font-size:13px}.new-project select{padding:9px 12px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);font-size:13px;background:var(--gm-bg);min-width:220px}.template-desc{font-size:12px;color:var(--gm-text-muted);margin:0 0 16px;padding:8px 12px;background:var(--gm-cyan-bg);border-radius:var(--gm-radius);border-left:3px solid var(--gm-cyan)}.project-list ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.project-list li{background:var(--gm-bg);border:1px solid var(--gm-border);padding:18px;border-radius:var(--gm-radius-lg);display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:104px;transition:box-shadow .15s,transform .15s}.project-list li:hover{box-shadow:0 8px 22px #0b1c301a;transform:translateY(-2px)}.project-list li .project-actions{display:flex;gap:8px;margin-top:auto}.project-list li a{color:var(--gm-text);text-decoration:none;font-weight:600;font-size:16px}.project-list li a:hover{color:var(--gm-cyan-deep)}.btn{background:var(--gm-accent);color:#fff;border:1px solid var(--gm-accent);padding:8px 16px;border-radius:var(--gm-radius);cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 2px 8px #006c4940}.btn:hover{background:var(--gm-cyan-deep);border-color:var(--gm-cyan-deep)}.btn.secondary{background:var(--gm-surface);color:var(--gm-text);border:1px solid var(--gm-border);box-shadow:none}.btn.secondary:hover{background:var(--gm-cyan-bg)}.btn.flow{background:var(--gm-cyan-bg);color:var(--gm-cyan-deep);border:1px solid var(--gm-cyan-light);box-shadow:none}.btn.flow:hover{background:var(--gm-cyan-light)}.btn:disabled{background:#e0e0e0;color:#9e9e9e;border-color:#e0e0e0;cursor:not-allowed;box-shadow:none}.btn.launch{background:var(--gm-cyan);padding:14px 32px;font-size:14px;font-weight:600;letter-spacing:.5px}.btn.launch:hover{background:var(--gm-cyan-deep)}.editor{display:flex;flex:1;min-height:0;min-width:0}.editor .graph{flex:1;min-width:0;min-height:0;position:relative;background:var(--gm-canvas-bg);height:100%}.editor .panel{position:relative;width:520px;border-left:1px solid var(--gm-border);background:var(--gm-bg);padding:16px;overflow-y:auto;flex-shrink:0}.panel-resize{position:absolute;top:0;left:0;width:6px;height:100%;cursor:col-resize;z-index:5;background:transparent}.panel-resize:hover,.panel-resize.active{background:var(--gm-accent);opacity:.4}.result-card-list{display:flex;flex-direction:column;gap:6px}.result-card{text-align:left;background:var(--gm-bg);border:1px solid var(--gm-border);border-radius:var(--gm-radius);padding:8px 10px;cursor:pointer;font-family:inherit;transition:border-color .12s}.result-card:hover{border-color:var(--gm-accent);background:var(--gm-bg-2)}.result-card-row{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--gm-text-muted);margin-bottom:2px}.result-card-kind{background:var(--gm-cyan);color:#fff;padding:1px 6px;border-radius:999px;font-weight:600;letter-spacing:.3px}.result-card-iter{background:#0f766e;color:#fff;padding:1px 6px;border-radius:6px;font-weight:600}.result-card-cache{background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:999px;font-weight:600}.result-card-title{font-size:13px;font-weight:500;color:var(--gm-text);margin:2px 0}.result-card-detail{font-size:11px;color:var(--gm-text-muted)}.result-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1000}.result-modal{background:var(--gm-modal-bg);border-radius:0;width:100vw;height:100vh;max-height:100vh;display:flex;flex-direction:column;box-shadow:none;overflow:hidden}.result-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--gm-modal-header-bg);border-bottom:1px solid var(--gm-modal-border);font-size:13px}.result-modal-close{background:transparent;border:0;font-size:20px;cursor:pointer;color:var(--gm-text-muted);padding:0 6px;line-height:1}.result-modal-close:hover{color:var(--gm-launch-red)}.result-modal-body{padding:12px 16px;overflow:auto;flex:1;min-height:0;display:flex;flex-direction:column}.mark-pass{background:#dcfce7;border-color:#16a34a;color:#14532d}.mark-fail{background:#fee2e2;border-color:#dc2626;color:#7f1d1d}.mark-investigation{background:#fef3c7;border-color:#d97706;color:#78350f}.mark-pill{display:inline-block;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap}.verdict-pill{display:inline-block;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap}.verdict-pill.v-pass{background:#15803d}.verdict-pill.v-fail{background:#dc2626}.verdict-pill.v-manual{background:#6d28d9}.verdict-pill.v-na{background:#6b7280}.verdict-pill.v-none{background:transparent;color:var(--gm-border);font-weight:400}.mark-pill.mark-none{color:var(--gm-border);font-weight:400}.result-mark-cell{text-align:right;white-space:nowrap}.result-mark-picker{display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:10px;font-size:12px;color:var(--gm-text-muted)}.result-nav{display:inline-flex;align-items:center;gap:4px;margin-left:2px}.result-modal-header{gap:6px}.result-modal-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 8px}a.btn-mini{text-decoration:none;color:inherit;display:inline-flex;align-items:center}.result-modal-body--frame{padding:0;overflow:hidden}.result-nav-pos{font-size:11px;color:var(--gm-text-muted);margin:0 4px}.mark-select{font-size:12px;padding:2px 6px;border-radius:4px;font-weight:600;border-width:1px;border-style:solid}.mark-select.mark-none{background:var(--gm-bg);border-color:var(--gm-border);color:var(--gm-text-muted);font-weight:400}.palette{border-right:1px solid var(--gm-border);background:var(--gm-bg-2);display:flex;flex-direction:column;min-height:0;position:relative;flex-shrink:0}.palette.palette-dimmed{opacity:.45;filter:grayscale(.7);pointer-events:none}.palette-resize{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5}.palette-resize:hover,.palette-resize.active{background:var(--gm-cyan);opacity:.4}.palette-header{padding:8px 12px;font-size:12px;font-weight:600;color:var(--gm-text);border-bottom:1px solid var(--gm-border);background:var(--gm-bg)}.palette-filter{margin:8px;padding:5px 8px;border:1px solid var(--gm-border);border-radius:6px;font-size:12px}.palette-body{flex:1;overflow-y:auto;padding:0 8px 16px}.palette-cat{margin-bottom:10px}.palette-cat-header{font-size:9px;font-weight:600;color:var(--gm-text-muted);text-transform:uppercase;letter-spacing:.2px;padding:6px 2px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-cat-header:hover{color:var(--gm-cyan-deep)}.palette-cat-header .caret{display:inline-block;width:10px;color:#bdbdbd;font-size:8px}.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,56px);gap:6px;justify-content:start}.palette-item{width:56px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--gm-bg);border:1px solid var(--gm-border);border-radius:8px;padding:3px;cursor:grab;transition:all .12s;overflow:hidden}.palette-item:active{cursor:grabbing}.palette-icon{font-size:22px;height:26px;color:var(--gm-cyan-deep);line-height:1;display:flex;align-items:center;justify-content:center}.palette-icon svg,.palette-icon img{display:block}.palette-item:hover{border-color:var(--gm-accent);background:var(--gm-accent-bg)}.palette-item:hover .palette-icon{color:var(--gm-accent)}.palette-label{font-size:10px;color:var(--gm-text);text-align:center;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.palette-tpl-tile.active{border-color:var(--gm-accent);background:var(--gm-accent-bg)}.palette-tpl-popover{position:absolute;top:40px;width:260px;max-height:440px;background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-modal-shadow);z-index:50;display:flex;flex-direction:column;overflow:hidden}.palette-tpl-popover-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--gm-modal-border);background:var(--gm-modal-header-bg);font-size:11px;font-weight:600;color:var(--gm-text-muted);text-transform:uppercase;letter-spacing:.3px}.palette-tpl-popover-close{width:18px;height:18px;padding:0;line-height:16px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--gm-text-muted);border-radius:6px}.palette-tpl-popover-close:hover{background:var(--gm-bg-3);color:var(--gm-text)}.palette-tpl-popover-list{flex:1;overflow-y:auto;padding:4px}.palette-tpl-popover-empty{padding:16px 12px;font-size:11px;color:var(--gm-text-muted);text-align:center;line-height:1.5}.palette-tpl-row{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--gm-radius);cursor:grab;font-size:12px;color:var(--gm-text)}.palette-tpl-row:hover{background:var(--gm-cyan-bg)}.palette-tpl-row:active{cursor:grabbing}.palette-tpl-row-icon{font-size:14px;flex-shrink:0}.palette-tpl-row-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-tpl-row-count{font-size:10px;color:var(--gm-text-muted);padding:1px 5px;background:var(--gm-bg-3);border-radius:8px}.palette-tpl-row-del{width:18px;height:18px;padding:0;line-height:16px;border:none;background:transparent;color:var(--gm-text-muted);cursor:pointer;border-radius:50%;font-size:12px;opacity:0;transition:opacity .12s}.palette-tpl-row:hover .palette-tpl-row-del{opacity:1}.palette-tpl-row-del:hover{background:#fee2e2;color:#dc2626}.leftdock{overflow:hidden}.leftdock-tabs{display:flex;border-bottom:1px solid var(--gm-border);background:var(--gm-bg);flex-shrink:0}.leftdock-tab{flex:1;padding:8px 10px;border:none;background:none;cursor:pointer;font-size:11px;font-weight:600;color:var(--gm-text-muted);border-bottom:2px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.leftdock-tab:hover{color:var(--gm-cyan-deep)}.leftdock-tab.active{color:var(--gm-accent);border-bottom-color:var(--gm-accent)}.leftdock-tools{display:flex;flex-direction:column;min-height:0;flex:1}.leftdock-tools.palette-dimmed{opacity:.45;filter:grayscale(.7);pointer-events:none}.ws-main{flex:1;min-width:0;display:flex;flex-direction:column}.ws-body{flex:1;min-height:0;display:flex;overflow:hidden}.ws-tabbar{display:flex;gap:3px;align-items:flex-end;padding:5px 8px 0;flex-shrink:0;border-bottom:1px solid var(--gm-border);background:var(--gm-bg);overflow-x:auto}.ws-tab{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 9px;max-width:230px;border:1px solid var(--gm-border);border-bottom:0;border-radius:7px 7px 0 0;margin-bottom:-1px;background:var(--gm-bg);color:var(--gm-text-muted);font-size:12px;white-space:nowrap;cursor:pointer;transition:background .12s,color .12s}.ws-tab:hover{color:var(--gm-cyan-deep);background:var(--gm-cyan-bg)}.ws-tab.active{background:var(--gm-bg);color:var(--gm-cyan-deep);border-color:var(--gm-accent);border-bottom:1px solid var(--gm-bg);font-weight:700}.ws-tab-icon{font-size:12px;flex-shrink:0}.ws-tab-proj{font-weight:500;overflow:hidden;text-overflow:ellipsis;max-width:120px}.ws-tab.active .ws-tab-proj,.ws-tab.active .ws-tab-label{font-weight:700}.ws-tab-label{overflow:hidden;text-overflow:ellipsis;max-width:130px}.ws-tab-word{font-size:10px;color:var(--gm-text-faint);flex-shrink:0}.ws-tab-close{border:0;background:transparent;color:var(--gm-text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 3px;border-radius:4px;flex-shrink:0}.ws-tab-close:hover{background:#0000001f;color:var(--gm-text)}.dm-root{display:flex;flex-direction:column;min-height:0;flex:1}.dm-search{display:flex;align-items:center;gap:6px;margin:8px;padding:6px 10px;background:var(--gm-bg-2);border:1px solid var(--gm-border);border-radius:8px;flex-shrink:0}.dm-search-icon{font-size:12px;color:var(--gm-text-faint);line-height:1}.dm-search-input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:13px;color:var(--gm-text)}.dm-search-input::placeholder{color:var(--gm-text-faint)}.dm-search-input::-webkit-search-cancel-button{cursor:pointer}.dm-explorer-head{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 2px;flex-shrink:0}.dm-explorer-left{display:flex;align-items:center;gap:4px}.dm-explorer-title{font-size:14px;font-weight:600;color:var(--gm-text)}.dm-explorer-actions{display:flex;gap:2px}.dm-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer;color:var(--gm-text-muted);border-radius:5px}.dm-icon-btn:hover{background:var(--gm-bg-2);color:var(--gm-text)}.dm-empty{padding:12px;font-size:12px;color:var(--gm-text-faint)}.dm-row.dm-agent{font-weight:700;color:var(--gm-text)}.dm-row.dm-agent .dm-icon{font-size:13px}.dm-agent-node .dm-project{padding-left:22px}.dm-agent-node .dm-flow,.dm-agent-node .dm-library,.dm-agent-node .dm-scenarios{padding-left:40px}.dm-agent-node .dm-task{padding-left:58px}.dm-tree{flex:1;overflow-y:auto;padding:4px 0;font-size:13px;-webkit-user-select:none;user-select:none}.dm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;display:flex;align-items:center;justify-content:center;z-index:1100}.dm-modal{background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-modal-shadow);padding:20px 22px;width:360px;max-width:calc(100vw - 32px)}.dm-modal h3{margin:0 0 14px;font-weight:500;font-size:17px;color:var(--gm-text)}.dm-modal-label{display:block;font-size:12px;font-weight:600;color:var(--gm-text-muted);margin:10px 0 4px}.dm-modal-input{width:100%;box-sizing:border-box;padding:7px 10px;font-size:13px;border:1px solid var(--gm-border);border-radius:6px;background:var(--gm-bg);color:var(--gm-text)}.dm-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.dm-modal-cancel,.dm-modal-create{padding:7px 16px;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer}.dm-modal-cancel{background:var(--gm-bg-2);border:1px solid var(--gm-border);color:var(--gm-text)}.dm-modal-create{background:var(--gm-accent);border:1px solid var(--gm-accent);color:#fff}.dm-modal-create:disabled,.dm-modal-cancel:disabled{opacity:.55;cursor:default}.lib-io-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0}.lib-io-label{font-size:12px;color:var(--gm-text-muted)}.lib-io-btn{padding:3px 10px;font-size:12px}.lib-io-modal{width:640px}.lib-io-sum{font-size:13px;margin:0 0 8px;color:var(--gm-text)}.lib-io-warn{font-size:12px;margin:0 0 8px;color:var(--gm-warn-text)}.lib-io-err{font-size:13px;color:var(--gm-err-text)}.lib-io-list{max-height:50vh;overflow:auto;border:1px solid var(--gm-border);border-radius:6px;padding:6px 8px;font-size:12px}.lib-io-row{padding:3px 0;border-bottom:1px solid var(--gm-border)}.lib-io-row:last-child{border-bottom:none}.lib-io-chg{margin-left:64px;color:var(--gm-text-muted);word-break:break-all}.lib-io-dim{color:var(--gm-text-faint)}.lib-io-tag{display:inline-block;min-width:56px;margin-right:6px;padding:0 5px;border-radius:8px;font-size:10px;font-weight:700;text-align:center}.lib-io-tag.add{background:var(--gm-ok-bg);color:var(--gm-ok-text)}.lib-io-tag.upd{background:var(--gm-info-bg);color:var(--gm-info-text)}.lib-io-tag.skip{background:var(--gm-warn-bg);color:var(--gm-warn-text)}.mm-view{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--gm-bg);overflow:hidden}.mm-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--gm-border)}.mm-title{font-size:15px;color:var(--gm-text)}.mm-close{width:26px;height:26px;border:none;background:transparent;font-size:20px;line-height:1;color:var(--gm-text-muted);cursor:pointer;border-radius:6px}.mm-close:hover{background:var(--gm-bg-2);color:var(--gm-text)}.mm-error{margin:8px 18px 0;padding:6px 10px;font-size:12px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.mm-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--gm-text-muted);font-size:13px}.mm-tabs{display:flex;gap:2px;padding:8px 12px 0;border-bottom:1px solid var(--gm-border);overflow-x:auto;flex-shrink:0}.mm-tab{padding:6px 12px;border:none;background:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--gm-text-muted);border-bottom:2px solid transparent;white-space:nowrap}.mm-tab:hover{color:var(--gm-cyan-deep)}.mm-tab.active{color:var(--gm-accent);border-bottom-color:var(--gm-accent)}.mm-tab-count{font-size:10px;color:var(--gm-text-faint)}.mm-tab-icon,.lib-tab-icon{display:inline-flex;align-items:center;margin-right:5px;font-size:12px}.mm-tab-icon svg,.lib-tab-icon svg{width:13px;height:13px}.lib-tabs{display:flex;gap:2px;margin-bottom:10px;border-bottom:1px solid var(--gm-border);overflow-x:auto;flex-shrink:0}.lib-tab{display:inline-flex;align-items:center;padding:6px 12px;border:none;background:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--gm-text-muted);border-bottom:2px solid transparent;white-space:nowrap}.lib-tab:hover{color:var(--gm-cyan-deep)}.lib-tab.active{color:var(--gm-accent);border-bottom-color:var(--gm-accent)}.lib-tab-count{font-size:10px;color:var(--gm-text-faint);margin-left:5px}.mm-grid-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.mm-grid-wrap>*{height:100%}.mm-grid{border-collapse:collapse;font-size:12px;width:max-content;min-width:100%}.mm-grid th,.mm-grid td{border:1px solid var(--gm-border);padding:0;text-align:left}.mm-grid th{position:sticky;top:0;background:var(--gm-bg-2);padding:0;font-weight:600;color:var(--gm-text-muted);white-space:nowrap;z-index:1}.mm-th{display:flex;align-items:stretch;min-width:120px}.mm-th-label{flex:1;display:flex;align-items:center;gap:6px;padding:6px 8px;border:none;background:none;cursor:pointer;font:inherit;font-weight:600;font-size:12px;color:var(--gm-text-muted);text-align:left}.mm-th-label:hover{color:var(--gm-cyan-deep)}.mm-th-name{overflow:hidden;text-overflow:ellipsis}.mm-th-sort{color:var(--gm-accent);font-size:10px}.mm-th-filter{border:none;background:none;cursor:pointer;padding:0 7px;font-size:11px;color:var(--gm-text-faint)}.mm-th-filter:hover{color:var(--gm-cyan-deep);background:var(--gm-bg-3)}.mm-th-filter.active{color:var(--gm-accent)}.grid-col-menu{position:fixed;z-index:1300;min-width:180px;background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:8px;box-shadow:var(--gm-modal-shadow);padding:4px;display:flex;flex-direction:column}.grid-col-menu button{text-align:left;background:none;border:0;border-radius:5px;padding:6px 10px;font:inherit;font-size:12px;color:var(--gm-text);cursor:pointer}.grid-col-menu button:hover:not(:disabled){background:var(--gm-accent-bg)}.grid-col-menu button:disabled{opacity:.4;cursor:default}.grid-col-menu button.danger{color:var(--gm-danger-text)}.grid-col-rename{position:fixed;z-index:1300;box-sizing:border-box;padding:0 8px;font:inherit;font-size:13px;font-weight:600;color:var(--gm-text);background:var(--gm-bg);border:2px solid var(--gm-accent);border-radius:4px;outline:none}.grid-col-rename.err{border-color:var(--gm-danger-text)}.grid-col-rename-err{position:fixed;z-index:1300;max-width:320px;padding:4px 8px;font-size:11px;color:#fff;background:var(--gm-danger-text);border-radius:4px}.grid-add-col-wrap{height:100%;display:flex;align-items:flex-start;padding:5px 8px;box-sizing:border-box}.grid-add-col{height:26px;padding:0 10px;font:inherit;font-size:12px;font-weight:600;color:var(--gm-accent);background:var(--gm-bg);border:1px dashed var(--gm-accent);border-radius:6px;cursor:pointer;white-space:nowrap}.grid-add-col:hover{background:var(--gm-accent-bg)}.mm-filter{position:fixed;width:240px;max-height:330px;background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:8px;box-shadow:var(--gm-modal-shadow);z-index:1300;display:flex;flex-direction:column;padding:6px}.mm-filter-sort{display:flex;flex-direction:column}.mm-filter-sort button{text-align:left;padding:6px 8px;border:none;background:none;cursor:pointer;font:inherit;font-size:12px;color:var(--gm-text);border-radius:6px}.mm-filter-sort button:hover{background:var(--gm-cyan-bg)}.mm-filter-sort button.active{color:var(--gm-accent);font-weight:600}.mm-filter-search{margin:6px 2px;padding:5px 8px;border:1px solid var(--gm-border);border-radius:6px;font-size:12px}.mm-filter-list{overflow-y:auto}.mm-filter-item{display:flex;align-items:center;gap:7px;padding:4px 6px;font-size:12px;color:var(--gm-text);cursor:pointer;border-radius:4px}.mm-filter-item:hover{background:var(--gm-bg-2)}.mm-filter-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-filter-all{border-top:1px solid var(--gm-border);border-bottom:1px solid var(--gm-border);margin:4px 0;font-weight:600}.mm-filter-empty{padding:8px;font-size:11px;color:var(--gm-text-muted);text-align:center}.mm-rowhead{position:sticky;left:0;background:var(--gm-bg-2);padding:6px 10px!important;font-weight:600;color:var(--gm-text);white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;z-index:1}.mm-cell{width:100%;min-width:120px;box-sizing:border-box;border:none;background:transparent;padding:5px 8px;font:inherit;font-size:12px;color:var(--gm-text)}.mm-cell:focus{outline:2px solid var(--gm-accent);outline-offset:-2px;background:var(--gm-bg)}.mm-grid td input[type=checkbox]{margin:5px 10px}.mm-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid var(--gm-border)}.mm-hint{font-size:11px;color:var(--gm-text-muted)}.mm-foot-actions{display:flex;gap:8px}.mm-cancel,.mm-save{padding:7px 16px;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer}.mm-cancel{background:var(--gm-bg-2);border:1px solid var(--gm-border);color:var(--gm-text)}.mm-save{background:var(--gm-accent);border:1px solid var(--gm-accent);color:#fff}.mm-save:disabled,.mm-cancel:disabled{opacity:.55;cursor:default}.dm-error{margin:4px 8px;padding:4px 8px;font-size:11px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-row{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;white-space:nowrap;overflow:hidden}.dm-row:hover{background:var(--gm-cyan-bg)}.dm-row.active{background:var(--gm-accent-bg);color:var(--gm-accent);font-weight:600}.dm-flow,.dm-scenarios{padding-left:22px}.dm-scenario{padding-left:40px}.dm-library{padding-left:22px}.dm-library.dm-sub{padding-left:40px}.dm-library.locked{opacity:.5;cursor:default}.dm-library.locked:hover{background:transparent}.dm-count{margin-left:auto;font-size:10px;color:var(--gm-text-muted)}.dm-caret{display:inline-block;width:12px;flex-shrink:0;color:var(--gm-text-muted);font-size:9px;text-align:center}.dm-icon{flex-shrink:0;font-size:12px}.dm-label{overflow:hidden;text-overflow:ellipsis}.dm-project{font-weight:600;color:var(--gm-text)}.dm-activated .dm-label{color:var(--gm-accent)}.dm-active-dot{margin-left:auto;color:var(--gm-accent);font-size:9px;flex-shrink:0}.dm-flow.locked{opacity:.5;cursor:default}.dm-flow.locked:hover{background:transparent}.dm-task{padding-left:40px}.dm-task.locked{opacity:.5;cursor:default}.dm-task.locked:hover{background:transparent}.dm-task-state{margin-left:auto;font-size:9px;flex-shrink:0}.dm-task-on .dm-task-state{color:var(--gm-ok-text)}.dm-task-off .dm-task-state{color:var(--gm-text-muted)}.dm-task-off .dm-label{color:var(--gm-text-muted);font-style:italic;text-decoration:line-through}.dm-task-off .dm-icon{opacity:.45;filter:grayscale(1)}.dm-task.dm-task-empty{opacity:.55;cursor:default;font-style:italic}.dm-task.dm-task-empty:hover{background:transparent}.dm-lock{margin-left:auto;font-size:9px;flex-shrink:0;opacity:.7}.editor-home{display:flex;height:100%;min-height:0}.home-with-dock{padding-bottom:var(--dock-height, 0px)}.home-empty{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-start;padding:24px;background:var(--gm-canvas-bg)}.home-empty-inner{text-align:left;color:var(--gm-text-muted);max-width:440px;line-height:1.6}.home-empty-inner h2{font-weight:400;font-size:22px;margin:0 0 8px;color:var(--gm-text)}.node-modal{position:absolute;top:50px;right:20px;width:360px;max-height:calc(100% - 70px);background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-modal-shadow);z-index:50;overflow:hidden;display:flex;flex-direction:column}.node-modal-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--gm-border);background:var(--gm-cyan-bg)}.node-modal-title{flex:1;font-size:12px;font-weight:600;color:var(--gm-cyan-deep)}.node-modal-title code{background:var(--gm-bg);padding:1px 6px;border-radius:6px;font-size:10px;color:var(--gm-text)}.node-modal-close{background:transparent;border:0;cursor:pointer;padding:2px 6px;font-size:13px;color:var(--gm-text-muted);border-radius:6px}.node-modal-close:hover{background:#0000000f;color:var(--gm-launch-red)}.node-modal-body{padding:10px 12px;overflow-y:auto;flex:1}.node-modal-body .cfg-form{margin-bottom:0}.flow-tabs{position:absolute;top:0;right:0;z-index:11;display:flex;gap:6px;padding:6px 10px;align-items:center}.flow-tab{display:flex;align-items:center;gap:6px;background:var(--gm-bg-2);color:var(--gm-text-muted);padding:6px 14px;border-radius:4px 4px 0 0;cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none;border:1px solid transparent;border-bottom:none;white-space:nowrap}.flow-tab:hover{background:var(--gm-bg-3)}.flow-tab.active{background:var(--gm-bg);color:var(--gm-accent);font-weight:500;border-color:var(--gm-border)}.flow-tab-close{background:transparent;border:0;cursor:pointer;color:inherit;font-size:16px;padding:0 4px;line-height:1;opacity:.6;border-radius:6px}.flow-tab-close:hover{opacity:1;color:var(--gm-launch-red);background:#c0392b1a}.flow-tab.active .flow-tab-close{opacity:.85}.flow-tab-clone{background:transparent;border:0;cursor:pointer;color:inherit;font-size:13px;padding:0 4px;line-height:1;opacity:.7;border-radius:6px;margin-right:2px}.flow-tab-clone:hover{opacity:1;color:var(--gm-accent);background:#3498db1f}.flow-tab-add{background:transparent;border:1px dashed #bdbdbd;color:var(--gm-text-muted);padding:3px 10px;cursor:pointer;font-size:12px;border-radius:var(--gm-radius);align-self:center}.flow-tab-add:hover{background:var(--gm-bg-2);color:var(--gm-cyan);border-color:var(--gm-cyan)}.flow-tab-paste-wrap{display:inline-flex;align-self:center;align-items:stretch}.flow-tab-paste{background:#fef3c7;border:1px solid #fbbf24;border-right:none;color:#92400e;padding:4px 10px;cursor:pointer;font-size:11px;font-weight:500;border-radius:4px 0 0 4px}.flow-tab-paste:hover{background:#fde68a}.flow-tab-paste-clear{background:#fef3c7;border:1px solid #fbbf24;color:#92400e;padding:0 8px;cursor:pointer;font-size:14px;line-height:1;border-radius:0 4px 4px 0}.flow-tab-paste-clear:hover{background:#ef4444;color:#fff;border-color:#dc2626}.flow-tabs-summary{font-size:12px;color:var(--gm-text-muted);padding:4px 10px;align-self:center}.flow-tabs-history{display:inline-flex;gap:2px;align-self:center;margin-left:6px}.flow-tabs-history .btn-mini{padding:2px 8px;font-size:14px;line-height:1}.flow-tabs-history .btn-mini:disabled{opacity:.4;cursor:not-allowed}.copy-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:8px 16px;border-radius:var(--gm-radius);font-size:12px;z-index:1000;box-shadow:0 4px 12px #0003;animation:gm-toast .2s ease-out}@keyframes gm-toast{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.editor .toolbar{position:absolute;top:44px;left:12px;z-index:10;display:flex;gap:8px;background:var(--gm-bg);padding:6px 8px;border-radius:var(--gm-radius);box-shadow:0 1px 3px #0000000f}.toolbar-sep{width:1px;height:18px;background:var(--gm-border);margin:0 4px;align-self:center}.gnode{background:var(--gm-bg);border:1px solid var(--gm-border);border-radius:var(--gm-radius);min-width:180px;font-size:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.gnode .gnode-title{background:var(--gm-cyan);color:#fff;padding:6px 12px;font-weight:500;text-align:center;font-size:12px}.gnode .gnode-id{padding:4px 12px 0;font-size:10px;color:var(--gm-text-muted);text-align:center;font-family:monospace}.gnode .gnode-meta{padding:5px 12px 8px;color:var(--gm-text);text-align:center;font-size:11px}.gnode.flow.start .gnode-title{background:#16a34a}.gnode.flow.end .gnode-title{background:#b91c1c}.gnode.flow.loopStart .gnode-title,.gnode.flow.loopEnd .gnode-title{background:var(--gm-accent)}.gnode-compact{width:60px;height:60px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;background:var(--gm-bg);border:1px solid var(--gm-cyan-deep);border-radius:var(--gm-radius);box-shadow:0 1px 2px #0000000a;font-size:10px;color:var(--gm-text)}.gnode-compact .gnode-icon{display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;color:var(--gm-cyan-deep)}.gnode-compact .gnode-icon img,.gnode-compact .gnode-icon svg{display:block}.gnode-compact .gnode-label{font-size:10px;line-height:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gnode-compact.gnode-titled{width:auto;min-width:60px;height:auto;min-height:60px;padding:6px 10px}.gnode-compact.gnode-titled .gnode-label{white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none;line-height:1.15;font-weight:600}.gnode-compact-start{border-color:#16a34a}.gnode-compact-start .gnode-icon{color:#16a34a;font-size:30px}.gnode-compact-end{border-color:#b91c1c}.gnode-compact-end .gnode-icon{color:#b91c1c}.gnode-compact-loop{border-color:var(--gm-accent)}.gnode-compact-loop .gnode-icon{color:var(--gm-accent)}.gnode-compact-task{border-color:var(--gm-text-muted);background:var(--gm-bg-2)}.gnode-compact-task .gnode-icon{color:var(--gm-text-muted)}.gnode-compact-note{background:#fff9c4;border:1px dashed #fbc02d}.gnode-compact-note .gnode-icon{color:#b45309}.gnode-compact-note .gnode-label{color:#78350f}.gnode-compact-start{position:relative}.gnode-compact-start .gnode-priority{position:absolute;top:-7px;left:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#16a34a;color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 1px 2px #00000026}.gnode-compact.gnode-disabled{opacity:.45;border-style:dashed}.gnode-compact.gnode-disabled .gnode-priority{background:#94a3b8}.gnode-cases{min-width:140px;min-height:90px;display:flex;flex-direction:column;box-sizing:border-box;background:var(--gm-bg);border:1px solid var(--gm-cyan-deep);border-radius:var(--gm-radius);box-shadow:0 1px 3px #0000000f;font-size:10px;color:var(--gm-text);overflow:hidden}.react-flow__resize-control.line.gnode-resize-line{border-width:0}.react-flow__resize-control.line.gnode-resize-line.left,.react-flow__resize-control.line.gnode-resize-line.right{width:10px}.react-flow__resize-control.line.gnode-resize-line.top,.react-flow__resize-control.line.gnode-resize-line.bottom{height:10px}.gnode-resize-line:after{content:"";position:absolute;background:#2563eb}.gnode-resize-line.left:after,.gnode-resize-line.right:after{top:0;bottom:0;left:50%;width:1px;transform:translate(-50%)}.gnode-resize-line.top:after,.gnode-resize-line.bottom:after{left:0;right:0;top:50%;height:1px;transform:translateY(-50%)}.react-flow__resize-control.handle.gnode-resize-handle{width:9px;height:9px;border-radius:2px}.gnode-cases-body{flex:1;min-height:0;overflow:auto}.gnode-cases-head{display:flex;align-items:center;gap:5px;flex-shrink:0;padding:4px 8px;background:var(--gm-bg-2);border-bottom:1px solid var(--gm-border);font-weight:600}.gnode-cases-icon{color:var(--gm-cyan-deep);font-size:16px;display:inline-flex}.gnode-cases-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gnode-cases-count{min-width:16px;padding:0 5px;border-radius:8px;background:var(--gm-accent-bg);color:var(--gm-cyan-deep);font-size:9px;font-weight:700;text-align:center}.gnode-cases-table{width:100%;border-collapse:collapse}.gnode-cases-table th,.gnode-cases-table td{padding:2px 6px;text-align:left;border-bottom:1px solid var(--gm-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.gnode-cases-table th{color:var(--gm-text-muted);font-weight:600}.gnode-cases-table tr:last-child td{border-bottom:none}.gnode-cases-empty{padding:4px 8px;color:var(--gm-text-faint);font-style:italic}.gnode-cases-more{padding:2px 8px;color:var(--gm-text-faint);font-size:9px}.gnode-cases.gnode-disabled{opacity:.45;border-style:dashed}.start-cfg .field{margin-top:10px}.start-cfg .field:first-of-type{margin-top:6px}.start-cfg .help{margin:0 0 6px;font-size:11px;color:var(--gm-text-muted);line-height:1.4}.start-cfg .cfg-checkbox{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--gm-radius);cursor:pointer}.start-cfg .cfg-checkbox input{width:auto;margin:2px 0 0}.start-cfg .cfg-checkbox span{font-size:12px;color:#14532d;line-height:1.4}.start-cfg .cfg-checkbox em{color:var(--gm-text-muted);font-style:normal}.react-flow__node.selected>.gnode-compact,.react-flow__node.selected>.gnode-cases{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb59}.react-flow__node.flow-hl:not(.selected)>.gnode-compact,.react-flow__node.flow-hl:not(.selected)>.gnode-cases,.react-flow__node.flow-hl:not(.selected)>.gnode{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b66}.react-flow__edge.flow-hl:not(.selected) .react-flow__edge-path{stroke:#f59e0b;stroke-width:2.5}.react-flow__edge.flow-dim{opacity:.3}.react-flow:not(:has(.react-flow__edge.selected)) .react-flow__edge:hover .react-flow__edge-path{stroke:#60a5fa;stroke-width:3}.react-flow__edge.selected{z-index:1000!important}.react-flow__edge.selected .react-flow__edge-path{stroke:#2563eb;stroke-width:3.5}.react-flow__edgeupdater{r:6;fill:#2563eb;opacity:0;pointer-events:none}.react-flow__edge.selected .react-flow__edgeupdater{opacity:.9;pointer-events:all;cursor:grab}.react-flow__pane,.react-flow__selection,.react-flow__nodes,.react-flow__node{user-select:none;-webkit-user-select:none}.gnode.note{background:#fff9c4;border-color:#fbc02d;border-style:dashed;padding:8px 12px}.gnode.note .gnode-meta{color:#5d4037;padding:0;text-align:left}.cfg-form{background:var(--gm-bg-2);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);padding:12px;margin-bottom:16px}.cfg-form h4{margin:0 0 8px;font-size:13px;color:var(--gm-cyan-deep);font-weight:600}.cfg-form h6{margin:8px 0 4px;font-size:10px;text-transform:uppercase;color:var(--gm-text-muted);letter-spacing:.5px}.cfg-form label,.subplot-config-body .field label,.subplot-dialog-body .field label{display:block;font-size:11px;color:var(--gm-text-muted);margin-bottom:2px;margin-top:5px}.cfg-form input,.cfg-form select,.cfg-form textarea,.subplot-config-body .field input,.subplot-config-body .field select,.subplot-config-body .field textarea,.subplot-dialog-body .field input,.subplot-dialog-body .field select,.subplot-dialog-body .field textarea{width:100%;padding:6px 8px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);font-size:12px;box-sizing:border-box;font-family:inherit}.cfg-form input:focus,.cfg-form select:focus,.cfg-form textarea:focus,.subplot-config-body .field input:focus,.subplot-config-body .field select:focus,.subplot-config-body .field textarea:focus,.subplot-dialog-body .field input:focus,.subplot-dialog-body .field select:focus,.subplot-dialog-body .field textarea:focus{outline:none;border-color:var(--gm-blue);box-shadow:0 0 0 2px var(--gm-focus-bg)}.subplot-config-body .field input[type=checkbox],.subplot-config-body .field input[type=radio],.subplot-config-body .field input[type=color],.subplot-dialog-body .field input[type=checkbox],.subplot-dialog-body .field input[type=radio],.subplot-dialog-body .field input[type=color]{width:auto}.cfg-checkbox input[type=checkbox],.cfg-checkbox input[type=radio]{width:auto;flex:0 0 auto;margin:0}.cfg-checkbox{justify-content:flex-start}.cfg-form .cfg-row{display:flex;gap:6px}.cfg-form .cfg-row>div{flex:1}.cfg-section,.plot-cfg-section-header{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 8px;border-radius:var(--gm-radius);background:var(--gm-cyan-bg);color:var(--gm-cyan-deep);font-weight:600;font-size:12px;-webkit-user-select:none;user-select:none;margin-top:10px;transition:background .15s,color .15s}.cfg-section:hover,.plot-cfg-section-header:hover{background:var(--gm-cyan-light)}.cfg-section>span:first-child,.plot-cfg-section-header .caret{width:10px;font-size:9px;color:var(--gm-text-muted)}.cfg-body,.plot-cfg-section-body{padding:8px 4px 4px}.cfg-section{border:1px solid var(--gm-border);border-bottom:0;border-radius:var(--gm-radius) var(--gm-radius) 0 0}.cfg-body{border:1px solid var(--gm-border);border-top:0;border-radius:0 0 var(--gm-radius) var(--gm-radius);padding:8px 10px 10px}.cfg-section:not(:has(+.cfg-body)){border-bottom:1px solid var(--gm-border);border-radius:var(--gm-radius)}.cfg-empty{font-size:11px;color:var(--gm-text-muted);margin:6px 0;font-style:italic}.cfg-bool{font-size:12px}.cfg-fieldset{border:1px solid var(--gm-border);border-radius:var(--gm-radius);padding:6px 10px 8px;margin:8px 0}.cfg-fieldset>legend{font-size:11px;font-weight:600;color:var(--gm-text-muted);padding:0 4px}.cfg-fieldset .field{margin-top:6px}.cfg-form .help,.subplot-config-body .help,.subplot-dialog-body .help{font-size:11px;font-style:italic;color:var(--gm-text-muted);line-height:1.4;margin:2px 0 6px}.filetype-row{display:flex;gap:6px;flex-wrap:wrap}.filetype-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--gm-border);border-radius:14px;background:var(--gm-bg);cursor:pointer;font-size:11px;color:var(--gm-text-muted);-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s,color .12s}.filetype-chip:hover{border-color:var(--gm-accent);color:var(--gm-text)}.filetype-chip input{width:auto;padding:0;margin:0;border:0;accent-color:var(--gm-accent)}.filetype-chip:has(input:checked){background:var(--gm-accent-bg);border-color:var(--gm-accent);color:var(--gm-cyan-deep);font-weight:500}.plot-cfg-section{border:1px solid var(--gm-border);border-radius:var(--gm-radius);background:var(--gm-bg);margin-top:10px}.plot-cfg-section>.plot-cfg-section-header{margin-top:0;border-radius:calc(var(--gm-radius) - 1px) calc(var(--gm-radius) - 1px) 0 0}.plot-cfg-section>.plot-cfg-section-header:only-child{border-radius:calc(var(--gm-radius) - 1px)}.plot-cfg-enable,.cfg-enable-card{border:1px solid var(--gm-border);border-radius:var(--gm-radius);background:var(--gm-bg);padding:8px 10px;margin:8px 0 0}.plot-cfg-enable{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:600;cursor:pointer}.plot-cfg-enable input{width:auto;margin:0;accent-color:var(--gm-accent)}.cfg-enable-card .field{margin:0}.cfg-enable-card .cfg-checkbox{font-size:12px;font-weight:600}.cfg-enable-card .cfg-checkbox input{accent-color:var(--gm-accent)}.plot-cfg-section-header .badge{margin-left:auto;padding:1px 7px;background:#ffffffb3;border:1px solid var(--gm-border);border-radius:9px;font-size:10px;color:var(--gm-text-muted);font-weight:500}.plot-cfg-action{margin-top:16px;padding-top:12px;border-top:1px solid var(--gm-border)}.plot-cfg-action-btn{width:100%;padding:9px 12px;background:var(--gm-accent);color:#fff;border:0;border-radius:var(--gm-radius);font-weight:600;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .1s}.plot-cfg-action-btn:hover{background:var(--gm-cyan-deep)}.plot-cfg-action-btn:active{transform:translateY(1px)}.plot-cfg-action-btn .icon{font-size:14px;line-height:1}.plot-cfg-action-btn .count{background:#ffffff38;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:500}.plot-cfg-action .help{margin-top:8px;text-align:center}.subplot-row .field{margin-top:6px}.subplots-stacked{display:flex;flex-direction:column;gap:12px}.subplots-signals-section{border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);background:var(--gm-bg);padding:6px 10px 10px}.subplots-signals-header{display:flex;align-items:center;gap:8px;padding:4px 4px 8px;border-bottom:1px solid var(--gm-border);margin-bottom:8px}.subplots-signals-header strong{flex:1;font-size:13px;font-weight:600;color:var(--gm-cyan-deep)}.subplots-preview{display:flex;flex-direction:column;border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);background:var(--gm-bg);padding:8px 10px 10px}.subplots-preview-header{display:flex;align-items:center;gap:16px;padding:4px 4px 8px;border-bottom:1px solid var(--gm-border)}.subplots-preview-title{font-size:13px;font-weight:600;color:var(--gm-cyan-deep);flex:0 0 auto}.subplots-preview-pagebar,.subplots-preview-dimbar{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gm-text)}.subplots-preview-pagebar{flex:1;justify-content:center}.subplots-preview-pagebar select,.subplots-preview-dimbar select{padding:2px 4px;font-size:12px;border:1px solid var(--gm-border);border-radius:6px;background:var(--gm-bg)}.subplots-preview-dimbar label{font-size:11px;color:var(--gm-text-muted);font-weight:500}.subplots-preview-orient{font-size:10.5px;color:var(--gm-text-muted);text-transform:uppercase;letter-spacing:.4px}.subplots-preview-pagesubtitle{font-size:11.5px;color:var(--gm-text-muted);text-align:center;margin:6px 0 0}.subplots-preview-help{font-size:11px;color:var(--gm-text-muted);text-align:center;margin:4px 0 8px;font-style:italic}.subplots-preview-grid{display:grid;gap:6px;padding:4px;background:var(--gm-bg-2);border-radius:var(--gm-radius)}.subplots-preview-cell{background:var(--gm-bg);border:1px solid var(--gm-border);border-radius:6px;display:flex;flex-direction:column;cursor:pointer;transition:border-color .12s,box-shadow .12s;overflow:hidden}.subplots-preview-cell:hover{border-color:var(--gm-cyan-deep)}.subplots-preview-cell.selected{border-color:var(--gm-cyan-deep);box-shadow:0 0 0 2px var(--gm-cyan-light)}.subplots-preview-cell.empty{background:repeating-linear-gradient(45deg,#f9fafb,#f9fafb 6px,#eef0f3 6px,#eef0f3 12px);cursor:default;color:var(--gm-text-muted);align-items:center;justify-content:center;font-size:10px;border-style:dashed;padding:8px}.subplots-preview-cell.empty:hover{border-color:var(--gm-border)}.subplots-preview-cell.dragging{opacity:.4}.subplots-preview-cell.drag-over{border-color:var(--gm-cyan-deep);border-style:solid;box-shadow:inset 0 0 0 2px var(--gm-cyan-light);background:var(--gm-cyan-bg)}.subplots-preview-cell.empty.drag-over{background:var(--gm-cyan-bg);border-style:solid}.subplots-preview-cell-header{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--gm-cyan-bg);border-bottom:1px solid var(--gm-border);cursor:grab}.subplots-preview-cell.dragging .subplots-preview-cell-header{cursor:grabbing}.subplots-preview-cell-header strong{font-size:11px;font-weight:600;color:var(--gm-cyan-deep);flex:1;text-align:center}.subplots-preview-cell-delete{background:transparent;border:0;cursor:pointer;color:var(--gm-launch-red);padding:0 4px;font-size:13px;line-height:1;border-radius:6px}.subplots-preview-cell-delete:hover{background:#ffebee}.subplots-cell-page{flex:0 0 auto;width:auto;height:18px;padding:0 2px;font-size:10px;border:1px solid var(--gm-border);border-radius:6px;background:var(--gm-bg);color:var(--gm-text-muted);cursor:pointer}.subplots-cell-page:hover{border-color:var(--gm-cyan);color:var(--gm-cyan-deep)}.subplots-preview-cell-body{padding:6px 8px 8px;display:flex;flex-direction:column;gap:5px;cursor:default}.subplots-preview-cell-title-input{width:100%;padding:3px 6px;font-size:12px;border:1px solid var(--gm-border);border-radius:6px}.subplots-preview-cell-tip{font-size:10.5px;color:var(--gm-text-muted);font-style:italic;margin:0}.subplots-preview-cell-coord{font-size:9.5px;color:var(--gm-text-muted);font-family:Consolas,ui-monospace,monospace}.subplots-preview-cell-channels{list-style:none;padding:0;margin:0;font-size:11px;display:flex;flex-direction:column;gap:2px;max-height:180px;overflow-y:auto}.subplots-preview-cell-channels li.channel{display:flex;align-items:center;gap:5px;padding:1px 2px;white-space:nowrap;overflow:hidden}.subplots-preview-cell-channels li.empty{font-style:italic;color:var(--gm-text-muted);font-size:10.5px;padding:4px 2px}.subplots-preview-cell-channels .legend-dash{display:inline-block;width:14px;height:2px;border-radius:2px;flex-shrink:0}.subplots-preview-cell-channels .axis-r{display:inline-block;font-size:8.5px;font-weight:700;background:#fef3c7;color:#92400e;padding:0 3px;border-radius:2px;letter-spacing:.3px}.subplots-preview-cell-channels .name{font-family:Consolas,ui-monospace,monospace;font-size:10.5px;color:var(--gm-text);flex-shrink:0}.subplots-preview-cell-channels .source{font-size:10px;color:var(--gm-text-muted);flex:1;overflow:hidden;text-overflow:ellipsis}.subplots-preview-cell-channels .remove-x{background:transparent;border:0;cursor:pointer;color:var(--gm-text-muted);padding:0 4px;font-size:13px;line-height:1;border-radius:6px}.subplots-preview-cell-channels .remove-x:hover{background:#ffebee;color:var(--gm-launch-red)}.subplots-preview-cell-configure{align-self:flex-start;background:transparent;border:0;cursor:pointer;color:var(--gm-cyan-deep);font-size:11px;font-weight:600;padding:3px 0;margin-top:2px}.subplots-preview-cell-configure:hover{text-decoration:underline}.subplots-preview-cell-cmds{display:flex;flex-wrap:wrap;gap:3px;padding-top:4px;border-top:1px dashed var(--gm-border)}.subplots-preview-cell-cmd-pill{display:inline-flex;align-items:center;font-family:Consolas,ui-monospace,monospace;font-size:9.5px;font-weight:600;letter-spacing:.2px;color:var(--gm-cyan-deep);background:var(--gm-cyan-bg);border:1px solid var(--gm-cyan-light);padding:1px 5px;border-radius:9px;white-space:nowrap}.subplots-preview-cell-cmd-pill .cnt{margin-left:3px;color:var(--gm-text-muted);font-weight:500}.agent-fs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1f3d8c;z-index:260;display:flex;align-items:center;justify-content:center}.agent-fs-modal{background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:var(--gm-radius-lg);width:min(720px,92vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--gm-modal-shadow);overflow:hidden;font-size:13px}.agent-fs-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--gm-cyan-bg);border-bottom:1px solid var(--gm-border)}.agent-fs-header strong{flex:1;color:var(--gm-cyan-deep)}.agent-fs-close{background:transparent;border:0;cursor:pointer;font-size:18px;color:var(--gm-text-muted);padding:0 4px}.agent-fs-toolbar{display:flex;gap:4px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--gm-border)}.agent-fs-pathinput{flex:1;font-family:Consolas,ui-monospace,monospace;font-size:12px;padding:4px 6px;border:1px solid var(--gm-border);border-radius:6px}.agent-fs-glob{padding:4px 12px;font-size:11px;color:var(--gm-text-muted);background:var(--gm-bg-2);border-bottom:1px solid var(--gm-border)}.agent-fs-glob code{background:var(--gm-cyan-bg);padding:1px 5px;border-radius:6px}.agent-fs-listwrap{flex:1;overflow-y:auto;background:var(--gm-bg)}.agent-fs-status{padding:16px;text-align:center;color:var(--gm-text-muted);font-style:italic}.agent-fs-status.err{color:var(--gm-launch-red);font-style:normal}.agent-fs-status.muted{color:var(--gm-text-muted)}.agent-fs-list{list-style:none;padding:0;margin:0}.agent-fs-item{display:grid;grid-template-columns:22px 1fr 80px 150px;align-items:center;padding:4px 12px;cursor:pointer;border-bottom:1px solid var(--gm-border-soft);-webkit-user-select:none;user-select:none}.agent-fs-item:hover{background:var(--gm-cyan-bg)}.agent-fs-item.selected{background:var(--gm-cyan-light);color:var(--gm-cyan-deep)}.agent-fs-item.disabled{opacity:.45;cursor:not-allowed}.agent-fs-item.dir .agent-fs-name{font-weight:600}.agent-fs-icon{text-align:center}.agent-fs-name{font-family:Consolas,ui-monospace,monospace;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-fs-size,.agent-fs-mtime{font-size:11px;color:var(--gm-text-muted);text-align:right}.agent-fs-footer{display:flex;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid var(--gm-border);background:var(--gm-bg-2)}.agent-fs-count{flex:1;font-size:11px;color:var(--gm-text-muted)}.agent-fs-count .err{color:var(--gm-launch-red)}.subplot-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1f3d8c;z-index:250;display:flex;align-items:center;justify-content:center}.subplot-dialog{background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:var(--gm-radius-lg);width:min(720px,92vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--gm-modal-shadow);overflow:hidden}.subplot-dialog-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--gm-cyan);color:#fff}.subplot-dialog-header strong{flex:1;font-size:14px}.subplot-dialog-close{background:transparent;border:0;color:#fff;font-size:18px;padding:0 8px;cursor:pointer;line-height:1}.subplot-dialog-close:hover{background:#fff3;border-radius:6px}.subplot-dialog-body{padding:14px 18px;overflow-y:auto;overflow-x:auto;min-width:0}.trace-style-table{display:flex;flex-direction:column;gap:3px}.trace-style-row{display:grid;grid-template-columns:minmax(120px,1fr) 78px 70px 110px 130px;gap:8px;align-items:center}.trace-style-head{font-size:10px;font-weight:600;color:var(--gm-text-muted);text-transform:uppercase;letter-spacing:.4px;padding-bottom:2px;border-bottom:1px solid var(--gm-border)}.trace-style-token{font-family:Consolas,ui-monospace,monospace;font-size:11px;color:var(--gm-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-style-color{display:flex;align-items:center;gap:4px}.trace-style-color input[type=color]{width:36px;height:24px;padding:0;border:1px solid var(--gm-border);border-radius:6px;cursor:pointer;background:var(--gm-bg)}.trace-style-clear{background:transparent;border:0;cursor:pointer;color:var(--gm-text-muted);font-size:13px;line-height:1;padding:0 2px;border-radius:6px}.trace-style-clear:hover{background:#ffebee;color:var(--gm-launch-red)}.trace-style-width{width:100%;padding:3px 5px;font-size:12px;border:1px solid var(--gm-border);border-radius:6px}.trace-style-row select{padding:3px 4px;font-size:12px;border:1px solid var(--gm-border);border-radius:6px;background:var(--gm-bg)}.manage-plots-header{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--gm-cyan-bg);border-radius:var(--gm-radius);margin-bottom:8px}.manage-plots-header strong{flex:1;color:var(--gm-cyan-deep);font-size:13px}.manage-plot-card{border:1px solid var(--gm-border);border-radius:var(--gm-radius);margin-bottom:8px;background:var(--gm-bg)}.manage-plot-card-header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--gm-cyan-bg);border-radius:4px 4px 0 0;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;color:var(--gm-cyan-deep)}.manage-plot-card-header .caret{width:12px;font-size:9px;color:var(--gm-text-muted)}.manage-plot-card-header strong{font-weight:600}.manage-plot-card-body{padding:8px 10px 10px}.manage-plot-title-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.manage-plot-title-row label{font-size:11px;font-weight:600;color:var(--gm-text-muted);min-width:36px}.manage-plot-title-row input{flex:1;padding:4px 6px;font-size:12px}.manage-plot-tip{font-size:10.5px;color:var(--gm-text-muted);font-style:italic;margin:4px 0 6px}.manage-plot-channel-list{list-style:none;padding:0;margin:0;border:1px solid var(--gm-border);border-radius:6px;background:var(--gm-bg-2);max-height:220px;overflow-y:auto}.manage-plot-channel-row{display:flex;align-items:center;gap:6px;padding:3px 6px;border-bottom:1px solid var(--gm-border-soft);font-size:12px}.manage-plot-channel-row:last-child{border-bottom:0}.manage-plot-channel-row input[type=checkbox]{margin:0;cursor:pointer}.manage-plot-channel-name{font-family:Consolas,ui-monospace,monospace;font-size:11.5px;color:var(--gm-text);flex-shrink:0}.manage-plot-channel-axis{font-size:9px;font-weight:700;background:#fef3c7;color:#92400e;padding:0 5px;border-radius:2px;letter-spacing:.4px}.manage-plot-channel-source{flex:1;font-size:10.5px;color:var(--gm-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manage-plot-channel-remove{background:transparent;border:0;cursor:pointer;padding:0 6px;color:var(--gm-text-muted);font-size:14px;line-height:1;border-radius:6px}.manage-plot-channel-remove:hover{background:#ffebee;color:var(--gm-launch-red)}.manage-plot-channel-empty{padding:10px;text-align:center;color:var(--gm-text-muted);font-style:italic;font-size:11px}.manage-plot-advanced{margin-top:8px;border-top:1px dashed var(--gm-border);padding-top:6px}.manage-plot-advanced>summary{cursor:pointer;font-size:11px;font-weight:600;color:var(--gm-text-muted);padding:2px 0;-webkit-user-select:none;user-select:none}.manage-plot-advanced>summary:hover{color:var(--gm-cyan-deep)}.manage-plot-advanced-body{margin-top:6px}.cmd-block{background:var(--gm-bg);padding:6px 8px;border-radius:0 4px 4px 0}.cmds-toolbar{margin-bottom:6px}.cmds-cm-wrap{display:flex;flex-direction:column}.cmds-ref-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 0 5px;font-size:11px}.cmds-ref-bar-label{font-weight:600;color:var(--gm-text-muted)}.cmds-ref-chip{display:inline-flex;align-items:center;gap:3px;background:var(--gm-cyan-bg);color:var(--gm-cyan-deep);border:1px solid transparent;font-family:Consolas,ui-monospace,monospace;font-weight:700;font-size:11px;padding:1px 7px;border-radius:6px;cursor:pointer}.cmds-ref-chip:hover{background:var(--gm-cyan);color:#fff}.cmds-ref-chip.active{background:var(--gm-cyan);color:#fff;border-color:var(--gm-cyan-deep)}.cmds-ref-bar-hint{color:var(--gm-text-muted);font-style:italic;margin-left:2px}.cmds-ref-panel{border:1px solid var(--gm-border);border-radius:var(--gm-radius);background:var(--gm-bg-2);padding:8px 10px;margin-bottom:6px;max-height:300px;overflow-y:auto}.cmds-ref-detail-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.cmds-ref-verb-name{display:inline-block;background:var(--gm-cyan);color:#fff;padding:1px 8px;border-radius:6px;font-weight:700;font-size:12px;font-family:Consolas,ui-monospace,monospace;flex:0 0 auto}.cmds-ref-verb-desc{font-size:11.5px;color:var(--gm-text)}.cmds-ref-spacer{flex:1}.cmds-ref-close{background:transparent;border:0;cursor:pointer;color:var(--gm-text-muted);font-size:16px;line-height:1;padding:0 4px;border-radius:6px}.cmds-ref-close:hover{background:var(--gm-bg-3);color:var(--gm-text)}.cmds-ref-hint{margin:0 0 8px;color:var(--gm-text-muted);font-size:11px;line-height:1.5}.cmds-ref-hint code{background:var(--gm-bg-3);padding:1px 4px;border-radius:6px;font-family:Consolas,ui-monospace,monospace}.cmds-ref-table{width:100%;border-collapse:collapse;font-size:11px}.cmds-ref-table td{padding:2px 6px;vertical-align:top;border-top:1px solid var(--gm-border-soft)}.cmds-ref-td-key{white-space:nowrap;width:1%}.cmds-ref-td-key b{color:#7c3aed;font-weight:700;font-family:Consolas,ui-monospace,monospace}.cmds-ref-td-desc{color:var(--gm-text)}.cmds-ref-vals{color:#15803d}.cmds-ref-none{color:var(--gm-text-muted);font-style:italic;font-size:11px}.cmds-ref-variants{margin-bottom:8px}.cmds-ref-variants-label,.cmds-ref-keys-label{font-size:11px;font-weight:600;color:var(--gm-text-muted);margin:4px 0;text-transform:uppercase;letter-spacing:.04em}.cmds-ref-variants-table{width:100%;border-collapse:collapse;font-size:11px}.cmds-ref-variants-table td{padding:4px 6px;vertical-align:top;border-top:1px solid var(--gm-border-soft)}.cmds-ref-variants-target{white-space:nowrap;width:1%;color:var(--gm-cyan-deep);font-weight:700}.cmds-ref-target-btn{background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;text-decoration:underline dotted}.cmds-ref-target-btn:hover{color:var(--gm-cyan)}.cmds-ref-variant-sel td{background:var(--gm-bg-3)}.cmds-ref-variant-sel .cmds-ref-target-btn{text-decoration:none}.cmds-ref-clear{background:none;border:1px solid var(--gm-border);border-radius:4px;margin-left:6px;padding:0 6px;cursor:pointer;font-size:10px;color:var(--gm-text-muted);text-transform:none;letter-spacing:normal}.cmds-ref-clear:hover{color:var(--gm-cyan-deep);border-color:var(--gm-cyan)}.cmds-ref-variants-syntax code{background:var(--gm-bg-3);padding:2px 6px;border-radius:4px;font-family:Consolas,ui-monospace,monospace;font-size:11px;display:inline-block;white-space:normal;word-break:break-word}.cmds-ref-variants-desc{color:var(--gm-text-muted);font-size:10.5px;margin-top:2px;line-height:1.4}.cmds-add-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.cmds-add-chip{display:inline-flex;align-items:center;gap:5px;cursor:pointer;background:var(--gm-accent-bg);color:var(--gm-accent);border:1px solid var(--gm-accent);border-radius:6px;padding:2px 8px 2px 6px;font-size:11px;font-weight:600}.cmds-add-chip:hover{filter:brightness(.97)}.cmds-add-chip-label{white-space:nowrap}.cmds-kind-icon{display:inline-flex;align-items:center}.cmds-kind-badge{font-family:Consolas,ui-monospace,monospace;font-size:9.5px;font-weight:700;line-height:1;padding:2px 3px;border-radius:3px;background:var(--gm-bg-3);color:var(--gm-text-muted)}.cmds-view-switch{position:relative;display:inline-flex;align-items:stretch;height:22px;padding:0;border:1px solid var(--gm-border);border-radius:999px;background:var(--gm-bg-3);cursor:pointer;overflow:hidden}.cmds-view-switch:hover{border-color:var(--gm-accent)}.cmds-view-opt{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:52px;font-size:11px;font-weight:600;color:var(--gm-text-muted);transition:color .15s}.cmds-view-thumb{position:absolute;top:1px;bottom:1px;left:1px;width:52px;border-radius:999px;background:var(--gm-accent);transition:transform .18s ease}.cmds-view-switch.on .cmds-view-thumb{transform:translate(52px)}.cmds-view-switch:not(.on) .cmds-view-opt:first-of-type,.cmds-view-switch.on .cmds-view-opt:last-of-type{color:#fff}.cmd-card{background:var(--gm-bg);border:1px solid var(--gm-border);border-radius:var(--gm-radius);margin-bottom:8px}.cmd-card.cmd-comment{border-left:3px solid #94a3b8;background:var(--gm-bg-2)}.cmd-card.cmd-comment .cmd-header{background:var(--gm-bg-3)}.cmd-card.cmd-comment .cmd-type{color:var(--gm-text-faint)}.cmd-header{display:flex;align-items:center;padding:4px 8px;background:var(--gm-cyan-bg);border-radius:4px 4px 0 0}.cmd-type{font-size:11px;font-weight:600;color:var(--gm-cyan-deep);letter-spacing:.3px}.cmd-spacer{flex:1}.cmd-btn{background:transparent;border:0;cursor:pointer;padding:2px 6px;font-size:13px;color:var(--gm-text-muted);border-radius:6px}.cmd-btn:hover{background:var(--gm-cyan-bg);color:var(--gm-cyan-deep)}.cmd-btn:disabled{color:#bdbdbd;cursor:not-allowed}.cmd-btn.cmd-del{color:var(--gm-launch-red)}.cmd-btn.cmd-del:hover{background:#ffebee}.cmd-body{padding:6px 8px 8px}.snapshot-table{width:100%;border-collapse:collapse;font-size:12px}.snapshot-table th{background:var(--gm-cyan-bg);padding:6px 8px;text-align:left;border-bottom:1px solid var(--gm-border);font-weight:600;color:var(--gm-cyan-deep)}.snapshot-table td{padding:4px 8px;border-bottom:1px solid var(--gm-border-soft);font-variant-numeric:tabular-nums}.snapshot-table td:nth-child(2),.snapshot-table td:nth-child(3){text-align:right}.snapshot-table tr.row-violation td{background:#ffebee;color:#c62828}.analysis-table{width:100%;border-collapse:collapse;font-size:12px}.analysis-table th{background:var(--gm-cyan-bg);padding:6px 8px;text-align:left;border-bottom:1px solid var(--gm-border);font-weight:600;color:var(--gm-cyan-deep)}.analysis-table td{padding:4px 8px;border-bottom:1px solid var(--gm-border-soft)}.analysis-table .pass-pill{background:#c8e6c9;color:#1b5e20;padding:1px 8px;border-radius:999px;font-weight:600;font-size:11px}.analysis-table .fail-pill{background:#ffcdd2;color:#b71c1c;padding:1px 8px;border-radius:999px;font-weight:600;font-size:11px}.selection-actions{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--gm-cyan-bg);border:1px solid var(--gm-cyan-light);border-radius:var(--gm-radius);margin-bottom:12px;font-size:12px}.sel-info{flex:1;color:var(--gm-cyan-deep)}.sel-info code{background:var(--gm-bg);padding:1px 6px;border-radius:6px;font-size:11px}.loop-matrix{outline:none}.loop-matrix td.cell-selected{background:#0891b22e;box-shadow:inset 0 0 0 1px var(--gm-cyan-deep)}.loop-matrix td.cell-selected input[type=text]{background:transparent}.btn-mini{background:var(--gm-bg);border:1px solid var(--gm-border);padding:3px 9px;border-radius:6px;font-size:13px;cursor:pointer;line-height:1}.btn-mini:hover{background:var(--gm-bg-2)}.btn-mini.btn-danger{color:var(--gm-launch-red);border-color:#ef9a9a}.btn-mini.btn-danger:hover{background:#ffebee}.run-status{font-size:10px;padding:3px 10px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.run-status.queued,.run-status.pending{background:#e0e7ff;color:#3730a3}.run-status.running{background:#fff3e0;color:#e65100}.run-status.done{background:#c8e6c9;color:#1b5e20}.run-status.failed{background:#ffcdd2;color:#b71c1c}.run-status.paused{background:#dbeafe;color:#1e40af}.run-status.cancelled{background:var(--gm-bg-3);color:var(--gm-text-muted)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid #cbd5e1;border-top-color:var(--gm-accent);border-radius:50%;animation:gm-spin .8s linear infinite}@keyframes gm-spin{to{transform:rotate(360deg)}}.admin-page{padding:24px 32px;max-width:1200px;margin:0 auto;flex:1;min-height:0;overflow-y:auto;width:100%;box-sizing:border-box}.admin-page h2{font-weight:400;font-size:28px;margin:0 0 6px}.admin-sub{font-size:12px;color:var(--gm-text-muted);margin:0 0 20px}.admin-card{background:var(--gm-bg);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);padding:20px 22px;margin-bottom:20px}.admin-card h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--gm-text)}.admin-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.admin-form input,.admin-form select{padding:6px 9px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);font-size:12px;font-family:inherit;min-width:140px}.admin-form input:focus,.admin-form select:focus{outline:none;border-color:var(--gm-blue);box-shadow:0 0 0 2px var(--gm-focus-bg)}.admin-form .btn{padding:6px 14px}.admin-form label{font-size:12px;color:var(--gm-text-muted);margin-right:4px}.admin-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gm-text)}.admin-check input{min-width:0}.admin-msg{font-size:12px;color:#1b5e20;background:#e8f5e9;padding:6px 10px;border-radius:var(--gm-radius);margin:6px 0}.admin-err{font-size:12px;color:#b71c1c;background:#ffebee;padding:6px 10px;border-radius:var(--gm-radius);margin:6px 0}.admin-empty{padding:16px;text-align:center;color:var(--gm-text-muted);font-style:italic;font-size:12px}.admin-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.admin-table th{text-align:left;padding:6px 8px;color:var(--gm-text-muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gm-border);background:var(--gm-bg-2)}.admin-table td{padding:7px 8px;border-bottom:1px solid var(--gm-border-soft);vertical-align:middle}.admin-table tbody tr:hover{background:var(--gm-bg-2)}.admin-actions{display:flex;gap:4px;flex-wrap:wrap}.admin-actions .btn-mini{white-space:nowrap}.user-self-tag{color:var(--gm-text-muted);font-size:11px;font-style:italic;margin-left:4px}.hostname-moved-badge{display:inline-block;margin-left:6px;padding:1px 6px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:8px;font-size:10px;font-weight:600;cursor:help}.role-inline-select{padding:3px 6px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);font-size:11px;font-family:inherit;background:var(--gm-bg)}.role-inline-select:disabled{background:var(--gm-bg-3);color:var(--gm-text-muted);cursor:not-allowed}.readonly-banner{background:#fef3c7;border-bottom:1px solid #fcd34d;color:#78350f;padding:8px 16px;font-size:13px;font-weight:500;text-align:center}.readonly-fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;flex:1;min-height:0;overflow:auto}.readonly-fieldset>.cfg-form{flex:1;min-width:0}.readonly-fieldset[disabled]{cursor:not-allowed}.readonly-fieldset[disabled] input,.readonly-fieldset[disabled] textarea,.readonly-fieldset[disabled] select,.readonly-fieldset[disabled] button{opacity:.6;cursor:not-allowed}.loop-warning{background:#fff7ed;border-bottom:1px solid #fdba74;color:#7c2d12;padding:6px 12px;font-size:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.loop-warning-pill{background:var(--gm-bg);border:1px solid #fb923c;color:#7c2d12;padding:2px 8px;border-radius:10px;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.loop-warning-pill:hover{background:#fed7aa}.loop-warning-pill code{font-size:10px;opacity:.8}.role-pill{display:inline-block;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600;background:#e3f2fd;color:#0d47a1;text-transform:uppercase;letter-spacing:.4px}.role-pill.role-super{background:var(--gm-launch-red);color:#fff}.role-pill.role-full{background:#c8e6c9;color:#1b5e20}.role-pill.role-reader{background:#fff3e0;color:#e65100}.enrollment-banner{background:#fff3e0;border:1px solid #ffb74d;border-radius:var(--gm-radius-lg);padding:12px 14px;margin:12px 0;font-size:12px;color:#5d4037}.enrollment-banner em{color:#b71c1c;font-weight:600}.enrollment-token{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap}.enrollment-token code{flex:1;min-width:240px;background:var(--gm-bg);padding:6px 10px;border:1px solid #ffb74d;border-radius:var(--gm-radius);font-size:11px;word-break:break-all}.enrollment-banner small{color:var(--gm-text-muted);font-size:11px}.enrollment-banner small code{background:var(--gm-bg-2);padding:1px 5px;border-radius:6px}.run-history{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:12px}.run-history th{text-align:left;padding:5px 6px;color:var(--gm-text-muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gm-border)}.run-history td{padding:5px 6px;border-bottom:1px solid var(--gm-border-soft);cursor:pointer}.run-history tbody tr:hover{background:var(--gm-bg-2)}.run-history tbody tr.selected{background:var(--gm-accent-bg)}.run-history-head{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px;padding-top:12px;border-top:1px solid var(--gm-border)}.run-history-head h4{margin:0;font-size:11px;font-weight:600;color:var(--gm-text-muted);text-transform:uppercase;letter-spacing:.5px}.run-history-head-acts{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.run-pick-count{font-size:11px;color:var(--gm-text-muted);margin-right:2px}.run-pick{flex:none;margin:0;width:14px;height:14px;accent-color:var(--gm-accent);cursor:pointer}.run-row.picked{background:var(--gm-accent-bg)}.run-row-delete{background:transparent;border:0;color:var(--gm-text-faint);padding:2px 6px;cursor:pointer;font-size:14px;line-height:1;border-radius:6px}.run-row-delete:hover{background:#fee2e2;color:#dc2626}.run-history tbody tr.selected td{font-weight:600}.run-detail{border-top:1px solid var(--gm-border);padding-top:10px;margin-top:8px}.run-detail-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.runs-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:16px 20px;gap:10px}.runs-page-head{display:flex;align-items:baseline;gap:12px}.runs-page-head h3{margin:0;font-size:16px}.runs-page-sub{font-size:12px;color:var(--gm-text-muted)}.runs-page-body{flex:1;min-height:0;display:flex;border:1px solid var(--gm-border);border-radius:var(--gm-radius);overflow:hidden;background:var(--gm-bg)}.runs-page-body>.run-history-split{flex:1;min-height:0}.run-proj{margin-bottom:2px}.run-proj-head{display:flex;align-items:center;gap:6px;padding:3px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;color:var(--gm-text-muted)}.run-proj-head:hover{background:var(--gm-bg-2)}.run-proj-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-proj-name.current{color:var(--gm-text)}.run-proj-name.current:after{content:"•";color:#0f766e;margin-left:5px}.run-proj-count{color:var(--gm-text-faint);flex:1}.run-proj-children{padding-left:10px}.run-flow-tree{margin:0 8px 6px 30px;display:flex;flex-direction:column;gap:2px}.run-flow-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--gm-text-muted)}.run-flow-branch{color:var(--gm-text-faint);font-family:ui-monospace,Consolas,monospace}.run-flow-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-flow-bar{width:64px;height:4px;border-radius:2px;background:var(--gm-bg-3);overflow:hidden;flex:none}.run-flow-bar>span{display:block;height:100%;background:#0f766e;transition:width .3s ease}.run-flow-pct{width:34px;text-align:right;font-variant-numeric:tabular-nums;flex:none}.run-progress-dock{position:fixed;left:0;right:0;bottom:0;z-index:950;background:var(--gm-bg);border-top:1px solid var(--gm-border);box-shadow:0 -2px 6px #0f172a0f;display:flex;flex-direction:column}.run-progress-dock-resize{position:absolute;left:0;right:0;top:-2px;height:6px;cursor:ns-resize;z-index:1}.run-progress-dock-resize:before{content:"";position:absolute;left:50%;top:2px;width:40px;height:2px;transform:translate(-50%);background:transparent;border-radius:1px;transition:background .12s ease}.run-progress-dock-resize:hover:before{background:#94a3b8}.run-progress-dock-resize:active:before{background:#475569}.run-progress-dock-bar{display:flex;align-items:center;gap:10px;padding:6px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--gm-bg-3);border-bottom:1px solid var(--gm-border);font-size:12px;height:32px;box-sizing:border-box;flex:0 0 auto}.run-progress-dock-bar strong{color:var(--gm-text);font-size:12px}.run-progress-dock-meta{color:var(--gm-text-muted);font-size:11px;margin-left:auto;margin-right:8px}.run-progress-dock-btn{background:transparent;border:1px solid var(--gm-border);border-radius:6px;padding:0 8px;font-size:11px;cursor:pointer;height:22px}.run-progress-dock-btn:hover{background:var(--gm-bg)}.run-progress-dock-body{overflow:hidden;flex:1;min-height:0;padding:6px 14px 12px}.run-progress-dock-body .run-progress-log{margin:0;height:100%;display:flex;flex-direction:column}.run-progress-dock-body .run-progress-scroll{max-height:none;flex:1}.run-progress-dock-tabs{display:flex;align-items:stretch;gap:2px;height:100%}.run-progress-dock-tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:0 14px;height:100%;font-size:12px;font-weight:500;color:var(--gm-text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.run-progress-dock-tab:hover{background:var(--gm-bg-3);color:var(--gm-text)}.run-progress-dock-tab.active{color:var(--gm-text);border-bottom-color:var(--gm-accent);background:var(--gm-bg)}.run-progress-dock-history{height:100%;overflow:hidden;padding:0}.run-progress-dock-history .run-history-head{margin-top:0;padding-top:4px;border-top:0}.run-history-split{display:flex;height:100%;min-height:0;gap:0}.run-history-split-runs{flex:0 0 360px;border-right:1px solid var(--gm-border);overflow-y:auto;padding:4px 12px 12px;min-width:0}.run-history-resizer{flex:0 0 5px;align-self:stretch;cursor:col-resize;background:transparent}.run-history-resizer:hover,.run-history-resizer:active{background:var(--gm-cyan-bg)}.run-history-split-detail{flex:1;overflow-y:auto;padding:8px 14px 12px;min-width:0}.run-history-split-detail .run-detail{border-top:0;margin-top:0;padding-top:0}.run-jobs-empty{color:var(--gm-text-muted);font-size:12px;padding:12px 4px}.run-day-h{font-size:13px;font-weight:700;color:var(--gm-text);margin:14px 0 8px;display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.run-day-count{font-weight:400;color:var(--gm-text-faint)}.run-search{display:flex;flex-direction:column;gap:4px;margin:0 0 6px}.run-search input{font-size:12px;padding:3px 6px;border:1px solid var(--gm-border);border-radius:6px;background:var(--gm-bg);color:var(--gm-text);min-width:0}.run-search-q{width:100%;box-sizing:border-box}.run-search-dates{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--gm-text-muted)}.run-search-dates input[type=date]{flex:1 1 0}.run-orphans{margin-top:10px;border-top:1px dashed var(--gm-border)}.run-orphans .run-history-head-acts{margin-left:auto}.run-orphan-row{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 4px;color:var(--gm-text)}.run-orphan-id{font-family:var(--gm-mono);color:var(--gm-text-muted);flex:none}.run-orphan-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-orphan-proj,.run-orphan-meta{color:var(--gm-text-faint)}.run-orphan-meta{flex:none;font-size:11px}.run-jobs>div:first-child .run-day-h{margin-top:4px}.run-job{display:flex;background:var(--gm-bg);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);overflow:hidden;margin-bottom:10px;cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s}.run-job:hover{box-shadow:0 6px 18px #0b1c3014;transform:translateY(-1px)}.run-job.sel{border-color:var(--gm-accent);box-shadow:0 0 0 1px var(--gm-accent)}.run-job.muted{opacity:.65}.run-job-rail{width:78px;flex:none;background:var(--gm-cyan-bg);border-right:1px solid var(--gm-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px}.run-job-dur{font-family:var(--gm-mono);font-size:10px;color:var(--gm-text-muted)}.run-pring{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;background:conic-gradient(var(--gm-accent) calc(var(--p,0)*1%),var(--gm-border) 0)}.run-pring:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:var(--gm-cyan-bg)}.run-pring span{position:relative;font-size:10px;font-weight:700;color:var(--gm-cyan-deep)}.run-glyph{width:32px;height:32px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.run-glyph.done{border-color:var(--gm-accent);color:var(--gm-accent)}.run-glyph.failed,.run-glyph.cancelled{border-color:var(--gm-launch-red);color:var(--gm-launch-red)}.run-glyph.queued{border-color:var(--gm-border);color:var(--gm-text-muted)}.run-glyph.paused{border-color:var(--gm-blue);color:var(--gm-blue);font-size:9px;letter-spacing:-2px}.run-glyph.bare{border:none}.run-job-body{flex:1;min-width:0;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.run-job-main{min-width:0}.run-job-rid{font-family:var(--gm-mono);font-size:10px;color:var(--gm-text-muted)}.run-job-title{font-size:14px;font-weight:600;color:var(--gm-text);margin:1px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-job-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:6px;font-size:11px;color:var(--gm-text-muted)}.run-job-meta .sep{opacity:.35}.run-job-who{display:flex;align-items:center}.run-job-avatar{width:18px;height:18px;border-radius:999px;background:var(--gm-cyan-light);color:var(--gm-cyan-deep);font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center}.run-job-acts{display:flex;flex-direction:column;gap:5px;flex:none;align-items:stretch}.run-act{display:inline-flex;align-items:center;gap:4px;background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius);padding:3px 9px;cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;color:var(--gm-text);white-space:nowrap}.run-act:hover{background:var(--gm-cyan-bg);border-color:var(--gm-cyan-light)}.run-act.danger{color:var(--gm-launch-red)}.run-act.danger:hover{background:#ffebee;border-color:#ef9a9a}.run-row{display:flex;align-items:center;gap:8px;padding:5px 8px;margin:3px 0;border:1px solid transparent;border-radius:var(--gm-radius);cursor:pointer;min-width:0}.run-row:hover{background:var(--gm-cyan-bg)}.run-row.sel{background:var(--gm-cyan-bg);border-color:var(--gm-accent)}.run-row.muted{opacity:.6}.run-row-glyph{flex:none;display:flex;align-items:center}.run-row-glyph .run-glyph{width:22px;height:22px;border-width:2px;font-size:11px}.run-row-glyph .run-pring{width:24px;height:24px}.run-row-glyph .run-pring span{font-size:8px}.run-row-name{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--gm-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-row-meta{display:flex;align-items:center;gap:8px;flex:none;font-size:11px;color:var(--gm-text-muted);white-space:nowrap}.run-row-eng{padding:1px 6px;border-radius:999px;background:var(--gm-surface);border:1px solid var(--gm-border);font-weight:600}.run-row-acts{display:flex;align-items:center;gap:4px;flex:none}.run-row-acts .run-act{padding:2px 6px;font-size:11px}.run-batch{border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);margin:6px 0;overflow:hidden}.run-batch.has-sel{border-color:var(--gm-accent)}.run-batch-head{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--gm-bg-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px}.run-batch-head:hover{background:var(--gm-cyan-bg)}.run-batch-chevron{display:inline-block;transition:transform .15s;color:var(--gm-text-muted)}.run-batch-chevron.collapsed{transform:rotate(-90deg)}.run-glyph.mini{width:20px;height:20px;border-width:2px;font-size:10px;flex:none}.run-batch-title{font-weight:700;color:var(--gm-text)}.run-batch-count{color:var(--gm-text-muted)}.run-batch-sum{display:flex;align-items:center;gap:6px;font-weight:700}.run-batch-sum .ok{color:var(--gm-accent)}.run-batch-sum .bad{color:var(--gm-launch-red)}.run-batch-sum .run{color:var(--gm-blue);font-weight:600}.run-batch-meta{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--gm-text-muted);white-space:nowrap;min-width:0;overflow:hidden}.run-batch-head .run-row-acts{margin-left:6px}.run-batch-children{padding:2px 6px 4px 14px;border-left:2px solid var(--gm-border);margin-left:12px}.run-detail-error{background:#ffebee;padding:8px;border-radius:var(--gm-radius);font-size:11px;white-space:pre-wrap}.run-progress-log{margin:8px 0 12px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);background:var(--gm-bg-2);overflow:hidden}.run-progress-head{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--gm-bg-3);font-size:11px;border-bottom:1px solid var(--gm-border)}.run-progress-head strong{font-size:11px;color:var(--gm-text)}.run-progress-meta{color:var(--gm-text-muted);font-size:10px;margin-left:auto}.run-progress-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.run-progress-dot.live{background:#10b981;box-shadow:0 0 #10b98199;animation:pulseDot 1.4s ease-out infinite}.run-progress-dot.off{background:#cbd5e1}.run-progress-dot.retry{background:#f59e0b;box-shadow:0 0 #f59e0b99;animation:pulseDotAmber 1.1s ease-out infinite}@keyframes pulseDot{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes pulseDotAmber{0%{box-shadow:0 0 #f59e0b80}70%{box-shadow:0 0 0 6px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.run-progress-conn{color:var(--gm-text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.run-progress-warn{padding:6px 10px;background:#fffbeb;color:#92400e;font-size:11px;border-bottom:1px solid var(--gm-border)}.conn-pills{display:inline-flex;align-items:center;gap:6px;position:relative}.subtabs .conn-pills{margin-right:10px}.conn-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--gm-border);background:var(--gm-bg);cursor:pointer;color:var(--gm-text-muted);line-height:1.6}.conn-pill.good{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.conn-pill.bad{border-color:#fecaca;background:#fef2f2;color:#991b1b}.conn-pill.idle{color:var(--gm-text-faint)}.conn-pill:hover{filter:brightness(.98)}.conn-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#cbd5e1}.conn-dot.ok{background:#10b981}.conn-dot.down{background:#ef4444;box-shadow:0 0 #ef444499;animation:pulseDotRed 1.1s ease-out infinite}.conn-dot.unknown{background:#cbd5e1}@keyframes pulseDotRed{0%{box-shadow:0 0 #ef444480}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.conn-popover{position:absolute;top:100%;right:0;margin-top:6px;z-index:50;width:280px;background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:8px;box-shadow:var(--gm-modal-shadow);padding:10px 12px;font-size:11.5px;color:var(--gm-text-muted);font-weight:400;line-height:1.5}.conn-popover p{margin:6px 0}.conn-pop-title{font-weight:700;font-size:12px}.conn-pop-title.bad{color:#991b1b}.conn-pop-title.good{color:#166534}.conn-pop-title.idle{color:var(--gm-text-faint)}.conn-pop-hint{color:var(--gm-text-muted);font-style:italic}.conn-pop-list{margin:6px 0 0;padding-left:18px}.conn-pop-list li{margin:3px 0}.conn-popover code{background:var(--gm-bg-3);padding:1px 4px;border-radius:3px;font-size:11px}.conn-pop-btn{margin-top:8px;padding:4px 10px;font-size:11px;font-weight:600;border-radius:6px;border:1px solid var(--gm-border);background:var(--gm-bg-2);cursor:pointer}.conn-pop-btn:hover{background:var(--gm-bg-3)}.oc-badge{margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;font-family:ui-monospace,SFMono-Regular,monospace;background:var(--gm-bg-3);color:var(--gm-text-faint)}.oc-badge.on{background:#dcfce7;color:#166534}.oc-perscen{margin-top:10px;padding-top:8px;border-top:1px dashed var(--gm-border)}.oc-perscen-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.oc-perscen-name{display:flex;align-items:center;gap:5px;width:150px;min-width:150px;font-size:12px;color:var(--gm-text-muted);overflow:hidden}.oc-perscen-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-progress-scroll{max-height:200px;overflow-y:auto;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10.5px;padding:4px 0}.run-progress-row{display:grid;grid-template-columns:96px .9fr 1.1fr 1fr 1fr 78px .8fr 96px 64px 40px 2fr;min-width:1180px;gap:8px;padding:2px 10px;border-bottom:1px dotted var(--gm-border-soft)}.run-progress-row.err{background:#fef2f2;color:#991b1b}.run-progress-row.warn{background:#fffbeb;color:#92400e}.run-progress-filters{display:flex;align-items:center;gap:4px;margin-left:6px}.run-progress-chip{font:inherit;font-size:10px;line-height:1;padding:3px 7px;border-radius:999px;border:1px solid var(--gm-border);background:transparent;color:var(--gm-text-muted);cursor:pointer;opacity:.55}.run-progress-chip:hover{opacity:.85}.run-progress-chip.on{opacity:1}.run-progress-chip.info.on{border-color:#94a3b8;color:#475569;background:#f1f5f9}.run-progress-chip.warning.on{border-color:#f59e0b;color:#92400e;background:#fffbeb}.run-progress-chip.error.on{border-color:#ef4444;color:#991b1b;background:#fef2f2}.run-progress-chip-n{opacity:.75;font-variant-numeric:tabular-nums}.run-progress-row:last-child{border-bottom:0}.run-progress-row-head{position:sticky;top:0;background:var(--gm-bg-3);color:var(--gm-text-muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gm-border);padding-top:4px;padding-bottom:4px;z-index:1}.run-progress-ts{color:var(--gm-text-muted)}.run-progress-delta{color:var(--gm-text-faint);text-align:right}.run-progress-flow{color:#0f766e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-progress-iter{color:#6d28d9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-progress-node{color:#1d4ed8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-progress-case{color:#9a3412;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-progress-engine,.run-progress-worker{color:var(--gm-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-progress-pct{color:var(--gm-text-muted);display:flex;align-items:center;gap:4px}.run-progress-bar{flex:1;height:6px;border-radius:3px;background:var(--gm-border-soft);overflow:hidden}.run-progress-bar>span{display:block;height:100%;background:#3b82f6;transition:width .6s linear}.run-progress-pct.done .run-progress-bar>span{background:#10b981}.run-progress-pct.failed .run-progress-bar>span{background:#dc2626}.run-progress-pct.stopped .run-progress-bar>span{background:#94a3b8}.run-progress-pct-n{width:30px;text-align:right}.run-progress-dur{color:var(--gm-text-muted);text-align:right}.run-progress-row-run{background:var(--gm-bg-3);font-weight:600;border-top:1px solid var(--gm-border);border-bottom:1px solid var(--gm-border)}.run-progress-row-run .run-progress-flow,.run-progress-row-run .run-progress-msg{color:var(--gm-text)}.run-progress-row-click{cursor:pointer}.run-progress-row-click:hover{background:var(--gm-bg-3)}.run-progress-row-click.open{background:var(--gm-bg-3);font-weight:600}.run-progress-detail{padding:2px 10px 6px 106px;border-bottom:1px solid var(--gm-border);background:var(--gm-bg);min-width:1180px;box-sizing:border-box}.run-progress-detail-row{display:grid;grid-template-columns:96px 54px 200px 1fr;gap:8px;padding:1px 0}.run-progress-detail-row.warning{color:#92400e}.run-progress-detail-row.error{color:#991b1b}.run-progress-level{color:var(--gm-text-faint)}.run-progress-level.warning{color:#b45309;font-weight:600}.run-progress-level.error{color:#b91c1c;font-weight:600}.run-progress-stage{color:var(--gm-text);font-weight:500}.run-progress-msg{color:var(--gm-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-progress-row-head .run-progress-case,.run-progress-row-head .run-progress-engine,.run-progress-row-head .run-progress-worker,.run-progress-row-head .run-progress-pct,.run-progress-row-head .run-progress-dur,.run-progress-row-head .run-progress-level,.run-progress-row-head .run-progress-flow,.run-progress-row-head .run-progress-iter,.run-progress-row-head .run-progress-node,.run-progress-row-head .run-progress-stage,.run-progress-row-head .run-progress-msg{color:var(--gm-text-muted);font-weight:600}.run-progress-empty{padding:10px;color:var(--gm-text-muted);font-style:italic;font-size:11px;text-align:center}.run-progress-error{padding:6px 10px;background:#fef2f2;color:#991b1b;font-size:11px;border-bottom:1px solid var(--gm-border)}.results-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:10px}.results-table th{text-align:left;padding:5px 6px;color:var(--gm-text-muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gm-border);position:sticky;top:0;background:var(--gm-bg);z-index:1}.results-table td{padding:6px;border-bottom:1px solid var(--gm-border-soft);vertical-align:middle}.results-table td code{font-size:11px;color:var(--gm-cyan-deep)}.results-table td:last-child{text-align:right}.results-table .status-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;line-height:1}.results-table .status-icon.pass{background:#dcfce7;color:#15803d}.results-table .status-icon.fail{background:#fee2e2;color:#b91c1c}.results-table .status-icon.data{background:#dbeafe;color:#1d4ed8}.results-table .status-icon.manual{background:#fef3c7;color:#b45309}.results-table .status-icon.na{background:#e5e7eb;color:#4b5563}.results-table td:nth-child(2){width:100%;max-width:0}.result-node-title{font-weight:500;color:var(--gm-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-node-sub{font-size:10px;color:var(--gm-text-muted);font-family:Consolas,ui-monospace,monospace;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-table tr.results-group-header{cursor:pointer;-webkit-user-select:none;user-select:none}.results-table tr.results-group-header td{background:var(--gm-cyan-bg);color:var(--gm-cyan-deep);font-weight:600;font-size:11px;padding:6px 8px;border-top:1px solid var(--gm-border);border-bottom:1px solid var(--gm-border);text-align:left}.results-table tr.results-loop-header td{text-align:left}.results-table tr.results-group-header:hover td{background:var(--gm-cyan-light)}.results-table .results-group-chevron{display:inline-block;width:12px;margin-right:4px;font-size:10px;transition:transform .12s ease;transform-origin:center}.results-table .results-group-chevron.collapsed{transform:rotate(-90deg)}.results-table .results-group-count{font-weight:400;color:var(--gm-text-muted);font-size:10px;margin-left:4px}.sim-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a61;display:flex;align-items:center;justify-content:center;z-index:1150}.sim-modal{width:min(760px,calc(100vw - 48px));max-height:min(85vh,900px);background:var(--gm-modal-bg);border:1px solid var(--gm-modal-border);border-radius:10px;overflow:hidden;box-shadow:var(--gm-modal-shadow);display:flex;flex-direction:column}.sim-modal>fieldset.readonly-fieldset{display:contents}.sim-modal-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--gm-modal-border);background:var(--gm-modal-header-bg)}.sim-modal-header h3{margin:0;font-size:15px;font-weight:600;color:var(--gm-text);flex:1}.sim-modal-close{background:transparent;border:0;font-size:18px;line-height:1;width:28px;height:28px;cursor:pointer;color:var(--gm-text-muted);border-radius:var(--gm-radius)}.sim-modal-close:hover{background:var(--gm-bg-3);color:var(--gm-text)}.sim-modal-toolbar{display:flex;gap:8px;padding:12px 16px 0}.sim-modal-toolbar input[type=text]{flex:1;padding:8px 10px;font-size:13px;border:1px solid var(--gm-border);border-radius:var(--gm-radius)}.sim-modal-toolbar select{padding:8px 10px;font-size:13px;border:1px solid var(--gm-border);border-radius:var(--gm-radius)}.sim-modal-body{flex:1;min-height:160px;overflow:hidden;display:flex;flex-direction:column;padding:10px 16px 12px}.sim-modal-body>.help{font-size:11px;color:var(--gm-text-muted);font-style:italic;margin:6px 0 0}.sim-modal-footer{display:flex;flex-direction:column;gap:10px;padding:12px 16px;border-top:1px solid var(--gm-border);background:var(--gm-bg-2)}.sim-foot-row{display:flex;align-items:center;gap:14px}.sim-foot-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;white-space:nowrap}.sim-foot-check input{margin:0}.sim-engines{display:inline-flex;align-items:center;gap:12px}.sim-modal-footer .btn.launch{margin-left:auto;min-width:220px}.cmdcheck-modal{width:min(980px,calc(100vw - 48px))}.cmdcheck-modal .sim-modal-header .sim-foot-check{font-size:12px;color:var(--gm-text-muted)}.cmdcheck-modal .btn.cmdcheck-again{padding:6px 12px;font-size:12px}.cmdcheck-body{flex:1;min-height:120px;overflow-y:auto;padding:10px 16px 14px}.sim-preflight{border:1px solid var(--gm-border);border-radius:var(--gm-radius);background:var(--gm-bg);font-size:12px;margin-top:6px}.sim-preflight:empty{display:none}.sim-preflight-case{border-bottom:1px solid var(--gm-border-soft);padding:6px 10px}.sim-preflight-case:last-child{border-bottom:none}.sim-preflight-case-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.sim-preflight-name{font-weight:600}.sim-preflight-muted{color:var(--gm-text-muted);font-size:11px}.sim-preflight-pill{font-size:10px;font-weight:700;padding:1px 7px;border-radius:9px;border:1px solid}.sim-preflight-pill.ok{background:var(--gm-ok-bg);border-color:var(--gm-ok-border);color:var(--gm-ok-text)}.sim-preflight-pill.warn{background:var(--gm-warn-bg);border-color:var(--gm-warn-border);color:var(--gm-warn-text)}.sim-preflight-pill.error{background:var(--gm-bg);border-color:var(--gm-danger-text);color:var(--gm-danger-text)}.sim-preflight-err{color:var(--gm-danger-text);margin-top:4px;white-space:pre-wrap}.sim-preflight-note{color:var(--gm-text-muted);margin-top:4px;font-size:11px}.sim-preflight-row{display:flex;gap:8px;margin-top:6px;padding:5px 8px;border-radius:var(--gm-radius);cursor:pointer;border-left:3px solid var(--gm-warn-border);background:var(--gm-bg-2)}.sim-preflight-row.error{border-left-color:var(--gm-danger-text)}.sim-preflight-sev{flex:none}.sim-preflight-row.error .sim-preflight-sev{color:var(--gm-danger-text)}.sim-preflight-row.warn .sim-preflight-sev{color:var(--gm-warn-text)}.sim-preflight-body{min-width:0;flex:1}.sim-preflight-where{font-weight:600}.sim-preflight-cmd{display:block;margin-top:2px;font-size:11px;overflow-wrap:anywhere;color:var(--gm-text-muted)}.sim-preflight-problem{margin-top:2px;overflow-wrap:anywhere}.sim-preflight-cases{margin:4px 0 0 16px;padding:0;color:var(--gm-text-muted);font-size:11px;white-space:pre-wrap}.sim-flows-count{margin-left:auto;font-size:11px;color:var(--gm-text-faint)}.sim-flows-list{border:1px solid var(--gm-border);border-radius:var(--gm-radius);background:var(--gm-bg);flex:1;min-height:0;overflow-y:auto}.sim-flow-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--gm-border-soft);cursor:pointer;font-size:12px}.sim-flow-row:last-child{border-bottom:none}.sim-flow-row:hover{background:var(--gm-bg-2)}.sim-flow-row input{margin:0}.sim-flow-pri{display:inline-block;min-width:22px;padding:1px 6px;border-radius:9px;background:#16a34a;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.sim-flow-name{flex:1}.sim-flow-tag{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--gm-bg-3);color:var(--gm-text-muted)}.sim-flow-disabled{opacity:.45;cursor:not-allowed}.sim-flow-disabled:hover{background:transparent}.sim-flow-disabled input{cursor:not-allowed}.sim-flow-disabled .sim-flow-pri{background:#94a3b8}.sim-flow-disabled .sim-flow-name{color:var(--gm-text-muted);font-style:italic}.sim-flows-empty{padding:12px;color:var(--gm-text-faint);font-size:12px;text-align:center}.sim-project-group{border-bottom:1px solid var(--gm-border)}.sim-project-group:last-child{border-bottom:none}.sim-project-head{padding:6px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gm-accent);background:var(--gm-accent-bg);border-bottom:1px solid var(--gm-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-case{border-bottom:1px solid var(--gm-border)}.sim-case:last-child{border-bottom:none}.sim-case-head{display:flex;align-items:center;gap:4px;padding:7px 8px 7px 2px;background:var(--gm-bg-2);color:var(--gm-text)}.sim-case-caret{border:none;background:none;cursor:pointer;font-size:11px;color:var(--gm-text-muted);width:14px;padding:0}.sim-case-name{flex:1;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-case-count{font-size:10px;color:var(--gm-text-faint)}.sim-flow-sub{padding-left:30px;background:var(--gm-bg)}.sim-case-scenarios{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 8px 8px 30px;background:var(--gm-bg)}.sim-scn-label{font-size:10px;font-weight:600;color:var(--gm-text-muted);text-transform:uppercase;letter-spacing:.4px;margin-right:2px}.sim-scn{display:inline-flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.node-config-drawer{position:fixed;right:0;top:0;bottom:var(--dock-height, 0px);width:560px;background:var(--gm-modal-bg);border-left:1px solid var(--gm-modal-border);box-shadow:-4px 0 16px #0f172a14;z-index:940;display:flex;flex-direction:column;transition:transform .18s ease}.node-config-drawer-resize{position:absolute;left:-3px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:1}.node-config-drawer-resize:before{content:"";position:absolute;left:3px;top:50%;transform:translateY(-50%);width:2px;height:40px;background:transparent;border-radius:1px;transition:background .12s ease}.node-config-drawer-resize:hover:before{background:#94a3b8}.node-config-drawer-resize:active:before{background:#475569}.node-config-drawer-header{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--gm-modal-border);background:var(--gm-modal-header-bg);flex:0 0 auto}.node-config-drawer-title{font-size:13px;color:var(--gm-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-config-drawer-title strong{font-weight:600}.node-config-drawer-title code{background:var(--gm-bg-3);padding:1px 6px;border-radius:6px;font-size:11px}.node-config-drawer-close{background:transparent;border:0;font-size:20px;line-height:1;width:28px;height:28px;cursor:pointer;color:var(--gm-text-muted);border-radius:var(--gm-radius)}.node-config-drawer-close:hover{background:var(--gm-bg-3);color:var(--gm-text)}.node-config-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px}.globals-tab{padding:24px 32px;max-width:1600px;box-sizing:border-box;width:100%;align-self:flex-start}.globals-tab h3{font-weight:400;font-size:18px;margin:0 0 6px}.globals-tab .help{font-size:12px;color:var(--gm-text-muted);font-style:italic;margin:0 0 14px}.globals-table-wrap{width:100%;max-width:100%}.config-grid-wrap{width:max-content;max-width:100%;min-height:0;position:relative;overflow:auto}.globals-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:8px}.globals-toolbar input[type=text]{flex:0 0 220px;width:220px;max-width:100%;padding:6px 10px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);font-size:12px}.globals-count{font-size:11px;color:var(--gm-text-muted)}.globals-table-scroll{max-height:calc(100vh - 280px);overflow-y:auto;border:1px solid var(--gm-border);border-radius:var(--gm-radius)}.globals-table{width:100%;border-collapse:collapse;font-size:12px}.globals-table thead th{position:sticky;top:0;background:var(--gm-bg-2);z-index:1;text-align:left;padding:6px 8px;font-weight:600;color:var(--gm-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.4px;border:1px solid var(--gm-border)}.globals-table tbody td{padding:4px 6px;border:1px solid var(--gm-border);vertical-align:top}.globals-table tbody tr:hover{background:var(--gm-bg-2)}.globals-table input,.globals-table textarea{width:100%;box-sizing:border-box;padding:4px 6px;font-size:12px;font-family:inherit;border:1px solid transparent;border-radius:6px;background:transparent;resize:vertical;min-height:26px}.globals-table input:focus,.globals-table textarea:focus{outline:none;border-color:var(--gm-blue);box-shadow:0 0 0 2px var(--gm-focus-bg);background:var(--gm-bg)}.globals-table textarea{white-space:pre-wrap;overflow:hidden;resize:none;line-height:1.4}.extras-tree-wrap .extras-row{border:1px solid var(--gm-border);border-radius:var(--gm-radius);margin-bottom:6px;background:var(--gm-bg)}.extras-row-head{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--gm-bg-2)}.extras-row-head:hover{background:var(--gm-bg-3)}.extras-caret{color:var(--gm-text-muted);width:12px}.extras-key{font-weight:600;font-size:12px;color:var(--gm-text);min-width:140px}.extras-type{font-size:10px;color:var(--gm-text-faint);padding:1px 6px;background:var(--gm-bg-3);border-radius:9px}.extras-summary{flex:1;font-size:11px;color:var(--gm-text-muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extras-row-body{padding:8px 10px;border-top:1px solid var(--gm-border);max-height:50vh;overflow:auto}.extras-row-body textarea{max-height:45vh}.extras-null{color:var(--gm-text-faint);font-style:italic;font-size:12px}.general-form{padding:32px;max-width:800px;box-sizing:border-box;width:100%;align-self:flex-start}.general-form h3{font-weight:400;font-size:18px;margin:0 0 16px}.general-form .field{margin-bottom:20px}.general-form label{display:block;font-size:14px;font-weight:500;margin-bottom:4px}.general-form .help{font-size:12px;color:var(--gm-text-muted);font-style:italic;margin-bottom:6px}.general-form input,.general-form textarea{width:100%;padding:8px 10px;border:1px solid var(--gm-border);border-radius:var(--gm-radius);font-size:13px}.settings-table{border-collapse:collapse;width:100%;max-width:560px}.settings-table th{text-align:left;font-size:14px;font-weight:500;color:var(--gm-text);padding:10px 16px 10px 0;white-space:nowrap;vertical-align:middle;cursor:help}.settings-table td{padding:8px 0;vertical-align:middle;width:100%}.settings-table tr+tr th,.settings-table tr+tr td{border-top:1px solid var(--gm-border)}.run-type-ico{flex:0 0 auto;font-size:12px;line-height:1;opacity:.9}.cm-tooltip.cm-tooltip-autocomplete>ul{max-height:min(36em,60vh)!important}.cm-tooltip{background:var(--gm-modal-bg)!important;color:var(--gm-text)!important;border:1px solid var(--gm-modal-border)!important;border-radius:6px;box-shadow:var(--gm-modal-shadow)}.cm-tooltip.cm-tooltip-autocomplete>ul>li{color:var(--gm-text)}.cm-tooltip.cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--gm-accent-bg)!important;color:var(--gm-text)!important}.cm-completionLabel{color:var(--gm-text)}.cm-completionDetail{color:var(--gm-text-faint);font-style:italic}.cm-completionMatchedText{color:var(--gm-link);text-decoration:none;font-weight:700}.cm-completionInfo{background:var(--gm-modal-bg)!important;color:var(--gm-text)!important;border:1px solid var(--gm-modal-border)!important}.cm-tooltip-arrow:before{border-top-color:var(--gm-modal-border)!important;border-bottom-color:var(--gm-modal-border)!important}.cm-tooltip-arrow:after{border-top-color:var(--gm-modal-bg)!important;border-bottom-color:var(--gm-modal-bg)!important}.cm-panels{background:var(--gm-bg-2);color:var(--gm-text);border-color:var(--gm-border)}.cm-panels input,.cm-panels button{color:inherit}.prp-cm-tooltip-host .cm-tooltip{z-index:10000!important}.cmds-key-binding-tip{max-width:560px;padding:6px 10px;font-size:12px;line-height:1.5;background:var(--gm-bg-2);color:var(--gm-text);border:1px solid var(--gm-border);border-radius:4px;font-family:Consolas,ui-monospace,monospace;white-space:pre-wrap}.cmds-key-binding-tip-head{font-weight:700;color:var(--gm-link);margin-bottom:2px}.cmds-key-binding-tip-row.missing{color:var(--gm-warn-text)}.cmds-key-binding-tip-hint{margin-top:4px;color:var(--gm-text-faint);font-size:11px}
