@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")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(./assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@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")}@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")}@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")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(./assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}.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-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--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}.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));min-width:5px;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{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.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__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%}.lsv{--bg:#fafafa;--surface:#fff;--surface-2:#f4f4f5;--line:#e4e4e7;--line-strong:#d4d4d8;--fg:#18181b;--muted:#52525b;--accent:#1e3a8a;--accent-ink:#172554;--accent-soft:#1e3a8a14;--on-accent:#fff;--fk:#71717a;--both:#0f766e;--declared:#b45309;--warning:#b45309;--error:#b91c1c;--fact:#15803d;--inferred:#7c3aed;--missing:#b91c1c;--extra:#15803d;--changed:#b45309;--selected:#18181b;--dot:#d4d4d8;--canvas-glow:#1e3a8a0d;--shadow:0 1px 2px #18181b0d, 0 4px 14px #18181b0f;--glow:0 0 0 1px #1e3a8a59, 0 0 20px #1e3a8a1f;--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box;background:var(--bg);height:100%;min-height:420px;color:var(--fg);font:13px/1.45 var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;container-type:inline-size}.lsv[data-theme=dark]{--bg:#09090b;--surface:#141417;--surface-2:#1c1c20;--line:#2a2a30;--line-strong:#34343c;--fg:#fafafa;--muted:#a1a1aa;--accent:#6d8dff;--accent-ink:#9db4ff;--accent-soft:#6d8dff1f;--on-accent:#09090b;--fk:#8b8b95;--both:#2dd4bf;--declared:#f59e0b;--warning:#f59e0b;--error:#f87171;--fact:#4ade80;--inferred:#c4b5fd;--missing:#f87171;--extra:#4ade80;--changed:#fbbf24;--selected:#fafafa;--dot:#24242a;--canvas-glow:#6d8dff17;--shadow:0 1px 2px #0000004d, 0 6px 18px #00000047;--glow:0 0 0 1px #6d8dff66, 0 0 20px #6d8dff26;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.lsv *,.lsv :before,.lsv :after{box-sizing:border-box}.lsv{position:relative;overflow:hidden}.lsv ::selection{background:var(--accent-soft)}.lsv button,.lsv input,.lsv select,.lsv a{font:inherit;color:inherit}.lsv button,.lsv select{border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:8px;padding:6px 10px;transition:border-color .2s,color .2s,background .2s,box-shadow .2s}.lsv button:hover,.lsv select:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent);color:var(--accent-ink)}.lsv button:disabled{opacity:.5;cursor:default}.lsv :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lsv kbd{font:10px var(--font-mono);border:1px solid var(--line);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 5px}.lsv code{font:11px var(--font-mono);overflow-wrap:break-word}.lsv small,.lsv .muted{color:var(--muted)}.lsv h2{letter-spacing:-.2px;overflow-wrap:break-word;margin:0 0 6px;font-size:15px;font-weight:700}.lsv h3{font:500 10px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}.lsv h4{font:600 11px var(--font-mono);color:var(--accent-ink);margin:8px 0 4px}.lsv .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lsv .icon{vertical-align:-3px;flex:none}.lsv .icon-button{flex:none;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.lsv-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:15;align-items:center;gap:14px;min-width:0;padding:10px 16px;display:flex;position:relative}.lsv .brand{flex:none;align-items:center;gap:8px;display:flex}.lsv .brand-mark{fill:none;stroke:var(--accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.lsv h1{letter-spacing:-.3px;white-space:nowrap;margin:0;font-size:15px;font-weight:700}.lsv .actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.lsv .header-button,.lsv .header-menu .menu__trigger{align-items:center;gap:6px;height:34px;display:inline-flex}.lsv .header-menu.icon-only>.menu__trigger{justify-content:center;width:34px;padding:0}.lsv select.connection{max-width:280px;height:34px}.lsv .search{flex:1;align-items:center;min-width:0;max-width:420px;display:flex;position:relative}.lsv .search>.icon{color:var(--muted);pointer-events:none;position:absolute;left:10px}.lsv .search input{border:1px solid var(--line);background:var(--bg);width:100%;height:36px;color:var(--fg);border-radius:8px;padding:0 34px;transition:border-color .2s,box-shadow .2s}.lsv .search input::placeholder{color:var(--muted)}.lsv .search input:focus{border-color:color-mix(in srgb, var(--accent) 60%, transparent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.lsv .search>kbd{pointer-events:none;position:absolute;right:9px}.lsv .search:focus-within>kbd{display:none}.lsv .search__results{background:var(--surface);border:1px solid var(--line);max-height:min(420px,60vh);box-shadow:var(--shadow);z-index:30;border-radius:10px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.lsv .search__result{cursor:pointer;border-radius:6px;grid-template-columns:auto minmax(0,1fr);gap:0 10px;padding:6px 8px;display:grid}.lsv .search__result[aria-selected=true]{background:var(--accent-soft)}.lsv .search__kind{font:500 9px var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--accent-ink);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:4px;grid-row:span 2;align-self:center;padding:1px 5px}.lsv .search__label{font:500 12px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lsv .search__result small{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.lsv .search__empty{color:var(--muted);padding:10px}.lsv .menu{position:relative}.lsv .menu__list{background:var(--surface);border:1px solid var(--line);min-width:240px;max-width:min(320px,100vw - 24px);max-height:min(70vh,520px);box-shadow:var(--shadow);z-index:30;border-radius:12px;flex-direction:column;gap:1px;padding:6px;display:flex;position:absolute;overflow:auto}.lsv .menu__list--above{bottom:calc(100% + 10px)}.lsv .menu__list--below{top:calc(100% + 6px)}.lsv .menu__list--start{left:0}.lsv .menu__list--end{right:0}.lsv .menu__label{font:500 10px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);justify-content:space-between;padding:8px 10px 4px;display:flex}.lsv .menu__separator{background:var(--line);height:1px;margin:4px 2px}.lsv .menu__item{text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13px;display:flex}.lsv .menu__item:hover,.lsv .menu__item:focus-visible{background:var(--surface-2);outline:none}.lsv .menu__check{width:14px;color:var(--accent-ink);flex:none}.lsv .menu__text{white-space:normal;flex-direction:column;flex:1;min-width:0;display:flex}.lsv .menu__text small{font-size:11px}.lsv .menu__item .line-key{vertical-align:middle;margin-right:6px}.lsv-main{--default-panel:380px;grid-template-columns:minmax(0, 1fr) var(--lsv-panel,var(--default-panel));flex:1;min-height:0;display:grid;position:relative}.lsv.narrow .lsv-main{grid-template-columns:minmax(0,1fr)}.lsv .canvas{background-color:var(--bg);background-image:radial-gradient(ellipse at 50% 35%, var(--canvas-glow), transparent 65%);min-width:0;position:relative;overflow:hidden}.lsv .canvas:focus-visible{outline-offset:-2px}.lsv .react-flow{--xy-background-color:transparent;background:0 0}.lsv .react-flow__pane{cursor:crosshair}.lsv.pan-mode .react-flow__pane,.lsv.narrow .react-flow__pane{cursor:grab}.lsv .react-flow__pane.dragging{cursor:grabbing}.lsv.space-pan .react-flow__node{cursor:grab}.lsv .react-flow__node{cursor:default}.lsv .react-flow__attribution{background:0 0;font-size:9px}.lsv .react-flow__attribution a{color:var(--muted)}.lsv .react-flow__selection,.lsv .react-flow__nodesselection-rect{background:var(--accent-soft);border:1px dashed var(--accent)}.lsv .minimap{--xy-minimap-background-color:var(--surface);--xy-minimap-mask-background-color:color-mix(in srgb, var(--bg) 60%, transparent);--xy-minimap-node-background-color:var(--line-strong);--xy-minimap-node-stroke-color:transparent;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;margin:0 14px 14px 0;overflow:hidden}.lsv .edge-markers{width:0;height:0;position:absolute}.lsv .marker.orm{fill:var(--accent)}.lsv .marker-stroke{stroke-width:1.6px;stroke-linecap:round}.lsv .marker-stroke.fk{stroke:var(--fk)}.lsv .marker-stroke.both{stroke:var(--both)}.lsv .marker-stroke.orm{stroke:var(--accent)}.lsv .marker-stroke.declared{stroke:var(--declared)}.lsv .marker-stroke.inferred{stroke:var(--inferred)}.lsv .table-handle{opacity:0;pointer-events:none;top:27px}.lsv .panel{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.lsv .tabs{border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;gap:2px;padding:0 10px;display:flex;overflow-x:auto}.lsv .tabs.tabs--compact{gap:0;padding:0 4px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8px calc(100% - 8px),#0000);mask-image:linear-gradient(90deg,#0000,#000 8px calc(100% - 8px),#0000)}.lsv .tabs--compact .tab{padding-left:8px;padding-right:8px}.lsv .tabs--compact .tab:not([aria-selected=true]) .tab__label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lsv .tab>.icon{vertical-align:0}.lsv .tabs:not(.tabs--compact) .tab>.icon{display:none}.lsv .tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;align-items:center;gap:6px;padding:12px 10px 10px;font-weight:500;display:inline-flex;position:relative}.lsv .tab:hover{color:var(--fg);border-color:#0000}.lsv .tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}.lsv .tab__count{font:500 10px var(--font-mono);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:0 6px}.lsv .tab__count--warning{background:color-mix(in srgb, var(--warning) 15%, transparent);color:var(--warning)}.lsv .panel__body{overflow-wrap:break-word;flex:1;min-height:0;padding:14px 16px 24px;line-height:1.55;overflow:hidden auto}.lsv .resizer{top:0;bottom:0;right:calc(var(--lsv-panel,var(--default-panel)) - 4px);z-index:7;cursor:col-resize;touch-action:none;width:8px;position:absolute}.lsv .resizer:hover,.lsv .resizer:focus-visible{background:linear-gradient(to right, transparent 3px, var(--accent) 3px, var(--accent) 5px, transparent 5px);outline:none}.lsv .segmented{background:var(--surface-2);border-radius:9px;gap:2px;margin-bottom:10px;padding:3px;display:flex}.lsv .segmented button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:1;padding:6px 8px;font-size:12px;font-weight:500}.lsv .segmented button[aria-checked=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #00000014}.lsv .filter input{border:1px solid var(--line);background:var(--bg);border-radius:8px;width:100%;height:34px;margin-bottom:8px;padding:0 10px}.lsv .filter input:focus{border-color:color-mix(in srgb, var(--accent) 60%, transparent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.lsv .empty-note{padding:8px 2px}.lsv .browse__rows{margin:0 -6px;padding:0;list-style:none}.lsv .browse__group{font:500 10px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:10px 8px 4px}.lsv .browse__row{text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:10px;width:100%;padding:7px 8px;display:flex}.lsv .browse__row:hover{background:var(--surface-2);color:var(--fg);border-color:#0000}.lsv .browse__row.selected{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.lsv .browse__title{min-width:0;font:500 12px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lsv .browse__title small{font:11px var(--font-sans);text-overflow:ellipsis;display:block;overflow:hidden}.lsv .browse__meta{font:11px var(--font-mono);color:var(--muted);flex:none;align-items:center;gap:6px;display:flex}.lsv .change-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.lsv .change-dot--changed{border:2px solid var(--accent);background:0 0}.lsv .card-note{color:var(--muted);flex:none;place-items:center;display:inline-grid}.lsv .issue-count{min-width:18px;height:18px;font:600 10px var(--font-mono);background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning);border-radius:999px;flex:none;place-items:center;padding:0 5px;display:inline-grid}.lsv ul.cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.lsv .card{border:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--bg);border-radius:10px;padding:10px 12px;font-size:12px}.lsv .card--warning{border-left-color:var(--warning);background:color-mix(in srgb, var(--warning) 6%, var(--bg))}.lsv .card--error{border-left-color:var(--error);background:color-mix(in srgb, var(--error) 6%, var(--bg))}.lsv .card__eyebrow{font:500 9.5px var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.lsv .card p{margin:4px 0}.lsv .link-button{color:var(--accent-ink);text-underline-offset:2px;text-align:left;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.lsv .link-button:hover{color:var(--accent)}.lsv .table-card{background:var(--surface);border:1px solid var(--line-strong);width:300px;box-shadow:var(--shadow);border-radius:10px;transition:border-color .2s,box-shadow .2s,opacity .2s;overflow:hidden}.lsv .table-card:hover{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.lsv .table-card.selected{border-color:var(--accent);box-shadow:var(--glow), var(--shadow)}.lsv .table-card.picked{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), var(--shadow)}.lsv .table-card.declared-only{border-style:dashed;border-color:var(--declared)}.lsv .table-card.pivot .table-title{background-image:repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in srgb, var(--line) 70%, transparent) 8px 9px)}.lsv .has-selection .table-card:not(.selected,.related,.picked){opacity:.55}.lsv .table-title{background:var(--surface-2);border-bottom:1px solid var(--line);cursor:move;align-items:center;gap:6px;height:54px;padding:0 6px 0 12px;display:flex}.lsv.narrow .table-title{cursor:pointer}.lsv .table-card.selected .table-title{box-shadow:inset 3px 0 0 var(--accent)}.lsv .table-title>button:first-child{text-align:left;min-width:0;font:600 12px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;cursor:inherit;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.lsv .table-title>button:first-child:hover{color:var(--accent-ink)}.lsv .table-title small{font:10px var(--font-sans);text-overflow:ellipsis;color:var(--accent-ink);align-items:center;gap:6px;margin-top:3px;display:flex;overflow:hidden}.lsv .pill-tag{font:600 8.5px var(--font-mono);letter-spacing:.5px;border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent-ink);border-radius:3px;padding:0 4px}.lsv .table-title .collapse{width:24px;height:24px;color:var(--muted);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.lsv .table-title .collapse[aria-expanded=true] .icon{transform:rotate(180deg)}.lsv .column:not(.placeholder){cursor:pointer}.lsv .column{border-bottom:1px solid var(--line);height:27px;font:11px var(--font-mono);align-items:center;gap:8px;padding:0 12px;display:flex}.lsv .column:last-child{border-bottom:0}.lsv .column.highlighted{background:var(--accent-soft)}.lsv .column.drift{background:color-mix(in srgb, var(--warning) 10%, transparent)}.lsv .column.declared-only{color:var(--declared);font-style:italic}.lsv .column .key{color:var(--muted);flex:none;width:17px;font-size:9px;font-weight:600}.lsv .column .key.pk{color:var(--accent-ink)}.lsv .column .column-name{text-overflow:ellipsis;white-space:nowrap;max-width:165px;overflow:hidden}.lsv .column .nullable{color:var(--muted);margin-left:1px}.lsv .column .type{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:105px;margin-left:auto;overflow:hidden}.lsv .column.placeholder .bar{background:var(--line-strong);border-radius:4px;height:7px;display:block}.lsv .column.placeholder.note .bar{background:var(--accent-soft)}.lsv .note-row{border-bottom:1px solid var(--line);height:27px;line-height:27px;font:italic 11px var(--font-sans);color:var(--accent-ink);background:var(--accent-soft);white-space:nowrap;text-overflow:ellipsis;padding:0 12px 0 37px;overflow:hidden}.lsv .table-more{height:30px;color:var(--muted);background:var(--surface-2);padding:0 12px;font-size:10px;line-height:30px}.lsv .table-connection{color:var(--muted);font-weight:500}.lsv .react-flow__node-external{pointer-events:all!important}.lsv .external-node{border:1.5px dashed var(--accent);background:var(--accent-soft);border-radius:10px;width:300px;height:76px;transition:box-shadow .2s,opacity .2s}.lsv .external-node.related{box-shadow:var(--glow)}.lsv .has-selection .external-node:not(.related){opacity:.55}.lsv .external-node>button{border-radius:inherit;width:100%;height:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:10px 14px;display:grid}.lsv .external-node__label{font:600 10px var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lsv .external-node__name{font:600 12px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lsv .external-node__hint{color:var(--muted);font-size:10px}.lsv .react-flow__node-region{pointer-events:none!important}.lsv .region-node{border:1.5px dashed var(--line-strong);background:color-mix(in srgb, var(--accent) 3%, transparent);border-radius:22px;width:100%;height:100%;position:relative}.lsv .region-node__label{white-space:nowrap;align-items:baseline;gap:12px;display:flex;position:absolute;top:18px;left:24px;right:24px;overflow:hidden}.lsv .region-node__name{font:500 22px var(--font-mono);color:var(--fg)}.lsv .region-node__meta{color:var(--muted);font-size:13px}.lsv .react-flow__minimap-node.region{fill:#0000;stroke:var(--line-strong);stroke-dasharray:6 6}.lsv .react-flow__edge-path.edge{fill:none;stroke:var(--fk);stroke-width:1.6px;transition:opacity .2s,stroke-width .15s}.lsv .react-flow__edge-path.edge--both{stroke:var(--both);stroke-width:1.8px}.lsv .react-flow__edge-path.edge--relationship{stroke:var(--accent);stroke-width:1.8px;stroke-dasharray:7 5}.lsv .react-flow__edge-path.edge--through{stroke:var(--accent);stroke-width:1.8px;stroke-dasharray:2 4}.lsv .react-flow__edge-path.edge.declared-only{stroke:var(--declared);stroke-dasharray:7 5}.lsv .react-flow__edge:hover .edge,.lsv .react-flow__edge-path.edge.related{stroke-width:2.6px}.lsv .react-flow__edge-path.edge.selected{stroke:var(--selected);stroke-width:3px}.lsv .has-selection .react-flow__edge-path.edge:not(.related,.selected){opacity:.25}.lsv .edge-label{font:10px var(--font-mono);color:var(--fg);background:var(--surface);border:1px solid var(--line);white-space:nowrap;pointer-events:none;border-radius:5px;align-items:center;gap:4px;padding:1px 4px;display:flex;position:absolute;overflow:hidden}.lsv .edge-label__text{text-overflow:ellipsis;min-width:0;overflow:hidden}.lsv .edge-label__chip{background:var(--accent-soft);color:var(--accent-ink);border-radius:3px;flex:none;padding:0 4px;font-size:8.5px}.lsv .edge-label--both .edge-label__chip{background:color-mix(in srgb, var(--both) 14%, transparent);color:var(--both)}.lsv .toolbar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;z-index:10;border-radius:12px;align-items:center;gap:2px;max-width:calc(100% - 24px);padding:4px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.lsv .toolbar>button,.lsv .toolbar .menu__trigger{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:34px;height:34px;padding:0 9px;font-weight:500;display:inline-flex}.lsv .toolbar>button:hover,.lsv .toolbar .menu__trigger:hover,.lsv .toolbar .menu__trigger[aria-expanded=true]{background:var(--surface-2)}.lsv .toolbar>button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink)}.lsv .toolbar .divider{background:var(--line);width:1px;height:20px;margin:0 4px}.lsv .zoom-label{font:11px var(--font-mono);color:var(--muted);text-align:center;width:44px}.lsv .canvas-top{pointer-events:none;z-index:5;align-items:center;gap:8px;display:flex;position:absolute;top:14px;left:14px;right:14px}.lsv .canvas-top>*{pointer-events:auto}.lsv .unfocus{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--accent) 50%, transparent);color:var(--accent-ink);border-radius:999px;padding:5px 12px;font-size:12px}.lsv .focus-label{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:360px;padding:5px 12px;font-size:12px;overflow:hidden}.lsv.narrow .focus-label{display:none}.lsv .focus-depth{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:2px 4px 2px 10px;font-size:12px;display:flex}.lsv .focus-depth select{border:0;padding:2px 6px}.lsv .empty,.lsv .status{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;z-index:5;border-radius:10px;max-width:calc(100% - 32px);padding:14px 18px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.lsv .empty strong{margin-bottom:4px;display:block}.lsv .toast{background:var(--fg);color:var(--bg);z-index:12;border-radius:8px;padding:6px 12px;font-size:12px;position:absolute;bottom:72px;left:50%;transform:translate(-50%)}.lsv .notice{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);z-index:8;border-radius:12px;align-items:flex-start;gap:8px;padding:10px 6px 10px 14px;font-size:13px;display:flex;position:absolute;top:12px;left:12px;right:12px}.lsv .notice p{flex:1;margin:0}.lsv .notice .icon-button{border:0;width:28px;height:28px}.lsv .details__title{font-family:var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:8px;margin:2px 0;display:flex}.lsv .details__subtitle{color:var(--muted);margin:0 0 8px;font-size:12px}.lsv .detail-actions{flex-wrap:wrap;gap:6px;margin:10px 0 12px;display:flex}.lsv .detail-actions button{padding:4px 10px;font-size:12px}.lsv .detail-link{text-align:left;overflow-wrap:break-word;width:100%;font:11px var(--font-mono);margin:5px 0;display:block}.lsv .inline-link{font:11px var(--font-mono);color:var(--accent-ink);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.lsv .panel__body pre{font:11px/1.6 var(--font-mono);white-space:pre-wrap;overflow-wrap:break-word;background:var(--bg);border:1px solid var(--line);border-radius:8px;margin:0 0 8px;padding:10px}.lsv .panel__body dl{grid-template-columns:92px minmax(0,1fr);gap:6px 10px;margin:0 0 6px;font-size:12px;display:grid}.lsv .panel__body .fact{display:contents}.lsv .panel__body dt{color:var(--muted)}.lsv .panel__body dd{overflow-wrap:break-word;min-width:0;font-family:var(--font-mono);margin:0;font-size:11px}.lsv .panel__body details{border-top:1px solid var(--line)}.lsv .panel__body summary{cursor:pointer;padding:9px 0;font-size:12px;font-weight:600;list-style-position:inside}.lsv .panel__body summary:hover{color:var(--accent-ink)}.lsv .panel__body summary .count{font:10px var(--font-mono);color:var(--muted);margin-left:6px}.lsv .tag{font:500 9.5px var(--font-mono);letter-spacing:1px;border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent-ink);border-radius:5px;padding:2px 7px;display:inline-block}.lsv .badges{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.lsv .badge{font:500 9.5px/1.6 var(--font-mono);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:4px;margin:0 2px;padding:0 6px;display:inline-block}.lsv .badge--pk,.lsv .badge--unique{border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent-ink)}.lsv .badge--partial,.lsv .badge--expression{border-color:color-mix(in srgb, var(--both) 45%, transparent);color:var(--both)}.lsv .badge--warning,.lsv .badge--declared,.lsv .badge--heuristic{border-color:color-mix(in srgb, var(--warning) 50%, transparent);color:var(--warning)}.lsv .badge--error,.lsv .badge--removed{border-color:color-mix(in srgb, var(--error) 50%, transparent);color:var(--error)}.lsv .badge--fact,.lsv .badge--added{border-color:color-mix(in srgb, var(--fact) 50%, transparent);color:var(--fact)}.lsv .badge--both,.lsv .badge--combined{border-color:color-mix(in srgb, var(--both) 45%, transparent);color:var(--both)}.lsv .source-mode{align-items:baseline;gap:8px;margin:10px 0;font-size:12px;display:flex}.lsv .note{border-left:2px solid var(--accent);margin:6px 0;padding:2px 0 2px 8px;font-size:12px}.lsv .legend{gap:8px;margin:0 0 12px;padding:0;font-size:12px;list-style:none;display:grid}.lsv .legend li{align-items:center;gap:10px;display:flex}.lsv .line-key{border-top:2px solid var(--fk);flex:none;width:22px;display:inline-block}.lsv .key--both{border-color:var(--both)}.lsv .key--relationship{border-color:var(--accent);border-top-style:dashed}.lsv .key--through{border-color:var(--accent);border-top-style:dotted}.lsv .key--declared{border-color:var(--declared);border-top-style:dashed}.lsv ul.plain,.lsv ul.indexes,.lsv ul.diagnostics,.lsv ul.gaps,.lsv ul.drift-list,.lsv ul.picked-list{margin:0 0 10px;padding:0;list-style:none}.lsv ul.plain>li,.lsv ul.indexes>li,.lsv ul.picked-list>li{border-bottom:1px dashed var(--line);padding:8px 0;font-size:12px}.lsv ul.plain>li:last-child,.lsv ul.indexes>li:last-child{border-bottom:0}.lsv .index-head{font:600 11px var(--font-mono);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.lsv .parts,.lsv .chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.lsv .parts code,.lsv .chips code{background:var(--surface-2);border-radius:4px;max-width:100%;padding:0 5px}.lsv code.expression{color:var(--both)}.lsv .index-extra{font:11px var(--font-mono);color:var(--muted);margin-top:3px}.lsv .diagnostic{border-left:2px solid var(--line-strong);margin:6px 0;padding:4px 0 4px 8px}.lsv .diagnostic--warning{border-left-color:var(--warning)}.lsv .diagnostic--error{border-left-color:var(--error)}.lsv .diagnostic p{margin:4px 0 0;font-size:12px}.lsv .columns-table{table-layout:fixed;border-collapse:collapse;width:100%;margin-bottom:8px;font-size:11px}.lsv .columns-table th,.lsv .columns-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:break-word;padding:5px 4px}.lsv .columns-table th{width:38%;font:500 11px var(--font-mono)}.lsv .columns-table tr.drift{background:color-mix(in srgb, var(--warning) 8%, transparent)}.lsv .coverage{margin:6px 0 10px}.lsv .connection-coverage{margin-bottom:8px;font-size:12px}.lsv .extensions{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-top:6px;padding:6px 8px}.lsv .source{font:10px var(--font-mono);color:var(--muted);display:block}.lsv .sheet{z-index:14;background:var(--surface);border-top:1px solid var(--line);border-radius:14px 14px 0 0;flex-direction:column;max-height:72%;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #0000001f}.lsv .sheet.open{height:72%}.lsv .sheet-bar{flex:none;align-items:center;gap:8px;padding:14px 12px 10px;display:flex;position:relative}.lsv .sheet-bar__grip{background:var(--line-strong);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:5px;left:50%}.lsv .sheet-bar__main{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;min-width:0;padding:6px 4px;font-weight:600;overflow:hidden}.lsv .sheet-bar__issues{border-color:color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 10%, transparent);color:var(--warning);border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-weight:600;display:inline-flex}.lsv .sheet-bar__action{color:var(--accent-ink);background:0 0;border:0;font-weight:600}.lsv.narrow .toolbar{bottom:76px}.lsv.narrow .toast{bottom:130px}.lsv.narrow .lsv-header{gap:8px;padding:8px 10px}.lsv.narrow .search{max-width:none}.lsv.narrow .search>kbd{display:none}.lsv.narrow .search__results{position:fixed;top:56px;left:8px;right:8px}.lsv.narrow .menu__list{max-width:calc(100vw - 16px)}.lsv dialog.lsv-dialog{border:1px solid var(--line);background:var(--surface);color:var(--fg);box-shadow:var(--shadow);border-radius:12px;width:min(560px,100% - 32px);max-height:calc(100% - 64px);padding:20px}.lsv dialog.lsv-dialog::backdrop{background:#00000059}.lsv .dialog-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.lsv .dialog-head h2{margin:0}.lsv dialog.lsv-download{width:min(720px,100% - 32px);overflow:auto}.lsv .download{gap:18px;display:grid}.lsv .download__section{gap:8px;min-width:0;display:grid}.lsv .download__heading{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:0;font-size:12px;font-weight:600}.lsv .download__heading code{text-transform:none;color:var(--fg);font-size:12px}.lsv .download__note{margin:0;font-size:12px}.lsv .download__formats,.lsv .download__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.lsv .download__format,.lsv .download__item{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-content:start;gap:2px;padding:10px 12px;font-size:12px;display:grid}.lsv .download__format b,.lsv .download__item b{color:var(--fg);font-size:13px}.lsv .download__format input{opacity:0;pointer-events:none;position:absolute}.lsv .download__format.checked{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.lsv .download__format:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.lsv .download .segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.lsv .download__item--wide{width:100%}.lsv .download__option{align-items:center;gap:8px;font-size:12px;display:flex}.lsv .download__file{justify-content:space-between;gap:8px;font-size:12px;display:flex}.lsv .download__preview{border:1px solid var(--line);background:var(--bg);max-height:260px;font:11px/1.5 var(--font-mono);white-space:pre;color:var(--fg);border-radius:8px;margin:0;padding:10px 12px;overflow:auto}.lsv .download__warnings{border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);border-radius:8px;padding:6px 10px;font-size:12px}.lsv .download__warnings summary{cursor:pointer;color:var(--fg)}.lsv .download__warnings summary .icon{vertical-align:-2px;color:var(--warning)}.lsv .download__warnings ul{overflow-wrap:anywhere;max-height:180px;margin:6px 0 2px;padding-left:18px;overflow:auto}.lsv .download__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.lsv .download__actions .icon{vertical-align:-3px}.lsv .download__error{color:var(--error);margin:0;font-size:12px}.lsv .download__image-options{flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;display:flex}.lsv .download .segmented{margin:0}.lsv .download .segmented label{color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:500}.lsv .download .segmented label.checked{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #00000014}.lsv .download .segmented input{opacity:0;pointer-events:none;position:absolute}.lsv .download__status{min-height:1.4em;color:var(--muted);margin:0;font-size:12px}.lsv dialog .shortcuts{grid-template-columns:120px 1fr;gap:8px 12px;margin:0;font-size:12px;display:grid}.lsv dialog .shortcuts dt{flex-wrap:wrap;gap:3px;display:flex}.lsv dialog .shortcuts dd{color:var(--muted);margin:0}.lsv .tour{z-index:40;position:absolute;inset:0}.lsv .tour__shade{background:#00000073;position:absolute;inset:0}.lsv .tour__ring{border:2px solid var(--accent);box-shadow:var(--glow);pointer-events:none;background:#ffffff0a;border-radius:12px;transition:all .25s;position:absolute}.lsv .tour__card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:14px 16px;position:absolute}.lsv .tour__head{font:10px var(--font-mono);justify-content:space-between;align-items:center;display:flex}.lsv .tour__head button{border:0;padding:2px 6px}.lsv .tour__card h2{margin:6px 0}.lsv .tour__card p{color:var(--muted);margin:0 0 12px;font-size:12px}.lsv .tour__actions{justify-content:flex-end;gap:6px;display:flex}.lsv .button.primary,.lsv button.primary{background:var(--fg);border-color:var(--fg);color:var(--bg);font-weight:600}.lsv .button.primary:hover,.lsv button.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@container (width<=1100px){.lsv-main{--default-panel:320px}.lsv .header-button{justify-content:center;gap:0;width:34px;padding:0;font-size:0}}.lsv .cmp-mark{min-width:16px;height:16px;font:700 11px/1 var(--font-mono);border:1px solid;border-radius:4px;flex:none;place-items:center;padding:0 3px;display:inline-grid}.lsv .cmp-mark--missing{color:var(--missing)}.lsv .cmp-mark--extra{color:var(--extra)}.lsv .cmp-mark--changed{color:var(--changed)}.lsv .cmp-mark--likely{border-style:dashed}.lsv .legend-marks{flex:none;gap:2px;display:inline-flex}.lsv .cmp-chip{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font:600 9.5px/16px var(--font-mono);background:var(--surface);border:1px solid;border-radius:4px;flex:none;padding:0 5px;overflow:hidden}.lsv .cmp-chip--missing{color:var(--missing)}.lsv .cmp-chip--extra{color:var(--extra)}.lsv .cmp-chip--changed{color:var(--changed)}.lsv .cmp-chip--likely{border-style:dashed}.lsv .table-card.cmp--missing{border-color:var(--missing)}.lsv .table-card.cmp--extra{border-color:var(--extra)}.lsv .table-card.cmp--changed .table-title{box-shadow:inset 3px 0 0 var(--changed)}.lsv .table-card.cmp--missing .table-title{box-shadow:inset 3px 0 0 var(--missing)}.lsv .table-card.cmp--extra .table-title{box-shadow:inset 3px 0 0 var(--extra)}.lsv .column.cmp-column--missing{background:color-mix(in srgb, var(--missing) 10%, transparent)}.lsv .column.cmp-column--extra{background:color-mix(in srgb, var(--extra) 10%, transparent)}.lsv .column.cmp-column--changed{background:color-mix(in srgb, var(--changed) 10%, transparent)}.lsv .column .cmp-mark{margin-left:2px}.lsv .badge--cmp-missing{border-color:color-mix(in srgb, var(--missing) 50%, transparent);color:var(--missing)}.lsv .badge--cmp-extra{border-color:color-mix(in srgb, var(--extra) 50%, transparent);color:var(--extra)}.lsv .badge--cmp-changed{border-color:color-mix(in srgb, var(--changed) 50%, transparent);color:var(--changed)}.lsv .small{font-size:11.5px}.lsv .card .badge{background:var(--surface)}.lsv .canvas-note{z-index:5;border:1px solid var(--line);background:var(--surface);max-width:calc(100% - 24px);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font-size:11.5px;display:flex;position:absolute;top:12px;left:12px}.lsv .canvas-note.below-focus{top:56px}.lsv .canvas-note.incomplete{border-color:var(--warning)}.lsv .canvas-note.incomplete strong{color:var(--warning)}.lsv .canvas-note__marks{font:700 11px var(--font-mono);color:var(--muted);flex:none}.lsv .canvas-note__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lsv .canvas-note .link-button{flex:none}.lsv .cmp-scopes{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:6px;display:grid}.lsv .cmp-filter{gap:3px;min-width:0;display:grid}.lsv .cmp-filter>span{font:500 9.5px var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.lsv .cmp-filter select{width:100%;min-width:0;padding:5px 6px;font-size:12px}.lsv .cmp-arrow{color:var(--muted);padding-bottom:6px}.lsv .cmp-swap{padding:5px 8px}.lsv .cmp-direction{margin:10px 0 4px;font-size:12px}.lsv .cmp-explain{margin:4px 0 10px;font-size:11.5px}.lsv .cmp-alert{border:1px solid var(--warning);background:color-mix(in srgb, var(--warning) 10%, var(--bg));border-left-width:4px;border-radius:10px;align-items:flex-start;gap:10px;margin:8px 0 12px;padding:10px 12px;font-size:12px;display:flex}.lsv .cmp-alert>.icon{color:var(--warning);margin-top:2px}.lsv .cmp-alert p{margin:4px 0}.lsv .cmp-gaps{margin:4px 0 0}.lsv .cmp-clean{border:1px solid color-mix(in srgb, var(--fact) 50%, transparent);color:var(--fact);border-radius:10px;align-items:center;gap:8px;margin:8px 0 12px;padding:8px 12px;font-size:12px;display:flex}.lsv .panel__body dl.cmp-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.lsv .compare{container-type:inline-size}@container (width<=340px){.lsv .panel__body dl.cmp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.lsv .panel__body .cmp-stat{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex-direction:column-reverse;gap:2px;padding:6px 8px;display:flex}.lsv .panel__body .cmp-stat dt{font:500 10px var(--font-mono);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;display:flex}.lsv .panel__body .cmp-stat dd{font:600 16px var(--font-mono);margin:0}.lsv .cmp-overlay{align-items:center;gap:6px;margin:6px 0 10px;font-size:12px;display:flex}.lsv .cmp-filters{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px;padding:0;display:grid}.lsv .cmp-group h3{align-items:center;gap:6px;display:flex}.lsv .cmp-group h3 .count,.lsv .cmp-group h3 .cmp-mark{letter-spacing:0}.lsv .diff.diff--missing{border-left-color:var(--missing)}.lsv .diff.diff--extra{border-left-color:var(--extra)}.lsv .diff.diff--changed{border-left-color:var(--changed)}.lsv .diff.diff--likely{border-style:dashed dashed dashed solid}.lsv .diff.selected,.lsv .track.selected{box-shadow:0 0 0 2px var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.lsv .card__eyebrow .cmp-mark{letter-spacing:0;min-width:14px;height:14px;font-size:10px}.lsv .diff__title{font:600 12px var(--font-mono);text-align:left;overflow-wrap:break-word;background:0 0;border:0;padding:0}.lsv .cmp-sides{table-layout:fixed;border-collapse:collapse;width:100%;margin:6px 0;font-size:11px}.lsv .cmp-sides th,.lsv .cmp-sides td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:break-word;padding:3px 4px}.lsv .cmp-sides thead th{font:500 9.5px var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.lsv .cmp-sides tbody th{width:26%;font:500 11px var(--font-mono)}.lsv .cmp-sides td.absent{color:var(--muted);font-style:italic}.lsv .diff__actions{flex-wrap:wrap;gap:4px 12px;display:flex}.lsv .table-comparison+.table-comparison{margin-top:12px}.lsv .cmp-incomplete-inline{color:var(--warning)}.lsv .status-badge{background:var(--surface);font:600 10px/18px var(--font-mono);white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.lsv .status-badge .icon{vertical-align:0}.lsv .status-badge--up_to_date{color:var(--fact)}.lsv .status-badge--behind,.lsv .status-badge--uninitialized{color:var(--warning)}.lsv .status-badge--diverged{color:var(--error)}.lsv .status-badge--unknown{color:var(--muted);border-style:dashed}.lsv ul.status-counts{font:500 11px var(--font-mono);flex-wrap:wrap;gap:6px 12px;margin:0 0 4px;padding:0;list-style:none;display:flex}.lsv .card--fact{border-left-color:var(--fact)}.lsv .track__head{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.lsv .track__scope{font:600 12px var(--font-mono)}.lsv .track__meaning{color:var(--muted)}.lsv .panel__body dl.track__facts{grid-template-columns:104px minmax(0,1fr);margin:4px 0}.lsv .track__warning{color:var(--warning);align-items:center;gap:6px;font-weight:500;display:flex}.lsv code.unknown-revision{color:var(--error)}.lsv .track__toggle{margin-top:4px;font-size:12px}.lsv .coverage-rows .badges{margin-left:2px}.lsv .coverage-rows .evidence{display:block}.lsv .badge--inferred,.lsv .tag--inferred{border-color:color-mix(in srgb, var(--inferred) 55%, transparent);color:var(--inferred)}.lsv .inferred-note{border-left:2px solid var(--inferred);margin:8px 0;padding:2px 0 2px 8px;font-size:12px}.lsv .key--inferred{background:repeating-linear-gradient(to right, var(--inferred) 0 9px, transparent 9px 11px, var(--inferred) 11px 13px, transparent 13px 15px);border-top:0;height:2px}.lsv .react-flow__edge-path.edge.inferred{stroke:var(--inferred);stroke-dasharray:10 3 2 3}.lsv .edge-label--inferred .edge-label__chip{background:color-mix(in srgb, var(--inferred) 16%, transparent);color:var(--inferred)}@media (prefers-reduced-motion:reduce){.lsv *,.lsv :before,.lsv :after{transition-duration:.01ms!important}}html,body{height:100%;margin:0}#schema-viewer{height:100dvh}.lsv-message{place-items:center;display:grid}.lsv-message__box{background:var(--surface);border:1px solid var(--line);max-width:560px;box-shadow:var(--shadow);border-radius:12px;padding:24px}.lsv-message__box ul{padding-left:18px;font-size:12px}
