@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--ground:#eef1f4;--surface:#fff;--surface-2:#f5f7f9;--surface-3:#e8ecf0;--ink:#1c2733;--ink-2:#4a5866;--ink-3:#7b8794;--rule:#d9dee4;--rule-strong:#c3cbd3;--trace:#2f5d8a;--trace-soft:#8a97a6;--proven:#0e8a6b;--proven-wash:#e3f4ee;--gap:#b97a07;--gap-wash:#fdf3df;--declared:#7a4fb3;--runtime:#9aa4ae;--code-bg:#f7f9fb;--hot:#fff3c4;--tk-kw:#2f5d8a;--tk-str:#0e7a5f;--tk-com:#8a94a0;--tk-num:#9a4d12;--tk-bind:#7a4fb3;--brand:#1b2a3a;--brand-ink:#1b2a3a;--accent:#2f7fd8;--accent-strong:#1f66b8;--accent-wash:#e8f1fc;--font:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ground:#10161c;--surface:#182029;--surface-2:#1d2731;--surface-3:#25303b;--ink:#e4e9ee;--ink-2:#aab5c0;--ink-3:#7d8994;--rule:#2b3642;--rule-strong:#3a4754;--trace:#7fa8d1;--trace-soft:#5d6b79;--proven:#3cc49b;--proven-wash:#173a30;--brand:#23354a;--brand-ink:#e4e9ee;--accent:#6aa8ec;--accent-strong:#8dbcf1;--accent-wash:#18283a;--gap:#e3a93a;--gap-wash:#3a2e15;--declared:#b28ae8;--runtime:#6c7782;--code-bg:#141b22;--hot:#3d3714;--tk-kw:#8fb6dc;--tk-str:#63c9a4;--tk-com:#6e7a86;--tk-num:#e0a15e;--tk-bind:#c3a1ef;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font:14px/1.5 var(--font)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--trace);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-3)}.warn{color:var(--gap)}.small{font-size:12.5px}.pad{padding:12px 16px}.link{color:var(--trace);text-underline-offset:2px;text-decoration:underline}.shell{grid-template-rows:auto 1fr auto;height:100%;display:grid}.workspace{min-width:0;min-height:0;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--rule);align-items:center;gap:18px;height:52px;padding:0 16px;display:flex}.brand{white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.sections{gap:2px;height:100%;display:flex}.sections button{color:var(--ink-2);border-bottom:2px solid #0000;align-items:center;gap:6px;height:100%;padding:0 12px;display:flex}.sections button:hover{color:var(--ink)}.sections button[aria-current=true]{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}.scan-switch{position:relative}.scan-current{border:1px solid var(--rule);background:var(--surface-2);border-radius:6px;align-items:center;gap:8px;max-width:300px;padding:6px 10px;display:flex}.scan-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scan-menu{z-index:30;background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;width:380px;max-height:70vh;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 32px #1018202e}.menu-title{color:var(--ink-3);padding:8px 8px 4px;font-size:12px}.scan-menu button{text-align:left;border-radius:6px;align-items:flex-start;gap:10px;width:100%;padding:8px;display:flex}.scan-menu button:hover,.scan-menu button.is-current{background:var(--surface-2)}.scan-menu button svg{flex:none;margin-top:3px}.scan-opt{flex-direction:column;min-width:0;display:flex}.scan-opt .muted{font-size:12px}.gsearch{width:min(420px,34vw);margin-left:auto;position:relative}.gsearch input{border:1px solid var(--rule);background:var(--surface-2);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:7px 10px 7px 32px}.gsearch-icon{color:var(--ink-3);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.gsearch-hits{z-index:30;background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;max-height:60vh;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #1018202e}.gsearch-hits button{text-align:left;border-radius:6px;justify-content:space-between;gap:12px;width:100%;padding:7px 8px;display:flex}.gsearch-hits button span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gsearch-hits button.is-active{background:var(--surface-2)}.panel-head{border-bottom:1px solid var(--rule);height:40px;color:var(--ink-2);flex:none;justify-content:space-between;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:flex}.explorer{background:var(--surface);border-right:1px solid var(--rule);flex-direction:column;flex:none;width:280px;min-height:0;display:flex}.filter{border:1px solid var(--rule);background:var(--surface-2);color:var(--ink-3);border-radius:6px;align-items:center;gap:8px;margin:10px 12px;padding:6px 10px;display:flex}.filter input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%}.tree{flex:1;padding:0 6px 16px;overflow:auto}.tree-row{text-align:left;border-radius:5px;align-items:center;gap:6px;width:100%;min-height:28px;padding:4px 8px;display:flex}.tree-row:hover{background:var(--surface-2)}.tree-schema{margin-top:4px;font-weight:600}.tree-folder{color:var(--ink-2);padding-left:20px;font-size:13px}.tree-leaf{padding-left:40px}.tree-leaf.is-current{background:var(--proven-wash)}.tree-leaf.is-quiet .leaf-name{color:var(--ink-3)}.leaf-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.count{color:var(--ink-3);margin-left:auto;font-size:12px}.ic-view,.ic-mview{color:var(--trace)}.ic-gtt,.ic-ptt,.ic-work_table,.ic-trigger{color:var(--gap)}.ic-package_body,.ic-procedure,.ic-function,.ic-type_body{color:var(--declared)}.ic-script{color:var(--ink-2)}.canvas{flex:1;min-width:0;position:relative}.canvas .react-flow{background:var(--ground)}.canvas-bar{z-index:6;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:10px;left:10px;right:10px}.canvas-bar>*{pointer-events:auto}.seg{border:1px solid var(--rule-strong);background:var(--surface);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{color:var(--ink-2);align-items:center;gap:6px;padding:5px 10px;display:flex}.seg button+button{border-left:1px solid var(--rule)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.tbtn,.btn{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-2);border-radius:6px;align-items:center;gap:6px;padding:5px 10px;text-decoration:none;display:inline-flex}.tbtn:hover,.btn:hover{color:var(--ink);border-color:var(--ink-3)}.tbtn[aria-pressed=true]{background:var(--surface-3);color:var(--ink);border-color:var(--ink-3)}.stepper{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-2);border-radius:6px;align-items:center;gap:4px;padding:3px 4px 3px 10px;display:inline-flex}.stepper button{border-radius:4px;place-items:center;width:22px;height:22px;display:grid}.stepper button:hover{background:var(--surface-2)}.stepper output{text-align:center;min-width:14px;color:var(--ink);font-weight:600}.banner{z-index:5;background:var(--surface);border:1px solid var(--rule);border-radius:6px;max-width:80%;margin:0;padding:8px 14px;position:absolute;top:60px;left:50%;transform:translate(-50%)}.react-flow__controls{box-shadow:none;border:1px solid var(--rule-strong);border-radius:6px;overflow:hidden}.react-flow__controls button{background:var(--surface);color:var(--ink);border-color:var(--rule);width:28px;height:28px}.react-flow__background{color:var(--rule-strong)}.card{background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;width:300px;transition:opacity .16s;box-shadow:0 1px 2px #1018200f}.card.is-focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.card.is-selected{box-shadow:0 0 0 3px var(--proven-wash), 0 0 0 1px var(--proven);border-color:var(--proven)}.card.subtype-work_table,.card.subtype-ptt,.card.subtype-gtt{border-style:dashed}.card-head{border-bottom:1px solid var(--rule);cursor:pointer;align-items:center;gap:8px;height:52px;padding:6px 6px 6px 4px;display:flex}.card-head:hover{background:var(--surface-2);border-radius:8px 8px 0 0}.card-icon{color:var(--ink-3);flex:none}.card-icon.ic-view,.card-icon.ic-mview{color:var(--trace)}.card-icon.ic-gtt,.card-icon.ic-ptt,.card-icon.ic-work_table{color:var(--gap)}.card-title{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.card-title .schema{color:var(--ink-3);font-size:12px}.card-title .name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.expand{width:22px;height:22px;color:var(--ink-3);border-radius:4px;flex:none;place-items:center;display:grid}.expand:hover{background:var(--surface-3);color:var(--ink)}.cols{margin:0;padding:4px 0;list-style:none}.col{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;height:30px;padding:0 14px;display:flex;position:relative}.col:hover{background:var(--surface-2)}.col-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.col-type{color:var(--ink-3);font-size:12px}.col.is-lit{background:var(--proven-wash)}.col.is-selected{box-shadow:inset 3px 0 0 var(--proven);font-weight:600}.more{border-top:1px solid var(--rule);width:100%;height:34px;color:var(--trace);font-size:13px}.is-dim{opacity:.25}.h{background:var(--trace-soft);border:0;width:7px;min-width:0;height:7px;min-height:0}.h-table{top:26px}.pill,.gap{cursor:pointer;align-items:center;gap:10px;width:240px;height:54px;padding:6px 12px;display:flex}.pill{background:var(--surface-2);border:1px solid var(--rule-strong);border-radius:27px}.pill.is-lit{border-color:var(--proven);background:var(--proven-wash)}.pill-icon{color:var(--declared);flex:none}.pill-text{flex-direction:column;min-width:0;display:flex}.pill-name{font-weight:500}.pill-scope,.gap-where{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gap{background:var(--gap-wash);border:1px solid var(--gap);border-radius:8px}.gap-icon{color:var(--gap);flex:none}.gap-reason{color:var(--gap);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.react-flow__edge-path{stroke:var(--trace);stroke-width:1.5px}.e-indirect .react-flow__edge-path{stroke:var(--trace-soft);stroke-dasharray:5 4}.e-gap .react-flow__edge-path{stroke:var(--gap);stroke-dasharray:2 3}.o-runtime .react-flow__edge-path{stroke:var(--runtime);stroke-dasharray:1 3}.o-declared .react-flow__edge-path{stroke:var(--declared)}.react-flow__edge.is-lit .react-flow__edge-path{stroke:var(--proven);stroke-width:2.4px}.react-flow__edge.is-dim{opacity:.1}.react-flow__edge.is-selected .react-flow__edge-path{stroke-width:3.4px}.react-flow__edge-text{font:12px var(--font);fill:var(--ink-2)}.legend{z-index:5;background:var(--surface);border:1px solid var(--rule);color:var(--ink-2);border-radius:6px;flex-wrap:wrap;gap:16px;margin:0;padding:7px 12px;font-size:12.5px;list-style:none;display:flex;position:absolute;bottom:12px;left:12px}.legend i{vertical-align:middle;border-top:2px solid var(--trace);width:22px;height:0;margin-right:6px;display:inline-block}.legend .l-indirect{border-top:2px dashed var(--trace-soft)}.legend .l-gap{border-top:2px dotted var(--gap)}.legend .l-lit{border-top:3px solid var(--proven)}.inspector{background:var(--surface);border-left:1px solid var(--rule);flex-direction:column;flex:none;min-width:320px;max-width:70vw;min-height:0;display:flex;position:relative;overflow:hidden}.resize{cursor:col-resize;z-index:4;width:6px;position:absolute;top:0;bottom:0;left:-3px}.resize:hover{background:var(--trace-soft);opacity:.4}.insp-head{color:var(--ink);font-size:14px}.insp-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tabs{border-bottom:1px solid var(--rule);flex:none;gap:2px;padding:0 10px;display:flex}.tabs button{color:var(--ink-2);border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 10px;display:flex}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:500}.insp-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.empty{color:var(--ink-3);text-align:center;flex:1;place-items:center;padding:24px;display:grid}.details{padding:14px 16px}.details h4,.evidence-list h4{color:var(--ink-2);margin:18px 0 6px;font-size:13px;font-weight:600}.lead{color:var(--ink);margin:0 0 10px;font-weight:500}.actions{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.facts{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.facts dt{color:var(--ink-3)}.facts dd{word-break:break-word;margin:0}.reflist{margin:0;padding:0;list-style:none}.reflist button{text-align:left;width:100%;color:var(--trace);border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.reflist button:hover{background:var(--surface-2)}.reflist button span:first-child{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.gap-badge{color:var(--gap);align-items:center;gap:6px;font-weight:600;display:inline-flex}.pill-status{background:var(--surface-3);color:var(--ink-2);white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:11.5px}.st-unresolved,.st-partial,.st-runtime_only{background:var(--gap-wash);color:var(--gap)}.st-resolved{background:var(--proven-wash);color:var(--proven)}.codetab{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.code-origin{color:var(--ink-3);margin:0;padding:10px 16px 4px;font-size:12.5px}.codetab>.muted{margin:0;padding:0 16px 8px}.codeview{background:var(--code-bg);border-top:1px solid var(--rule);font:13px/1.6 var(--mono);flex:1;overflow:auto}.codeview.is-compact{border:1px solid var(--rule);border-radius:6px;flex:none;max-height:340px;font-size:12.5px}.cv-inner{min-width:max-content;padding:6px 0}.cv-line{white-space:pre;display:flex}.cv-line.is-hot{background:var(--hot)}.cv-gutter{background:var(--code-bg);width:78px;color:var(--ink-3);-webkit-user-select:none;user-select:none;flex:none;justify-content:flex-end;align-items:center;gap:4px;padding-right:12px;display:flex;position:sticky;left:0}.cv-line.is-hot .cv-gutter{background:var(--hot)}.codeview.is-compact .cv-gutter{width:48px}.cv-marker{font:10.5px var(--font);background:var(--proven-wash);color:var(--proven);border-radius:8px;padding:0 5px}.cv-marker.warn{background:var(--gap-wash);color:var(--gap)}.cv-text{padding-right:16px}.tk-kw{color:var(--tk-kw);font-weight:500}.tk-str{color:var(--tk-str)}.tk-com{color:var(--tk-com);font-style:italic}.tk-num{color:var(--tk-num)}.tk-bind{color:var(--tk-bind)}.evidence-list{min-width:0;padding:14px 16px}.origin{background:var(--surface-3);color:var(--ink-2);border-radius:10px;padding:1px 7px;font-size:12px;font-weight:400}.origin-runtime{color:var(--runtime)}.origin-declared{color:var(--declared)}.origin-config{color:var(--trace)}.hop{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}.hop header{color:var(--ink-3);justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.hop-unit{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.hop-flow{margin:4px 0 0;font-weight:500}.hop-kind{color:var(--ink-2);margin:0 0 8px;font-size:12.5px}.expr{font:12.5px var(--mono);color:var(--ink-2);word-break:break-word;margin:8px 0 0}.resolution{flex-direction:column;gap:4px;margin-top:8px;display:flex}.origin-tag{font-size:12.5px;font-weight:500}.statusbar{height:28px;color:var(--ink-2);background:var(--surface);border-top:1px solid var(--rule);white-space:nowrap;align-items:center;gap:20px;padding:0 14px;font-size:12.5px;display:flex;overflow:hidden}.statusbar span,.statusbar button{align-items:center;gap:6px;display:inline-flex}.statusbar button{margin-left:auto}.page{min-height:0;padding:24px 32px;overflow:auto}.page h2{margin:0 0 6px;font-size:20px;font-weight:600}.page h3{margin:24px 0 10px;font-size:15px;font-weight:600}.cov-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:32px;display:grid}.grid{border-collapse:collapse;background:var(--surface);border:1px solid var(--rule);border-radius:8px;width:100%;overflow:hidden}.grid th{text-align:left;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--rule);padding:8px 12px;font-size:12.5px;font-weight:500}.grid td{border-bottom:1px solid var(--rule);vertical-align:top;padding:7px 12px}.grid tr:last-child td{border-bottom:0}.grid .num{text-align:right}.clickable:hover td{background:var(--surface-2)}.bar-track{background:var(--surface-3);vertical-align:middle;border-radius:3px;width:90px;height:6px;margin-right:8px;display:inline-block;overflow:hidden}.bar-fill{background:var(--proven);height:100%;display:block}.ok-ic{color:var(--proven);vertical-align:middle}.warn-ic{color:var(--gap);vertical-align:-2px}.issue{border-bottom:1px solid var(--rule);padding:8px 0}.issue p{word-break:break-word;margin:2px 0}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.select-inline{color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.select-inline select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:4px 8px}.upload{grid-template-columns:minmax(0,720px) minmax(0,1fr);align-items:start;gap:32px;min-height:0;padding:24px 32px;display:grid;overflow:auto}.upload h2{margin:0 0 4px;font-size:20px;font-weight:600}.upload h3{margin:0 0 8px;font-size:15px;font-weight:600}.upload-form{flex-direction:column;gap:16px;display:flex}.drop{border:1.5px dashed var(--trace-soft);background:var(--surface);border-radius:8px;padding:20px}.drop.is-over{border-color:var(--proven);background:var(--proven-wash)}.drop p{margin:0}.file-list{margin:12px 0 0;padding:0;list-style:none}.file-list li{border-top:1px solid var(--rule);gap:12px;padding:4px 0;display:flex}.file-list li span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.field{border:0;flex-direction:column;flex:1;gap:4px;min-width:0;margin:0;padding:0;display:flex}.field>span:first-child,.field legend{font-weight:500}.field input,.field textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:7px 10px}.field textarea{font:13px/1.5 var(--mono);resize:vertical}.field-row{gap:16px;display:flex}.small-print{font-size:12.5px}.modes{gap:8px}.mode{border:1px solid var(--rule);background:var(--surface);cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 12px;display:grid}.mode input{grid-row:span 2;margin-top:3px}.mode.is-on{border-color:var(--proven);box-shadow:inset 3px 0 0 var(--proven)}.mode-name{font-weight:500}.primary{background:var(--ink);color:var(--surface);border-radius:6px;align-self:flex-start;padding:8px 18px;font-weight:500}.primary:disabled{opacity:.4;cursor:default}.upload-side{flex-direction:column;gap:12px;display:flex}.result{background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--proven);border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.errors{max-height:280px;margin:0;padding:0;font-size:12.5px;list-style:none;overflow:auto}.errors li{border-top:1px solid var(--rule);word-break:break-word;padding:3px 0}.history{margin:0;padding:0;list-style:none}.history li{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.history li div{flex-direction:column;min-width:0;display:flex}.h-name{font-weight:500}@media (width<=1280px){.explorer{width:240px}.gsearch{width:260px}}@media (width<=1000px){.explorer,.brand{display:none}.sections button{padding:0 8px}.cov-grid,.upload{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.icon-btn{width:28px;height:28px;color:var(--ink-3);border-radius:5px;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.rail{background:var(--surface);flex-direction:column;flex:none;align-items:center;gap:6px;width:40px;padding-top:8px;display:flex}.rail-left{border-right:1px solid var(--rule)}.rail-right{border-left:1px solid var(--rule)}.canvas{container-type:inline-size}.lbl-short{display:none}@container (width<=760px){.canvas-bar .lbl{display:none}.canvas-bar .lbl-short{display:inline}.legend>li:not(.legend-proof),.react-flow__minimap.minimap{display:none}}@container (width<=640px){.react-flow__minimap.minimap{display:none}}:root{--c-table:#2e7d5b;--c-view:#2f5d8a;--c-temp:#b97a07;--c-process:#a3307a;--c-var:#7a4fb3}@media (prefers-color-scheme:dark){:root{--c-table:#4fb38a;--c-view:#7fa8d1;--c-temp:#e3a93a;--c-process:#e07ab8;--c-var:#b28ae8}}.card{border-top:3px solid var(--c-table)}.card.subtype-view,.card.subtype-mview{border-top-color:var(--c-view)}.card.subtype-gtt,.card.subtype-ptt,.card.subtype-work_table{border-top-color:var(--c-temp)}.card .card-icon{color:var(--c-table)}.card.subtype-view .card-icon,.card.subtype-mview .card-icon{color:var(--c-view)}.card.process{border:1px solid var(--c-process);border-top:0;width:300px}.proc-head{background:var(--c-process);color:#fff;border-radius:7px 7px 0 0;height:46px;padding-left:12px}.proc-head .card-title .name{letter-spacing:.02em;font-size:13px}.proc-head .card-title .schema{color:#ffffffd9}.proc-head:hover{background:var(--c-process);filter:brightness(1.08)}.card.proc-view_definition{border-color:var(--c-view)}.card.proc-view_definition .proc-head{background:var(--c-view)}.pill-icon{color:var(--c-var)}.react-flow__minimap.minimap{background:var(--surface);border:1px solid var(--rule-strong);border-radius:6px}.react-flow__minimap-mask{fill:#1c27330f}.center{flex-direction:column;flex:1;min-width:0;display:flex}.center .canvas{flex:1;min-height:0}.dock{background:var(--surface);border-top:1px solid var(--rule-strong);flex-direction:column;flex:none;height:270px;display:flex}.dock.is-tall{height:55%}.dock-head{border-bottom:1px solid var(--rule);flex:none;align-items:center;gap:12px;height:40px;padding:0 8px 0 14px;display:flex}.dock-title{font-weight:600}.dock-sub{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--ink-2);align-items:center;gap:6px;display:flex;overflow:hidden}.dock-actions{gap:2px;margin-left:auto;display:flex}.dock-body{flex:1;min-height:0;display:flex}.dock-steps{border-right:1px solid var(--rule);flex-direction:column;flex:none;align-items:center;width:220px;padding:4px 0;display:flex}.dock-steps ol{flex:1;width:100%;margin:0;padding:0 6px;list-style:none;overflow:auto}.dock-steps li button{text-align:left;border-radius:5px;flex-direction:column;width:100%;padding:6px 8px;display:flex}.dock-steps li button.is-current{background:var(--accent-wash);box-shadow:inset 3px 0 0 var(--accent)}.dock-steps li button:hover{background:var(--surface-2)}.step-n{color:var(--ink-3);font-size:12px}.step-what{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-weight:500;overflow:hidden}.step-kind{color:var(--ink-2);font-size:12px}.dock-code{flex-direction:column;flex:1;min-width:0;display:flex}.dock-where{color:var(--ink-3);flex-wrap:wrap;gap:12px;margin:0;padding:6px 14px;font-size:12.5px;display:flex}.expr-inline{font-family:var(--mono);color:var(--ink-2)}.dock-code .codeview{border-top:1px solid var(--rule)}.dock-dynamic{border-top:1px solid var(--rule);flex-direction:column;gap:6px;max-height:40%;padding:8px 14px;display:flex;overflow:auto}.icon-btn:disabled{opacity:.3;cursor:default}.tree-leaf{gap:2px;padding-left:22px}.twisty{width:18px;height:18px;color:var(--ink-3);border-radius:4px;flex:none;place-items:center;display:grid}.twisty:hover{background:var(--surface-3)}.leaf-main{text-align:left;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.tree-col{min-height:24px;color:var(--ink-2);padding-left:62px;font-size:13px}.tree-col.is-current{background:var(--proven-wash)}.workbench{grid-template-columns:minmax(380px,42%) 1fr;min-height:0;display:grid}.wb-left{border-right:1px solid var(--rule-strong);background:var(--surface);flex-direction:column;min-height:0;display:flex}.wb-bar{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.chip{background:var(--surface-3);border-radius:12px;padding:3px 9px;font-size:12.5px;font-weight:500}.run{align-items:center;gap:6px;margin-left:auto;padding:6px 14px;display:inline-flex}.wb-opts{border-bottom:1px solid var(--rule);color:var(--ink-2);gap:12px;padding:6px 10px;font-size:13px;display:flex}.wb-opts label{align-items:center;gap:6px;display:flex}.wb-opts label.grow{flex:1}.wb-opts input{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--rule);border-radius:5px;width:100px;padding:3px 8px}.wb-opts label.grow input{width:100%}.wb-editor{flex:1;min-height:0;overflow:hidden}.sql-editor{height:100%;font-size:13.5px}.sql-editor .cm-editor{background:var(--surface);height:100%;color:var(--ink)}.sql-editor .cm-scroller{font-family:var(--mono);line-height:1.6}.sql-editor .cm-gutters{background:var(--surface-2);color:var(--ink-3);border-right:1px solid var(--rule)}.sql-editor .cm-activeLine{background:#2f5d8a0d}.sql-editor .cm-activeLineGutter{background:var(--surface-3)}.sql-editor .cm-hot{background:var(--hot)}.wb-right{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.wb-tabs{background:var(--surface);align-items:center}.wb-centre{margin-left:auto;font-size:13px}.wb-open{padding:0 8px}.wb-busy{z-index:20;background:#eef1f4bf;place-items:center;font-weight:500;display:grid;position:absolute;inset:41px 0 0}.wb-diagram{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.wb-diagram .canvas{flex:1;min-height:0}.wb-diagram-chooser{z-index:7;background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:4px 8px;position:absolute;bottom:12px;right:56px}.wb-diagram .legend{display:none}.wb-summary,.wb-messages{flex:1}.msg{text-align:left;width:100%}@media (width<=1000px){.workbench{grid-template-rows:45% 55%;grid-template-columns:1fr}}.dock,.dock-body,.dock-dynamic,.dock-dynamic>*{min-width:0}.dock-dynamic .codeview,.dock-dynamic pre{max-width:100%;overflow:auto}.center:has(.dock) .react-flow__minimap.minimap{display:none}.banners{z-index:6;pointer-events:none;flex-direction:column;align-items:center;gap:6px;max-width:min(720px,70%);display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.banners .note{pointer-events:auto;background:var(--surface);border:1px solid var(--rule-strong);border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;padding:7px 12px;display:flex;box-shadow:0 2px 6px #10182014}.banners .note.warn{border-color:var(--gap);background:var(--gap-wash);color:var(--ink)}.banners .note.subtle{color:var(--ink-3);box-shadow:none;font-size:13px}.banners .note b{font-weight:600;font-family:var(--mono);font-size:12.5px}.card.is-compact{cursor:pointer;flex-direction:column;justify-content:center;gap:1px;height:100%;padding:4px 14px;display:flex;overflow:hidden}.card.is-compact>*{flex:none}.compact-schema{color:var(--ink-3);align-items:center;gap:6px;font-size:14px;line-height:1.2;display:flex}.compact-name{text-overflow:ellipsis;white-space:nowrap;font-size:23px;font-weight:600;line-height:1.15;overflow:hidden}.compact-size{color:var(--ink-2);font-size:14px;line-height:1.2}.card-count{color:var(--ink-3);margin:0;padding:5px 12px;font-size:13px}.card.is-neighbour{opacity:.78;border-style:dashed}.card.is-external{border-top-color:var(--runtime)}@keyframes flash-ring{0%,to{box-shadow:0 0 #0000}30%{box-shadow:0 0 0 10px var(--hot), 0 0 0 2px var(--gap)}}.card.is-flash{border-color:var(--gap);animation:1.1s 2 flash-ring}@media (prefers-reduced-motion:reduce){.card.is-flash{box-shadow:0 0 0 4px var(--hot), 0 0 0 2px var(--gap);animation:none}}.canvas-tools{gap:8px;display:inline-flex}.tool{position:relative}.tool-pop{z-index:20;background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;flex-direction:column;gap:10px;width:340px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #10182024}.tool-field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:13px;display:flex}.tool-field input{font:inherit;font-family:var(--mono);border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:5px;padding:6px 8px;font-size:12.5px}.tool-field input:focus{outline:2px solid var(--trace);outline-offset:0}.tool-group{border:0;flex-direction:column;gap:4px;max-height:180px;margin:0;padding:0;display:flex;overflow:auto}.tool-group legend{color:var(--ink-3);margin-bottom:4px;font-size:12px}.tool-group label{align-items:center;gap:8px;font-size:13.5px;display:flex}.tool-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.tool-actions .primary{align-self:auto;padding:6px 14px}.tool-actions .link{align-items:center;gap:4px;display:inline-flex}.tool-actions .link:disabled{color:var(--ink-3);cursor:default;text-decoration:none}.crumbs{border-bottom:1px solid var(--rule);background:var(--surface);white-space:nowrap;flex:none;align-items:center;gap:4px;min-width:0;padding:6px 12px;display:flex;overflow:hidden}.crumb{color:var(--trace);border-radius:4px;align-items:center;gap:6px;padding:3px 6px;font-size:13.5px;display:inline-flex}button.crumb:hover{background:var(--surface-2)}.crumb[aria-current=page]{color:var(--ink);font-weight:600}span.crumb{text-overflow:ellipsis;overflow:hidden}.crumb-sep{color:var(--ink-3);flex:none}.schema-box{background:var(--surface);border:1px solid var(--rule-strong);border-top:4px solid var(--c-table);cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;width:280px;height:132px;padding:10px 14px;display:flex}.schema-box:hover{border-color:var(--ink-3)}.schema-box.is-external{border-top-color:var(--runtime);border-style:dashed}.schema-box header{color:var(--c-table);align-items:center;gap:8px;display:flex}.schema-box.is-external header{color:var(--ink-3)}.schema-name{color:var(--ink);font-size:17px;font-weight:600}.schema-box .tag{color:var(--ink-3);border:1px solid var(--rule);border-radius:4px;margin-left:auto;padding:0 5px;font-size:11.5px}.schema-stats{color:var(--ink-2);margin:0;font-size:13px;line-height:1.35}.schema-internal{color:var(--ink-3);margin:0;font-size:12.5px}.schema-box .link{align-self:flex-start;margin-top:auto;font-size:13px}.overview .react-flow__edge-text{fill:var(--ink-2);font-size:12px}.overview .react-flow__edge-textbg{fill:var(--surface)}.canvas.is-dense .react-flow__edge-path{stroke-opacity:.22}.canvas.is-dense .react-flow__edge.is-lit .react-flow__edge-path,.canvas.is-dense .react-flow__edge.is-selected .react-flow__edge-path{stroke-opacity:1}.canvas.is-dense .react-flow__edge.is-dim .react-flow__edge-path{stroke-opacity:.05}:root{--c-file:var(--tk-str)}.explore{background:var(--surface);min-width:0;min-height:0;position:relative;overflow:hidden}.explore.is-wide{z-index:50;position:fixed;inset:0}.explore-host{position:absolute;inset:0}.explore-mount{width:100%;height:100%}.explore-note{z-index:4;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--rule);border-radius:14px;padding:5px 12px;font-size:12.5px;position:absolute;top:64px;left:50%;transform:translate(-50%)}.explore-fail,.explore-empty{color:var(--ink-3);text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.float{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--rule);border-radius:8px;box-shadow:0 1px 3px #141e280f}.explore-bar{z-index:5;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:330px}.explore-bar>*{pointer-events:auto}.explore-bar .seg.float{border-color:var(--rule)}.explore-bar .select-inline.float{padding:3px 4px 3px 10px;font-size:13px}.focus-chip{align-items:center;gap:6px;padding:3px 4px 3px 10px;font-size:13px;display:flex}.focus-chip .mono{font-weight:500}.focus-chip .step{width:22px;height:22px;color:var(--ink-2);border-radius:4px}.focus-chip .step:hover{background:var(--surface-2)}.explore-tools{z-index:6;align-items:flex-start;gap:8px;display:flex;position:absolute;top:12px;right:12px}.explore-tools>.icon-btn.float{width:34px;height:34px}.explore-search{width:260px;height:34px;color:var(--ink-3);align-items:center;gap:6px;padding:0 10px;display:flex;position:relative}.explore-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;width:100%}.explore-found{background:var(--surface);border:1px solid var(--rule);border-radius:8px;width:360px;margin:0;padding:4px;list-style:none;position:absolute;top:38px;right:0;box-shadow:0 6px 20px #141e281f}.explore-found li{align-items:center;gap:4px;display:flex}.explore-found li>button:first-child{text-align:left;font-family:var(--mono);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;flex:1;align-items:center;gap:8px;padding:6px 8px;font-size:12.5px;display:flex;overflow:hidden}.explore-found li>button:first-child:hover{background:var(--surface-2)}.explore-found .link{padding:0 8px;font-size:12.5px}.explore .dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.explore-legend{z-index:5;max-width:420px;color:var(--ink-2);pointer-events:none;flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;margin:0;padding:6px 10px;font-size:11.5px;list-style:none;display:flex;position:absolute;bottom:34px;right:12px}.explore-legend li{align-items:center;gap:6px;display:flex}.explore-foot{z-index:4;color:var(--ink-3);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;font-size:12px;position:absolute;bottom:8px;left:12px;right:12px;overflow:hidden}.explore-detail{z-index:6;gap:12px;width:320px;padding:12px 14px;display:grid;position:absolute;top:56px;right:12px}.explore-detail header{align-items:flex-start;gap:10px;display:flex}.explore-detail header>div{flex:1;min-width:0}.explore-detail .mono.strong{word-break:break-all;font-weight:600}.explore-detail header .dot{margin-top:5px}.detail-actions{flex-wrap:wrap;gap:6px;display:flex}.explore .react-flow__controls{bottom:26px}.space-tip{background:var(--ink);color:var(--surface);font:12px var(--font);border-radius:6px;padding:5px 9px}.dot-card{--k:var(--c-table);background:var(--surface);border:1px solid var(--rule-strong);width:184px;height:34px;color:var(--ink);border-radius:17px;align-items:center;gap:7px;padding:0 10px;font-size:12.5px;transition:opacity .12s;display:flex}.dot-card .dot{background:var(--k);border-radius:50%;flex:none;width:10px;height:10px}.dot-card .dot-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.dot-card .dot-kind{color:var(--ink-3);font-size:10.5px}.dot-card.is-small{border-radius:12px;gap:6px;width:136px;height:24px;padding:0 8px;font-size:11.5px}.dot-card.is-small .dot{width:8px;height:8px}.dot-card.is-lit{border-color:var(--k);box-shadow:0 0 0 2px color-mix(in srgb, var(--k) 25%, transparent)}.dot-card.is-focus{border:2px solid var(--ink);font-weight:600}.dot-card.is-dim{opacity:.22}.dot-h{opacity:0;border:0;width:1px;min-width:0;height:1px;min-height:0}.dot-card.kind-view,.dot-card.kind-mview{--k:var(--c-view)}.dot-card.kind-gtt,.dot-card.kind-ptt,.dot-card.kind-work_table{--k:var(--c-temp)}.dot-card.kind-external{--k:var(--runtime);border-style:dashed}.dot-card.kind-file,.dot-card.kind-loader,.dot-card.kind-external_table{--k:var(--c-file)}.dot-card.kind-package,.dot-card.kind-procedure{--k:var(--c-process)}.dot-card.kind-package{border-radius:6px}.dot-card.kind-function,.dot-card.kind-type{--k:var(--c-var)}.dot-card.kind-trigger{--k:var(--tk-num)}.dot-card.kind-script,.dot-card.kind-chain_step{--k:var(--trace-soft)}.dot-card.kind-job,.dot-card.kind-chain{--k:var(--trace);border-radius:6px}.dot-card.kind-program{--k:var(--declared)}.react-flow__edge.xe path{stroke:var(--trace-soft);stroke-width:1px;opacity:.55}.react-flow__edge.xe-indirect path,.react-flow__edge.xe-reads path{stroke-dasharray:4 3;stroke:var(--rule-strong)}.react-flow__edge.xe-writes path{stroke:var(--c-process)}.react-flow__edge.xe-calls path{stroke:var(--c-var)}.react-flow__edge.xe-contains path{stroke:var(--rule-strong);opacity:.4}.react-flow__edge.xe-runs path,.react-flow__edge.xe-runs_before path{stroke:var(--trace);opacity:.8}.react-flow__edge.xe.is-lit path{stroke:var(--ink);stroke-width:2px;opacity:1;stroke-dasharray:none}.react-flow__edge.xe.is-dim path{opacity:.08}.jobs-page{grid-template-columns:300px 1fr;min-height:0;display:grid}.jobs-list{border-right:1px solid var(--rule);background:var(--surface);padding:14px 10px;overflow:auto}.jobs-list h2{margin:0 6px 10px;font-size:15px;font-weight:600}.job-row{text-align:left;border-radius:6px;gap:4px;width:100%;margin-bottom:2px;padding:9px 10px;display:grid}.job-row:hover{background:var(--surface-2)}.job-row.is-current{background:var(--proven-wash);box-shadow:inset 3px 0 0 var(--proven)}.job-name{font-family:var(--mono);color:var(--ink);align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.job-meta{align-items:center;gap:8px;font-size:12px;display:flex}.job-sched{color:var(--ink-3);font-size:11.5px;font-family:var(--mono);align-items:center;gap:5px;display:flex}.jobs-detail{background:var(--ground);min-width:0;padding:22px 28px;overflow:auto}.jobs-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.jobs-head h2{margin:0 0 4px;font-size:18px}.jobs-head p{margin:0}.pipeline{align-items:stretch;gap:0;padding-bottom:12px;display:flex;overflow-x:auto}.pipe-level-wrap{align-items:center;display:flex}.pipe-level{flex-direction:column;gap:12px;display:flex}.pipe-arrow{width:92px;color:var(--trace);text-align:center;justify-items:center;gap:2px;font-size:11.5px;display:grid}.pipe-arrow span{color:var(--ink-3)}.stage{background:var(--surface);border:1px solid var(--rule-strong);border-top:3px solid var(--trace);border-radius:8px;gap:8px;width:300px;padding:12px 14px;display:grid}.stage h3{font-size:14px;font-family:var(--mono);margin:0}.stage-line{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:12.5px;display:flex}.stage-code{background:color-mix(in srgb, var(--c-process) 9%, var(--surface));color:var(--ink);text-align:left;word-break:break-all;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;font-size:12.5px;display:flex}.stage-code svg{color:var(--c-process);flex:none}.stage-code:hover{background:color-mix(in srgb, var(--c-process) 16%, var(--surface))}.stage-tables{gap:4px;font-size:12px;display:grid}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip-btn{font-family:var(--mono);border:1px solid var(--rule-strong);color:var(--ink-2);background:var(--surface);border-radius:10px;padding:2px 8px;font-size:11.5px}.chip-btn:hover{border-color:var(--c-table);color:var(--ink)}.chip-btn.is-write{border-color:color-mix(in srgb, var(--c-table) 50%, var(--rule));background:color-mix(in srgb, var(--c-table) 8%, var(--surface));color:var(--ink)}@media (width<=900px){.jobs-page{grid-template-columns:1fr}.jobs-list{border-right:0;border-bottom:1px solid var(--rule);max-height:40vh}}:root{--assumed:#a3acb6;--assumed-wash:#f1f3f5}@media (prefers-color-scheme:dark){:root{--assumed:#66717c;--assumed-wash:#1f2832}}.o-assumed .react-flow__edge-path{stroke-dasharray:2 4;stroke:var(--assumed)!important}.card.is-assumed{border-style:dashed;border-top-color:var(--assumed);background:var(--assumed-wash)}.card.is-assumed .card-head{color:var(--ink-2)}.badge-assumed{background:var(--assumed-wash);color:var(--ink-2);border:1px dashed var(--assumed)}.dot-card.kind-assumed{--k:var(--assumed);color:var(--ink-2);border-style:dashed}.react-flow__edge.xe-assumed path{stroke:var(--assumed);stroke-dasharray:2 4}.badge{background:var(--surface-3);color:var(--ink-2);white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;display:inline-flex}.badge-ok{background:var(--proven-wash);color:var(--proven)}.st-plain{background:var(--surface-3);color:var(--ink-2)}.primary.small{align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;display:inline-flex}.tbtn.danger{color:var(--gap);border-color:var(--gap)}.tbtn.is-on{background:var(--assumed-wash);color:var(--ink);border-style:dashed}.nowrap{white-space:nowrap}.strong{font-weight:600}.ok{color:var(--proven)}.lede{color:var(--ink-2);max-width:70ch;margin:0 0 18px;line-height:1.5}.pg-start{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px;display:grid}.pg-new h1{margin:0 0 6px;font-size:24px;font-weight:600}.pg-drop{border:1.5px dashed var(--rule-strong);background:var(--surface);color:var(--ink-2);border-radius:10px;align-items:center;gap:16px;padding:22px 24px;transition:border-color .12s,background .12s;display:flex}.pg-drop.is-over{border-color:var(--proven);background:var(--proven-wash)}.pg-drop strong{color:var(--ink);display:block}.pg-drop-actions{gap:8px;margin-left:auto;display:flex}.pg-queue{border:1px solid var(--rule);background:var(--surface);border-radius:8px;max-height:180px;margin:10px 0 0;padding:0;list-style:none;overflow:auto}.pg-queue li{border-bottom:1px solid var(--rule);align-items:center;gap:8px;padding:4px 10px;display:flex}.pg-queue li:last-child{border-bottom:0}.pg-queue .mono{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pg-paste{border:1px solid var(--rule);background:var(--surface);border-radius:10px;margin-top:16px;overflow:hidden}.pg-paste-bar{border-bottom:1px solid var(--rule);color:var(--ink-2);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.pg-paste-editor{height:260px}.pg-options{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px;display:flex}.pg-options label{color:var(--ink-2);align-items:center;gap:8px;display:flex}.pg-options input{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:6px;padding:5px 8px}.pg-options label.grow{flex:1;min-width:220px}.pg-options label.grow input{flex:1}.pg-options .run{align-self:center;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.pg-recent h2{margin:4px 0 10px;font-size:15px;font-weight:600}.pg-recent ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pg-recent li{background:var(--surface);border:1px solid var(--rule);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.pg-recent-open{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.pg-recent-open span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width<=1000px){.pg-start{grid-template-columns:1fr}.pg-drop{flex-wrap:wrap}.pg-drop-actions{margin-left:0}}.pg-session{flex-direction:column;min-height:0;display:flex;position:relative}.pg-head{border-bottom:1px solid var(--rule-strong);background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex}.pg-head .link{align-items:center;gap:4px;display:inline-flex}.pg-title{flex-direction:column;min-width:0;display:flex}.pg-title h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:600;overflow:hidden}.pg-title .muted{font-size:12.5px}.pg-head-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.pg-body{flex:1;grid-template-columns:minmax(420px,40%) minmax(0,1fr);min-height:0;display:grid}.pg-body.code-closed{grid-template-columns:44px minmax(0,1fr)}.pg-left{border-right:1px solid var(--rule-strong);background:var(--surface);grid-template-columns:190px minmax(0,1fr);min-height:0;display:grid}.pg-files{border-right:1px solid var(--rule);min-height:0;overflow:auto}.pg-files-head{color:var(--ink-3);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:6px 6px 6px 12px;font-size:12.5px;display:flex}.pg-tree,.pg-tree ul{margin:0;padding:0;list-style:none}.pg-tree-file,.pg-tree-dir{text-align:left;width:100%;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:4px 8px;display:flex;overflow:hidden}.pg-tree-file:hover,.pg-tree-dir:hover{background:var(--surface-2);color:var(--ink)}.pg-tree-file.is-open{background:var(--accent-wash);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}.dot-edited{background:var(--gap);border-radius:50%;flex:none;width:7px;height:7px;margin-left:auto}.pg-editor{flex-direction:column;min-width:0;min-height:0;display:flex}.pg-editor-head{border-bottom:1px solid var(--rule);color:var(--ink-2);flex:none;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;display:flex}.pg-editor-head .primary.small,.pg-editor-head .link{margin-left:auto}.pg-right{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.pg-explore{flex:1;min-height:0;display:flex;position:relative}.pg-explore>.explore{flex:1}@media (width<=1100px){.pg-body{grid-template-rows:40% 60%;grid-template-columns:1fr}.pg-body.code-closed{grid-template-rows:44px 1fr}}.pg-missing h3{align-items:baseline;gap:8px;display:flex}.pg-complete{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:14px 16px}.pg-complete-head{align-items:baseline;gap:12px;display:flex}.pg-pct{font-variant-numeric:tabular-nums;margin-left:auto;font-size:22px;font-weight:600}.pg-meter{background:var(--gap-wash);border-radius:4px;height:8px;margin-top:10px;overflow:hidden}.pg-meter span{background:var(--proven);border-radius:4px;height:100%;display:block}.pg-actions{flex-wrap:wrap;gap:8px;margin:16px 0 0;display:flex}.pg-paste-ddl{flex-direction:column;gap:8px;margin-top:10px;display:flex}.pg-paste-ddl textarea{font-family:var(--mono);border:1px solid var(--rule-strong);background:var(--code-bg);color:var(--ink);resize:vertical;border-radius:8px;padding:8px 10px;font-size:12.5px}.pg-paste-ddl .primary{align-self:flex-start}.pg-missing-table td .mono{word-break:break-all}.pg-where{font-family:var(--mono);text-align:left;font-size:12px;display:block}.pg-where:disabled,.pg-dynamic .link:disabled{color:var(--ink-3);cursor:default;text-decoration:none}.pg-dynamic,.pg-gaps{border:1px solid var(--rule);background:var(--surface);border-radius:8px;margin:0;padding:0;list-style:none}.pg-dynamic li{border-bottom:1px solid var(--rule);grid-template-columns:minmax(160px,auto) auto 1fr;align-items:baseline;gap:12px;padding:7px 12px;display:grid}.pg-gaps li{border-bottom:1px solid var(--rule);justify-content:space-between;padding:5px 12px;display:flex}.pg-dynamic li:last-child,.pg-gaps li:last-child{border-bottom:0}.pg-checks ul{border:1px solid var(--rule);background:var(--surface);border-radius:8px;margin:0;padding:0;list-style:none}.pg-checks li+li{border-top:1px solid var(--rule)}.pg-finding{text-align:left;grid-template-columns:minmax(150px,220px) minmax(140px,200px) 1fr;align-items:baseline;gap:12px;width:100%;padding:8px 12px;display:grid}.pg-finding:hover{background:var(--surface-2)}.pg-loc{color:var(--trace);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pg-rule{font-weight:500}.pg-msg{color:var(--ink-2)}.sev-error{color:#c0392b}.sev-warning{color:var(--gap)}.sev-info{color:var(--trace)}.pg-code{flex:1;grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.pg-units{border-right:1px solid var(--rule);background:var(--surface);margin:0;padding:4px 0;list-style:none;overflow:auto}.pg-units button{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:6px 12px;display:flex}.pg-units button .mono{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.pg-units button:hover{background:var(--surface-2)}.pg-units button.is-open{background:var(--accent-wash);box-shadow:inset 3px 0 0 var(--accent)}.pg-code-view{flex-direction:column;min-width:0;min-height:0;display:flex}.pg-code-view .codeview{flex:1;min-height:0}.auth-wait{background:var(--ground);min-height:100vh}.signin{background:var(--ground);place-items:center;min-height:100vh;padding:16px;display:grid}.signin-card{background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;flex-direction:column;gap:14px;width:min(380px,100%);padding:28px 28px 24px;display:flex;box-shadow:0 1px 2px #0000000a}.signin-card h1{margin:0;font-size:20px;font-weight:600}.signin-card label{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13px;display:flex}.signin-card input{font:inherit;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:5px;padding:9px 10px;font-size:14px}.signin-card input:focus{outline:2px solid var(--accent);outline-offset:1px}.signin-card button.primary{margin-top:4px;padding:10px}.signin-brand{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.signin-error{color:var(--gap);margin:0;font-size:13px}.row-end{justify-content:flex-end;gap:8px;display:flex}.modal-back{z-index:50;background:#0f172059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.usermenu{margin-left:10px;position:relative}.usermenu-chip{border:1px solid var(--rule);background:var(--surface);cursor:pointer;border-radius:18px;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:flex}.usermenu-chip:hover{background:var(--surface-2)}.usermenu-avatar{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-weight:600;display:grid}.usermenu-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13px;overflow:hidden}.usermenu-pop{background:var(--surface);border:1px solid var(--rule-strong);z-index:40;border-radius:8px;min-width:240px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 24px #0000001f}.usermenu-who{border-bottom:1px solid var(--rule);flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px 10px;font-size:13px;display:flex}.usermenu-who span{color:var(--ink-3);font-size:12px}.usermenu-pop button{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.usermenu-pop button:hover{background:var(--surface-2)}@media (width<=760px){.usermenu-name{display:none}}.app{grid-template-rows:auto 1fr;height:100%;display:grid}.app-body{grid-template-columns:232px 1fr;min-height:0;display:grid}.app.nav-collapsed .app-body{grid-template-columns:52px 1fr}.app-main{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.app-main>.page{flex:1}.topbar .brand{cursor:pointer;color:var(--ink);font:inherit;background:0 0;border:0;padding:0;font-size:15px;font-weight:600}.topbar-fill{flex:1}.nav-toggle{margin-left:-6px}.leftnav{background:var(--surface);border-right:1px solid var(--rule);flex-direction:column;gap:1px;min-height:0;padding:10px 8px;display:flex;overflow-y:auto}.nav-item{color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.is-active{background:var(--accent-wash);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent);font-weight:500}.nav-item:focus-visible,.nav-sub button:focus-visible,.nav-project button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app.nav-collapsed .nav-item{justify-content:center;padding:8px 0}.nav-group{color:var(--ink-3);margin:14px 10px 4px;font-size:12px}.nav-spacer{flex:1;min-height:12px}.nav-projects,.nav-sub{margin:0;padding:0;list-style:none}.nav-projects{margin:2px 0 4px 6px}.nav-project{border-radius:6px;align-items:center;display:flex}.nav-project.is-active{color:var(--ink)}.nav-project.is-active .nav-project-name{color:var(--ink);font-weight:500}.nav-twisty{width:22px;height:26px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.nav-twisty:hover{background:var(--surface-2)}.nav-project-name{text-align:left;min-width:0;font:inherit;color:var(--ink-2);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:5px;flex:1;padding:4px 6px;font-size:13.5px;overflow:hidden}.nav-project-name:hover{background:var(--surface-2);color:var(--ink)}.nav-sub{border-left:1px solid var(--rule);margin:0 0 4px 28px}.nav-sub button{text-align:left;width:100%;font:inherit;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:0 5px 5px 0;padding:3px 10px;font-size:13px;display:block}.nav-sub button:hover{color:var(--ink);background:var(--surface-2)}.nav-sub button.is-active{color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-weight:500}.page h1{margin:0 0 6px;font-size:22px;font-weight:600}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.page-head .primary,.page-head .tbtn{flex:none;align-items:center;gap:6px;display:inline-flex}.empty-card{border:1px dashed var(--rule-strong);text-align:center;color:var(--ink-2);background:var(--surface);border-radius:8px;flex-direction:column;align-items:center;gap:10px;padding:22px;display:flex}.row-start{flex-wrap:wrap;gap:8px;display:flex}.projects-table td{vertical-align:middle}.projects-table tr.clickable:hover td{background:var(--surface-2)}.projects-table tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.kind-chips{flex-wrap:wrap;gap:6px;display:inline-flex}.kind-chip{border:1px solid var(--rule);color:var(--ink-2);background:var(--surface-2);border-radius:10px;align-items:center;gap:4px;padding:1px 8px;font-size:12.5px;display:inline-flex}.badge-warn{background:var(--gap-wash);color:var(--gap);margin-left:8px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.dialog{background:var(--surface);border:1px solid var(--rule-strong);border-radius:10px;flex-direction:column;gap:12px;width:min(480px,100%);max-height:calc(100vh - 32px);padding:20px 22px;display:flex;overflow:auto;box-shadow:0 12px 40px #0000002e}.dialog-wide{width:min(680px,100%)}.dialog h2{margin:0;font-size:17px;font-weight:600}.dialog-head{align-items:center;gap:8px;display:flex}.dialog-head h2{flex:1}.dialog label,.dialog-body label,.sandbox-form label{color:var(--ink-2);flex-direction:column;gap:5px;font-size:13px;display:flex}.dialog input:not([type=radio]),.dialog textarea,.dialog select,.sandbox-form input:not([type=checkbox]){font:inherit;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:5px;padding:8px 10px;font-size:14px}.dialog input:focus,.dialog textarea:focus,.dialog select:focus,.sandbox-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.dialog-body{flex-direction:column;gap:12px;display:flex}.note{background:var(--surface-2);border:1px solid var(--rule);color:var(--ink-2);border-radius:6px;margin:0;padding:8px 12px;font-size:13px}.busy-line{margin:0}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-row label{flex:1;min-width:140px}.source-choices{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.source-choice{text-align:left;border:1px solid var(--rule-strong);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.source-choice:hover:not(:disabled){border-color:var(--proven);background:var(--proven-wash)}.source-choice:disabled{opacity:.55;cursor:default}.source-choice .muted{font-size:12.5px;line-height:1.4}.pick-list{flex-direction:column;gap:4px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.pick-list label{border:1px solid var(--rule);cursor:pointer;border-radius:6px;align-items:center;padding:8px 10px;color:var(--ink)!important;flex-direction:row!important;gap:10px!important}.pick-list label.is-chosen{border-color:var(--proven);background:var(--proven-wash)}.pick-list .muted{margin-left:auto}.radio-set{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.radio-set label{align-items:center;color:var(--ink)!important;flex-direction:row!important;gap:8px!important;font-size:14px!important}.radio-set select,.radio-set>input{margin-left:24px}.project-page{flex-direction:column;flex:1;min-height:0;display:flex}.project-head{background:var(--surface);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 22px 10px;display:flex}.project-title{flex:1;min-width:200px}.project-title h1{margin:0;font-size:20px;font-weight:600}.project-title p{margin:2px 0 0;font-size:13px}.project-head .primary{align-items:center;gap:6px;display:inline-flex}.project-tabs{background:var(--surface);padding:0 16px}.project-tabs .count{background:var(--surface-3);color:var(--ink-2);border-radius:9px;margin-left:6px;padding:0 6px;font-size:11.5px}.project-notice{background:var(--proven-wash);color:var(--ink);border:1px solid var(--rule);border-radius:6px;align-items:center;gap:8px;margin:10px 22px 0;padding:8px 12px;font-size:13px;display:flex}.project-notice.is-error{background:var(--gap-wash)}.project-notice span{flex:1}.project-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.project-body>.page{overflow:auto}.scan-workspace{flex:1;grid-template-rows:1fr auto;min-height:0;display:grid}.scan-workspace>:first-child{min-height:0}.source-group h3{align-items:center;gap:8px;margin:18px 0 8px;font-size:14px;display:flex}.source-list{border:1px solid var(--rule);background:var(--surface);border-radius:8px;margin:0;padding:0;list-style:none}.source-row{border-bottom:1px solid var(--rule);grid-template-columns:1fr auto auto auto auto;align-items:center;gap:14px;padding:10px 14px;display:grid}.source-row:last-child{border-bottom:0}.source-main{flex-direction:column;min-width:0;display:flex}.source-actions{align-items:center;gap:4px;display:inline-flex}.status{background:var(--surface-2);color:var(--ink-2);border-radius:10px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;display:inline-flex}.status-ready{background:var(--proven-wash);color:var(--proven)}.status-failed{background:var(--gap-wash);color:var(--gap)}.status-scanning{background:var(--surface-3)}.grid tr.is-current td{background:var(--proven-wash)}.grid .badge{margin-left:8px}.member-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.member-list li{align-items:center;gap:10px;display:flex}.member-who{flex-direction:column;flex:1;min-width:0;display:flex}.member-add{gap:8px;display:flex}.member-add input{flex:1}.danger-zone{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;font-size:13px;display:flex}.danger-link{color:var(--gap);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:4px;font-size:13px;display:inline-flex}.home-page section{margin-top:26px}.home-actions{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;max-width:900px;margin-top:14px;display:grid}.action-card{border:1px solid var(--rule-strong);background:var(--surface);text-align:left;font:inherit;color:var(--ink);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;display:flex}.action-card:hover{border-color:var(--proven);background:var(--proven-wash)}.section-head{align-items:baseline;gap:14px;max-width:900px;display:flex}.section-head h2{margin:0 0 8px;font-size:15px;font-weight:600}.card-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-width:900px;margin:0;padding:0;list-style:none;display:grid}.list-card{border:1px solid var(--rule);background:var(--surface);text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.list-card:hover{border-color:var(--ink-3)}.list-card-main{flex-direction:column;min-width:0;display:flex}.placeholder-page{flex-direction:column;align-items:flex-start;gap:6px;max-width:640px;display:flex}.settings-page section{max-width:720px;margin-top:20px}.settings-page h2{margin:0 0 8px;font-size:15px;font-weight:600}.scans-page{flex-direction:column;flex:1;min-height:0;display:flex}.scans-bar{background:var(--surface);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:14px;padding:6px 16px 0;display:flex}.scans-bar .tabs{border-bottom:0;padding:0}@media (width<=760px){.app-body,.app.nav-collapsed .app-body{grid-template-columns:minmax(0,1fr)}.app.nav-collapsed .leftnav{display:none}.app:not(.nav-collapsed) .leftnav{z-index:40;width:min(280px,84vw);position:fixed;top:52px;bottom:0;left:0;overflow-y:auto;box-shadow:4px 0 18px #0000002e}.nav-backdrop{z-index:35;background:#0f172059;position:fixed;inset:52px 0 0}.source-row{grid-template-columns:1fr auto}.topbar .gsearch{display:none}.topbar{gap:10px;padding:0 10px}}.conn-list{flex-direction:column;gap:10px;max-width:980px;margin:0;padding:0;list-style:none;display:flex}.conn-card{border:1px solid var(--rule);background:var(--surface);border-radius:8px;padding:12px 14px}.conn-head{align-items:center;gap:10px;display:flex}.conn-main{flex-direction:column;flex:1;min-width:0;display:flex}.conn-test{border-top:1px solid var(--rule);margin-top:10px;padding-top:8px}.check-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.check{grid-template-columns:18px 210px 1fr;align-items:start;gap:8px;display:grid}.check-pass svg{color:var(--proven)}.check-warn svg{color:var(--gap)}.check-fail svg{color:#c0392b}.check-name{font-weight:500}.check-detail{color:var(--ink-2);word-break:break-word}.schema-pick{border:1px solid var(--rule);border-radius:6px;flex-direction:column;gap:8px;margin:0;padding:8px 10px 10px;display:flex}.schema-pick legend{color:var(--ink-2);padding:0 4px;font-size:13px}.schema-chips{flex-wrap:wrap;gap:6px;display:flex}.schema-chip{border:1px solid var(--rule-strong);cursor:pointer;border-radius:12px;align-items:center;padding:3px 9px;color:var(--ink)!important;flex-direction:row!important;gap:4px!important;font-size:12.5px!important}.schema-chip input{margin:0}.schema-chip.is-on{border-color:var(--proven);background:var(--proven-wash)}label.narrow{flex:0 0 90px!important;min-width:90px!important}@media (width<=760px){.check{grid-template-columns:18px 1fr}.check-detail{grid-column:2}}.app-main>*{flex:auto;min-height:0}.pg-session{flex:1;height:100%}.pg-body{flex:1;min-height:0}.pane-toggles{border-right:1px solid var(--rule);align-items:center;gap:2px;margin-right:6px;padding-right:10px;display:flex}.pane-toggles .icon-btn[aria-pressed=true]{background:var(--accent-wash);color:var(--ink)}.pg-split{cursor:col-resize;background:var(--rule);position:relative}.pg-split:hover,.pg-split:focus-visible{background:var(--accent);outline:none}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}@media (width<=1100px){.pg-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)!important}.pg-split{display:none}.pg-left{max-height:40vh}}.signin-back{color:var(--accent);text-align:center;font-size:13px}.brand{align-items:center;display:inline-flex}.tq-brand{align-items:center;gap:9px;display:inline-flex}.tq-brand-text{flex-direction:column;line-height:1.1;display:flex}.tq-word{letter-spacing:-.01em;color:var(--brand-ink);font-weight:700}.tq-qivo{color:var(--accent)}.tq-tagline{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-top:3px;font-size:10px;font-weight:500}.tq-mark{flex:none}.pg-moved{background:var(--gap-wash);border:1px solid color-mix(in srgb, var(--gap) 30%, transparent);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 12px 0;padding:8px 12px;font-size:13px;display:flex}.pg-moved .icon-btn{margin-left:auto}.linklike{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.pg-activity{background:var(--surface-2);border-right:1px solid var(--rule-strong);flex-direction:column;align-items:center;gap:4px;min-height:0;padding-top:6px;display:flex}.pg-act{width:36px;height:36px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:relative}.pg-act:hover{color:var(--ink);background:var(--surface-3)}.pg-act[aria-pressed=true]{color:var(--accent);box-shadow:inset 2px 0 0 var(--accent);background:var(--accent-wash)}.pg-act:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pg-act-count{background:var(--accent);color:#fff;text-align:center;border-radius:8px;min-width:15px;height:15px;padding:0 3px;font-size:10px;line-height:15px;position:absolute;bottom:2px;right:2px}@media (width<=1100px){.pg-activity{border-right:0;border-bottom:1px solid var(--rule);flex-direction:row;padding:4px 8px}.pg-body{flex-direction:column;display:flex!important}.pg-body>.pg-right{flex:auto;min-height:0}}.task-panel{z-index:50;flex-direction:column;gap:8px;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.task-row{background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex;box-shadow:0 8px 24px -12px #1b2a3a59}.task-row.failed{border-color:var(--gap)}.task-text{flex-direction:column;flex:1;min-width:0;display:flex}.task-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.task-text span{color:var(--ink-2)}.task-row .spin,.task-row .ok{color:var(--accent);flex:none}.task-row .bad{color:var(--gap);flex:none}.task-row{align-items:flex-start}.task-text small{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12px}.task-bar{background:var(--rule);border-radius:2px;height:4px;margin:6px 0 4px;overflow:hidden}.task-bar i{background:var(--accent);border-radius:2px;height:100%;transition:width .4s;display:block}.task-bar i.indeterminate{width:30%;animation:1.4s ease-in-out infinite task-slide}@keyframes task-slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion:reduce){.task-bar i{transition:none}.task-bar i.indeterminate{opacity:.4;width:100%;animation:none}}.job-links{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;font-size:13px;display:flex}.chip-link{border:1px solid var(--rule-strong);background:var(--surface);font:inherit;font-family:var(--mono);cursor:pointer;color:var(--ink);border-radius:12px;padding:2px 10px;font-size:12px}.chip-link:hover{border-color:var(--accent);color:var(--accent)}@media (width<=760px){.page{padding:16px}.page-head{flex-direction:column;align-items:stretch}.page-head .primary,.page-head .tbtn{align-self:flex-start}.tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex:none}.project-head{padding:12px 16px 8px}.projects-table th:nth-child(4),.projects-table td:nth-child(4){display:none}table.grid{display:block;overflow-x:auto}.jobs-page{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.jobs-list{border-right:0;border-bottom:1px solid var(--rule);max-height:34vh;overflow-y:auto}.jobs-head{flex-wrap:wrap}.jobs-detail{padding:14px 16px}.statusbar{white-space:nowrap;scrollbar-width:none;gap:12px;overflow-x:auto}.modal-back{align-items:start;padding:10px}.dialog,.dialog-wide{width:100%;max-height:calc(100dvh - 20px);padding:16px;overflow-y:auto}.form-row{flex-direction:column;align-items:stretch}.form-row label,label.narrow{flex:auto!important;min-width:0!important}.seg{flex-wrap:wrap}.icon-btn{min-width:34px;min-height:34px}.conn-head{flex-wrap:wrap}}.discover-page{flex-direction:column;gap:12px;display:flex}.discover-page>.tabs{padding:0}.discover{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.discover.has-open{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.discover-search{border:1px solid var(--rule-strong);background:var(--surface);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.discover-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0}.discover-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.discover-filters{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 6px;display:flex}.chip{border:1px solid var(--rule-strong);background:var(--surface);font:inherit;cursor:pointer;color:var(--ink-2);border-radius:14px;padding:3px 10px;font-size:12.5px}.chip span{color:var(--ink-3);margin-left:2px}.chip.is-on{border-color:var(--accent);background:var(--accent-wash);color:var(--ink)}.discover-filters select{font:inherit;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:6px;padding:3px 6px;font-size:12.5px}.check-inline{align-items:center;flex-direction:row!important;gap:4px!important;font-size:12.5px!important;display:inline-flex!important}.discover-results{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.discover-row{text-align:left;border:1px solid var(--rule);background:var(--surface);cursor:pointer;width:100%;font:inherit;color:var(--ink);border-radius:8px;gap:10px;padding:10px 12px;display:flex}.discover-row:hover{border-color:var(--rule-strong)}.discover-row.is-open{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.discover-icon{background:var(--accent-wash);width:30px;height:30px;color:var(--accent-strong);border-radius:7px;flex:none;place-items:center;display:grid}.discover-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.discover-row-main .mono{overflow-wrap:anywhere}.discover-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;display:-webkit-box;overflow:hidden}.discover-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.tag,.term{border-radius:10px;margin-right:4px;padding:1px 7px;font-size:11.5px}.tag{background:var(--surface-3);color:var(--ink-2)}.term{background:var(--accent-wash);color:var(--accent-strong)}.pager{align-items:center;gap:10px;margin-top:10px;display:flex}.discover-panel{border:1px solid var(--rule);background:var(--surface);border-radius:10px;max-height:calc(100vh - 150px);position:sticky;top:0;overflow:auto}.discover-panel-head{border-bottom:1px solid var(--rule);background:var(--surface);z-index:1;align-items:flex-start;gap:8px;padding:12px 14px;display:flex;position:sticky;top:0}.discover-panel-title{flex:1;min-width:0}.discover-panel-title h2{overflow-wrap:anywhere;margin:0;font-size:16px}.discover-panel-title p{margin:2px 0 0}.discover-panel-body{flex-direction:column;gap:18px;padding:12px 14px 18px;display:flex}.discover-panel-body h3{margin:0 0 6px;font-size:13px;font-weight:600}.note p{margin:0 0 8px;line-height:1.5}.note-meta{grid-template-columns:90px 1fr;gap:4px 10px;margin:0 0 10px;font-size:13px;display:grid}.note-meta dt{color:var(--ink-3)}.note-meta dd{margin:0}.note-form{flex-direction:column;gap:10px;display:flex}.note-form textarea,.dialog textarea{font:inherit;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);resize:vertical;border-radius:6px;padding:8px}.discover-flows{grid-template-columns:1fr 1fr;gap:14px;display:grid}.link-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.column-table td{vertical-align:top}.column-table .icon-btn{min-width:22px;min-height:22px;margin-left:4px}.inline-edit{flex-wrap:wrap;gap:6px;display:flex}.inline-edit input{min-width:120px;font:inherit;border:1px solid var(--rule-strong);border-radius:5px;flex:1;padding:3px 6px}.gap-list{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.term-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.term-card{border:1px solid var(--rule);background:var(--surface);border-radius:8px;padding:12px 14px}.term-card p{margin:6px 0 0;font-size:13.5px;line-height:1.5}.term-head{align-items:center;gap:8px;display:flex}.term-head .muted{margin-right:auto}@media (width<=1100px){.discover.has-open{grid-template-columns:minmax(0,1fr)}.discover.has-open .discover-list{display:none}.discover-panel{max-height:none;position:static}}@media (width<=760px){.discover-flows{grid-template-columns:1fr}.note-meta{grid-template-columns:76px 1fr}}.modelling-page{flex-direction:column;gap:10px;min-height:0;display:flex}.model-bar{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.model-schemas{flex-wrap:wrap;gap:6px;display:flex}.model-stats{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.key-line{border-top:2px solid var(--accent);vertical-align:middle;width:22px;height:0;display:inline-block}.key-line.observed{border-top:2px dashed var(--gap)}.model-body{flex:1;grid-template-columns:minmax(0,1fr);gap:12px;min-height:420px;display:grid}.model-body:has(.model-panel){grid-template-columns:minmax(0,1fr) 300px}.model-canvas{border:1px solid var(--rule);background:var(--ground);border-radius:10px;min-height:420px;position:relative;overflow:hidden}.model-png{z-index:5;align-items:center;gap:6px;display:inline-flex;position:absolute;top:10px;right:10px}.model-panel{border:1px solid var(--rule);background:var(--surface);border-radius:10px;padding:12px 14px;overflow:auto}.model-panel h2{margin:0;font-size:15px}.model-panel p{margin:6px 0}.entity{background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;width:250px;font-size:12px;overflow:hidden;box-shadow:0 2px 6px -3px #1b2a3a40}.entity.is-outside{opacity:.7;border-style:dashed}.entity-head{background:var(--brand);color:#fff;flex-direction:column;padding:6px 10px;line-height:1.25;display:flex}.entity-head .muted{color:#ffffffb3}.entity.kind-view .entity-head,.entity.kind-mview .entity-head{background:var(--accent-strong)}.entity-cols{margin:0;padding:4px 0;list-style:none}.entity-cols li{grid-template-columns:16px 1fr auto;align-items:center;gap:4px;height:22px;padding:2px 10px;display:grid}.entity-cols li.is-pk .mono{font-weight:600}.entity-flag{color:var(--accent-strong);display:inline-flex}.rel-declared path.react-flow__edge-path{stroke:var(--accent);stroke-width:1.6px}.rel-observed path.react-flow__edge-path{stroke:var(--gap);stroke-width:1.6px;stroke-dasharray:6 4}.react-flow__edge.rel-declared .react-flow__edge-text,.react-flow__edge.rel-observed .react-flow__edge-text{font-size:10px}@media (width<=760px){.model-body:has(.model-panel){grid-template-columns:minmax(0,1fr)}.model-canvas{min-height:60vh}}.callgraph{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.callgraph-search{flex:320px;max-width:560px;padding:6px 10px}.unit-card{background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;width:230px;padding:7px 10px;font-size:12px;box-shadow:0 2px 6px -3px #1b2a3a40}.unit-card.is-focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.unit-card.kind-job{background:var(--gap-wash)}.unit-card.kind-package_body{background:var(--surface-2)}.unit-head{color:var(--accent-strong);align-items:center;gap:6px;display:flex}.unit-head strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.unit-sub{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.model-panel h3{margin:12px 0 4px;font-size:12.5px}.join-list{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.join-card{border:1px solid var(--rule);background:var(--surface);border-radius:8px;padding:10px 12px}.join-chain{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.join-step{align-items:center;gap:6px;display:flex}.join-table{border:1px solid var(--rule-strong);background:var(--surface-2);border-radius:6px;padding:4px 8px;font-size:12.5px}.join-table.is-unknown{border-style:dashed}.join-table.is-focus{border-color:var(--accent);background:var(--accent-wash)}.join-type{color:var(--ink-2);flex-direction:column;align-items:center;max-width:260px;font-size:11px;display:flex}.join-type span{text-transform:lowercase;font-weight:600}.join-type code{font-family:var(--mono);color:var(--ink-3);text-align:center;overflow-wrap:anywhere;font-size:11px}.join-type.t-leftouter span,.join-type.t-rightouter span,.join-type.t-fullouter span{color:var(--gap)}.impact-page{flex-direction:column;min-height:0;display:flex}.impact{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;min-height:0;display:grid}.impact-side{border:1px solid var(--rule);background:var(--surface);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.impact-side h3{margin:8px 0 2px;font-size:12.5px}.impact-study-head{align-items:center;gap:4px;display:flex}.impact-name{min-width:0;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:4px 6px;font-weight:600}.impact-name:hover,.impact-name:focus{border-color:var(--rule-strong);outline:none}.impact-add{flex-direction:column;gap:4px;display:flex}.impact-hits,.impact-changes{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.impact-changes li{border:1px solid var(--rule);border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;display:flex}.impact-changes li.is-current{border-color:var(--accent);background:var(--accent-wash)}.impact-changes .linklike{text-align:left;min-width:0;color:var(--ink);flex-direction:column;align-items:flex-start;text-decoration:none;display:flex}.impact-changes .mono{overflow-wrap:anywhere;font-size:12.5px}.impact-kind{color:var(--ink-3);font-size:11px}.impact-export{gap:6px;display:flex}.impact-export .tbtn{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.impact-main{flex-direction:column;gap:12px;min-width:0;display:flex}.impact-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.impact-stat{border:1px solid var(--rule);background:var(--surface);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.impact-stat strong{font-size:22px}.impact-stat span{color:var(--ink-2);font-size:12px}.impact-stat.warn strong{color:#c2410c}.impact-stat.gap strong{color:var(--gap)}.impact-change{flex-direction:column;gap:14px;display:flex}.impact-graph{border:1px solid var(--rule);background:var(--surface);border-radius:10px;overflow:hidden}.impact-graph-head{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.impact-graph-head .tbtn{margin-left:auto}.impact-canvas{flex-direction:column;height:520px;display:flex;position:relative}.impact-canvas>*{flex:1;min-height:0}.impact-lists{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.impact-lists section{min-width:0}.impact-lists h3{align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}@media (width<=1100px){.impact,.impact-lists{grid-template-columns:minmax(0,1fr)}.impact-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-canvas{height:60vh}}:root{--conditional:var(--declared);--observed:#5f6f8c;--assumed-ink:#b04a4a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--observed:#9db0cf;--assumed-ink:#e08a8a}}:root[data-theme=dark]{--observed:#9db0cf;--assumed-ink:#e08a8a}.proof{white-space:nowrap;border:1px solid;border-radius:10px;align-items:center;gap:4px;padding:1px 8px 1px 6px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.proof-lg{padding:2px 10px 2px 8px;font-size:13px;line-height:20px}.proof-proven{color:var(--proven);background:var(--proven-wash);border-color:#0000}.proof-conditional{color:var(--conditional)}.proof-observed{color:var(--observed);border-style:dashed}.proof-assumed{color:var(--assumed-ink);border-style:dotted}.proof-gap{color:var(--gap);background:var(--gap-wash);border-color:#0000}.proof-card{border:1px solid var(--rule);border-left:3px solid var(--proven);background:var(--surface-2,var(--surface));border-radius:8px;gap:6px;margin:0 0 12px;padding:10px 12px;display:grid}.proof-card p{color:var(--ink-2);margin:0;font-size:13px}.proof-card-conditional{border-left-color:var(--conditional)}.proof-card-observed{border-left-color:var(--observed)}.proof-card-assumed{border-left-color:var(--assumed-ink)}.proof-card-gap{border-left-color:var(--gap)}.reflist .proof{margin-left:auto}.legend .legend-proof{border-left:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:6px;padding-left:14px;display:flex}.legend .legend-proof button{cursor:pointer;font:inherit;background:0 0;align-items:center;gap:4px;display:inline-flex}.legend .legend-proof button[aria-pressed=true]{outline-offset:1px;outline:2px solid}.legend .legend-proof b{font-variant-numeric:tabular-nums}.react-flow__edge.is-proofdim{opacity:.08}.proof-chain{gap:8px;margin-top:8px;display:grid}.proof-chain .hop{border:1px solid var(--rule);border-radius:6px;gap:2px;padding:6px 8px;font-size:12.5px;display:grid}.proof-chain .hop-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.proof-chain code{color:var(--ink-2);white-space:pre-wrap;word-break:break-word;font-size:12px}.proof-verdict{margin:6px 0;font-weight:500}.tier-bar{background:var(--surface-3);border-radius:6px;height:12px;margin:8px 0 4px;display:flex;overflow:hidden}.tier-bar span{height:100%;display:block}.tier-bar .t-proven{background:var(--proven)}.tier-bar .t-conditional{background:var(--conditional)}.tier-bar .t-observed{background:var(--observed)}.tier-bar .t-assumed{background:var(--assumed-ink)}.tier-bar .t-gap{background:var(--gap)}.proof-summary{gap:14px;margin-bottom:22px;display:grid}.proof-tiers{color:var(--ink-2);flex-wrap:wrap;gap:10px 22px;font-size:13px;display:flex}.proof-tiers b{color:var(--ink);font-variant-numeric:tabular-nums}@container (width<=760px){.legend .legend-proof{border-left:0;padding-left:0}}.proof-chain .chain-group{color:var(--ink-2);margin:6px 0 0;font-size:12.5px;font-weight:600}.tools-page{flex-direction:column;height:100%;min-height:0;display:flex}.tools-options{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:14px;margin:4px 0 10px;font-size:13px;display:flex}.tools-options label{align-items:center;gap:6px;display:inline-flex}.tools-split{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;min-height:420px;display:grid}.tools-editor{border:1px solid var(--rule);border-radius:8px;min-height:0;overflow:hidden}.tools-editor .sql-editor{height:100%}.tools-result{border:1px solid var(--rule);border-radius:8px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.tools-run{margin-left:auto}.tools-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.tools-list{padding:10px 14px}.tools-list h3{margin:14px 0 6px}.tools-table{border-collapse:collapse;width:100%;font-size:13px}.tools-table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--rule);padding:4px 8px;font-weight:500}.tools-table td{border-bottom:1px solid var(--rule);vertical-align:top;padding:4px 8px}.tools-table tr.clickable:hover td,.tools-diags li.clickable:hover,.tools-token:hover{background:var(--wash,#7f7f7f14)}.clickable{cursor:pointer}.tools-snippet{white-space:nowrap;text-overflow:ellipsis;max-width:420px;overflow:hidden}.tools-diags{margin:0;padding:0;font-size:13px;list-style:none}.tools-diags li{padding:3px 0}.tools-diags li.error{color:var(--gap)}.tools-tree,.tools-tree ul{margin:0;padding-left:14px;font-size:12.5px;list-style:none}.tools-tree{margin-top:10px;padding-left:0}.tools-node{align-items:center;gap:4px;padding:1px 0;font-weight:500;display:inline-flex}.tools-token{padding:1px 0 1px 16px}.tools-stmt{border-bottom:1px solid var(--rule);padding:10px 0}.tools-stmt-head{text-align:left;align-items:center;gap:8px;width:100%;display:flex}.tools-stmt-head .badge{margin-left:auto}.tools-sql{font-family:var(--mono,monospace);white-space:pre-wrap;word-break:break-word;background:var(--code,#7f7f7f14);border-radius:6px;margin:6px 0;padding:6px 8px;font-size:12px}.tools-gap{color:var(--ink-2);margin:4px 0}.tools-error{color:var(--gap);border-bottom:1px solid var(--rule);padding:8px 14px}@media (width<=900px){.tools-split{grid-template-columns:1fr}.tools-editor{min-height:300px}}.signin-sso{box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:9px 12px;text-decoration:none;display:flex}.signin-or{color:var(--ink-3);align-items:center;gap:8px;margin:6px 0;font-size:12px;display:flex}.signin-or:before,.signin-or:after{content:"";border-top:1px solid var(--rule);flex:1}.gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:8px 0 0;padding:0;list-style:none;display:grid}.gallery-card{text-align:left;border:1px solid var(--rule);background:var(--paper,#fff);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;width:100%;height:100%;padding:14px 16px;display:flex}.gallery-card:hover:not(:disabled){border-color:var(--accent)}.gallery-card:disabled{cursor:progress;opacity:.75}.gallery-meta{margin-top:auto}.sandbox-form{flex-direction:column;gap:10px;max-width:760px;display:flex}.sandbox-form .form-row label{flex:180px}.sandbox-form label.check-line{color:var(--ink);flex-direction:row;align-items:center;gap:8px}.signin-note{color:var(--ink-2);background:var(--accent-wash);border-radius:5px;margin:0;padding:8px 10px;font-size:13px}.signin-links{flex-direction:column;align-items:center;gap:6px;display:flex}.linkish{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.linkish:hover{text-decoration:underline}.linkish:disabled{color:var(--ink-3);cursor:default}.sample-projects{margin-top:28px}.sample-projects h2{margin:0 0 4px;font-size:16px;font-weight:600}.sample-projects>p{margin:0 0 10px}.sample-tag{background:var(--accent-wash);color:var(--accent-strong);vertical-align:1px;border-radius:10px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:500}.admin-tabs{border-bottom:1px solid var(--rule);gap:2px;margin:4px 0 16px;display:flex;overflow-x:auto}.admin-tabs button{font:inherit;color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px;font-size:14px}.admin-tabs button.is-active{color:var(--ink);border-bottom-color:var(--accent);font-weight:500}.admin-overview{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.admin-overview>*{align-self:stretch}.admin-overview>.tbtn{align-self:flex-start}.admin-tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.admin-tile{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:12px 14px}.admin-tile-label{color:var(--ink-3);font-size:12px}.admin-tile-value{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px;font-size:26px;font-weight:600;line-height:1.2}.admin-tile-sub{color:var(--ink-2);margin-top:2px;font-size:12px}.admin-charts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.admin-chart{background:var(--surface);border:1px solid var(--rule);border-radius:8px;margin:0;padding:10px 12px 6px}.admin-chart figcaption{color:var(--ink);justify-content:space-between;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.admin-chart-read{color:var(--ink-2);font-variant-numeric:tabular-nums}.admin-chart svg{width:100%;height:auto;display:block}.admin-bar{fill:var(--accent)}.admin-bar.is-hot{fill:var(--accent-strong)}.admin-chart-base{stroke:var(--rule-strong);stroke-width:1px}.admin-chart-tick{fill:var(--ink-3);font-size:9px}.admin-two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.admin-two h2,.admin-user h3{margin:0 0 8px;font-size:14px;font-weight:600}.admin-scroll{overflow-x:auto}.admin-table{width:100%}.admin-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-search{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-3);border-radius:5px;flex:240px;align-items:center;gap:6px;max-width:420px;padding:0 8px;display:flex}.admin-search input{font:inherit;width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:7px 0;font-size:13px}.admin-filters select{font:inherit;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:5px;padding:6px 8px;font-size:13px}.admin-status{background:var(--proven-wash);color:var(--proven);white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:12px}.admin-status.is-unconfirmed{background:var(--gap-wash);color:var(--gap)}.admin-status.is-deactivated{background:var(--surface-3);color:var(--ink-2)}.admin-user{background:var(--surface);border-left:1px solid var(--rule-strong);width:min(520px,100%);padding:20px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 24px #0000001f}.admin-user h2{margin:0;padding-right:32px;font-size:18px}.admin-user>p.muted{margin:2px 0 12px}.admin-user h3{margin-top:18px}.admin-close{position:absolute;top:14px;right:14px}.admin-dl{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:13px;display:grid}.admin-dl dt{color:var(--ink-3)}.admin-dl dd{color:var(--ink);overflow-wrap:anywhere;margin:0}.admin-actions{gap:8px;margin-top:14px}.admin-areas{margin:0;padding:0;font-size:13px;list-style:none}.admin-areas li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:12px;padding:4px 0;display:flex}.admin-events code{font-size:12px}.admin-switch{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.admin-msg{white-space:pre-wrap;max-width:360px;font-size:13px}.tbtn.primary-ish{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-wash)}.rail-tab{border:1px solid var(--accent);background:var(--accent-wash);color:var(--accent-strong);cursor:pointer;font:inherit;border-radius:6px;flex-direction:column;align-items:center;gap:8px;padding:10px 5px;font-size:12px;font-weight:600;animation:1.6s ease-in-out .6s 3 rail-hint;display:flex}.rail-tab span{writing-mode:vertical-rl;letter-spacing:.04em}.rail-left .rail-tab span{transform:rotate(180deg)}.rail-tab:hover{background:var(--accent);color:#fff}@keyframes rail-hint{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 4px var(--accent-wash)}}@media (prefers-reduced-motion:reduce){.rail-tab{animation:none}}.pg-examples{margin:4px 0 6px}.pg-examples h2{color:var(--ink);align-items:center;gap:8px;margin:0 0 2px;font-size:16px;font-weight:600;display:flex}.pg-examples h2 svg{color:var(--accent)}.pg-examples>p{margin:0 0 10px}.pg-examples h3{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:12px 0 6px;font-size:12px;font-weight:600}.pg-example-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.pg-example{text-align:left;border:1px solid var(--rule);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.pg-example:hover{border-color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 14%, transparent)}.pg-example-go{color:var(--accent-strong);align-items:center;gap:4px;margin-top:4px;font-size:12.5px;font-weight:500;display:inline-flex}.pg-own{margin-top:22px!important}.pg-loaded{color:var(--ink-2);background:var(--accent-wash);border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:13px}.pg-choice{grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 16px;display:grid}.pg-choice button{text-align:left;border:1px solid var(--rule-strong);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex}.pg-choice button>svg{color:var(--ink-3);flex:none}.pg-choice button>span{flex-direction:column;gap:2px;display:flex}.pg-choice button>span>span{color:var(--ink-2);font-size:13px}.pg-choice button:hover{border-color:var(--accent)}.pg-choice button.is-on{border:2px solid var(--accent);background:var(--accent-wash);padding:13px 15px}.pg-choice button.is-on>svg{color:var(--accent-strong)}.pg-examples h3{margin-top:4px!important}.pg-examples>div{margin-bottom:14px}.pg-examples>div>p{margin:0 0 8px}.pg-examples-foot{margin-top:4px}@media (width<=700px){.pg-choice{grid-template-columns:1fr}}.lp{--lp-max:1180px;background:var(--surface);min-height:100vh;color:var(--ink);font-family:var(--font);overflow-x:hidden}.lp a{color:inherit;text-decoration:none}.lp-bar{z-index:10;padding:14px max(16px, calc((100vw - var(--lp-max)) / 2));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);align-items:center;gap:28px;display:flex;position:sticky;top:0}.lp-links{color:var(--ink-2);gap:22px;font-size:14px;display:flex}.lp-links a:hover{color:var(--accent)}.lp-bar-actions{gap:10px;margin-left:auto;display:flex}.lp-btn{white-space:nowrap;border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.lp-btn-lg{padding:11px 20px;font-size:15px}.lp-btn-primary{background:var(--brand);color:#fff!important}.lp-btn-primary:hover{background:var(--accent-strong)}.lp-btn-ghost{border-color:var(--rule-strong);background:var(--surface);color:var(--ink)!important}.lp-btn-ghost:hover{border-color:var(--accent);color:var(--accent)!important}.lp-btn:focus-visible,.lp a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lp-hero{max-width:var(--lp-max);grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;margin:0 auto;padding:72px 16px 56px;display:grid}.lp-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:12px;font-weight:600}.lp-hero h1{letter-spacing:-.02em;color:var(--brand-ink);margin:0;font-size:clamp(34px,4.6vw,54px);font-weight:600;line-height:1.06}.lp-hero h1 span{color:var(--accent);display:block}.lp-lead{color:var(--ink-2);max-width:34em;margin:22px 0 0;font-size:18px;line-height:1.55}.lp-cta{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.lp-cta-center{justify-content:center}.lp-proof{color:var(--ink-2);gap:10px;margin:32px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.lp-proof li{align-items:center;gap:10px;display:flex}.lp-proof svg{color:var(--accent);flex:none}.lp-chain{border:1px solid var(--rule);background:var(--surface-2);border-radius:14px;flex-direction:column;align-items:stretch;margin:0;padding:22px;display:flex;box-shadow:0 18px 40px -24px #1b2a3a59}.lp-chain-head{color:var(--ink-2);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:600;display:flex}.lp-chain-head svg{color:var(--accent)}.lp-node{border:1px solid #0000;border-radius:9px;flex-direction:column;gap:2px;padding:11px 14px;font-size:14px;display:flex}.lp-node span{color:var(--ink-2);font-size:12.5px}.lp-node strong{font-family:var(--mono);font-size:13.5px;font-weight:600}.lp-node-k{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)!important;font-size:10.5px!important}.lp-src{background:var(--surface);border-color:var(--rule-strong);text-align:center;align-items:center}.lp-code{background:var(--accent-wash);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.lp-job{background:var(--gap-wash);border-color:color-mix(in srgb, var(--gap) 25%, transparent)}.lp-risk{background:color-mix(in srgb, #c2410c 9%, var(--surface));text-align:center;border-color:#c2410c4d;flex-flow:wrap;justify-content:center;align-items:center;gap:4px 8px}.lp-risk svg{color:#c2410c}.lp-risk strong{font-family:var(--font)}.lp-risk span{flex-basis:100%}.lp-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.lp-link{background:var(--rule-strong);border-radius:1px;width:2px;height:18px;margin:4px auto}.lp-chain figcaption{color:var(--ink-3);text-align:center;margin-top:12px;font-size:12px}.lp-section{max-width:var(--lp-max);margin:0 auto;padding:64px 16px}.lp-section-head{max-width:680px;margin-bottom:30px}.lp-section h2,.lp-vision h2{letter-spacing:-.015em;color:var(--brand-ink);margin:0;font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.15}.lp-section-head p{color:var(--ink-2);margin:12px 0 0;font-size:16px;line-height:1.55}.lp-section-head code{font-family:var(--mono);font-size:.92em}.lp-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.lp-card{border:1px solid var(--rule);background:var(--surface-2);border-radius:12px;padding:20px}.lp-card-top{justify-content:space-between;align-items:center;display:flex}.lp-card-icon{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.lp-status{border-radius:10px;padding:3px 8px;font-size:11.5px;font-weight:600}.lp-status.available{background:var(--accent-wash);color:var(--accent-strong)}.lp-status.roadmap{background:var(--surface-3);color:var(--ink-3)}.lp-card h3{margin:16px 0 0;font-size:18px;font-weight:600}.lp-card-area{color:var(--ink-3)!important;margin:2px 0 10px!important;font-size:12.5px!important}.lp-card p{color:var(--ink-2);margin:0;font-size:14.5px;line-height:1.5}.lp-family{padding-top:24px}.lp-table{border-collapse:collapse;width:100%;font-size:15px}.lp-table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--rule-strong);padding:10px 12px;font-size:12.5px;font-weight:600}.lp-table td{border-bottom:1px solid var(--rule);padding:13px 12px}.lp-table td:nth-child(2){font-weight:500}.lp-num{font-family:var(--mono);color:var(--ink-3);width:90px}.lp-flow{flex-direction:column;align-items:stretch;gap:0;display:flex}.lp-tier{border:1px solid var(--rule);text-align:center;background:var(--surface);border-radius:12px;padding:18px 22px}.lp-tier h3{margin:0 0 12px;font-size:16px;font-weight:600}.lp-engine{background:var(--accent-wash);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.lp-outcomes{background:var(--surface-2)}.lp-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lp-chip{border:1px dashed var(--rule-strong);color:var(--ink-3);border-radius:16px;align-items:center;gap:6px;padding:5px 12px;font-size:13.5px;display:inline-flex}.lp-chip.on{color:var(--ink);background:var(--surface);border-style:solid}.lp-note{color:var(--ink-3);margin:10px 0 0;font-size:12.5px}.lp-steps{flex-wrap:wrap;justify-content:center;gap:6px 0;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.lp-steps li{align-items:center;display:flex}.lp-steps li+li:before{content:"→";color:var(--accent);margin:0 12px}.lp-modules{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.lp-modules span{background:var(--brand);color:#fff;border-radius:8px;padding:9px 6px;font-size:14px;font-weight:500}.lp-arrow{text-align:center;color:var(--ink-3);font-size:18px;line-height:30px}.lp-impact-sec{border-top:1px solid var(--rule)}.lp-why{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.lp-why article{border-top:3px solid var(--accent);padding:4px 0 0}.lp-why h3{margin:14px 0 6px;font-size:17px;font-weight:600}.lp-why p{color:var(--ink-2);margin:0;font-size:14.5px;line-height:1.55}.lp-vision{text-align:center;background:var(--brand);color:#fff;padding:80px 16px 88px}.lp-vision h2{color:#fff;max-width:820px;margin:0 auto}.lp-vision .lp-kicker{color:#ffffffa6}.lp-vision .lp-lead{color:#ffffffc7;margin:18px auto 0}.lp-vision .lp-btn-primary{background:#fff;color:var(--brand)!important}.lp-vision .lp-btn-primary:hover{background:var(--accent-wash)}.lp-foot{padding:22px max(16px, calc((100vw - var(--lp-max)) / 2));border-top:1px solid var(--rule);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:18px;font-size:13px;display:flex}.lp-foot a{color:var(--accent);margin-left:auto}.lp-oracle{border-top:1px solid var(--rule)}.lp-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.lp-stat{border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);background:var(--accent-wash);border-radius:12px;flex-direction:column-reverse;justify-content:flex-end;gap:6px;padding:18px;display:flex}.lp-stat dd{font-family:var(--mono);color:var(--brand-ink);letter-spacing:-.01em;margin:0;font-size:clamp(24px,2.6vw,30px);font-weight:600}.lp-stat dt{color:var(--ink-2);font-size:13.5px;line-height:1.45}.lp-stats-note{align-items:flex-start;gap:8px;max-width:760px;margin:14px 0 28px;line-height:1.5;display:flex}.lp-stats-note svg{color:var(--accent);flex:none;margin-top:2px}.lp-proof-cards .lp-card h3{margin-bottom:8px}.lp-layers-title{color:var(--brand-ink);margin:36px 0 0;font-size:17px;font-weight:600}.lp-layers{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.lp-layer{border:1px solid var(--rule);background:var(--surface);border-radius:12px;flex-direction:column;padding:18px;display:flex}.lp-layer-top{color:var(--accent);justify-content:space-between;align-items:center;display:flex}.lp-layer-k{width:26px;height:26px;font-family:var(--mono);background:var(--brand);color:#fff;border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.lp-layer h3{margin:12px 0 6px;font-size:16px;font-weight:600}.lp-layer p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.5}.lp-layer .lp-origin{color:var(--ink-3);margin-top:auto;padding-top:12px;font-size:12.5px}.lp-origin code{font-family:var(--mono);background:var(--surface-3);color:var(--ink);border-radius:5px;padding:1px 6px;font-size:12px}.lp-layer-gap{background:var(--gap-wash);border-color:color-mix(in srgb, var(--gap) 35%, transparent)}.lp-layer-gap .lp-layer-top{color:var(--gap)}.lp-layer-gap .lp-layer-k{background:var(--gap)}.lp-cover{border-top:1px solid var(--rule)}.lp-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.lp-cover-group{border:1px solid var(--rule);background:var(--surface-2);border-radius:12px;min-width:0;padding:18px}.lp-cover-group h3{align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:600;display:flex}.lp-cover-group h3 svg{color:var(--accent)}.lp-cover-chips{flex-wrap:wrap;align-items:flex-start;gap:7px;margin:0;padding:0;list-style:none;display:flex}.lp-cover-group:last-child:nth-child(odd){grid-column:1/-1}.lp-cchip{border:1px solid var(--rule-strong);background:var(--surface);max-width:100%;color:var(--ink);overflow-wrap:anywhere;border-radius:14px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;line-height:1.3;display:inline-flex}.lp-cchip.ok:before{content:"";background:var(--proven);border-radius:50%;flex:none;width:6px;height:6px}.lp-cchip.gap{color:var(--ink-3);background:0 0;border-style:dashed}.lp-cchip-tag{white-space:nowrap;border-radius:8px;padding:1px 6px;font-size:10.5px;font-weight:600}.lp-cchip.partial .lp-cchip-tag,.partial-k{background:var(--gap-wash);color:var(--gap)}.lp-cchip.gap .lp-cchip-tag,.gap-k{background:var(--surface-3);color:var(--ink-3)}.lp-legend{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:14px;display:flex}.lp-legend .gap-k{margin-left:10px}.lp-compare{border-top:1px solid var(--rule)}.lp-compare-table{table-layout:fixed;font-size:14px}.lp-compare-table th[scope=row]{text-align:left;color:var(--ink);border-bottom:1px solid var(--rule);vertical-align:top;padding:13px 12px;font-size:14px;font-weight:600}.lp-compare-table td{vertical-align:top;color:var(--ink-2);line-height:1.45}.lp-compare-table td:nth-child(2){font-weight:400}.lp-compare-table .lp-us{background:var(--accent-wash);color:var(--ink);font-weight:500}.lp-compare-table thead th:nth-child(2){color:var(--accent-strong)}.lp-compare-note{max-width:760px;margin-top:14px;line-height:1.5}.lp-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=960px){.lp-hero{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:48px}.lp-stats,.lp-layers{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lp-cover-grid{grid-template-columns:minmax(0,1fr)}.lp-compare-table,.lp-compare-table tbody,.lp-compare-table tr,.lp-compare-table th[scope=row],.lp-compare-table td{width:auto;display:block}.lp-compare-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.lp-compare-table tr{border:1px solid var(--rule);border-radius:12px;margin-bottom:12px;overflow:hidden}.lp-compare-table th[scope=row]{background:var(--surface-2)}.lp-compare-table td{border-bottom:1px solid var(--rule)}.lp-compare-table td:last-child{border-bottom:0}.lp-compare-table td:before{content:attr(data-label);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:11.5px;font-weight:600;display:block}.lp-cards,.lp-why{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lp-modules{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-links{display:none}}@media (width<=600px){.lp-cards,.lp-why,.lp-stats,.lp-layers,.lp-pair{grid-template-columns:minmax(0,1fr)}.lp-bar-actions{gap:6px}.lp-bar-actions .lp-btn{padding:7px 10px;font-size:13px}.lp-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-num{width:56px}}@media (prefers-reduced-motion:reduce){.lp-btn{transition:none}}.lp-shots{border-top:1px solid var(--rule);gap:28px;display:grid}.lp-shot{gap:10px;margin:0;display:grid}.lp-shot img{border:1px solid var(--rule);background:var(--surface);border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 1px 2px #0000000f,0 8px 24px #0000000f}.lp-shot figcaption{color:var(--ink-2);max-width:72ch;font-size:14.5px;line-height:1.55}.lp-btn-light{background:#fff;margin-top:26px;color:var(--brand)!important}.lp-btn-light:hover{background:var(--accent-wash)}.lp-showcase{color:#fff;background:#121b26;padding:72px 16px}.lp-showcase-in{max-width:var(--lp-max);grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);align-items:center;gap:44px;margin:0 auto;display:grid}.lp-showcase .lp-kicker{color:#fff9}.lp-showcase h2{letter-spacing:-.015em;margin:0;font-size:clamp(24px,2.6vw,32px);font-weight:600;line-height:1.18}.lp-showcase-copy>p{color:#ffffffc2;margin:16px 0 0;font-size:15.5px;line-height:1.6}.lp-showcase-stats{gap:12px;margin:26px 0 0;display:grid}.lp-showcase-stats div{flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;gap:12px;display:flex}.lp-showcase-stats dd{font-family:var(--mono);color:#7fd1ae;min-width:4.2em;margin:0;font-size:22px;font-weight:600}.lp-showcase-stats dt{color:#ffffffb3;font-size:13.5px}.lp-showcase-video{margin:0}.lp-showcase-video .md-video{background:#1b2530;border:1px solid #2a3a4c;border-radius:12px;box-shadow:0 30px 60px -30px #000000b3}.lp-showcase-video figcaption{color:#ffffff8c;margin-top:10px;font-size:12.5px}.lp-tour{border-top:1px solid var(--rule)}.lp-tour-grid{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:28px;display:grid}.lp-tour-tabs{flex-direction:column;gap:4px;display:flex;position:sticky;top:80px}.lp-tour-tabs button{text-align:left;font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:12px;padding:12px 14px;font-size:15px;display:flex}.lp-tour-tabs button:hover{background:var(--surface-2);color:var(--ink)}.lp-tour-tabs button[aria-selected=true]{background:var(--accent-wash);border-color:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--brand-ink);font-weight:600}.lp-tour-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lp-tour-n{font-family:var(--mono);color:var(--ink-3);font-size:12px}.lp-tour-frame{border:1px solid var(--rule);background:var(--surface-2);border-radius:12px;overflow:hidden;box-shadow:0 18px 40px -24px #1b2a3a59}.lp-tour-panel h3{color:var(--brand-ink);margin:20px 0 6px;font-size:19px;font-weight:600}.lp-tour-panel p{color:var(--ink-2);max-width:70ch;margin:0;font-size:15px;line-height:1.6}.lp-more{align-items:center;gap:6px;margin-top:12px;font-size:14px;font-weight:500;display:inline-flex;color:var(--accent)!important}.lp-more:hover{text-decoration:underline!important}.lp-screens{border-top:1px solid var(--rule)}.lp-screens-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.lp-screen{align-content:start;gap:10px;margin:0;display:grid}.lp-screen-big{grid-column:span 2}.lp-screen figcaption{color:var(--ink-2);font-size:13.5px;line-height:1.5}.lp-screen figcaption strong{color:var(--ink);margin-bottom:2px;font-weight:600;display:block}.lp-foot-docs{margin-left:auto}.lp-foot-docs+a{margin-left:0!important}.md-video{background:var(--surface-2);width:100%;height:auto;display:block}.md-shot{border:1px solid var(--rule);cursor:zoom-in;background:var(--surface);border-radius:9px;width:100%;padding:0;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden;box-shadow:0 1px 2px #0000000d,0 8px 20px #0000000d}.md-shot:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000000f,0 14px 30px #0000001a}.md-shot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.md-shot img{width:100%;height:auto;display:block}.md-dialog{background:var(--surface);border:0;border-radius:12px;width:100%;max-width:min(96vw,1600px);padding:0;overflow:visible}.md-dialog::backdrop{background:#0a1018c7}.md-dialog img{border-radius:12px;width:100%;height:auto;display:block}.md-close{color:#111;cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:-14px;right:-14px;box-shadow:0 4px 12px #0000004d}@media (width<=960px){.lp-showcase-in,.lp-tour-grid{grid-template-columns:minmax(0,1fr)}.lp-tour-tabs{flex-direction:row;padding-bottom:4px;position:static;overflow-x:auto}.lp-tour-tabs button{flex:none}.lp-screens-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=600px){.lp-screens-grid{grid-template-columns:minmax(0,1fr)}.lp-screen-big{grid-column:auto}.md-close{top:6px;right:6px}}@media (prefers-reduced-motion:reduce){.md-shot{transition:none}.md-shot:hover{transform:none}}.hf{border:1px solid var(--rule);background:var(--surface-2);border-radius:14px;gap:14px;min-width:0;margin:0;padding:20px;display:grid;box-shadow:0 18px 40px -24px #1b2a3a59}.hf-name{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.hf-seg{text-align:left;border:1px solid var(--rule);background:var(--surface);font:inherit;cursor:pointer;color:var(--ink-3);border-radius:9px;gap:2px;min-width:0;padding:8px 10px;transition:background .25s,border-color .25s,color .25s;display:grid}.hf-seg:hover{border-color:var(--accent)}.hf-seg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hf-key{letter-spacing:-.02em;color:var(--brand-ink);font-size:22px;font-weight:600;line-height:1;transition:color .25s}.hf-word{font-size:11.5px;line-height:1.25}.hf-seg.done .hf-key{color:var(--accent)}.hf-seg.on{background:var(--brand);border-color:var(--brand);color:#fffc}.hf-seg.on .hf-key{color:#fff}.hf-graph{width:100%;height:auto;display:block;overflow:visible}.hf-node rect{fill:var(--surface);stroke:var(--rule-strong);stroke-width:1px;transition:fill .3s,stroke .3s}.hf-node.hf-p rect{fill:var(--accent-wash);stroke:color-mix(in srgb, var(--accent) 40%, transparent)}.hf-node.hf-c rect{fill:var(--gap-wash);stroke:color-mix(in srgb, var(--gap) 40%, transparent)}.hf-n{font-family:var(--mono);fill:var(--ink);font-size:12.5px;font-weight:600}.hf-k{fill:var(--ink-3);font-size:10.5px}.hf-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:1;stroke-dashoffset:0;transition:opacity .3s}.hf-line.dashed{stroke:var(--gap);stroke-dasharray:none}.hf-arrowhead,.hf-dot{fill:var(--accent)}.hf-scan rect{fill:none;stroke:var(--accent);stroke-width:2.5px;opacity:0}.hf-badge{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .3s}.hf-badge rect{fill:var(--surface);stroke-width:1.2px}.hf-badge text{font-size:10px;font-weight:600}.hf-badge.hf-proven rect{stroke:var(--proven)}.hf-badge.hf-proven text{fill:var(--proven)}.hf-badge.hf-cond rect{stroke:#7c3aed}.hf-badge.hf-cond text{fill:#7c3aed}.hf-s0 .hf-line{animation:hf-draw .7s cubic-bezier(.4, 0, .2, 1) calc(var(--i) * .5s + .2s) both}.hf-s0 .hf-line.dashed{stroke-dasharray:1}.hf-s0 .hf-arrowhead{animation:.3s 2.2s both hf-fade}.hf-s1 .hf-scan rect{animation:1.4s ease-in-out infinite hf-pulse}.hf-s1 .hf-node.hf-c rect{stroke:var(--gap);stroke-width:2px}.hf-s1 .hf-line.dashed{stroke-width:3px;stroke-dasharray:5 4;animation:.8s linear infinite hf-march}.hf-s2 .hf-line{opacity:.45}.hf-s2 .hf-line.dashed,.hf-s3 .hf-line.dashed{stroke-dasharray:5 4}.hf-s3 .hf-badge{animation:.45s cubic-bezier(.3,1.4,.5,1) both hf-pop}.hf-s1 .hf-line.dashed,.hf-s2 .hf-line.dashed,.hf-s3 .hf-line.dashed{stroke:var(--gap)}@keyframes hf-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes hf-fade{0%{opacity:0}to{opacity:1}}@keyframes hf-pulse{0%,to{opacity:.15}50%{opacity:1}}@keyframes hf-march{to{stroke-dashoffset:-9px}}@keyframes hf-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.hf-panel{background:var(--surface);border:1px solid var(--rule);min-height:108px;color:var(--ink-2);border-radius:10px;padding:12px 14px;font-size:13.5px;line-height:1.5;animation:.4s both hf-fade}.hf-panel p{margin:0}.hf-panel strong{color:var(--ink)}.hf-panel code{font-family:var(--mono);font-size:12px}.hf-sql{gap:4px;display:grid}.hf-sql code{overflow-wrap:anywhere;border-radius:6px;padding:3px 8px;display:block}.hf-from{background:var(--surface-3);color:var(--ink-2)}.hf-to{background:var(--accent-wash);color:var(--brand-ink);font-weight:600;animation:.4s .7s both hf-fade}.hf-sql p{margin-top:2px;font-size:12.5px}.hf figcaption{color:var(--ink-3);text-align:center;font-size:12px}@media (width<=600px){.hf{padding:14px}.hf-name{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hf-panel{min-height:132px}}@media (prefers-color-scheme:dark){.hf-seg.on{background:var(--accent-strong);border-color:var(--accent-strong)}}@media (prefers-reduced-motion:reduce){.hf *,.hf-panel{transition:none!important;animation:none!important}.hf-badge{opacity:1}}.pr-head{padding-bottom:8px}.pr-head h1{color:var(--brand-ink);max-width:20em;margin:0;font-size:clamp(28px,4vw,40px);line-height:1.15}.pr-section{padding-top:28px;padding-bottom:28px}.pr-section h2{color:var(--brand-ink);margin:0 0 16px;font-size:20px}.pr-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.pr-card{border:1px solid var(--rule);background:var(--surface);border-radius:12px;flex-direction:column;padding:22px;display:flex;position:relative}.pr-card.is-featured{border:2px solid var(--accent);box-shadow:0 8px 28px color-mix(in srgb, var(--accent) 14%, transparent)}.pr-flag{background:var(--accent);color:#fff;border-radius:10px;padding:3px 10px;font-size:11.5px;font-weight:600;position:absolute;top:-11px;left:22px}.pr-card h3{color:var(--brand-ink);margin:0;font-size:17px}.pr-blurb{color:var(--ink-2);min-height:2.9em;margin:6px 0 14px;font-size:14px;line-height:1.45}.pr-price{color:var(--ink-3);margin:0 0 16px;font-size:13px}.pr-price strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:4px;font-size:32px;font-weight:600}.pr-cta{justify-content:center;margin-bottom:18px}.pr-card ul{color:var(--ink-2);gap:9px;margin:0;padding:0;font-size:14px;line-height:1.4;list-style:none;display:grid}.pr-card li{align-items:flex-start;gap:8px;display:flex}.pr-card li svg{color:var(--proven);flex:none;margin-top:2px}.pr-scroll{border:1px solid var(--rule);background:var(--surface);border-radius:12px;overflow-x:auto}.pr-table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}.pr-table th,.pr-table td{border-bottom:1px solid var(--rule);text-align:center;padding:11px 14px}.pr-table thead th{color:var(--ink-2);background:var(--surface-2);font-size:13px;font-weight:600}.pr-table tbody th{text-align:left;color:var(--ink);font-weight:500}.pr-table tr:last-child th,.pr-table tr:last-child td{border-bottom:0}.pr-yes{color:var(--proven);vertical-align:middle}.pr-no{color:var(--ink-3);vertical-align:middle}.lp-links a[aria-current=page]{color:var(--ink);font-weight:600}@media (width<=900px){.pr-grid{grid-template-columns:minmax(0,1fr)}.pr-blurb{min-height:0}}.pr-modal-back{z-index:50;background:#0f172073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pr-modal{background:var(--surface);border-radius:12px;flex-direction:column;gap:12px;width:min(480px,100%);max-height:calc(100vh - 32px);padding:24px;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 50px #00000040}.pr-modal h3{color:var(--brand-ink);margin:0;font-size:20px}.pr-modal p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.5}.pr-modal label{color:var(--ink-2);flex-direction:column;gap:5px;font-size:13px;display:flex}.pr-modal input,.pr-modal select,.pr-modal textarea{font:inherit;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:6px;padding:9px 10px;font-size:14px}.pr-modal textarea{resize:vertical}.pr-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.pr-close{cursor:pointer;color:var(--ink-3);background:0 0;border:0;position:absolute;top:14px;right:14px}.pr-hp{opacity:0;width:1px;height:1px;position:absolute;left:-10000px}.pr-error{color:var(--gap)!important}.pr-modal .lp-btn{justify-content:center}.lp-get-card{flex-direction:column;gap:8px;display:flex}.lp-get-card .lp-btn{align-self:flex-start;margin-top:auto}.lp-get-points{gap:4px;margin:4px 0 6px;padding-left:18px;display:grid}.lp-get-code{color:#e6edf3;white-space:pre-wrap;word-break:break-all;background:#0f1720;border-radius:6px;margin:4px 0;padding:10px 12px;font:13px/1.5 IBM Plex Mono,monospace}.lp{overflow-x:clip}.lp-get-card{min-width:0}.pr-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pr-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}@media (width<=1100px){.pr-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.pr-grid-4,.pr-grid-2{grid-template-columns:minmax(0,1fr)}}.pr-sub{margin:28px 0 14px;font-size:18px}.lp-section,.lp-showcase{scroll-margin-top:72px}.dc-brand{border-left:1px solid var(--rule);align-items:center;gap:6px;padding-left:18px;font-size:14px;font-weight:600;display:inline-flex;color:var(--ink-2)!important}.dc-menu-btn{font:inherit;cursor:pointer;display:none!important}.dc-layout{max-width:var(--lp-max);grid-template-columns:220px minmax(0,1fr);gap:48px;margin:0 auto;padding:0 16px;display:grid}.dc-nav{align-self:start;max-height:calc(100vh - 64px);padding:32px 0;position:sticky;top:64px;overflow-y:auto}.dc-nav-group{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 6px;font-size:11.5px;font-weight:600}.dc-nav>div:first-child .dc-nav-group{margin-top:0}.dc-nav ul{gap:1px;margin:0;padding:0;list-style:none;display:grid}.dc-nav a{border-left:2px solid #0000;border-radius:7px;padding:6px 10px;font-size:14.5px;display:block;color:var(--ink-2)!important}.dc-nav a:hover{background:var(--surface-2);color:var(--ink)!important}.dc-nav a[aria-current=page]{background:var(--accent-wash);border-left-color:var(--accent);border-radius:0 7px 7px 0;font-weight:600;color:var(--brand-ink)!important}.dc-main{min-width:0;max-width:820px;padding:40px 0 72px}.dc-main h1{letter-spacing:-.02em;color:var(--brand-ink);margin:0;font-size:clamp(28px,3.4vw,38px);font-weight:600;line-height:1.12}.dc-lead{color:var(--ink-2);margin:14px 0 0;font-size:18px;line-height:1.55}.dc-body{color:var(--ink);margin-top:28px;font-size:15.5px;line-height:1.65}.dc-body h2{color:var(--brand-ink);letter-spacing:-.01em;margin:36px 0 10px;font-size:21px;font-weight:600}.dc-body p,.dc-body ul,.dc-body ol{margin:0 0 14px}.dc-body ul,.dc-body ol{padding-left:22px}.dc-body li+li{margin-top:6px}.dc-body a{text-underline-offset:2px;color:var(--accent)!important;text-decoration:underline!important}.dc-body code,.dc-body kbd{font-family:var(--mono);background:var(--surface-3);border-radius:5px;padding:1px 6px;font-size:.88em}.dc-body kbd{border:1px solid var(--rule-strong);background:var(--surface);border-bottom-width:2px}.dc-body .md-video{border:1px solid var(--rule);border-radius:12px;margin:4px 0 22px;box-shadow:0 14px 34px -22px #1b2a3a66}.dc-body .md-shot{margin:6px 0 22px}.dc-ui{color:var(--brand-ink);white-space:nowrap;font-weight:600}.dc-tip{border-left:3px solid var(--accent);background:var(--accent-wash);color:var(--ink-2);border-radius:0 9px 9px 0;margin:22px 0;padding:14px 16px;font-size:14.5px}.dc-cards{grid-template-columns:1fr 1fr;gap:12px;list-style:none;display:grid;padding:0!important}.dc-cards li{border:1px solid var(--rule);background:var(--surface-2);border-radius:10px;gap:4px;padding:14px 16px;display:grid;margin:0!important}.dc-cards a{font-weight:600;text-decoration:none!important}.dc-cards span{color:var(--ink-2);font-size:14px;line-height:1.5}.dc-table{border-collapse:collapse;width:100%;margin:6px 0 18px;font-size:14.5px}.dc-table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--rule-strong);padding:8px 10px;font-size:12.5px;font-weight:600}.dc-table td{border-bottom:1px solid var(--rule);vertical-align:top;padding:10px;line-height:1.5}.dc-table td:first-child{white-space:nowrap;font-weight:500}.dc-cli td:first-child code{background:0 0;padding:0}.dc-dl{gap:12px;margin:0 0 18px;display:grid}.dc-dl dt{color:var(--brand-ink);font-weight:600}.dc-dl dd{color:var(--ink-2);margin:2px 0 0}.dc-two{grid-template-columns:1fr 1fr;gap:28px;display:grid}.dc-shots{grid-template-columns:1fr 1fr;gap:14px;display:grid}.dc-pill{border:1px solid;border-radius:10px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.dc-pill.proven{color:var(--proven)}.dc-pill.conditional{color:#7c3aed}.dc-pill.observed{color:var(--observed,#4b6a9b)}.dc-pill.assumed{color:var(--assumed-ink,#b04848)}.dc-pill.gap{color:var(--gap)}.dc-pager{border-top:1px solid var(--rule);justify-content:space-between;gap:12px;margin-top:48px;padding-top:22px;display:flex}.dc-pager a{border:1px solid var(--rule);border-radius:10px;align-items:center;gap:10px;padding:12px 16px;display:inline-flex;color:var(--ink)!important}.dc-pager a:hover{border-color:var(--accent)}.dc-pager a.next{text-align:right;margin-left:auto}.dc-pager small{color:var(--ink-3);font-size:12px;display:block}.dc-pager span{font-weight:600}@media (width<=860px){.dc-layout{grid-template-columns:1fr;gap:0}.dc-menu-btn{display:inline-flex!important}.dc .lp-bar-actions .lp-btn-ghost:not(.dc-menu-btn){display:none}.dc-nav{border-bottom:1px solid var(--rule);max-height:none;padding:16px 0 0;display:none;position:static}.dc-nav.open{display:block}.dc-cards,.dc-two,.dc-shots{grid-template-columns:1fr}.dc-table td:first-child{white-space:normal}}@media (width<=600px){.dc-brand{display:none}}.dc-code{color:#e6edf3;background:#0f1720;border-radius:8px;margin:10px 0 16px;padding:12px 14px;font:13px/1.55 IBM Plex Mono,monospace;overflow-x:auto}.dc-code code{color:inherit;padding:0;background:0 0!important}
