@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--app-font-size: 13px;--bg-0: #07090f;--bg-1: #0d111a;--bg-2: #131825;--bg-3: #1c2333;--bg-4: #28303f;--bg-elevated: #161c2a;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .1);--border-bright: rgba(255, 255, 255, .16);--text-1: #ecf0f7;--text-2: #aab3c5;--text-3: #6d7585;--text-4: #4a5163;--accent-cyan: #ff7a45;--accent-cyan-strong: #ed5f22;--btn-primary-bg: #ff7a45;--btn-primary-bg-strong: #ed5f22;--btn-primary-fg: #07090f;--accent: #ff7a45;--accent-strong: #ed5f22;--accent-soft: rgba(255, 122, 69, .16);--accent-glow: rgba(255, 122, 69, .35);--gradient-brand: linear-gradient(135deg, #ff7a45, #ff6900);--logo-disc: #1b1f2a;--logo-glyph: #ff7a45;--logo-ring: rgba(255, 255, 255, .08);--kind-source: #2eafff;--kind-transform: #94a4be;--kind-sink: #ff6900;--kind-control: #5b8def;--kind-quality: #f5c518;--kind-custom: #e08a8a;--danger: #ff4d6d;--success: #2eafff;--warn: #fbbf24;--shadow-1: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 1px 2px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .45);--shadow-2: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 4px 12px rgba(0, 0, 0, .4), 0 20px 50px rgba(0, 0, 0, .6);--shadow-glow: 0 0 24px rgba(255, 122, 69, .2);--focus-ring: 0 0 0 3px rgba(255, 122, 69, .25);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--topbar-h: 48px;--sidebar-w: 272px;--properties-w: 332px;--ease: cubic-bezier(.16, 1, .3, 1);--accent-source: var(--kind-source);--accent-transform: var(--kind-transform);--accent-sink: var(--kind-sink);--accent-purple: var(--kind-control);--accent-warn: var(--warn);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overscroll-behavior:none;overflow:hidden;background:radial-gradient(ellipse 800px 400px at 0% 0%,rgba(255,122,69,.04),transparent 70%),radial-gradient(ellipse 1000px 500px at 100% 100%,rgba(255,122,69,.04),transparent 70%),var(--bg-0);color:var(--text-1);font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--app-font-size, 13px);line-height:1.5;font-feature-settings:"cv02","cv03","cv04","cv11","ss01","ss03","tnum","calt";letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft);color:var(--text-1)}h1,h2,h3,h4,h5,h6{margin:0;letter-spacing:-.015em}button,input,select,textarea{font-feature-settings:inherit}select option,select optgroup{background:var(--bg-2);color:var(--text-1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--bg-4);background-clip:padding-box;border:2px solid transparent}:focus-visible{outline:none;box-shadow:var(--focus-ring)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent)}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:8px;height:var(--topbar-h);padding-block:0;padding-inline-start:20px;padding-inline-end:138px;background:linear-gradient(180deg,rgba(255,122,69,.025),transparent 60%),var(--bg-1);border-bottom:1px solid var(--border);position:relative;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);user-select:none}.win-controls{display:flex;position:absolute;inset-block:0;inset-inline-end:0}.win-ctl{display:inline-flex;align-items:center;justify-content:center;width:46px;align-self:stretch;background:transparent;border:none;color:var(--text-3);cursor:pointer;transition:background 90ms ease,color 90ms ease}.win-ctl:hover{background:var(--bg-3);color:var(--text-1)}.win-ctl-close:hover{background:#e81123;color:#fff}.win-ctl:active{background:var(--bg-4)}.win-resize{position:fixed;inset:0;z-index:10000;pointer-events:none}.win-resize>div{position:fixed;pointer-events:auto}.win-resize-n{top:0;left:6px;right:6px;height:5px;cursor:ns-resize}.win-resize-s{bottom:0;left:6px;right:6px;height:5px;cursor:ns-resize}.win-resize-w{top:6px;bottom:6px;left:0;width:5px;cursor:ew-resize}.win-resize-e{top:6px;bottom:6px;right:0;width:5px;cursor:ew-resize}.win-resize-nw{top:0;left:0;width:12px;height:12px;cursor:nwse-resize}.win-resize-ne{top:0;right:0;width:12px;height:12px;cursor:nesw-resize}.win-resize-sw{bottom:0;left:0;width:12px;height:12px;cursor:nesw-resize}.win-resize-se{bottom:0;right:0;width:12px;height:12px;cursor:nwse-resize}.engine-option.is-coming-soon{opacity:.5;cursor:not-allowed}.engine-option.is-coming-soon:hover{background:transparent}.engine-option-soon{margin-left:8px;font-size:.6923rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-3);background:var(--bg-3);padding:1px 6px;border-radius:999px;vertical-align:middle}.topbar:after{content:"";position:absolute;bottom:-1px;left:80px;right:80px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,122,69,.25),rgba(255,122,69,.18),transparent);pointer-events:none}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.0769rem;letter-spacing:-.015em}.brand-logo{display:block;width:24px;height:24px;flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.02}.brand-name{font-weight:700}.brand-by{font-family:Segoe Script,Brush Script MT,cursive;font-style:italic;font-size:.8462rem;font-weight:600;color:var(--accent);white-space:nowrap;margin-top:1px}.duckle-logo-disc{fill:var(--logo-disc);stroke:var(--logo-ring);stroke-width:1.5}.duckle-logo-glyph{fill:var(--logo-glyph)}.topbar-spacer{flex:1}.status{display:flex;align-items:center;gap:8px;color:var(--text-2);-webkit-app-region:no-drag}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-3)}.status[data-state=ready] .status-dot{background:var(--accent-source);box-shadow:0 0 0 2px #2eafff26}.status[data-state=connecting] .status-dot{background:var(--accent);box-shadow:0 0 0 2px #58a6ff26}.status[data-state=offline] .status-dot{background:var(--danger);box-shadow:0 0 0 2px #f8514926}.workspace{display:flex;flex:1;min-height:0}.palette{width:var(--sidebar-w);background:var(--bg-1);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.palette-header{padding:10px 10px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.palette-search-wrap{position:relative;display:flex;align-items:center}.palette-search-icon{position:absolute;left:9px;color:var(--text-3);pointer-events:none}.palette-search{flex:1;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);padding:6px 28px 6px 30px;font-size:.9231rem;font-family:inherit;outline:none;transition:border-color 80ms ease}.palette-search::placeholder{color:var(--text-3)}.palette-search:focus{border-color:var(--accent)}.palette-search-clear{position:absolute;right:6px;background:transparent;border:none;color:var(--text-3);cursor:pointer;font-size:1.2308rem;line-height:1;padding:2px 6px;border-radius:4px}.palette-search-clear:hover{background:var(--bg-3);color:var(--text-1)}.palette-stats{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.8462rem;color:var(--text-3);padding:0 2px}.palette-stats b{color:var(--text-2);font-weight:600}.palette-stats-sep{color:var(--border-strong)}.palette-stats-spacer{flex:1}.palette-stats-btn{background:transparent;border:none;color:var(--text-3);cursor:pointer;font-size:.7692rem;font-family:inherit;padding:2px 6px;border-radius:4px;transition:background 80ms ease,color 80ms ease}.palette-stats-btn:hover{background:var(--bg-2);color:var(--text-1)}.palette-body{flex:1;overflow-y:auto;padding:4px 4px 12px}.palette-empty{padding:24px 12px;color:var(--text-3);text-align:center;font-size:.9231rem}.palette-empty .quote{color:var(--text-1);font-weight:600}.palette-category+.palette-category{margin-top:2px}.palette-category-header{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:none;color:var(--text-1);padding:7px 8px;cursor:pointer;font-size:.9231rem;font-weight:600;font-family:inherit;text-align:left;border-radius:var(--radius-sm)}.palette-category-header:hover{background:var(--bg-2)}.palette-cat-chevron{width:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-3);flex-shrink:0}.palette-cat-icon{width:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);flex-shrink:0}.palette-cat-label{flex:1}.palette-cat-count{color:var(--text-3);font-size:.8462rem;font-weight:500;background:var(--bg-2);border-radius:9px;padding:1px 7px}.palette-category-body{padding:2px 0 6px 12px}.palette-group{margin-top:4px}.palette-group-label{font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:4px 8px 2px}.palette-component{display:flex;align-items:center;gap:8px;padding:5px 8px;margin:1px 0;border-radius:var(--radius-sm);color:var(--text-2);cursor:grab;user-select:none;transition:background 60ms ease,color 60ms ease;font-size:.9231rem}.palette-component:hover{background:var(--bg-2);color:var(--text-1)}.palette-component:active{cursor:grabbing}.palette-component.is-planned{color:var(--text-3)}.palette-component.is-preview{color:var(--text-2);opacity:.88}.palette-component.is-preview:hover{opacity:1}.palette-component.is-planned:hover{color:var(--text-2)}.palette-component-icon{width:15px;height:15px;flex-shrink:0;opacity:.9}.palette-component.is-planned .palette-component-icon{opacity:.4}.palette-component.is-preview .palette-component-icon{opacity:.65}.palette-badge{font-size:.6923rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:1px 5px;border-radius:4px;flex-shrink:0;line-height:1.3}.palette-badge-preview{color:var(--warning, #c9a227);background:color-mix(in srgb,var(--warning, #c9a227) 18%,transparent);border:1px solid color-mix(in srgb,var(--warning, #c9a227) 35%,transparent)}.palette-badge-planned{color:var(--text-3);background:var(--surface-2, rgba(128, 128, 128, .12));border:1px solid var(--border, rgba(128, 128, 128, .2))}.palette-component-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-availability{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.palette-availability-yes{color:var(--success)}.palette-availability-no{width:5px;height:5px;border-radius:50%;background:var(--text-4);opacity:.6}.canvas-shell{flex:1;min-width:0;position:relative;background:var(--bg-0);display:flex;flex-direction:column}.canvas-dnd{width:100%;height:100%;position:relative}.react-flow{background:var(--bg-0)}.react-flow__controls{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.react-flow__controls button{background:transparent;color:var(--text-2);border-bottom:1px solid var(--border)}.react-flow__controls button:hover{background:var(--bg-3);color:var(--text-1)}.react-flow__minimap{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius)}.react-flow__attribution{background:transparent;color:var(--text-3);font-size:.7692rem}.react-flow__attribution a{color:var(--text-3)}.node{min-width:220px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 60%),var(--bg-2);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-1);color:var(--text-1);transition:border-color .12s var(--ease),box-shadow .12s var(--ease),transform 80ms var(--ease);overflow:visible}.node:hover{border-color:var(--text-4)}.node-header{padding:10px 13px;border-bottom:1px solid var(--border);position:relative}.node-header-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.node-needs-config{color:var(--warn);display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.node-schema-badge{display:inline-block;margin-top:6px;padding:1px 7px;background:var(--bg-3);border-radius:9px;font-size:.6923rem;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;color:var(--text-3);letter-spacing:.02em}.node-kind{font-size:.7692rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:4px}.node-label{font-weight:600;font-size:1.0769rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-label-row{display:flex;align-items:center;gap:7px;min-width:0}.node-icon{flex-shrink:0;color:var(--text-2);opacity:.92}.node-subtitle{margin-top:2px;color:var(--text-3);font-size:.9231rem}.node-source{border-left:3px solid var(--accent-source)}.node-transform{border-left:3px solid var(--accent-transform)}.node-sink{border-left:3px solid var(--accent-sink)}.node.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 24px #5fa9ff3d,var(--shadow-1)}.node.is-disabled{opacity:.55;border-style:dashed}.node-ports{display:grid;grid-template-columns:1fr 1fr;padding:6px 0}.node-ports-col{display:flex;flex-direction:column;min-height:0}.node-ports-inputs{border-right:1px dashed var(--border)}.node-port{position:relative;display:flex;align-items:center;height:24px;gap:8px;padding:0 14px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem;color:var(--text-2)}.node-port.is-optional .node-port-label{color:var(--text-3);font-style:italic}.node-port-input{justify-content:flex-start}.node-port-output{justify-content:flex-end}.node-port-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.node-port-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-port-type-reject .node-port-label,.node-port-type-filter .node-port-label{color:var(--text-3)}.node-port .react-flow__handle{width:10px;height:10px;border:2px solid var(--bg-1);box-shadow:0 0 0 1px #ffffff0f;transition:transform .1s var(--ease),box-shadow .1s var(--ease)}.node-port .react-flow__handle:hover{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 3px var(--accent-soft)}.node-port-input .react-flow__handle{left:-5px}.node-port-output .react-flow__handle{right:-5px}.node-port-output .react-flow__handle.react-flow__handle-right{transform:translate(50%,-50%)}.node-port-output .react-flow__handle.react-flow__handle-right:hover{transform:translate(50%,-50%) scale(1.3)}.node-disabled-badge{display:inline-block;margin-top:4px;padding:1px 6px;background:#f851492e;border:1px solid rgba(248,81,73,.4);color:var(--danger);border-radius:3px;font-size:.6923rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.context-menu-backdrop{position:fixed;inset:0;z-index:900}.context-menu{position:fixed;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:8px;padding:4px;box-shadow:0 1px #ffffff0a inset,0 12px 32px #0000008c;min-width:220px;animation:context-menu-in 80ms ease-out}@keyframes context-menu-in{0%{opacity:0;transform:scale(.97) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-header{padding:8px 12px 4px;font-size:.7692rem;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);margin-bottom:4px}.context-menu-sep{height:1px;background:var(--border);margin:4px 0}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;color:var(--text-1);padding:6px 10px;border-radius:6px;font-size:.9231rem;font-family:inherit;text-align:left;cursor:pointer;transition:background 60ms ease}.context-menu-item:hover:not(.is-disabled){background:var(--bg-3)}.context-menu-item.is-danger{color:var(--danger)}.context-menu-item.is-danger:hover{background:#f851491f}.context-menu-item.is-disabled{opacity:.4;cursor:not-allowed}.context-menu-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-3);flex-shrink:0}.context-menu-item.is-danger .context-menu-icon{color:var(--danger)}.context-menu-label{flex:1}.context-menu-shortcut{color:var(--text-3);font-size:.7692rem;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;margin-left:16px}.filter-builder{display:flex;flex-direction:column;gap:10px}.filter-builder-modes{display:inline-flex;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:2px;align-self:flex-start}.filter-mode{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-3);padding:5px 12px;font-size:.8462rem;font-weight:600;font-family:inherit;border-radius:6px;cursor:pointer;transition:background 80ms ease,color 80ms ease}.filter-mode:hover{color:var(--text-1)}.filter-mode.is-active{background:var(--bg-3);color:var(--text-1);box-shadow:0 1px #ffffff08}.filter-match-row{display:flex;align-items:center;gap:12px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.filter-match-label{font-size:.8462rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.filter-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.9231rem;color:var(--text-2)}.filter-radio b{color:var(--text-1)}.filter-empty{padding:14px;background:var(--bg-2);border:1px dashed var(--border);border-radius:8px;color:var(--text-3);font-size:.9231rem;text-align:center}.filter-empty b{color:var(--text-1)}.filter-condition{display:grid;grid-template-columns:56px 1fr 110px 1fr 28px;align-items:center;gap:4px;padding:4px 6px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px}.filter-condition-prefix{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.7692rem;color:var(--accent);text-transform:uppercase;font-weight:700;text-align:center;letter-spacing:.04em}.filter-condition-between{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center}.filter-between-sep{font-size:.7692rem;color:var(--text-3);text-transform:uppercase;font-weight:600}.filter-condition-noop{color:var(--text-3);text-align:center;font-size:.9231rem}.filter-add-condition{background:transparent;border:1px dashed var(--border-strong);border-radius:8px;color:var(--accent);padding:8px;font-size:.9231rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background 80ms ease,border-color 80ms ease,color 80ms ease}.filter-add-condition:hover{background:#58a6ff0f;border-color:var(--accent);color:var(--accent);border-style:solid}.filter-sql-preview{margin-top:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.filter-sql-preview-label{padding:6px 10px;background:var(--bg-1);border-bottom:1px solid var(--border);font-size:.7692rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.filter-sql-preview-code{padding:10px 12px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem;color:var(--text-1);line-height:1.5;word-break:break-word;white-space:pre-wrap}.filter-sql-preview-code em{color:var(--text-3);font-style:italic}.filter-raw{display:flex;flex-direction:column;gap:6px}.filter-raw-hint{font-size:.8462rem;color:var(--text-3);line-height:1.4}.filter-raw-hint b{color:var(--text-2)}.left-sidebar{width:var(--sidebar-w);background:var(--bg-1);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;flex-shrink:0}.left-sidebar-tabs{display:flex;height:36px;background:var(--bg-1);border-bottom:1px solid var(--border);padding:0 4px;flex-shrink:0}.left-sidebar-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:none;color:var(--text-3);padding:0;font-size:.8462rem;font-weight:600;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;text-transform:uppercase;letter-spacing:.04em;transition:color 80ms ease,border-color 80ms ease}.left-sidebar-tab:hover{color:var(--text-1)}.left-sidebar-tab[aria-selected=true]{color:var(--text-1);border-bottom-color:var(--accent)}.left-sidebar-tab-icon{color:var(--text-3);flex-shrink:0}.left-sidebar-tab[aria-selected=true] .left-sidebar-tab-icon{color:var(--accent)}.left-sidebar-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.left-sidebar .palette{width:100%;border-right:none;flex:1}.repo-tree{display:flex;flex-direction:column;height:100%;min-height:0}.repo-tree-actions{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--border);flex-shrink:0}.repo-action-button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;color:var(--text-2);padding:5px 8px;font-size:.8462rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.repo-action-button:hover{background:var(--bg-3);color:var(--text-1);border-color:var(--border-strong)}.repo-tree-body{flex:1;overflow-y:auto;padding:4px}.repo-node-wrap{display:flex;flex-direction:column}.repo-node{display:flex;align-items:center;gap:6px;padding:4px 8px;margin:1px 0;border-radius:4px;color:var(--text-2);cursor:pointer;user-select:none;font-size:.9231rem;transition:background 60ms ease,color 60ms ease}.repo-node:hover{background:var(--bg-2);color:var(--text-1)}.repo-node.is-active{background:#58a6ff1f;color:var(--accent)}.repo-node.is-open:not(.is-active){color:var(--text-1)}.repo-node.is-drop-target{background:var(--bg-2);box-shadow:inset 0 0 0 1.5px var(--accent);border-radius:4px}.repo-node.is-project{font-weight:700;color:var(--text-1);font-size:.9231rem;text-transform:uppercase;letter-spacing:.04em}.repo-node.is-folder{font-weight:600}.repo-node.is-pipeline{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem}.repo-chevron{width:12px;height:12px;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.repo-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-2)}.repo-icon-project{color:var(--accent)}.repo-icon-folder{color:var(--kind-source)}.repo-icon-pipeline{color:var(--kind-transform)}.repo-icon-connection{color:var(--kind-sink)}.repo-icon-context{color:var(--kind-quality)}.repo-icon-routine{color:var(--kind-custom)}.repo-icon-doc{color:var(--text-3)}.repo-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-open-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-source);flex-shrink:0}.repo-count{font-size:.7692rem;color:var(--text-3);background:var(--bg-2);padding:0 6px;border-radius:8px;flex-shrink:0}.repo-rename-input{flex:1;background:var(--bg-3);border:1px solid var(--accent);border-radius:4px;color:var(--text-1);padding:2px 6px;font-size:.8462rem;font-family:inherit;outline:none;min-width:0}.react-flow__handle{width:9px;height:9px;background:var(--bg-3);border:1.5px solid var(--border-strong)}.react-flow__edge-path{stroke:var(--border-strong);stroke-width:1.5}.edge-label{display:inline-flex;align-items:center;gap:6px;background:var(--bg-1);border:1px solid var(--border);border-radius:12px;padding:1px 8px;font-size:.7692rem;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;color:var(--text-2);box-shadow:0 1px 4px #0006;white-space:nowrap;user-select:none;cursor:default;z-index:5}.edge-label.is-selected{border-color:var(--accent);color:var(--text-1)}.edge-label-name{color:var(--text-1)}.edge-label-badge{text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:.6923rem;padding:0 4px;border-radius:3px}.edge-label-reject .edge-label-badge{color:var(--danger);background:#ef44441f}.edge-label-lookup .edge-label-badge{color:var(--kind-source);background:#65a8cc24}.edge-label-filter .edge-label-badge{color:var(--kind-sink);background:#c8977024}.edge-label-iterate .edge-label-badge{color:var(--kind-control);background:#a48bd424}.edge-label-on-subjob-ok .edge-label-badge,.edge-label-on-component-ok .edge-label-badge{color:var(--success);background:#2eafff1f}.edge-label-on-subjob-error .edge-label-badge,.edge-label-on-component-error .edge-label-badge{color:var(--danger);background:#ef44441f}.edge-label-if .edge-label-badge{color:var(--accent);background:var(--accent-soft)}.edge-label-run-if .edge-label-badge{color:var(--kind-quality);background:#c4a85a24}.edge-label-cond{color:var(--text-3);font-size:.7692rem}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:hover .react-flow__edge-path{stroke:var(--accent)}.connection-picker-backdrop{position:fixed;inset:0;z-index:950;background:#080a0e73;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:modal-backdrop-in .1s ease-out}.connection-picker{position:fixed;width:360px;max-height:calc(100vh - 48px);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow-y:auto;overflow-x:hidden;animation:modal-card-in .14s var(--ease)}.connection-picker-header{position:sticky;top:0;z-index:1;background:var(--bg-2)}.connection-picker-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);font-size:.9231rem;font-weight:600;color:var(--text-1)}.connection-picker-hint{font-size:.7692rem;color:var(--text-3);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-weight:500}.connection-picker-section{padding:8px 6px 10px;border-top:1px solid var(--border)}.connection-picker-section:first-of-type{border-top:none}.connection-picker-section-title{font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-weight:700;padding:0 10px}.connection-picker-section-subtitle{font-size:.8462rem;color:var(--text-3);padding:2px 10px 6px;line-height:1.4}.connection-picker-grid{display:flex;flex-direction:column;gap:1px}.connection-picker-item{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:none;color:var(--text-1);padding:8px 10px;border-radius:6px;font-family:inherit;text-align:left;cursor:pointer;transition:background 60ms ease}.connection-picker-item:hover{background:var(--bg-3)}.connection-picker-stroke{flex-shrink:0}.connection-picker-item-text{flex:1;min-width:0}.connection-picker-item-label{font-size:.9231rem;font-weight:600;color:var(--text-1)}.connection-picker-item-desc{font-size:.7692rem;color:var(--text-3);margin-top:2px;line-height:1.4}.connection-picker-item-badge{font-size:.6923rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);background:var(--bg-3);padding:2px 6px;border-radius:3px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-weight:700;flex-shrink:0}.topbar-sep{width:1px;height:18px;background:var(--border)}.engine-selector{position:relative;-webkit-app-region:no-drag}.engine-trigger{display:inline-flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 10px;height:28px;color:var(--text-1);font-size:.9231rem;font-family:inherit;cursor:pointer;transition:background 80ms ease,border-color 80ms ease}.engine-trigger:hover,.engine-trigger[aria-expanded=true]{background:var(--bg-3);border-color:var(--border-strong)}.engine-trigger-label{color:var(--text-3)}.engine-trigger-value{font-weight:600}.engine-trigger-chevron{color:var(--text-3);margin-left:2px;flex-shrink:0}.engine-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.engine-dropdown{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:4px;min-width:320px;z-index:1100;animation:dropdown-in 90ms ease-out}.engine-dropdown-portal{position:fixed}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.engine-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-1);text-align:left;cursor:pointer;font-family:inherit}.engine-option:hover,.engine-option[aria-selected=true]{background:var(--bg-3)}.engine-option-text{flex:1;min-width:0}.engine-option-label{font-size:1rem;font-weight:600}.engine-option-desc{font-size:.8462rem;color:var(--text-3);margin-top:2px}.engine-option-check{color:var(--success);flex-shrink:0}.editor{display:flex;flex-direction:column;height:100%;min-height:0}.tabbar{display:flex;align-items:stretch;height:36px;background:var(--bg-1);border-bottom:1px solid var(--border);padding:0 6px;flex-shrink:0}.tab{background:none;border:none;color:var(--text-3);padding:0 14px;font-size:.9231rem;font-weight:500;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 80ms ease,border-color 80ms ease}.tab:hover{color:var(--text-1)}.tab[aria-selected=true]{color:var(--text-1);border-bottom-color:var(--accent)}.tab-content{flex:1;min-height:0;position:relative}.tab-panel{position:absolute;inset:0;visibility:hidden;pointer-events:none}.tab-panel-active{visibility:visible;pointer-events:auto}.empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:32px;background:var(--bg-0)}.empty-icon{color:var(--text-3);margin-bottom:8px}.empty-title{font-size:1.2308rem;font-weight:600;color:var(--text-1)}.empty-desc{font-size:1rem;color:var(--text-3);max-width:380px;text-align:center;line-height:1.5}.properties{width:352px;background:var(--bg-1);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0;flex-shrink:0;position:relative}.properties.properties-collapsed{width:32px;align-items:center;padding-top:8px}.properties-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);color:var(--text-2);cursor:pointer;flex:none}.properties-collapse-toggle:hover{color:var(--text-1);background:var(--bg-3)}.properties-collapse-toggle-float{position:absolute;top:8px;right:8px;z-index:2}.properties-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;color:var(--text-3);text-align:center}.properties-empty svg{color:var(--text-3);margin-bottom:6px}.properties-empty-title{font-size:1.0769rem;font-weight:600;color:var(--text-2)}.properties-empty-desc{font-size:.9231rem;color:var(--text-3);line-height:1.5;max-width:240px}.properties-header{padding:12px 14px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.properties-kind-row{display:flex;align-items:center;gap:8px;font-size:.8462rem;margin-bottom:8px;padding-right:26px}.properties-kind-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.properties-kind{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.properties-id{color:var(--text-3);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;margin-left:auto;font-size:.7692rem;min-width:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.properties-name-input{width:100%;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-1);font-size:1.1538rem;font-weight:600;font-family:inherit;padding:5px 8px;margin:-5px -8px;outline:none;transition:background 80ms ease,border-color 80ms ease}.properties-name-input:hover{background:var(--bg-2)}.properties-name-input:focus{background:var(--bg-2);border-color:var(--accent)}.properties-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 6px;flex-shrink:0;overflow-x:auto;scrollbar-width:none}.properties-tabs::-webkit-scrollbar{display:none}.properties-tab{background:transparent;border:none;color:var(--text-3);padding:8px 9px;font-size:.8846rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 80ms ease,border-color 80ms ease}.properties-tab:hover{color:var(--text-1)}.properties-tab[aria-selected=true]{color:var(--text-1);border-bottom-color:var(--accent)}.properties-content{flex:1;overflow-y:auto;min-height:0}.properties-section{padding:14px}.properties-hint{margin-top:16px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);font-size:.8462rem;line-height:1.5}.properties-placeholder{padding:12px;background:var(--bg-2);border:1px dashed var(--border-strong);border-radius:var(--radius)}.properties-placeholder-title{font-size:1rem;font-weight:600;color:var(--text-2);margin-bottom:4px}.properties-placeholder-desc{font-size:.9231rem;color:var(--text-3);line-height:1.5}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field-label{font-size:.8462rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.field-input{width:100%;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);padding:6px 8px;font-size:.9231rem;font-family:inherit;outline:none;transition:border-color 80ms ease}.field-input:focus{border-color:var(--accent)}.field-secret{display:flex;align-items:stretch;gap:6px}.field-secret .field-input{flex:1 1 auto;min-width:0}.field-secret-toggle{flex:0 0 auto;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);padding:0 10px;font-size:.8462rem;font-family:inherit;cursor:pointer;transition:color 80ms ease,border-color 80ms ease}.field-secret-toggle:hover{color:var(--text-1);border-color:var(--accent)}.field-readonly{padding:6px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font-size:.9231rem;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.validation-summary{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);font-size:.9231rem}.validation-ok{background:#2eafff14;color:var(--accent-source);border:1px solid rgba(46,175,255,.2)}.validation-icon{font-size:1.0769rem}.schema-editor{display:flex;flex-direction:column}.schema-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.schema-count{font-size:.8462rem;color:var(--text-3)}.schema-add{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);padding:4px 10px;font-size:.8462rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background 80ms ease,border-color 80ms ease}.schema-add:hover{background:var(--bg-3);border-color:var(--border-strong)}.schema-table{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);overflow:hidden}.schema-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 40px 30px 28px;gap:0;align-items:center;border-bottom:1px solid var(--border)}.schema-row:last-child{border-bottom:none}.schema-header-row{background:var(--bg-1);font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:600}.schema-cell{padding:4px 6px;display:flex;align-items:center;min-width:0}.schema-cell-null,.schema-cell-pk,.schema-cell-action{justify-content:center}.schema-input{width:100%;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-1);padding:3px 6px;font-size:.8462rem;font-family:inherit;outline:none;transition:background 80ms ease,border-color 80ms ease}select.schema-input{font-family:inherit;background:transparent;color:var(--text-1);font-size:.8462rem;appearance:none;cursor:pointer}.schema-input:hover{background:var(--bg-3)}.schema-input:focus{background:var(--bg-3);border-color:var(--accent)}.schema-empty{grid-column:1 / -1;padding:16px;text-align:center;color:var(--text-3);font-size:.8462rem}.schema-remove{background:transparent;border:none;color:var(--text-3);cursor:pointer;font-size:1.0769rem;line-height:1;padding:2px 6px;border-radius:4px;transition:background 80ms ease,color 80ms ease}.schema-remove:hover{background:var(--bg-3);color:var(--danger)}.bottom-panel{border-top:1px solid var(--border);background:var(--bg-1);display:flex;flex-direction:column;flex-shrink:0;position:relative}.bottom-panel.is-collapsed{height:auto}.bottom-panel-resize{height:4px;margin-top:-4px;cursor:ns-resize;position:relative;z-index:2}.bottom-panel.is-collapsed .bottom-panel-resize{pointer-events:none}.bottom-panel-resize:hover{background:var(--accent);opacity:.5}.bottom-panel-tabs{display:flex;align-items:stretch;height:32px;background:var(--bg-1);border-bottom:1px solid var(--border);padding:0 6px;flex-shrink:0}.bottom-panel.is-collapsed .bottom-panel-tabs{border-bottom:none}.bottom-panel-tab{background:transparent;border:none;color:var(--text-3);padding:0 12px;font-size:.8462rem;font-weight:600;font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:6px;transition:color 80ms ease,border-color 80ms ease}.bottom-panel-tab:hover{color:var(--text-1)}.bottom-panel-tab[aria-selected=true]{color:var(--text-1);border-bottom-color:var(--accent)}.bottom-panel-tab-badge{font-size:.7692rem;color:var(--text-3);background:var(--bg-2);border-radius:9px;padding:1px 6px;text-transform:none;letter-spacing:0;font-weight:500}.bottom-panel-spacer{flex:1}.bottom-panel-toggle{background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:0 10px;font-size:.9231rem}.bottom-panel-toggle:hover{color:var(--text-1)}.bottom-panel-content{flex:1;overflow-y:auto;min-height:0;background:var(--bg-0)}.bottom-empty{padding:20px;color:var(--text-3);font-size:.9231rem;line-height:1.6}.bottom-empty-icon{color:var(--text-3);margin-bottom:6px}.bottom-empty-icon-ok{color:var(--success)}.bottom-empty-title{font-size:1rem;font-weight:600;color:var(--text-1);margin-bottom:4px}.bottom-empty-desc{max-width:540px}.kbd{display:inline-block;padding:1px 5px;background:var(--bg-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:3px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.7692rem;color:var(--text-1)}.bottom-console{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;padding:8px 14px;overflow-y:auto}.bottom-console-tag{flex-shrink:0;font-weight:700;min-width:46px}.bottom-console-tag-ok{color:#2eafff}.bottom-console-tag-err{color:#f85149}.bottom-console-line{display:flex;align-items:center;gap:8px;font-size:.8462rem;padding:2px 0}.bottom-console-icon,.bottom-console-time{color:var(--text-3);flex-shrink:0}.bottom-console-msg{color:var(--text-2)}.statusbar{display:flex;align-items:center;height:24px;background:var(--bg-1);border-top:1px solid var(--border);padding:0 12px;font-size:.8462rem;color:var(--text-2);flex-shrink:0;gap:10px}.statusbar-section{display:flex;align-items:center;gap:6px}.statusbar-spacer{flex:1}.statusbar-sep{width:1px;height:12px;background:var(--border)}.statusbar-support{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;font-size:.8462rem;font-weight:600;color:#fff;background:var(--danger);border:none;border-radius:5px;cursor:pointer;line-height:1.6}.statusbar-support:hover{filter:brightness(1.08)}.statusbar-label{color:var(--text-3)}.statusbar-value{color:var(--text-1)}.statusbar-comma{color:var(--text-3)}.statusbar-dot{width:6px;height:6px;border-radius:50%}.statusbar-dot-ok{background:var(--accent-source)}.statusbar-dot-warn{background:var(--warn)}.statusbar-dot-error{background:#f85149}.topbar-context{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 4px 0 9px;border-radius:7px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-2);-webkit-app-region:no-drag}.topbar-context-select{background:transparent;border:none;color:var(--text-1);font-size:.9231rem;font-family:inherit;cursor:pointer;max-width:140px}.topbar-lang{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 4px 0 7px;border-radius:7px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-2);-webkit-app-region:no-drag}.topbar-lang-select{background:transparent;border:none;color:var(--text-1);font-size:.9231rem;font-family:inherit;cursor:pointer;max-width:130px}html[dir=rtl] .topbar-workspace,html[dir=rtl] .topbar-context,html[dir=rtl] .topbar-lang{flex-direction:row-reverse}.ctx-bindable{display:flex;flex-direction:column;gap:5px}.ctx-source-select{font-size:.8846rem}.ctx-bound{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;background:#ff7a451a;border:1px solid rgba(255,122,69,.35)}.ctx-bound-token{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.9231rem;color:var(--accent-strong);font-weight:600}.ctx-bound-hint{font-size:.8462rem;color:var(--text-3)}.statusbar-runtime-ready{color:var(--accent-source)}.statusbar-runtime-connecting{color:var(--accent)}.statusbar-runtime-offline{color:var(--danger)}.editor-header{display:flex;align-items:stretch;background:var(--bg-1);border-bottom:1px solid var(--border);flex-shrink:0;height:36px;padding:0 6px;gap:4px}.job-tabs{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden}.job-tab{display:inline-flex;align-items:stretch;height:28px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-top:4px;flex-shrink:0;max-width:220px}.job-tab.is-active{background:var(--bg-3);border-color:var(--border-strong)}.job-tab-button{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-2);padding:0 8px 0 10px;font-size:.9231rem;font-family:inherit;cursor:pointer;max-width:220px;min-width:0}.job-tab.is-active .job-tab-button{color:var(--text-1);font-weight:600}.job-tab-icon{color:var(--text-3);flex-shrink:0}.job-tab.is-active .job-tab-icon{color:var(--accent)}.job-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-tab-dirty{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.job-tab-close{background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:0 8px;font-size:1.0769rem;font-family:inherit;line-height:1;border-left:1px solid var(--border);flex-shrink:0;display:inline-flex;align-items:center}.job-tab.is-active .job-tab-close{border-left-color:var(--border-strong)}.job-tab-close:hover{background:var(--bg-2);color:var(--danger)}.job-tab-new{background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:0 10px;height:28px;margin-top:4px;border-radius:var(--radius-sm);font-size:1.2308rem;font-family:inherit;line-height:1}.job-tab-new:hover{background:var(--bg-2);color:var(--text-1)}.toolbar{display:flex;align-items:center;gap:4px;padding:4px 0;flex-shrink:0}.toolbar-sep{width:1px;height:16px;background:var(--border);margin:0 4px}.toolbar-button{display:inline-flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 10px;height:28px;color:var(--text-1);font-size:.9231rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background 80ms ease,border-color 80ms ease}.toolbar-button:hover{background:var(--bg-3);border-color:var(--border-strong)}.toolbar-run{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-fg)}.toolbar-run:hover{background:var(--btn-primary-bg-strong);border-color:var(--btn-primary-bg-strong)}.toolbar-stop{background:#f851491f;border-color:#f851494d;color:var(--danger)}.toolbar-stop:hover{background:#f851492e;border-color:#f8514980}.toolbar-icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;transition:background 80ms ease,border-color 80ms ease,color 80ms ease}.toolbar-icon-button:hover{background:var(--bg-2);border-color:var(--border);color:var(--text-1)}.properties-manifest-row{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.8462rem;flex-wrap:wrap}.properties-manifest-id{color:var(--accent);background:var(--bg-2);padding:2px 6px;border-radius:3px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.7692rem}.properties-manifest-desc{color:var(--text-3);line-height:1.4}.properties-manifest-warn{color:var(--danger)}.properties-manifest-warn code{background:#f851491f;padding:1px 5px;border-radius:3px;font-size:.7692rem}.form-section{margin-bottom:18px}.form-section:last-child{margin-bottom:0}.form-section-label{font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:600;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border)}.form-section-summary{cursor:pointer;user-select:none;list-style:revert}.form-section-collapsible[open]>.form-section-summary{color:var(--text-2)}.form-field{margin-bottom:10px}.form-field-label{display:block;font-size:.9231rem;color:var(--text-2);font-weight:500;margin-bottom:4px}.form-field-required{color:var(--danger);margin-left:4px}.form-field-desc{font-size:.8462rem;color:var(--text-3);margin-top:4px;line-height:1.4}.form-field-resolved{display:flex;flex-direction:column;gap:1px;margin-top:4px;padding:4px 6px;border-left:2px solid var(--maya, #3d8bff);background:color-mix(in srgb,var(--maya, #3d8bff) 8%,transparent);border-radius:3px;font-size:.8462rem;font-family:var(--mono, monospace);color:var(--text-2);word-break:break-all}.form-field-resolved-line{line-height:1.4}.field-textarea{width:100%;resize:vertical;min-height:60px;font-family:inherit}.field-mono{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem}.field-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:24px}.field-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0}.field-toggle input{cursor:pointer}.field-toggle-label{font-size:.9231rem;color:var(--text-2)}.field-path{display:flex;gap:6px;align-items:stretch}.field-path .field-input{flex:1;min-width:0;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem}.field-path-browse{flex-shrink:0;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);padding:0 12px;font-size:.8462rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background 80ms ease,border-color 80ms ease}.field-path-browse:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-0)}.field-path-browse:disabled{opacity:.6;cursor:wait}.field-expression{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-2)}.field-expression-bar{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--bg-1);border-bottom:1px solid var(--border);font-size:.7692rem}.field-expression-lang{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.field-expression-hint{color:var(--text-3);font-size:.7692rem}.field-expression-hint code{color:var(--text-2);background:var(--bg-2);padding:0 4px;border-radius:2px;font-size:.7692rem}.field-expression-area{border:none;border-radius:0;background:var(--bg-2);width:100%;margin:0}.field-expression-area:focus{border:none;outline:none}.field-warning{background:#fed06014;border:1px solid rgba(254,208,96,.3);color:var(--accent);font-size:.8462rem}.field-columns{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);padding:4px;max-height:200px;overflow-y:auto}.field-columns-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:.9231rem}.field-columns-row:hover{background:var(--bg-3)}.field-columns-name{flex:1;color:var(--text-1)}.field-columns-type{color:var(--text-3);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.7692rem}.field-columns-stale .field-columns-name{color:var(--danger);text-decoration:line-through}.field-columns-stale .field-columns-type{color:var(--danger)}.field-rename{display:flex;flex-direction:column;gap:8px}.field-rename-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);padding:4px;max-height:240px;overflow-y:auto}.field-rename-row{display:grid;grid-template-columns:18px 1fr 1fr;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;font-size:.9231rem}.field-rename-row:hover{background:var(--bg-3)}.field-rename-old{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-rename-new{min-width:0}.field-rename-stale .field-rename-old{color:var(--danger);text-decoration:line-through}.field-cast-source{color:var(--text-3);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.7692rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-aggregations{display:flex;flex-direction:column;gap:8px}.field-agg-toolbar{display:flex;align-items:center;justify-content:space-between}.field-agg-count{font-size:.8462rem;color:var(--text-3)}.field-agg-empty{padding:12px;background:var(--bg-2);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-3);font-size:.8462rem;line-height:1.5}.field-agg-table{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2)}.field-agg-row{display:grid;grid-template-columns:1fr 1fr 1fr 28px;gap:4px;padding:4px;align-items:center;border-bottom:1px solid var(--border)}.field-agg-row:last-child{border-bottom:none}.field-agg-header{font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);background:var(--bg-1);font-weight:600;padding:6px 8px}.field-kv-row{display:grid;grid-template-columns:1fr 1fr 28px;gap:4px;padding:4px 0}.schema-source-banner{background:#58a6ff14;border:1px solid rgba(88,166,255,.3);color:var(--accent);padding:8px 12px;border-radius:var(--radius-sm);font-size:.8462rem;margin-bottom:10px}.schema-source-banner-declared{background:#2eafff14;border-color:#2eafff4d;color:var(--accent-source)}.schema-autodetect-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.schema-autodetect-button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--bg-0);padding:6px 12px;font-size:.8462rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background 80ms ease}.schema-autodetect-button:hover{background:var(--kind-source)}.schema-autodetect-button:disabled{opacity:.6;cursor:wait}.schema-autodetect-hint{color:var(--text-3);font-size:.8462rem}.preview-empty{padding:20px;color:var(--text-3);text-align:center}.preview-empty-title{font-size:1rem;font-weight:600;color:var(--text-2);margin-bottom:4px}.preview-empty-desc{font-size:.9231rem;line-height:1.5}.preview-meta{font-size:.8462rem;color:var(--text-3);margin-bottom:8px}.preview-meta-tag{color:var(--accent);font-weight:500}.preview-tablewrap{overflow:auto;max-height:min(60vh,460px);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2)}.preview-table{width:100%;border-collapse:collapse;font-size:.8462rem}.preview-table th{text-align:left;background:var(--bg-1);padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0}.preview-th-name{font-weight:600;color:var(--text-1)}.preview-th-type{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;color:var(--text-3);font-size:.6923rem;text-transform:lowercase;margin-top:2px}.preview-table td{padding:5px 10px;border-bottom:1px solid var(--border);color:var(--text-2);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:hover td{background:var(--bg-3)}.modal-backdrop{position:fixed;inset:0;background:#080a0ea6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:modal-backdrop-in .12s ease-out}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-1);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 1px #ffffff0a inset,0 24px 64px #0009,0 0 0 1px #58a6ff14;width:100%;max-width:520px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;animation:modal-card-in .14s cubic-bezier(.16,1,.3,1)}@keyframes modal-card-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-file,.modal-new-pipeline{max-width:560px}.modal-mapper{width:94vw;height:88vh;max-width:1500px;max-height:1000px;display:flex;flex-direction:column}.modal-mapper-header{padding:14px 18px}.modal-subtitle{font-size:.8462rem;color:var(--text-3);margin-top:2px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.modal-mapper-header-actions{display:flex;align-items:center;gap:8px}.mapper-action{height:30px;padding:0 12px;font-size:.8462rem;display:inline-flex;align-items:center;gap:6px}.mapper-body{flex:1;display:grid;grid-template-columns:280px 1fr 240px;gap:1px;background:var(--border);min-height:0;overflow:hidden}.mapper-pane{background:var(--bg-1);display:flex;flex-direction:column;min-height:0}.mapper-pane-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-2);border-bottom:1px solid var(--border);font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-2);flex-shrink:0}.mapper-pane-spacer{flex:1}.mapper-pane-count{background:var(--bg-3);color:var(--text-3);padding:1px 7px;border-radius:9px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.6923rem;font-weight:600;text-transform:none;letter-spacing:0}.mapper-pane-body{flex:1;overflow-y:auto;padding:10px}.mapper-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;color:var(--text-3);font-size:.9231rem;text-align:center}.mapper-empty-desc{color:var(--text-4);font-size:.8462rem;max-width:220px;line-height:1.5}.mapper-input-port{margin-bottom:14px}.mapper-input-port-name{font-size:.7692rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:4px 8px;background:var(--accent-soft);border-radius:4px;display:flex;align-items:center;gap:6px;margin-bottom:4px}.mapper-input-port-count{background:#0003;color:var(--accent);padding:0 6px;border-radius:9px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.6923rem}.mapper-input-col{display:flex;align-items:center;gap:6px;padding:5px 8px;margin:1px 0;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;cursor:grab;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem;color:var(--text-1);user-select:none;transition:background 80ms ease,border-color 80ms ease}.mapper-input-col:hover{background:var(--bg-3);border-color:var(--border-strong)}.mapper-input-col:active{cursor:grabbing}.mapper-input-col.is-used{border-color:var(--accent);background:var(--accent-soft)}.mapper-input-grip{color:var(--text-4);flex-shrink:0}.mapper-input-col-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapper-input-col-type{color:var(--text-3);font-size:.7692rem;flex-shrink:0}.mapper-input-used{color:var(--accent);flex-shrink:0}.mapper-add-row{background:transparent;border:1px solid var(--border-strong);border-radius:5px;color:var(--accent);padding:3px 9px;font-size:.8462rem;font-weight:600;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:background 80ms ease,border-color 80ms ease}.mapper-add-row:hover{background:var(--accent-soft);border-color:var(--accent)}.mapper-output-table{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.mapper-output-row{display:grid;grid-template-columns:1.2fr .8fr 2.5fr 28px;gap:4px;padding:4px 6px;align-items:center;border-bottom:1px solid var(--border);transition:background 80ms ease}.mapper-output-row:last-child{border-bottom:none}.mapper-output-row.is-focused{background:var(--accent-soft)}.mapper-output-header{background:var(--bg-1);font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:700;padding:7px 10px}.mapper-output-header>div{padding:0 4px}.mapper-cell-name input,.mapper-cell-type select{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.mapper-expression{width:100%;background:var(--bg-3);border:1px solid transparent;border-radius:4px;color:var(--text-1);padding:4px 8px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem;line-height:1.5;outline:none;resize:vertical;min-height:26px;transition:border-color 80ms ease}.mapper-expression:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.mapper-helper-body{display:flex;flex-direction:column;gap:4px}.mapper-helper-hint{font-size:.8462rem;color:var(--text-3);line-height:1.5;margin-bottom:6px}.mapper-helper-section{font-size:.7692rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin:12px 0 6px;padding-top:10px;border-top:1px solid var(--border)}.mapper-func{display:block;width:100%;background:var(--bg-2);border:1px solid var(--border);border-radius:5px;color:var(--text-2);padding:5px 9px;font-family:inherit;font-size:.8462rem;text-align:left;cursor:pointer;transition:background 80ms ease,border-color 80ms ease}.mapper-func:hover:not(:disabled){background:var(--bg-3);border-color:var(--border-strong);color:var(--text-1)}.mapper-func:disabled{opacity:.5;cursor:not-allowed}.mapper-func code{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;color:var(--accent)}.mapper-join{background:var(--bg-2);border:1px solid var(--border);border-radius:5px;padding:7px 8px;margin-bottom:7px}.mapper-join-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mapper-join-port{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem;font-weight:600;color:var(--kind-control);flex:1}.mapper-join-type{width:auto;font-size:.8462rem;padding:2px 4px}.mapper-join-on{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.mapper-join-side{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.7692rem;color:var(--text-3)}.mapper-join-key{flex:1;min-width:52px;font-size:.8462rem;padding:2px 5px}.mapper-join-eq{color:var(--text-3);font-weight:700}.mapper-filter-bar{display:flex;align-items:flex-start;gap:12px;padding:10px 18px;border-top:1px solid var(--border);background:var(--bg-1)}.mapper-filter-label{font-size:.8462rem;font-weight:700;letter-spacing:.06em;color:var(--text-2);white-space:nowrap;padding-top:9px}.mapper-filter-input{flex:1;min-height:38px;resize:vertical;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.9231rem;line-height:1.5;padding:7px 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:5px;color:var(--text-1)}.mapper-filter-input:focus{outline:none;border-color:var(--accent)}.mapper-filter-hint{font-size:.8462rem;color:var(--text-3);max-width:240px;line-height:1.45;padding-top:4px}.modal-mapper-footer{padding:12px 18px}.modal-mapper-status{flex:1;display:flex;align-items:center;gap:6px;color:var(--text-3);font-size:.8462rem}.properties-mapper-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--btn-primary-bg);border:none;border-radius:8px;color:var(--btn-primary-fg);padding:10px 14px;font-size:.9231rem;font-weight:700;font-family:inherit;cursor:pointer;margin-bottom:14px;transition:filter 80ms ease,transform 80ms ease;box-shadow:0 4px 16px #6470d833}.properties-mapper-button:hover{filter:brightness(1.08)}.properties-mapper-button:active{transform:translateY(1px)}.modal-editor{max-width:640px}.modal-editor-tall{width:80vw;height:80vh;max-width:980px;max-height:880px;display:flex;flex-direction:column}.modal-doc-body{flex:1;display:flex;flex-direction:column;gap:10px;min-height:0}.doc-editor{flex:1;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.9231rem;line-height:1.6;resize:none;min-height:0}.doc-preview{flex:1;overflow:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:18px 22px;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:1rem;line-height:1.7;white-space:pre-wrap;color:var(--text-1);margin:0}.modal-title-row{display:flex;align-items:center;gap:10px}.modal-title-icon{color:var(--accent-cyan);flex-shrink:0}.modal-field-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.connection-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.connection-field-grid .modal-field{margin-top:0!important}.ctx-table{border:1px solid var(--border);border-radius:8px;background:var(--bg-2);overflow:hidden}.ctx-row{display:grid;grid-template-columns:1.2fr 1.5fr auto 28px;gap:6px;padding:4px 6px;align-items:center;border-bottom:1px solid var(--border)}.ctx-row:last-child{border-bottom:none}.ctx-header{background:var(--bg-1);font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:700;padding:7px 10px}.ctx-secret-toggle{display:inline-flex;align-items:center;gap:4px;color:var(--text-3);cursor:pointer;font-size:.8462rem;padding:4px 6px;border-radius:4px;border:1px solid transparent;transition:border-color 80ms ease,background 80ms ease}.ctx-secret-toggle:hover{background:var(--bg-3)}.ctx-empty{padding:16px;background:var(--bg-2);border:1px dashed var(--border);border-radius:8px;color:var(--text-3);font-size:.9231rem;text-align:center}.modal-field-hint{margin-top:4px;font-size:.8462rem;color:var(--text-3)}.modal-field-hint code{background:var(--bg-3);padding:1px 5px;border-radius:3px;color:var(--accent);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.7692rem}.modal-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px}.template-grid{display:flex;flex-direction:column;gap:6px}.template-card{text-align:left;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;color:var(--text-1);font-family:inherit;transition:border-color 80ms ease,background 80ms ease}.template-card:hover:not(.is-disabled){background:var(--bg-3);border-color:var(--border-strong)}.template-card.is-active{background:#58a6ff14;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.template-card.is-disabled{opacity:.5;cursor:not-allowed}.template-card-title{font-size:1rem;font-weight:600;color:var(--text-1);margin-bottom:4px}.template-card.is-active .template-card-title{color:var(--accent)}.template-card-desc{font-size:.8462rem;color:var(--text-3);line-height:1.5}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid var(--border)}.modal-title{font-size:1.1538rem;font-weight:600;color:var(--text-1);letter-spacing:-.01em}.modal-close{background:transparent;border:none;color:var(--text-3);cursor:pointer;font-size:1.5385rem;line-height:1;padding:4px 8px;border-radius:6px;transition:background 80ms ease,color 80ms ease}.modal-close:hover{background:var(--bg-3);color:var(--text-1)}.modal-body{padding:16px 20px 18px;overflow-y:auto}.settings-section{border-top:1px solid var(--border-2, #2a2a2a)}.settings-section:first-child{border-top:none}.settings-section-header{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;color:var(--text-1);padding:12px 2px;cursor:pointer;font-weight:600;font-size:1rem;text-align:left}.settings-section-header:hover{color:var(--accent)}.settings-cat-chevron{display:inline-flex;align-items:center;justify-content:center;width:14px;color:var(--text-3);flex-shrink:0}.settings-section-title{flex:1}.settings-section-body{padding:0 2px 14px 22px}.modal-field+.modal-field{margin-top:14px}.modal-field-label{display:block;font-size:.8462rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:6px}.modal-field-pathrow{display:flex;gap:8px}.modal-input{width:100%;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--text-1);font-size:1rem;font-family:inherit;outline:none;transition:border-color 80ms ease,background 80ms ease}.modal-input:focus{border-color:var(--accent);background:var(--bg-1);box-shadow:0 0 0 3px #58a6ff2e}.modal-input-path{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.9231rem}.modal-input-browse{flex-shrink:0;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;padding:0 14px;color:var(--text-1);font-size:.9231rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background 80ms ease,border-color 80ms ease}.modal-input-browse:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-0)}.modal-recent{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-2);padding:4px}.modal-recent-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;color:var(--text-2);padding:7px 10px;border-radius:6px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.8462rem;text-align:left;cursor:pointer;transition:background 60ms ease,color 60ms ease}.modal-recent-item svg{color:var(--text-3);flex-shrink:0}.modal-recent-item:hover{background:var(--bg-3);color:var(--text-1)}.modal-recent-item.is-active{background:#58a6ff1f;color:var(--accent)}.modal-recent-item.is-active svg{color:var(--accent)}.modal-recent-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.fb-up{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;background:var(--bg-3);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-2);cursor:pointer}.fb-up:hover:not(:disabled){color:var(--text-1)}.fb-up:disabled{opacity:.4;cursor:default}.fb-crumb{display:flex;align-items:center;gap:6px;min-width:0;font-size:.9231rem;color:var(--text-2)}.fb-crumb svg{color:var(--text-3);flex-shrink:0}.fb-crumb-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-list{height:220px;overflow-y:auto;border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:8px;background:var(--bg-2, rgba(0, 0, 0, .2));padding:4px}.fb-row{display:flex;align-items:center;gap:9px;width:100%;background:transparent;border:none;border-radius:6px;padding:6px 8px;color:var(--text-2);font-size:.9615rem;text-align:left;cursor:pointer}.fb-row:hover{background:var(--bg-3);color:var(--text-1)}.fb-row.is-active{background:#58a6ff1f;color:var(--accent)}.fb-ico{color:var(--text-3);flex-shrink:0}.fb-ico-dir{color:var(--accent)}.fb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-empty{padding:16px;text-align:center;color:var(--text-3);font-size:.9231rem}.fb-error{color:var(--error, #f85149);font-family:ui-monospace,SF Mono,Consolas,monospace}.modal-hint{margin-top:12px;font-size:.8462rem;color:var(--text-3);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.modal-tip{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:10px 12px;background:#58a6ff0f;border:1px solid rgba(88,166,255,.18);border-radius:8px;font-size:.8462rem;color:var(--text-2);line-height:1.5}.modal-tip-icon{color:var(--accent);flex-shrink:0;margin-top:1px}.modal-tip b{color:var(--text-1)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border);background:var(--bg-1)}.btn{background:var(--bg-3);border:1px solid var(--border);border-radius:8px;padding:8px 16px;color:var(--text-1);font-size:.9231rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background 80ms ease,border-color 80ms ease,transform 80ms ease}.btn:hover{background:var(--bg-2);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-fg);box-shadow:var(--shadow-glow)}.btn-primary:hover{background:var(--btn-primary-bg-strong);border-color:var(--btn-primary-bg-strong);filter:brightness(1.05)}.btn.is-danger{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:none}.btn.is-danger:hover{background:var(--danger);border-color:var(--danger);filter:brightness(1.06)}.modal-confirm-message{line-height:1.55;white-space:pre-wrap}.btn-primary:disabled{background:var(--bg-2);border-color:var(--border);color:var(--text-3)}.btn-secondary{background:transparent;border-color:var(--border);color:var(--text-2)}.btn-secondary:hover{background:var(--bg-3);color:var(--text-1)}.field-ref-empty{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;background:var(--bg-2);border:1px dashed var(--border-strong);border-radius:6px;color:var(--text-3);font-size:.8462rem;line-height:1.5}.field-ref-empty svg{flex-shrink:0;margin-top:1px;color:var(--text-3)}.field-ref-empty b{color:var(--text-1)}.topbar-theme-toggle{-webkit-app-region:no-drag;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--bg-2);border:1px solid var(--border);border-radius:7px;color:var(--text-2);cursor:pointer;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.topbar-workspace{-webkit-app-region:no-drag;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:7px;color:var(--text-2);cursor:pointer;font-size:.8846rem;font-weight:600;max-width:220px;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.topbar-workspace:hover{background:var(--bg-3);color:var(--text-1);border-color:var(--border-strong)}.topbar-workspace svg{color:var(--accent-cyan);flex-shrink:0}.topbar-workspace-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-theme-toggle:hover{background:var(--bg-3);color:var(--text-1);border-color:var(--border-strong)}.code-editor-host{flex:1;overflow:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;min-height:0}.code-editor{min-height:100%;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace!important;font-size:.9615rem!important;line-height:1.65!important;color:var(--text-1);tab-size:4}.code-editor pre,.code-editor textarea{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;outline:none!important}.code-editor textarea.code-editor-textarea{color:transparent!important;caret-color:var(--text-1)!important}.code-editor textarea.code-editor-textarea::selection{background:var(--accent-soft)!important}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--text-4);font-style:italic}.token.punctuation{color:var(--text-3)}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:var(--kind-sink)}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:var(--kind-source)}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:var(--accent-cyan)}.token.atrule,.token.attr-value,.token.keyword{color:var(--accent)}.token.function,.token.class-name{color:var(--kind-quality)}.token.regex,.token.important,.token.variable{color:var(--kind-custom)}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.markdown-body{flex:1;overflow:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:24px 28px;color:var(--text-1);font-size:1.0385rem;line-height:1.7;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:700;margin:1.4em 0 .6em;color:var(--text-1);letter-spacing:-.015em;line-height:1.3}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body h1{font-size:1.7em;padding-bottom:.3em;border-bottom:1px solid var(--border)}.markdown-body h2{font-size:1.35em;padding-bottom:.25em;border-bottom:1px solid var(--border)}.markdown-body h3{font-size:1.15em}.markdown-body h4{font-size:1em}.markdown-body p{margin:0 0 1em}.markdown-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color 80ms ease}.markdown-body a:hover{border-bottom-color:var(--accent)}.markdown-body ul,.markdown-body ol{margin:0 0 1em;padding-left:1.5em}.markdown-body li{margin-bottom:.3em}.markdown-body li>p{margin-bottom:.4em}.markdown-body code{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.88em;background:var(--bg-3);padding:.15em .4em;border-radius:4px;color:var(--accent-cyan)}.markdown-body pre{background:var(--bg-3);border:1px solid var(--border);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:0 0 1.2em;line-height:1.55}.markdown-body pre code{background:transparent;padding:0;border-radius:0;color:var(--text-1);font-size:.9em}.markdown-body blockquote{margin:0 0 1em;padding:.25em 1em;border-left:3px solid var(--accent);color:var(--text-2);background:var(--accent-soft);border-radius:0 6px 6px 0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.markdown-body table{border-collapse:collapse;margin:0 0 1.2em;font-size:.92em;width:100%}.markdown-body table th,.markdown-body table td{border:1px solid var(--border);padding:6px 12px;text-align:left}.markdown-body table th{background:var(--bg-3);font-weight:700}.markdown-body img{max-width:100%;height:auto;border-radius:6px}.markdown-body strong{color:var(--text-1);font-weight:700}.react-flow__attribution{display:none!important}:root[data-theme=light]{--bg-0: #fafbfd;--bg-1: #f1f3f8;--bg-2: #e9ecf2;--bg-3: #dee1ea;--bg-4: #d0d5de;--bg-elevated: #ffffff;--border: rgba(11, 15, 26, .08);--border-strong: rgba(11, 15, 26, .14);--border-bright: rgba(11, 15, 26, .2);--text-1: #11151f;--text-2: #3f4756;--text-3: #6d7585;--text-4: #a3acbd;--accent: #e8590c;--accent-strong: #d24f09;--accent-cyan: #c2410c;--accent-cyan-strong: #9a3412;--btn-primary-bg: #e8590c;--btn-primary-bg-strong: #d24f09;--btn-primary-fg: #ffffff;--accent-soft: rgba(232, 89, 12, .1);--accent-glow: rgba(232, 89, 12, .22);--kind-source: #1f8fd0;--kind-transform: #4a5160;--kind-sink: #d96400;--kind-control: #3a63c4;--kind-quality: #c2410c;--kind-custom: #c2553f;--danger: #dc2626;--success: #1488c8;--warn: #d97706;--shadow-1: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 1px 2px rgba(11, 15, 26, .05), 0 6px 16px rgba(11, 15, 26, .06);--shadow-2: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 4px 12px rgba(11, 15, 26, .08), 0 16px 40px rgba(11, 15, 26, .1);--shadow-glow: 0 0 16px rgba(232, 89, 12, .18);--focus-ring: 0 0 0 3px rgba(232, 89, 12, .22);color-scheme:light}:root[data-theme=light] body,:root[data-theme=light] html,:root[data-theme=light] #root{background:radial-gradient(ellipse 800px 400px at 0% 0%,rgba(255,193,7,.06),transparent 70%),radial-gradient(ellipse 1000px 500px at 100% 100%,rgba(232,89,12,.05),transparent 70%),var(--bg-0)}:root[data-theme=light] .node{background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 60%),var(--bg-elevated)}:root[data-theme=light] .node.is-selected{box-shadow:0 0 0 1px var(--accent),0 0 20px #e8590c2e,var(--shadow-1)}:root[data-theme=light] .topbar:after{background:linear-gradient(90deg,transparent,rgba(232,89,12,.35),rgba(184,134,11,.28),transparent)}:root[data-theme=light]{--logo-disc: #ffffff;--logo-glyph: #ff6900;--logo-ring: rgba(20, 24, 40, .1)}:root[data-theme=light] .properties-mapper-button{box-shadow:0 4px 12px #e8590c40}:root[data-theme=light] .btn-primary{color:#fff}:root[data-theme=light] .react-flow__background{color:#0b0f1a14}:root[data-theme=light] .edge-label{background:var(--bg-elevated);color:var(--text-2);box-shadow:0 1px 4px #0b0f1a14}:root[data-theme=light] .edge-label.is-selected{color:var(--text-1)}:root[data-theme=light] .toolbar-stop{background:#dc26261f;border-color:#dc26264d;color:var(--danger)}:root[data-theme=light] .validation-ok{background:#1f8fd01a;color:var(--success);border-color:#1f8fd040}:root[data-theme=light] .schema-source-banner{background:#e8590c14;color:var(--accent);border-color:#e8590c40}:root[data-theme=light] .schema-source-banner-declared{background:#1f8fd014;color:var(--success);border-color:#1f8fd040}:root[data-theme=light] .field-warning{background:#d9770614;border-color:#d977064d}:root[data-theme=light] .modal-input-browse:hover{color:#fff}:root[data-theme=light] .schema-autodetect-button{color:#fff}:root[data-theme=light] .mapper-input-port-name{background:#e8590c1a}:root[data-theme=light] .edge-label-reject .edge-label-badge{background:#dc26261f}:root[data-theme=light] .edge-label-lookup .edge-label-badge{background:#2eafff24}:root[data-theme=light] .edge-label-on-subjob-ok .edge-label-badge,:root[data-theme=light] .edge-label-on-component-ok .edge-label-badge{background:#1f8fd01f}:root[data-theme=light] .edge-label-on-subjob-error .edge-label-badge,:root[data-theme=light] .edge-label-on-component-error .edge-label-badge{background:#dc26261f}:root[data-theme=light] .palette-availability-yes{color:var(--success)}:root[data-theme=light] .node-disabled-badge{background:#dc26261f;border-color:#dc26264d;color:var(--danger)}:root[data-theme=light] .mapper-input-col.is-used{background:#e8590c14}:root[data-theme=light] .modal-tip{background:#e8590c0f;border-color:#e8590c33}:root[data-theme=light] .markdown-body code{color:var(--accent-cyan-strong);background:#2eafff14}:root[data-theme=light] .markdown-body blockquote{background:#e8590c0f}:root[data-theme=light] .markdown-body img{box-shadow:0 1px 4px #0b0f1a1a}:root[data-theme=light] .repo-node.is-active{background:#e8590c1a;color:var(--accent)}:root[data-theme=light] .filter-condition-prefix{color:var(--accent)}:root[data-theme=light] .filter-sql-preview-code{color:var(--text-1)}:root[data-theme=light] .ctx-secret-toggle{color:var(--text-3)}:root[data-theme=light] .topbar{background:linear-gradient(180deg,rgba(184,134,11,.04),transparent 60%),var(--bg-1)}.modal-backdrop-blocking{background:#07090fd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.modal-workspace{width:100%;max-width:560px}.modal-workspace-header{display:flex;align-items:center;gap:16px;padding:24px 24px 18px;border-bottom:1px solid var(--border)}.modal-workspace-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--gradient-brand);color:var(--bg-0);box-shadow:0 0 0 1px #ff7a4552 inset,0 8px 32px #ff7a4552,0 0 32px #ff7a454d;flex-shrink:0}.modal-workspace-titles .modal-title{font-size:1.3846rem;letter-spacing:-.02em}.modal-workspace-titles .modal-subtitle{margin-top:4px;font-family:inherit;color:var(--text-3)}.modal-workspace-body{padding:18px 24px 22px}.modal-workspace-lead{margin:0 0 18px;font-size:1.0385rem;line-height:1.6;color:var(--text-2)}.modal-workspace-features{display:grid;gap:12px;margin-bottom:12px}.modal-workspace-feature{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px}.modal-workspace-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:var(--accent-soft);color:var(--accent);flex-shrink:0;margin-top:1px}.modal-workspace-feature-title{font-size:1rem;font-weight:600;color:var(--text-1);margin-bottom:3px}.modal-workspace-feature-desc{font-size:.9231rem;color:var(--text-3);line-height:1.5}.modal-workspace-error{margin-top:12px;padding:10px 12px;background:#ff4d6d14;border:1px solid rgba(255,77,109,.25);border-radius:8px;color:var(--danger);font-size:.9231rem;line-height:1.5}.modal-workspace-footer{justify-content:flex-end;padding:14px 24px 18px}.bottom-output{display:flex;flex-direction:column;gap:12px;padding:12px 16px 16px}.bottom-output-summary{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;font-size:.9231rem;color:var(--text-2)}.bottom-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-weight:700;font-size:.8462rem;text-transform:uppercase;letter-spacing:.04em}.bottom-status.status-ok{background:#34d3991f;color:var(--success);border:1px solid rgba(52,211,153,.3)}.bottom-status.status-error{background:#ff4d6d1a;color:var(--danger);border:1px solid rgba(255,77,109,.3)}.bottom-output-stat b{color:var(--text-1);font-variant-numeric:tabular-nums}.bottom-output-rows{display:flex;flex-direction:column;gap:2px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.bottom-output-row{display:grid;grid-template-columns:14px minmax(160px,1fr) 60px 110px 90px 1fr;align-items:center;gap:10px;padding:7px 12px;font-size:.9231rem;color:var(--text-2);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.bottom-output-row:last-child{border-bottom:none}.bottom-output-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.bottom-output-row.status-error .bottom-output-dot{background:var(--danger)}.bottom-output-label{color:var(--text-1);font-weight:600}.bottom-output-kind{text-transform:uppercase;font-size:.7692rem;letter-spacing:.05em;color:var(--text-3)}.bottom-output-rows-stat{color:var(--text-2)}.bottom-output-time{color:var(--text-3)}.bottom-output-error{color:var(--danger);font-size:.8462rem;grid-column:1 / -1;padding-left:24px;line-height:1.4}.bottom-output-error-banner{display:flex;align-items:flex-start;gap:10px;background:#ff4d6d14;border:1px solid rgba(255,77,109,.25);border-radius:8px;padding:10px 14px;color:var(--danger);font-size:.9231rem;line-height:1.5}.bottom-output-error-banner-text{flex:1 1 auto;min-width:0}.bottom-output-error-banner-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px -4px 0 0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--danger);cursor:pointer;opacity:.75}.bottom-output-error-banner-close:hover{background:#ff4d6d29;opacity:1}.bottom-output-previews{display:flex;flex-direction:column;gap:10px}.bottom-preview{border:1px solid var(--border);border-radius:8px;background:var(--bg-2);overflow:hidden}.bottom-preview-head{padding:8px 12px;background:var(--bg-3);border-bottom:1px solid var(--border);font-size:.8462rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-weight:700}.bottom-preview-head b{color:var(--text-1)}.bottom-preview-scroll{overflow:auto;max-height:280px;scrollbar-gutter:stable}.bottom-preview-table{width:100%;border-collapse:collapse;font-size:.9231rem;font-variant-numeric:tabular-nums}.bottom-preview-table th{text-align:left;padding:6px 10px;background:var(--bg-2);border-bottom:1px solid var(--border);position:sticky;top:0;color:var(--text-2);font-weight:600;font-size:.8462rem;white-space:nowrap}.bottom-preview-coltype{display:block;color:var(--text-4);font-size:.6923rem;text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-top:1px}.bottom-preview-table td{padding:5px 10px;border-bottom:1px solid var(--border);color:var(--text-1);white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}.bottom-preview-table tr:last-child td{border-bottom:none}.bottom-problems{display:flex;flex-direction:column;gap:2px;padding:12px 16px;overflow:auto;height:100%}.bottom-problem-row{display:grid;grid-template-columns:14px 1fr auto;align-items:flex-start;gap:10px;padding:8px 12px;background:#ff4d6d0f;border:1px solid rgba(255,77,109,.18);border-radius:8px}.bottom-problem-row.severity-warning{background:#fed0600f;border-color:#fed06038}.bottom-problem-row.severity-warning .bottom-problem-icon{color:var(--warn)}.bottom-problem-body{min-width:0}.bottom-problem-code{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.7692rem;color:var(--text-3);background:var(--bg-3);padding:2px 6px;border-radius:4px;white-space:nowrap;align-self:center}.bottom-problem-icon{color:var(--danger);flex-shrink:0;margin-top:2px}.bottom-problem-title{font-size:.9231rem;color:var(--text-1);font-weight:600}.bottom-problem-detail{font-size:.8462rem;color:var(--text-3);margin-top:2px;line-height:1.4}.node-run-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.node-run-badge-running{background:#ff7a4526;color:var(--accent);border:1px solid rgba(255,122,69,.4)}.node-run-badge-running svg{animation:node-run-spin .8s linear infinite}.node-run-badge-ok{background:#34d39926;color:var(--success);border:1px solid rgba(52,211,153,.4)}.node-run-badge-error{background:#ff4d6d1f;color:var(--danger);border:1px solid rgba(255,77,109,.4)}@keyframes node-run-spin{to{transform:rotate(360deg)}}.node.is-run-running{box-shadow:0 0 0 1px var(--accent),0 0 0 4px #ff7a452e,var(--shadow-1)}.node.is-run-ok{box-shadow:0 0 0 1px #34d39980,0 0 0 4px #34d3991f,var(--shadow-1)}.node.is-run-error{box-shadow:0 0 0 1px var(--danger),0 0 0 4px #ff4d6d29,var(--shadow-1)}.duckle-edge.is-flowing{animation:edge-dash .6s linear infinite;stroke-dasharray:8 4}@keyframes edge-dash{to{stroke-dashoffset:-24}}.duckle-edge.is-completed{transition:opacity .2s ease}.toolbar-more{position:relative}.toolbar-more-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:80;min-width:280px;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:4px;animation:dropdown-in 90ms ease-out}.toolbar-more-item{display:grid;grid-template-columns:16px 1fr;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:6px;text-align:left;color:var(--text-1);cursor:pointer;font-size:.9615rem;font-weight:600}.toolbar-more-item:hover{background:var(--bg-3)}.toolbar-more-item svg{margin-top:2px;color:var(--accent)}.toolbar-more-desc{margin-top:2px;font-size:.8462rem;font-weight:400;color:var(--text-3);line-height:1.4}.modal-schedule{width:100%;max-width:640px}.modal-schedule-body{display:flex;flex-direction:column;gap:12px}.modal-backfill{width:100%;max-width:720px}.modal-backfill-body{display:flex;flex-direction:column;gap:12px}.backfill-intro{margin:0;font-size:.9231rem;color:var(--text-2);line-height:1.5}.backfill-empty{padding:18px;text-align:center;font-size:.9231rem;color:var(--text-3);background:var(--bg-1);border:1px dashed var(--border);border-radius:var(--radius-sm)}.backfill-error{padding:8px 11px;font-size:.9231rem;color:var(--danger);background:#ff4d6d14;border:1px solid rgba(255,77,109,.3);border-radius:var(--radius-sm);white-space:pre-wrap}.backfill-table{width:100%;border-collapse:collapse;font-size:.9231rem}.backfill-table th{text-align:left;padding:4px 8px;font-weight:600;color:var(--text-3);border-bottom:1px solid var(--border)}.backfill-table td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.backfill-node{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;color:var(--text-1)}.backfill-kind{text-transform:uppercase;font-size:.7692rem;font-weight:600;letter-spacing:.04em;color:var(--accent)}.backfill-type{margin-left:6px;font-size:.7692rem;color:var(--text-3)}.backfill-value{width:100%;min-width:160px}.backfill-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.backfill-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:.8462rem;color:var(--text-1);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.backfill-btn:hover:not(:disabled){border-color:var(--border-bright)}.backfill-btn:disabled{opacity:.5;cursor:default}.backfill-btn-danger:hover:not(:disabled){color:var(--danger);border-color:#ff4d6d66}.backfill-refresh{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:.8462rem;color:var(--text-2);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.backfill-refresh:hover{color:var(--text-1);border-color:var(--border-bright)}.schedule-list{display:flex;flex-direction:column;gap:8px}.schedule-empty{padding:22px 16px;background:var(--bg-2);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-3);font-size:1rem;text-align:center;line-height:1.5}.schedule-empty b{color:var(--text-1)}.schedule-row{display:flex;gap:12px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;transition:border-color 80ms ease}.schedule-row:hover{border-color:var(--border-strong)}.schedule-row.is-disabled{opacity:.6}.schedule-row-info{flex:1;min-width:0}.schedule-row-header{display:flex;align-items:center;gap:8px}.schedule-row-name{font-weight:700;font-size:1rem;color:var(--text-1)}.schedule-row-pill{font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:var(--bg-3);color:var(--text-3);font-weight:700}.schedule-row-pill.enabled{background:#34d39929;color:var(--success)}.schedule-row-detail{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:.9231rem;color:var(--accent);font-family:ui-monospace,SF Mono,Consolas,monospace}.schedule-row-meta{display:flex;gap:14px;margin-top:4px;font-size:.8462rem;color:var(--text-3)}.schedule-row-meta b{color:var(--text-2);font-weight:600}.schedule-row-error{margin-top:6px;padding:6px 8px;background:#ff4d6d14;border:1px solid rgba(255,77,109,.22);border-radius:6px;color:var(--danger);font-size:.8462rem;line-height:1.4}.schedule-row-actions{display:flex;gap:4px;align-items:flex-start}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-2);cursor:pointer;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.btn-icon:hover:not(:disabled){background:var(--bg-3);color:var(--text-1);border-color:var(--border-strong)}.btn-icon:disabled{opacity:.45;cursor:not-allowed}.btn-icon-danger:hover:not(:disabled){color:var(--danger);border-color:#ff4d6d80;background:#ff4d6d14}.schedule-add{align-self:flex-start}.schedule-form{display:flex;flex-direction:column;gap:12px}.schedule-mode-toggle{display:inline-flex;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.schedule-mode-button{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-2);font-size:.9231rem;font-weight:600;cursor:pointer}.schedule-mode-button.is-active{background:var(--bg-elevated);color:var(--text-1);box-shadow:0 1px 2px #0000002e}.schedule-interval-row{display:flex;align-items:center;gap:8px;font-size:.9231rem;color:var(--text-2)}.schedule-interval-value{width:80px!important}.schedule-watch-row{display:flex;gap:8px;align-items:center}.schedule-watch-row .modal-input{flex:1}.run-history{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.run-history-title{font-size:.8462rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:700;margin-bottom:8px}.run-history-list{display:flex;flex-direction:column;gap:1px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.run-history-row{display:grid;grid-template-columns:10px 70px 1fr 90px 70px auto;align-items:center;gap:10px;padding:6px 12px;font-size:.8846rem;color:var(--text-2);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.run-history-row:last-child{border-bottom:none}.run-history-dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.run-history-row.status-error .run-history-dot,.run-history-row.status-cancelled .run-history-dot{background:var(--danger)}.run-history-trigger{text-transform:uppercase;font-size:.6923rem;letter-spacing:.05em;color:var(--text-3);font-weight:700}.run-history-time{color:var(--text-1)}.run-history-rows,.run-history-dur{color:var(--text-3)}.run-history-err{color:var(--danger);font-weight:600}.modal-engine{width:100%;max-width:600px}.modal-engine-body{padding:18px 24px}.engine-loading{display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:1rem;padding:16px}.engine-list{display:flex;flex-direction:column;gap:10px}.engine-row{display:flex;gap:12px;align-items:flex-start;padding:14px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px}.engine-row-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.engine-row-info{flex:1;min-width:0}.engine-row-head{display:flex;align-items:center;gap:8px}.engine-row-name{font-size:1.0769rem;font-weight:700;color:var(--text-1)}.engine-row-tag{font-size:.6923rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--bg-3);color:var(--text-3)}.engine-row-tag.required{background:var(--accent-soft);color:var(--accent)}.engine-row-ver{font-size:.8462rem;color:var(--text-3);font-variant-numeric:tabular-nums}.engine-row-desc{font-size:.9231rem;color:var(--text-3);margin-top:3px;line-height:1.5}.engine-row-action{flex-shrink:0;align-self:center}.btn-sm{padding:5px 10px;font-size:.9231rem}.engine-row-installed{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-size:.9231rem;font-weight:600}.engine-row-installing{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:.9231rem;font-weight:600}.engine-row-unavailable{font-size:.8462rem;color:var(--text-4)}.engine-progress{margin-top:8px}.engine-progress-bar{height:5px;background:var(--bg-3);border-radius:3px;overflow:hidden}.engine-progress-fill{height:100%;background:var(--gradient-brand);border-radius:3px;transition:width .12s ease}.engine-progress-fill[data-indeterminate=true]{animation:engine-indeterminate 1.1s ease-in-out infinite}@keyframes engine-indeterminate{0%{margin-left:0;width:30%}50%{margin-left:70%;width:30%}to{margin-left:0;width:30%}}.engine-progress-label{margin-top:4px;font-size:.8462rem;color:var(--text-3);font-variant-numeric:tabular-nums}.modal-engine-error{margin-top:12px;padding:10px 12px;background:#ff4d6d14;border:1px solid rgba(255,77,109,.25);border-radius:8px;color:var(--danger);font-size:.9231rem;line-height:1.5}.modal-engine-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 18px}.modal-engine-hint{font-size:.9231rem;color:var(--text-3)}.spin{animation:node-run-spin .8s linear infinite}.schedule-presets{display:flex;flex-wrap:wrap;gap:6px}.schedule-preset{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:.8462rem;color:var(--text-2);cursor:pointer;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.schedule-preset:hover{background:var(--bg-3);color:var(--text-1);border-color:var(--border-strong)}.schedule-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:1rem;color:var(--text-1)}.modal-error{padding:8px 10px;background:#ff4d6d14;border:1px solid rgba(255,77,109,.25);border-radius:6px;color:var(--danger);font-size:.8846rem;line-height:1.4}.chat-panel{position:fixed;top:var(--topbar-h);right:0;bottom:0;width:380px;max-width:90vw;background:var(--bg-1);border-left:1px solid var(--border-strong);display:flex;flex-direction:column;z-index:40;box-shadow:-16px 0 48px #00000073;animation:chat-panel-in .18s cubic-bezier(.16,1,.3,1)}@keyframes chat-panel-in{0%{transform:translate(8px);opacity:0}to{transform:translate(0);opacity:1}}.chat-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-2) 0%,var(--bg-1) 100%)}.chat-panel-title{display:flex;align-items:center;gap:8px;font-size:.9615rem;font-weight:600;color:var(--text-1);letter-spacing:.01em}.chat-panel-title svg{color:var(--accent)}.chat-panel-tag{font-size:.7308rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--accent-soft)}.chat-panel-close{background:transparent;border:0;color:var(--text-3);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.chat-panel-close:hover{background:var(--bg-3);color:var(--text-1)}.chat-panel-state{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-3);font-size:.9231rem;padding:24px}.chat-panel-state-install{flex-direction:column;text-align:center;gap:14px}.chat-panel-setup{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 24px;text-align:center}.chat-panel-setup-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-strong);margin-bottom:6px}.chat-panel-setup-title{font-size:1.0769rem;font-weight:600;color:var(--text-1)}.chat-panel-setup-body{font-size:.9231rem;line-height:1.5;color:var(--text-2);max-width:280px}.chat-panel-setup-cta{margin-top:8px;padding:8px 16px;background:var(--accent);color:var(--bg-0);border:0;border-radius:8px;font-size:.9615rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .1s,transform 60ms}.chat-panel-setup-cta:hover{background:var(--accent-strong)}.chat-panel-setup-cta:active{transform:translateY(1px)}.chat-panel-setup-foot{font-size:.8077rem;color:var(--text-3);margin-top:4px}.chat-panel-install-progress{display:flex;flex-direction:column;gap:6px;width:220px}.chat-panel-install-bar{width:100%;height:4px;background:var(--bg-3);border-radius:2px;overflow:hidden}.chat-panel-install-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .2s}.chat-panel-install-fill[data-indeterminate=true]{animation:chat-panel-indet 1.2s infinite ease-in-out;background:linear-gradient(90deg,transparent,var(--accent),transparent)}@keyframes chat-panel-indet{0%{transform:translate(-100%)}to{transform:translate(100%)}}.chat-panel-install-label{font-size:.8462rem;color:var(--text-2)}.chat-panel-scroll{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.chat-panel-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-3);text-align:center;margin:auto;padding:24px 12px;max-width:320px}.chat-panel-empty-icon{color:var(--accent);opacity:.65;margin-bottom:4px}.chat-panel-empty-title{font-weight:600;font-size:1rem;color:var(--text-1)}.chat-panel-empty-hint{font-size:.8846rem;line-height:1.45;color:var(--text-2);margin-bottom:10px}.chat-panel-prompts{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:4px}.chat-panel-prompt{text-align:left;background:var(--bg-2);border:1px solid var(--border);color:var(--text-2);padding:8px 10px;border-radius:8px;font-size:.8846rem;line-height:1.4;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.chat-panel-prompt:hover{background:var(--bg-3);border-color:var(--accent-soft);color:var(--text-1)}.chat-bubble{border-radius:10px;padding:9px 12px;max-width:92%;font-size:.9615rem;line-height:1.5;word-wrap:break-word;color:var(--text-1)}.chat-bubble-user{background:var(--accent-soft);border:1px solid var(--accent-soft);align-self:flex-end;color:var(--text-1)}.chat-bubble-assistant{background:var(--bg-2);border:1px solid var(--border);align-self:flex-start}.chat-bubble-content{white-space:pre-wrap}.chat-caret{display:inline-block;width:6px;height:12px;margin-left:2px;vertical-align:-2px;background:var(--accent);animation:chat-caret-blink .9s steps(2,end) infinite;border-radius:1px}@keyframes chat-caret-blink{50%{opacity:0}}.chat-bubble-insert{margin-top:8px;padding:6px 10px;background:var(--accent);color:var(--bg-0);border:0;border-radius:6px;font-size:.8846rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .1s}.chat-bubble-insert:hover{background:var(--accent-strong)}.chat-panel-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border);background:var(--bg-0)}.chat-panel-input{flex:1;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-1);padding:8px 10px;font:inherit;font-size:.9615rem;line-height:1.4;resize:none;transition:border-color .1s,background .1s}.chat-panel-input:focus{outline:0;border-color:var(--accent);background:var(--bg-elevated)}.chat-panel-input::placeholder{color:var(--text-3)}.chat-panel-send{align-self:stretch;display:flex;align-items:center;justify-content:center;padding:0 12px;background:var(--accent);color:var(--bg-0);border:0;border-radius:8px;cursor:pointer;transition:background .1s}.chat-panel-send:hover:not(:disabled){background:var(--accent-strong)}.chat-panel-send:disabled{background:var(--bg-3);color:var(--text-3);cursor:not-allowed}:root[data-theme=light] .chat-panel{box-shadow:-8px 0 24px #0f172a14}:root[data-theme=light] .chat-panel-head{background:linear-gradient(180deg,var(--bg-2) 0%,var(--bg-1) 100%)}.git-panel{position:fixed;top:var(--topbar-h);right:0;bottom:0;width:360px;max-width:90vw;background:var(--bg-1);border-left:1px solid var(--border-strong);display:flex;flex-direction:column;z-index:40;box-shadow:-16px 0 48px #00000073;animation:chat-panel-in .18s cubic-bezier(.16,1,.3,1);font-size:.9231rem}:root[data-theme=light] .git-panel{box-shadow:-8px 0 24px #0f172a14}.git-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-2) 0%,var(--bg-1) 100%)}.git-panel-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-1)}.git-panel-title svg{color:var(--accent)}.git-panel-branch-tag{font-size:.7692rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;padding:2px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent-strong)}.git-panel-head-actions{display:flex;gap:4px}.git-panel-icon-btn{background:transparent;border:0;color:var(--text-3);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.git-panel-icon-btn:hover{background:var(--bg-3);color:var(--text-1)}.git-panel-state{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-3);padding:24px}.git-panel-setup{padding:32px 20px;display:flex;flex-direction:column;gap:10px;text-align:center}.git-panel-setup-title{font-weight:600;color:var(--text-1)}.git-panel-setup-body{color:var(--text-2);line-height:1.5}.git-panel-scroll{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:14px}.git-panel-counters{display:flex;gap:8px}.git-counter{flex:1;padding:8px;border-radius:8px;text-align:center;border:1px solid var(--border);background:var(--bg-2)}.git-counter-value{font-size:1.3846rem;font-weight:700;line-height:1.1}.git-counter-label{font-size:.7692rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-top:2px}.git-counter-ok .git-counter-value{color:var(--success)}.git-counter-warn .git-counter-value{color:var(--warn)}.git-counter-accent .git-counter-value{color:var(--accent-strong)}.git-counter-mute .git-counter-value{color:var(--text-3)}.git-panel-section{display:flex;flex-direction:column;gap:6px}.git-panel-section-title{font-size:.7692rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:600}.git-panel-section-body{display:flex;flex-direction:column;gap:6px}.git-panel-remote{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;color:var(--text-2)}.git-panel-remote-icon{color:var(--accent);display:flex;align-items:center}.git-panel-remote-url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8462rem}.git-panel-files{list-style:none;margin:0;display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:6px}.git-panel-file{display:flex;align-items:center;gap:6px;padding:3px 4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8462rem;color:var(--text-2)}.git-file-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;font-size:.6923rem;font-weight:700;color:#fff;flex-shrink:0}.git-file-staged{background:var(--success)}.git-file-modified{background:var(--warn);color:#000}.git-file-untracked{background:var(--text-3)}.git-file-conflicted{background:var(--danger)}.git-file-deleted{background:var(--danger);opacity:.6}.git-panel-file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.git-panel-clean{display:flex;align-items:center;gap:6px;padding:8px;color:var(--success);background:var(--bg-2);border:1px solid var(--border);border-radius:6px}.git-panel-row{display:flex;gap:6px}.git-panel-input{flex:1;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-1);padding:6px 8px;font:inherit;font-size:.9231rem}.git-panel-input:focus{outline:0;border-color:var(--accent)}.git-panel-textarea{width:100%;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-1);padding:6px 8px;font:inherit;font-size:.9231rem;resize:vertical}.git-panel-textarea:focus{outline:0;border-color:var(--accent)}.git-panel-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;background:var(--bg-3);border:1px solid var(--border-strong);color:var(--text-1);border-radius:6px;font-size:.8846rem;cursor:pointer;transition:background .1s}.git-panel-btn:hover:not(:disabled){background:var(--bg-4)}.git-panel-btn:disabled{opacity:.5;cursor:not-allowed}.git-panel-btn-danger{color:var(--danger)}.git-panel-btn-danger:hover:not(:disabled){background:#ff4d6d1a}.git-panel-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--accent);border:0;color:var(--bg-0);border-radius:6px;font-size:.9231rem;font-weight:600;cursor:pointer;transition:background .1s}.git-panel-cta:hover:not(:disabled){background:var(--accent-strong)}.git-panel-cta:disabled{opacity:.5;cursor:not-allowed}.git-panel-branches{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:140px;overflow-y:auto}.git-panel-branch-btn{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;background:transparent;border:1px solid transparent;color:var(--text-2);border-radius:4px;font-size:.8846rem;text-align:left;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.git-panel-branch-btn:hover:not(:disabled){background:var(--bg-2);color:var(--text-1)}.git-panel-branch-btn.is-current{background:var(--accent-soft);color:var(--accent-strong);cursor:default}.git-panel-branch-current{margin-left:auto;font-size:.6923rem;text-transform:uppercase;color:var(--accent-strong);letter-spacing:.05em}.git-panel-pat-help{font-size:.8462rem;color:var(--text-3);line-height:1.4}.git-panel-link{font-size:.8462rem;color:var(--accent-strong);text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-top:4px}.git-panel-link:hover{text-decoration:underline}.git-panel-error{padding:8px;background:#ff4d6d14;border:1px solid rgba(255,77,109,.3);border-radius:6px;color:var(--danger);font-size:.8462rem;line-height:1.4}.git-panel-info{padding:8px;background:#34d39914;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:var(--success);font-size:.8462rem}.ci-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:12px;cursor:pointer;font-size:.7692rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);transition:background .1s}.ci-badge:hover:not(:disabled){background:var(--bg-3)}.ci-badge:disabled{cursor:default}.ci-badge-label{font-size:.7308rem}.ci-badge-ok{color:var(--success);border-color:#34d39966}.ci-badge-fail{color:var(--danger);border-color:#ff4d6d66}.ci-badge-busy{color:var(--accent-strong);border-color:#ff7a4566}.ci-badge-mute{color:var(--text-3)}.plan-view{height:100%;overflow:auto;padding:12px 14px;background:var(--bg-0)}.plan-view-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.plan-view-count{font-size:.9231rem;color:var(--text-3)}.plan-copy-btn{display:inline-flex;align-items:center;gap:5px;font-size:.9231rem;color:var(--text-2);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:4px 9px;cursor:pointer}.plan-copy-btn:hover{color:var(--text-1);border-color:var(--border-bright)}.plan-stages{display:flex;flex-direction:column;gap:10px}.plan-stage{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.plan-stage-head{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-2);border-bottom:1px solid var(--border)}.plan-stage-kind{font-size:.7692rem;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong)}.plan-stage-kind-sink{background:#34d39924;color:var(--success)}.plan-stage-label{font-size:.9231rem;color:var(--text-1);font-weight:600}.plan-stage-id{font-size:.8462rem;color:var(--text-4);margin-left:auto;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.plan-stage-sql{margin:0;padding:9px 11px;font-size:.9231rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-2);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.plan-error{border:1px solid rgba(255,77,109,.4);border-radius:var(--radius);overflow:hidden}.plan-error-title{padding:7px 11px;background:#ff4d6d1f;color:var(--danger);font-size:.9231rem;font-weight:600}.plan-error-body{margin:0;padding:9px 11px;font-size:.9231rem;white-space:pre-wrap;color:var(--text-2);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.run-view{height:100%;overflow:auto;padding:12px 14px;background:var(--bg-0)}.run-summary{display:flex;align-items:center;gap:10px;margin-bottom:10px}.run-summary-status{font-size:.9231rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:var(--radius-sm);background:var(--bg-2);color:var(--text-2)}.run-summary-ok .run-summary-status{background:#34d39924;color:var(--success)}.run-summary-error .run-summary-status{background:#ff4d6d24;color:var(--danger)}.run-summary-cancelled .run-summary-status{background:#ffffff0f;color:var(--text-3)}.run-summary-meta{font-size:.9231rem;color:var(--text-3)}.run-error-body{margin:0 0 10px;padding:9px 11px;font-size:.9231rem;white-space:pre-wrap;color:var(--danger);background:#ff4d6d14;border:1px solid rgba(255,77,109,.3);border-radius:var(--radius-sm);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace}.run-messages{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:3px}.run-message{display:flex;align-items:baseline;gap:8px;padding:5px 9px;font-size:.9231rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-2)}.run-message-level{flex:0 0 auto;font-size:.7692rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:#ffffff0f;color:var(--text-2)}.run-message-info .run-message-level{background:#2eafff29;color:#2eafff}.run-message-warn .run-message-level{background:#ff690029;color:#ff6900}.run-message-error .run-message-level{background:#ff4d6d29;color:var(--danger)}.run-message-node{flex:0 0 auto;color:var(--text-2);font-weight:500}.run-message-text{color:var(--text-1);white-space:pre-wrap;word-break:break-word}.run-table{width:100%;border-collapse:collapse;font-size:.9231rem}.run-table th{text-align:left;padding:5px 8px;color:var(--text-3);font-weight:500;border-bottom:1px solid var(--border)}.run-table td{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:top}.run-table .run-num{text-align:right;font-variant-numeric:tabular-nums}.run-node-label{color:var(--text-1)}.run-node-error{margin-top:3px;font-size:.8462rem;color:var(--danger);white-space:pre-wrap}.run-error-category{display:inline-block;margin-right:6px;padding:0 6px;font-size:.7692rem;font-weight:600;line-height:16px;text-transform:uppercase;letter-spacing:.04em;color:var(--danger);background:#ff4d6d1f;border:1px solid rgba(255,77,109,.35);border-radius:999px;vertical-align:middle}.runs-view{display:flex;flex-direction:column;gap:12px;padding:12px 14px;overflow:auto;height:100%;background:var(--bg-0)}.runs-summary{display:flex;align-items:center;gap:20px;padding:10px 12px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-sm)}.runs-stat{display:flex;flex-direction:column;gap:2px}.runs-stat-value{font-size:1.3846rem;font-weight:600;color:var(--text-1)}.runs-stat-label{font-size:.8462rem;color:var(--text-3)}.runs-sparkline{margin-left:auto}.runs-when{color:var(--text-1)}.run-row-ok{color:var(--success)}.run-row-err{color:var(--danger)}.run-row-idle{color:var(--text-4)}.update-banner{display:flex;align-items:center;gap:10px;padding:7px 14px;background:linear-gradient(90deg,#2eafff,#3d8bff);color:#fff;font-size:1rem;border-bottom:1px solid rgba(0,0,0,.2);flex:0 0 auto}.update-banner.is-error{background:linear-gradient(90deg,#e23b3b,#c92a2a)}.update-banner.is-warn{background:linear-gradient(90deg,#f4b400,#e69500);color:#1b1f2a}.update-banner.is-warn .update-banner-dismiss{color:#1b1f2ab3}.update-banner.is-warn .update-banner-dismiss:hover{color:#1b1f2a}.update-banner-icon{font-size:1.0769rem}.update-banner-text{flex:1 1 auto}.update-banner-cta{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:4px 12px;font-size:.9231rem;font-weight:600;cursor:pointer}.update-banner-cta:hover{background:#ffffff47}.update-banner-cta:disabled{opacity:.5;cursor:default}.update-banner-cta-secondary{background:transparent;border-color:#ffffff40;font-weight:500}.update-banner-dismiss{background:transparent;color:#ffffffd9;border:none;font-size:1.3846rem;line-height:1;cursor:pointer;padding:0 4px}.update-banner-dismiss:hover{color:#fff}.mcp-modal{width:560px;max-width:92vw}.mcp-modal .modal-body{overflow-x:hidden}.mcp-muted{color:var(--text-2);font-size:.9615rem;line-height:1.5;margin:0 0 12px}.mcp-warn{color:var(--text-1);background:color-mix(in srgb,var(--warn, #e0a106) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn, #e0a106) 40%,transparent);border-radius:8px;padding:8px 10px;font-size:.9231rem;margin:0 0 12px;overflow-wrap:anywhere}.mcp-ok{color:var(--text-1);background:var(--accent-soft);border:1px solid var(--accent-soft);border-radius:8px;padding:8px 10px;font-size:.9231rem;margin:8px 0 0;overflow-wrap:anywhere}.mcp-sample{display:flex;align-items:center;gap:6px;margin-top:8px}.mcp-section{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.mcp-section-title{font-size:.9231rem;font-weight:600;color:var(--text-1);margin-bottom:8px}.mcp-hint{color:var(--text-3);font-size:.8846rem;margin:6px 0 0}.mcp-code-row{display:flex;align-items:flex-start;gap:6px;margin-top:8px}.mcp-code{flex:1;min-width:0;background:var(--bg-0, var(--bg-1));border:1px solid var(--border);border-radius:6px;padding:7px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8846rem;color:var(--text-1);overflow-x:auto;white-space:pre}.mcp-pre{margin:0;max-height:200px;overflow:auto}.mcp-copy{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.mcp-paths{margin-top:14px;font-size:.8846rem;color:var(--text-3)}.mcp-paths summary{cursor:pointer;color:var(--text-2)}.mcp-kv{display:flex;gap:8px;margin-top:6px}.mcp-kv span{flex:0 0 80px;color:var(--text-3)}.mcp-kv code{flex:1;min-width:0;word-break:break-all;color:var(--text-2)}.spin{animation:mcp-spin .9s linear infinite;vertical-align:-2px}@keyframes mcp-spin{to{transform:rotate(360deg)}}.claude-icon{color:#d97757}.claude-icon-glow{animation:claude-glow 2.4s ease-in-out infinite}@keyframes claude-glow{0%,to{filter:drop-shadow(0 0 1px rgba(217,119,87,.45))}50%{filter:drop-shadow(0 0 5px rgba(217,119,87,.95))}}.dashboard-glow-btn{border-color:#3ecf8e80!important}.dashboard-glow-btn:hover{border-color:#3ecf8ef2!important;background:#3ecf8e1f!important}.dashboard-icon-glow{color:#3ecf8e;animation:dashboard-glow 2.2s ease-in-out infinite}@keyframes dashboard-glow{0%,to{filter:drop-shadow(0 0 1px rgba(62,207,142,.5))}50%{filter:drop-shadow(0 0 6px rgba(62,207,142,1))}}.tour-root{position:fixed;inset:0;z-index:99999;pointer-events:none}.tour-dim{position:absolute;inset:0;background:#07090fb8;pointer-events:auto}.tour-spotlight{position:absolute;border-radius:10px;pointer-events:none;box-shadow:0 0 0 9999px #07090fb8,0 0 0 2px var(--lemon, #ffd84d),0 0 22px 4px #ffd84d73;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.tour-tip{position:absolute;pointer-events:auto;box-sizing:border-box;background:var(--panel, #161b2b);color:var(--text, #eef1f8);border:1px solid var(--border, #2c3349);border-radius:14px;padding:18px 18px 14px;box-shadow:0 12px 40px #00000080;max-width:calc(100vw - 24px);animation:tour-pop .2s ease}@keyframes tour-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}}.tour-progress{font-size:.8462rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim, #9aa4bd);font-weight:600}.tour-title{margin:6px 0 8px;font-size:1.2308rem;font-weight:700}.tour-body{margin:0 0 14px;font-size:1rem;line-height:1.6;color:var(--text-dim, #c2cae0)}.tour-dots{display:flex;gap:5px;margin-bottom:14px}.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border, #3a4360);transition:.15s}.tour-dot.on{background:var(--lemon, #ffd84d);width:18px;border-radius:4px}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-nav{display:flex;gap:8px}.tour-skip{background:none;border:none;color:var(--text-dim, #9aa4bd);cursor:pointer;font-size:1rem;padding:6px 4px}.tour-skip:hover{color:var(--text, #eef1f8);text-decoration:underline}.tour-btn{background:var(--surface-2, #1d2335);color:var(--text, #eef1f8);border:1px solid var(--border, #2c3349);border-radius:9px;padding:7px 16px;font-size:1rem;cursor:pointer}.tour-btn:hover{border-color:var(--border-strong, #3a4360)}.tour-btn.primary{background:var(--lemon, #ffd84d);border-color:var(--lemon, #ffd84d);color:#20242e;font-weight:600}.tour-btn.primary:hover{background:var(--orange, #ff8a3d);border-color:var(--orange, #ff8a3d)}.btn-claude{background:#d97757;border-color:#d97757;color:#fff;box-shadow:0 4px 14px #d9775752,0 0 0 1px #d9775747 inset}.btn-claude:hover{background:#c96746;border-color:#c96746;filter:brightness(1.04)}.btn-claude:disabled{background:var(--bg-2);border-color:var(--border);color:var(--text-3);box-shadow:none}.mcp-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mcp-disclose{margin-top:10px;font-size:.8846rem}.mcp-disclose summary{cursor:pointer;color:var(--text-3);user-select:none}.mcp-disclose summary:hover{color:var(--text-2)}.mcp-disclose>.mcp-code{display:block;margin-top:8px}.quick-add-backdrop{position:absolute;inset:0;z-index:20;display:flex;justify-content:center;align-items:flex-start;padding-top:11vh}.quick-add{width:min(520px,86%);background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:12px;box-shadow:0 18px 48px #00000073;overflow:hidden;display:flex;flex-direction:column}.quick-add-input{width:100%;box-sizing:border-box;padding:13px 16px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text-1);font-size:1.1538rem;outline:none}.quick-add-input::placeholder{color:var(--text-3)}.quick-add-list{max-height:46vh;overflow-y:auto;padding:6px}.quick-add-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-1);font-size:1rem;text-align:left;cursor:pointer}.quick-add-row.is-active{background:var(--accent-soft)}.quick-add-icon{flex:none;width:15px;height:15px;opacity:.9}.quick-add-label{font-weight:600;white-space:nowrap}.quick-add-id{color:var(--text-3);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8846rem;margin-left:auto}.quick-add-tag{flex:none;margin-left:8px;padding:1px 6px;border-radius:999px;background:var(--bg-3);color:var(--text-2);font-size:.7692rem;text-transform:uppercase;letter-spacing:.04em}.quick-add-empty{padding:16px;color:var(--text-3);font-size:1rem;text-align:center}.quick-add-hint{padding:8px 14px;border-top:1px solid var(--border);color:var(--text-3);font-size:.8462rem}.acct-wrap{position:relative;-webkit-app-region:no-drag}.acct-chip{-webkit-app-region:no-drag;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 9px;background:var(--bg-2);border:1px solid var(--border);border-radius:7px;color:var(--text-1);cursor:pointer;font-size:.8846rem;font-weight:600;max-width:180px;transition:background 80ms ease,border-color 80ms ease}.acct-chip:hover{background:var(--bg-3);border-color:var(--border-strong)}.acct-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.acct-chip-caret{color:var(--text-3);flex-shrink:0}.acct-avatar{border-radius:50%;object-fit:cover;display:block;flex-shrink:0}.acct-avatar-initials{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:var(--btn-primary-fg, #0a0a0a);font-weight:700;line-height:1;flex-shrink:0}.acct-backdrop{position:fixed;inset:0;z-index:2000}.acct-menu{position:fixed;z-index:2001;min-width:250px;background:var(--bg-elevated, var(--bg-1));border:1px solid var(--border-strong);border-radius:var(--radius, 10px);box-shadow:var(--shadow-2);padding:6px}.acct-menu-head{font-size:.8077rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:8px 10px 6px}.acct-menu-row{display:flex;align-items:center;gap:2px}.acct-menu-item{flex:1;display:flex;align-items:center;gap:9px;padding:8px 10px;background:none;border:none;border-radius:8px;color:var(--text-1);cursor:pointer;font-size:1rem;text-align:left;min-width:0}.acct-menu-item:hover{background:var(--bg-2)}.acct-menu-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-menu-check{color:var(--accent);flex-shrink:0}.acct-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:7px;color:var(--text-3);cursor:pointer;flex-shrink:0}.acct-icon-btn:hover{background:var(--bg-2);color:var(--text-1)}.acct-icon-danger:hover{color:var(--danger, #ff5f57)}.acct-menu-add{width:100%;display:flex;align-items:center;gap:8px;margin-top:4px;padding:9px 10px;background:none;border:none;border-top:1px solid var(--border);color:var(--text-2);cursor:pointer;font-size:1rem;font-weight:600}.acct-menu-add:hover{background:var(--bg-2);color:var(--text-1)}.acct-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0000008c;backdrop-filter:blur(3px);-webkit-app-region:no-drag}.acct-modal{position:relative;width:100%;max-width:420px;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg, 14px);box-shadow:var(--shadow-2);padding:26px}.acct-modal h3{margin:0 0 6px;font-size:1.3846rem;color:var(--text-1)}.acct-modal-sub{margin:0 0 18px;font-size:1rem;line-height:1.5;color:var(--text-3)}.acct-modal-x{position:absolute;top:14px;right:14px;display:inline-flex;background:none;border:none;color:var(--text-3);cursor:pointer;padding:4px}.acct-modal-x:hover{color:var(--text-1)}.acct-form{display:flex;flex-direction:column;gap:16px}.acct-form-row{display:flex;gap:14px;align-items:flex-start}.acct-form-fields{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.acct-avatar-pick{width:64px;height:64px;border-radius:50%;overflow:hidden;border:1px dashed var(--border-strong);background:var(--bg-2);color:var(--text-3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.acct-avatar-pick img{width:100%;height:100%;object-fit:cover}.acct-avatar-pick .acct-avatar-initials{width:100%;height:100%}.acct-label{display:flex;flex-direction:column;gap:6px;font-size:.9231rem;font-weight:600;color:var(--text-2)}.acct-label input{font:inherit;font-size:1.0769rem;font-weight:400;color:var(--text-1);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm, 8px);padding:9px 11px}.acct-label input:focus{outline:none;border-color:var(--accent)}.acct-link{align-self:flex-start;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:.9231rem;padding:0;text-decoration:underline}.acct-link:hover{color:var(--text-1)}.acct-form-actions{display:flex;justify-content:flex-end;gap:10px}.acct-btn{padding:9px 16px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-strong);background:var(--bg-2);color:var(--text-1);cursor:pointer;font-size:1rem;font-weight:600}.acct-btn:hover{background:var(--bg-3)}.acct-btn-primary{background:var(--btn-primary-bg, var(--accent));color:var(--btn-primary-fg, #0a0a0a);border-color:transparent}.acct-btn-primary:hover{background:var(--btn-primary-bg-strong, var(--accent))}.acct-btn-primary:disabled{opacity:.5;cursor:not-allowed}.review-prompt{position:fixed;right:18px;bottom:18px;z-index:1000;width:300px;max-width:calc(100vw - 36px);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 10px 30px #00000073;padding:14px 16px 13px;color:var(--text-1);animation:review-prompt-in .18s ease-out}@keyframes review-prompt-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.review-prompt-x{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--text-3);font-size:1.2308rem;line-height:1;cursor:pointer;padding:2px 5px;border-radius:6px}.review-prompt-x:hover{color:var(--text-1);background:var(--bg-3)}.review-prompt-title{font-size:1.0769rem;font-weight:650;margin-bottom:4px;padding-right:16px}.review-prompt-body{font-size:.9615rem;line-height:1.5;color:var(--text-2);margin-bottom:12px}.review-prompt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-prompt-cta{background:var(--accent);color:#20242e;border:none;border-radius:8px;padding:7px 16px;font-size:1rem;font-weight:600;cursor:pointer}.review-prompt-cta:hover{background:var(--accent-strong)}.review-prompt-link{background:none;border:none;color:var(--text-3);font-size:.9231rem;cursor:pointer;padding:6px 4px}.review-prompt-link:hover{color:var(--text-1)}.dive-panel{display:flex;flex-direction:column;gap:12px;padding:14px;height:100%;overflow:auto}.dive-panel-head{font-size:1.0769rem;font-weight:650;color:var(--text-1)}.dive-panel-msg{padding:16px;color:var(--text-2);font-size:1rem}.dive-panel-err{color:var(--danger, #f0556b);white-space:pre-wrap;font-family:Consolas,monospace}.dive-chart{min-height:260px}.dive-table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto;max-height:320px}.dive-table{width:100%;border-collapse:collapse;font-size:.9231rem}.dive-table th,.dive-table td{text-align:left;padding:5px 9px;border-bottom:1px solid var(--border);white-space:nowrap}.dive-table th{position:sticky;top:0;background:var(--bg-elevated);color:var(--text-2);font-weight:600}.dive-table td{color:var(--text-1)}.dive-table-more{padding:6px 9px;font-size:.8462rem;color:var(--text-3)}.dive-modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1100}.dive-modal{width:min(900px,92vw);height:min(640px,88vh);background:var(--bg-1);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 18px 50px #00000080;display:flex;flex-direction:column;overflow:hidden}.dive-modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);font-size:1.0769rem;font-weight:650;color:var(--text-1)}.dive-modal-x{background:none;border:none;color:var(--text-3);font-size:1.3846rem;cursor:pointer;padding:0 4px}.dive-modal-x:hover{color:var(--text-1)}.dive-modal-body{flex:1;overflow:auto}.dive-modal-actions{display:flex;align-items:center;gap:8px}.dive-editor{display:flex;flex-direction:column;gap:12px;padding:14px}.dive-field{display:flex;flex-direction:column;gap:5px;font-size:.9231rem;color:var(--text-2)}.dive-field code{background:var(--bg-2);padding:1px 5px;border-radius:4px;color:var(--lemon)}.dive-field input,.dive-field textarea{background:var(--surface-2, var(--bg-2));color:var(--text-1);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:1rem;outline:none}.dive-field textarea{font-family:Consolas,monospace;resize:vertical}.dive-field input:focus,.dive-field textarea:focus{border-color:var(--border-bright)}.dive-editor-actions{display:flex;gap:8px}.dive-btn{background:var(--bg-3);color:var(--text-1);border:1px solid var(--border);border-radius:8px;padding:6px 14px;font-size:1rem;cursor:pointer}.dive-btn:hover{border-color:var(--border-bright)}.dive-btn.primary{background:var(--accent);color:#20242e;border-color:var(--accent);font-weight:600}.dive-btn.primary:hover{background:var(--accent-strong)}.dive-btn:disabled{opacity:.5;cursor:default}.dive-gen{border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--bg-2)}.dive-gen-title{font-size:.9231rem;font-weight:600;color:var(--text-2)}.dash-modal{width:min(1100px,95vw);height:min(720px,92vh)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;padding:12px}.dash-cell{border:1px solid var(--border);border-radius:10px;overflow:auto;min-height:280px;background:var(--bg-1)}.dash-picker{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:8px}.dash-pick-row{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--text-1);cursor:pointer}.share-page{padding:20px 28px;max-width:1200px;margin:0 auto}.share-title{font-size:1.5385rem;font-weight:650;color:var(--text-1);margin:4px 0 16px}.share-msg{padding:24px;color:var(--text-2);font-size:1.0769rem}.share-err{color:var(--danger, #f0556b);white-space:pre-wrap;font-family:Consolas,monospace}.dives-gallery{background:var(--bg-1);border:1px solid var(--border);border-radius:12px;width:min(720px,94vw);max-height:88vh;overflow:auto;padding:18px 20px}.dives-gallery-head{display:flex;align-items:center;justify-content:space-between}.dives-gallery-title{font-size:1.3846rem;font-weight:650;color:var(--text-1);margin:0}.dives-gallery-sub{color:var(--text-2);font-size:1rem;margin:4px 0 14px}.dives-gallery-section{margin-top:14px}.dives-gallery-section-head{display:flex;align-items:center;justify-content:space-between;font-size:.9231rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin-bottom:8px}.dives-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.dives-gallery-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-2);color:var(--text-1);cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.dives-gallery-card:hover{border-color:var(--accent, #f5b301);background:var(--bg-3, var(--bg-2))}.dives-gallery-card-icon{color:var(--accent, #f5b301)}.dives-gallery-card-name{font-size:1rem;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.properties-resize-handle{position:absolute;left:0;top:0;bottom:0;width:5px;cursor:ew-resize;z-index:3}.properties-resize-handle:hover{background:var(--accent);opacity:.5}.run-node-sql{margin-top:4px;font-size:.9231rem}.run-node-sql summary{cursor:pointer;color:var(--text-2)}.run-node-sql pre{margin:4px 0 0;padding:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;overflow:auto;max-height:220px;white-space:pre-wrap;font-family:Consolas,monospace}.lineage-modal{background:var(--bg-1);border:1px solid var(--border);border-radius:12px;width:min(820px,94vw);max-height:88vh;overflow:auto;padding:18px 20px}.lineage-head{display:flex;align-items:center;justify-content:space-between}.lineage-title{font-size:1.3846rem;font-weight:650;margin:0;color:var(--text-1)}.lineage-sub{color:var(--text-2);font-size:1rem;margin:4px 0 14px}.lineage-body{display:flex;flex-direction:column;gap:14px}.lineage-node{border:1px solid var(--border);border-radius:10px;overflow:hidden}.lineage-node-name{font-weight:650;font-size:1rem;padding:8px 12px;background:var(--bg-2);color:var(--text-1)}.lineage-table{width:100%;border-collapse:collapse;font-size:1rem}.lineage-table th{text-align:left;font-size:.8462rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);padding:6px 12px}.lineage-table td{padding:6px 12px;border-top:1px solid var(--border);vertical-align:top}.lineage-col{font-weight:550;color:var(--text-1);white-space:nowrap}.lineage-roots{display:flex;flex-wrap:wrap;gap:6px}.lineage-root{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:1px 7px;font-family:Consolas,monospace;font-size:.9231rem;color:var(--text-1)}.lineage-none{color:var(--text-2)}.lineage-tabs{display:flex;gap:4px;margin:2px 0 10px}.lineage-tab{background:transparent;border:1px solid var(--border);border-radius:7px;padding:4px 14px;font-size:1rem;font-weight:550;color:var(--text-2);cursor:pointer}.lineage-tab:hover{color:var(--text-1)}.lineage-tab-active{background:var(--bg-2);color:var(--text-1);border-color:var(--accent, var(--border))}.trust-modal{background:var(--bg-1);border:1px solid var(--border);border-radius:12px;width:min(640px,94vw);max-height:88vh;overflow:auto;padding:18px 20px}.trust-scoreline{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-2);margin-bottom:14px}.trust-score{display:flex;align-items:baseline;gap:2px;font-weight:700}.trust-score-num{font-size:2.6154rem;line-height:1}.trust-score-max{font-size:1.0769rem;color:var(--text-2);font-weight:550}.trust-grade{font-size:1.3846rem;font-weight:700;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px}.trust-grade-good{color:var(--maya)}.trust-grade-warn{color:var(--warn)}.trust-grade-bad{color:var(--error)}.trust-grade.trust-grade-good{background:color-mix(in srgb,var(--maya) 16%,transparent)}.trust-grade.trust-grade-warn{background:color-mix(in srgb,var(--warn) 16%,transparent)}.trust-grade.trust-grade-bad{background:color-mix(in srgb,var(--error) 16%,transparent)}.trust-score-meta{display:flex;flex-direction:column;gap:2px}.trust-summary{font-size:1rem;color:var(--text-1);font-weight:550}.trust-compile{font-size:.9231rem;color:var(--text-2)}.trust-clean{color:var(--maya)}.trust-findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.trust-finding{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:9px}.trust-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;margin-top:5px;background:var(--text-2)}.trust-error .trust-dot{background:var(--error)}.trust-warning .trust-dot{background:var(--warn)}.trust-info .trust-dot{background:var(--maya)}.trust-finding-body{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.trust-finding-code{font-family:Consolas,monospace;font-size:.8462rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.03em}.trust-finding-msg{font-size:1rem;color:var(--text-1)}.trust-deduction{flex:0 0 auto;font-weight:700;font-size:1rem;color:var(--error)}.trust-muted .trust-dot{background:var(--text-2)}.trust-drift-toggle{margin:14px 0 4px}.trust-drift{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.trust-drift-head{font-size:1rem;font-weight:600;color:var(--text-1);margin-bottom:8px}.trust-drift-extra{font-weight:400;color:var(--text-2)}.trust-drift-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.trust-drift-src{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:9px}.trust-drift-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.trust-drift-name{font-weight:550;font-size:1rem;color:var(--text-1);display:flex;align-items:center;gap:8px}.trust-drift-status{font-size:.8462rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-2)}.trust-drift-note{font-size:.9231rem;color:var(--text-2)}.trust-drift-line{font-size:.9231rem;font-family:Consolas,monospace;color:var(--text-1);word-break:break-word}.trust-drift-missing{color:var(--error)}.trust-drift-types{color:var(--warn)}.trust-drift-added{color:var(--text-2)}
