:root{--sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root,[data-theme=paper]{--bg:#f4f5f8;--panel:#fff;--editor-bg:#fff;--chip:#eef0f4;--border:#e2e5eb;--border-strong:#c9ced8;--text:#1c2130;--text-muted:#5a6376;--text-faint:#858c9b;--accent:#3a63d8;--on-accent:#fff;--accent-soft:#3a63d81f;--active-line:#3a63d80d;--selection:#3a63d833;--selection-match:#3a63d81f;--focus:#ffaa0059;--syn-keyword:#3451c7;--syn-type:#0f7f74;--syn-fn:#7b45c9;--syn-string:#3b7a26;--syn-number:#b4501a;--syn-comment:#8a93a3;--syn-var:#c2410c;--syn-op:#0e7490;--syn-punct:#6b7280;--c-table:#0a7ea4;--c-cte:#9a5d00;--c-result:#1a7f37;--c-subquery:#7a8394;--var-bg:#c2410c17;--j-from:#9aa1ae;--j-inner:#3a63d8;--j-left:#0f8a7e;--j-right:#c2410c;--j-full:#7c4dcc;--j-cross:#d92d20;--error:#d92d20;--warning:#a16207;--info:#5a6376;--ok:#1a7f37;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=linen]{--bg:#f2eee5;--panel:#faf7f1;--editor-bg:#fdfbf6;--chip:#ede7da;--border:#e2dbcb;--border-strong:#cbc1ac;--text:#2a251e;--text-muted:#685f52;--text-faint:#8f8573;--accent:#2c6b8a;--on-accent:#fff;--accent-soft:#2c6b8a1f;--active-line:#785a280d;--selection:#2c6b8a2e;--selection-match:#2c6b8a1a;--focus:#e696004d;--syn-keyword:#a3401a;--syn-type:#1d7566;--syn-fn:#6d45a0;--syn-string:#4f7a1a;--syn-number:#0d6a94;--syn-comment:#9b917f;--syn-var:#b02e66;--syn-op:#2c6b8a;--syn-punct:#847b6c;--c-table:#19708f;--c-cte:#9a5b00;--c-result:#3d7a1c;--c-subquery:#8a8172;--var-bg:#b02e6614;--j-from:#a39a8a;--j-inner:#2c6b8a;--j-left:#1d7566;--j-right:#b8561a;--j-full:#6d45a0;--j-cross:#c62f23;--error:#c62f23;--warning:#8f5d00;--info:#685f52;--ok:#3d7a1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=midnight]{--bg:#0d0f14;--panel:#141720;--editor-bg:#11131a;--chip:#1c202b;--border:#232837;--border-strong:#353c4e;--text:#e3e6ee;--text-muted:#98a1b3;--text-faint:#6a7388;--accent:#7aa2ff;--on-accent:#0d0f14;--accent-soft:#7aa2ff29;--active-line:#7aa2ff0d;--selection:#7aa2ff3d;--selection-match:#7aa2ff21;--focus:#ffbe3c4d;--syn-keyword:#82aaff;--syn-type:#5fd4c0;--syn-fn:#c3a6ff;--syn-string:#a8d98b;--syn-number:#f5a97f;--syn-comment:#677086;--syn-var:#ffa066;--syn-op:#89ddff;--syn-punct:#8a93a6;--c-table:#5ccfe6;--c-cte:#ffcb6b;--c-result:#7ee787;--c-subquery:#8a93a6;--var-bg:#ffa0661f;--j-from:#7d869a;--j-inner:#82aaff;--j-left:#5fd4c0;--j-right:#f5a97f;--j-full:#c3a6ff;--j-cross:#ff6b6b;--error:#ff6b6b;--warning:#f0b95a;--info:#98a1b3;--ok:#7ee787;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=graphite]{--bg:#161618;--panel:#1d1d20;--editor-bg:#1a1a1d;--chip:#28282c;--border:#2c2c31;--border-strong:#414148;--text:#e6e6e9;--text-muted:#a3a3ab;--text-faint:#74747c;--accent:#8ea2f0;--on-accent:#161618;--accent-soft:#8ea2f026;--active-line:#ffffff09;--selection:#8ea2f038;--selection-match:#8ea2f01f;--focus:#e3a8574d;--syn-keyword:#c792ea;--syn-type:#56b6c2;--syn-fn:#61afef;--syn-string:#98c379;--syn-number:#d19a66;--syn-comment:#6e727c;--syn-var:#e06c75;--syn-op:#a9b1bd;--syn-punct:#8b9099;--c-table:#61afef;--c-cte:#e5c07b;--c-result:#98c379;--c-subquery:#8b9099;--var-bg:#e06c751f;--j-from:#7a7e88;--j-inner:#61afef;--j-left:#56b6c2;--j-right:#d19a66;--j-full:#c792ea;--j-cross:#ef6b73;--error:#ef6b73;--warning:#e5c07b;--info:#a3a3ab;--ok:#98c379;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font:13px/1.4 var(--sans);grid-template-rows:minmax(0,1fr);margin:0;display:grid;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}code{font-family:var(--mono);background:var(--chip);border-radius:3px;padding:0 4px;font-size:.92em}[hidden]{display:none!important}.editor-bar{background:var(--panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;height:36px;padding:0 6px 0 10px;display:flex}.editor-bar .spacer{flex:1}.editor-bar .btn{height:26px;padding:0 10px;font-size:12.5px}.brand{color:var(--accent);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;margin-right:6px;display:inline-flex}.logo-tile{fill:var(--accent)}.logo-q{fill:none;stroke:var(--on-accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.logo-node{fill:var(--on-accent)}.brand-name{color:var(--text);font-size:13px;font-weight:650}.dialect-pick{margin:0 6px 0 -4px;position:relative}.dialect{cursor:pointer;height:20px;font:500 10.5px var(--sans);color:var(--text-muted);background-color:var(--chip);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right 9px top 8px,right 6px top 8px;background-repeat:no-repeat;background-size:3px 3px;border:1px solid #0000;border-radius:10px;align-items:center;padding:0 18px 0 8px;display:inline-flex}.dialect:hover{color:var(--text);border-color:var(--border)}.dialect:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dialect[aria-expanded=true]{color:var(--text);border-color:var(--border-strong)}.dialect-menu{z-index:150;background:var(--panel);border:1px solid var(--border);border-radius:10px;width:268px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #0000002e}.dialect-menu .tm-item small{font-family:var(--mono);font-size:10.5px}.left{container-type:inline-size}@container (width<=680px){.editor-bar .brand-name{display:none}}@container (width<=540px){.editor-bar .history,#stat-cursor,.changes-label{display:none}}.actions{align-items:center;gap:6px;display:flex}.btn{border:1px solid var(--border);background:var(--panel);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 12px;font-weight:550;display:inline-flex}.btn:hover{border-color:var(--border-strong);background:var(--chip)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08);background:var(--accent)}.btn.caution{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 55%, transparent)}.btn.caution:hover{background:color-mix(in srgb, var(--warning) 10%, transparent);border-color:var(--warning)}.btn.sm{height:26px;padding:0 10px;font-size:12px}.icon-btn{width:28px;height:28px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;font-size:15px;line-height:1;display:inline-grid}.icon-btn:hover{background:var(--chip);color:var(--text)}.icon-btn.sm{border-radius:6px;width:24px;height:24px}.theme-btn[aria-expanded=true],.bug-btn[aria-expanded=true]{background:var(--chip);color:var(--text)}.theme-pick,.bug-pick{position:relative}.theme-menu,.bug-menu{z-index:150;background:var(--panel);border:1px solid var(--border);border-radius:10px;width:252px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0000002e}.tm-group{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:8px 8px 4px;font-size:10.5px;font-weight:650}.tm-item{text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;width:100%;padding:6px 8px;display:flex}a.tm-item{color:inherit;text-decoration:none}.tm-item:hover,.tm-item:focus-visible{background:var(--chip);outline:none}.tm-item .tm-text{flex-direction:column;flex:1;min-width:0;display:flex}.tm-item b{font-size:12.5px;font-weight:600}.tm-item small{color:var(--text-muted);font-size:11px}.tm-item .tm-check{width:14px;color:var(--accent);visibility:hidden;font-size:12px}.tm-item[aria-checked=true] .tm-check{visibility:visible}.tm-sep{background:var(--border);height:1px;margin:4px 2px}.tm-act{padding:5px 8px}.tm-act b{font-weight:500}.tm-act kbd{font:11px var(--sans);color:var(--text-faint)}.tm-act .tm-check{order:-1}.tm-act[role=menuitem]{padding-left:32px}.bug-menu .tm-act[role=menuitem]{padding-left:8px}.tsw{background:var(--editor-bg);border:1px solid var(--border-strong);border-radius:5px;flex-direction:column;flex:none;justify-content:space-between;width:34px;height:24px;padding:4px 5px;display:flex}.tsw i{border-radius:2px;height:3px;display:block}.tsw i:first-child{background:var(--syn-keyword);width:60%}.tsw i:nth-child(2){background:var(--syn-string);width:85%}.tsw i:nth-child(3){background:var(--syn-fn);width:45%}.tsw.system{border-color:var(--border-strong);background:linear-gradient(135deg,#fff 50%,#11131a 50%)}.history{gap:2px;display:inline-flex}.icon-btn:disabled{opacity:.35;cursor:default;background:0 0}.divider{background:var(--border);width:1px;height:20px;margin:0 4px}.toggle{color:var(--text-muted);-webkit-user-select:none;user-select:none;cursor:pointer;white-space:nowrap;align-items:center;gap:6px;margin-right:4px;display:flex}.toggle input{accent-color:var(--accent);margin:0}.layout{grid-template-columns:var(--left,52%) 1px minmax(0, 1fr);min-height:0;display:grid}.left{background:var(--editor-bg);flex-direction:column;min-width:0;min-height:0;display:flex}.editor-wrap{flex:1;min-height:0;position:relative}.editor-empty{z-index:5;pointer-events:none;justify-content:center;align-items:flex-start;padding:12vh 16px 0;display:flex;position:absolute;inset:0}.ee-card{pointer-events:auto;background:var(--panel);border:1px solid var(--border);width:380px;max-width:100%;color:var(--text-muted);border-radius:10px;padding:16px 18px;font-size:12.5px;line-height:1.45;box-shadow:0 10px 30px -12px #00000040}.ee-card b{color:var(--text);font-size:14px;font-weight:650;display:block}.ee-card p{margin:4px 0 12px}.ee-acts{flex-wrap:wrap;gap:8px;display:flex}.ee-card small{color:var(--text-faint);margin-top:10px;font-size:11.5px;display:block}.editor-wrap .cm-editor{height:100%}.editor-wrap .cm-editor.cm-focused{outline:none}.right{grid-template-rows:var(--top,42%) 1px minmax(0, 1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.gutter{z-index:5;background:var(--border);position:relative}.gutter:after{content:"";transition:background .15s;position:absolute;inset:0 -3px}.gutter-h:after{inset:-3px 0}.gutter-v{cursor:col-resize}.gutter-h{cursor:row-resize}.gutter:hover:after,.gutter.dragging:after{background:color-mix(in srgb, var(--accent) 45%, transparent)}.statusbar{border-top:1px solid var(--border);background:var(--panel);height:26px;color:var(--text-muted);flex:none;align-items:center;gap:14px;padding:0 12px;font-size:11.5px;display:flex}.statusbar .spacer{flex:1}.lint-summary{background:0 0;border:none;border-radius:4px;gap:10px;padding:2px 6px;display:flex}.lint-summary:hover{background:var(--chip)}.sev{font-variant-numeric:tabular-nums;font-weight:600}.sev.error{color:var(--error)}.sev.warning{color:var(--warning)}.sev.info{color:var(--info)}.sev.ok{color:var(--ok);font-weight:500}.cm-lens-table,.cm-lens-table *{font-weight:600;color:var(--c-table)!important}.cm-lens-cte,.cm-lens-cte *{font-weight:600;color:var(--c-cte)!important}.cm-lens-alias{font-style:italic;color:var(--text)!important}.cm-lens-var{background:var(--var-bg);border-radius:3px;color:var(--syn-var)!important}.cm-lens-focus{box-shadow:0 0 0 1px var(--focus);border-radius:2px;background:var(--focus)!important}.cm-qf-mod .cm-lens-cte:hover,.cm-qf-mod .cm-lens-var:hover,.cm-qf-mod .cm-lens-alias:hover{cursor:pointer;text-decoration:underline}.cm-tooltip.cm-tooltip-hover{box-shadow:0 6px 20px -8px #0000004d}.cm-qf-hover{max-width:420px;font:12px/1.45 var(--sans);padding:8px 10px}.cm-qf-hover .h-head{font-family:var(--mono);align-items:baseline;gap:6px;margin-bottom:3px;display:flex}.cm-qf-hover .h-head b{overflow-wrap:anywhere;font-weight:600}.cm-qf-hover .arrow{color:var(--text-faint);font-weight:400}.cm-qf-hover .h-kind{font:600 10px var(--sans);text-transform:uppercase;letter-spacing:.04em;background:var(--chip);color:var(--text-muted);border-radius:4px;padding:1px 5px}.cm-qf-hover .h-kind.cte{color:var(--c-cte)}.cm-qf-hover .h-kind.table{color:var(--c-table)}.cm-qf-hover .h-kind.variable,.cm-qf-hover .h-kind.param,.cm-qf-hover .h-kind.cteParam{color:var(--syn-var)}.cm-qf-hover .h-line{color:var(--text-muted);overflow-wrap:anywhere}.cm-qf-hover code{font:11.5px var(--mono);color:var(--text)}.cm-qf-hover .warn{color:var(--warning)}.cm-qf-hover .h-acts{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-top:7px;padding-top:7px;display:flex}.cm-qf-hover .h-acts button{border:1px solid var(--border);background:var(--panel);height:22px;color:var(--text-muted);font:11.5px var(--sans);cursor:pointer;border-radius:5px;padding:0 7px}.cm-qf-hover .h-acts button:hover{color:var(--text);border-color:var(--border-strong);background:var(--chip)}.cm-qf-rename{z-index:20;background:var(--panel);border:1px solid var(--border-strong);border-radius:7px;flex-direction:column;gap:3px;padding:6px;display:flex;position:absolute;box-shadow:0 8px 24px -10px #0006}.cm-qf-rename input{border:1px solid var(--accent);background:var(--editor-bg);width:220px;height:26px;color:var(--text);font:13px var(--mono);border-radius:5px;outline:none;padding:0 7px}.cm-qf-rename small{font:11px var(--sans);color:var(--text-faint)}.cm-qf-rename.bad input{border-color:var(--error)}.cm-qf-rename.bad small{color:var(--error)}.cm-fold-marker{color:var(--text-faint);cursor:pointer;padding:0 2px;font-size:11px}.cm-fold-marker:hover{color:var(--text)}.cm-fold-marker.open{opacity:0;transition:opacity .12s}.cm-gutters:hover .cm-fold-marker.open{opacity:1}.vars-panel{background:var(--panel);padding:4px 14px 16px;overflow:auto}.section{background:var(--panel);z-index:1;justify-content:space-between;align-items:baseline;gap:8px;margin:14px 0 6px;padding:6px 0 4px;display:flex;position:sticky;top:-4px}.section h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:0;font-size:11.5px;font-weight:650;display:flex}.section .hint{color:var(--text-muted);font-size:11px}.sec-toggle{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;border-radius:5px;align-items:center;gap:6px;margin-left:-4px;padding:2px 4px;display:inline-flex}.sec-toggle:hover{background:var(--chip);color:var(--text)}.sec-caret{width:10px;color:var(--text-faint);font-size:10px;transition:transform .15s}.section.shut .sec-caret{transform:rotate(-90deg)}.badge{background:var(--chip);color:var(--text-muted);letter-spacing:0;border-radius:9px;padding:0 6px;font-size:10.5px;font-weight:600;line-height:17px}.empty{color:var(--text-muted);margin:2px 0 8px;font-size:12px}.row{border-radius:7px;margin:0 -8px;padding:6px 8px}.row:hover{background:var(--chip)}.row-main{flex-wrap:wrap;align-items:center;gap:8px;min-height:30px;display:flex}.name{font-family:var(--mono);background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.name.var,.name.param{color:var(--syn-var)}.name:hover{text-decoration:underline}.meta{color:var(--text-muted);font-size:11.5px}.row .val{margin-left:auto}.row-main>.val:first-child{margin-left:0}.val{border:1px solid var(--border);background:var(--editor-bg);height:28px;font-family:var(--mono);border-radius:6px;flex:0 230px;align-items:center;min-width:0;padding:0 8px;font-size:12.5px;display:inline-flex}.val:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.val .q{color:var(--syn-string);opacity:.7;white-space:pre}.val input{color:var(--syn-string);font:inherit;background:0 0;border:none;outline:none;width:100%;min-width:60px;padding:0 1px}.val.number input{color:var(--syn-number)}.val.expr input{color:var(--text)}.val{position:relative}.cal{color:var(--text-faint);background:0 0;border:none;place-items:center;padding:0 0 0 6px;display:grid}.cal:hover{color:var(--accent)}.cal-input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;right:0}.count{border:1px solid var(--border);background:var(--panel);height:24px;color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:6px;padding:0 6px;font-size:11.5px}.count:hover{border-color:var(--border-strong);color:var(--text)}.mini{border:1px solid var(--border);background:var(--panel);height:24px;color:var(--text-muted);white-space:nowrap;border-radius:6px;flex:none;align-items:center;padding:0 8px;font-size:11.5px;display:inline-flex}.mini:hover{color:var(--text);border-color:var(--border-strong)}.mini:disabled{opacity:.45;cursor:default;color:var(--text-muted);border-color:var(--border)}.mini.accent{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:var(--accent-soft)}.row-main .mini:last-child{margin-left:auto}.row-main .count+.mini,.row-main .count+.mini+.mini{margin-left:0}.ctxs{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.ctx{font-family:var(--mono);color:var(--text-muted);background:var(--chip);border-radius:4px;padding:1px 6px;font-size:11px}.row:hover .ctx{background:var(--panel)}.promote{border:1px dashed var(--border-strong);background:var(--panel);border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding:8px;display:flex}.promote input,.promote select{border:1px solid var(--border);background:var(--editor-bg);height:26px;color:var(--text);font-family:var(--mono);border-radius:5px;padding:0 6px;font-size:12px}.promote .p-name{width:150px;color:var(--syn-var)}.promote .p-value{width:150px}.promote input:focus,.promote select:focus{border-color:var(--accent);outline:none}.p-hint{color:var(--text-muted);flex-basis:100%;margin:2px 0 0;font-size:11px}.graph-panel{background:var(--bg);flex-direction:column;min-height:0;display:flex}.graph-head{background:var(--panel);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;height:36px;padding:0 8px 0 10px;display:flex}.tabs{scrollbar-width:none;gap:2px;min-width:0;height:100%;display:flex;overflow-x:auto}.tab{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.graph-tools{align-items:center;gap:6px;display:flex}.graph-panel{container-type:inline-size}@container (width<=600px){.graph-tools .zoom-pct{display:none}}@container (width<=500px){.graph-tools [data-act=links],.graph-tools [data-act=dir]{display:none}}.zoom-group{border:1px solid var(--border);background:var(--panel);border-radius:6px;align-items:center;height:24px;display:inline-flex}.zoom-group .icon-btn.sm{border-radius:5px;height:22px}.zoom-pct{font-variant-numeric:tabular-nums;min-width:42px;height:22px;color:var(--text-muted);background:0 0;border:none;border-radius:5px;font-size:11px}.zoom-pct:hover{background:var(--chip);color:var(--text)}.graph-svg:focus{outline:none}.graph-body{flex:1;min-height:0;position:relative}.graph-view{position:absolute;inset:0}.graph-svg{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.graph-svg:active{cursor:grabbing}.graph-empty{color:var(--text-muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.graph-busy{background:var(--panel);border:1px solid var(--border);color:var(--text-muted);pointer-events:none;opacity:0;border-radius:14px;padding:5px 12px;font-size:12px;transition:opacity .15s;position:absolute;top:44%;left:50%;transform:translate(-50%)}.graph-view.busy .graph-busy{opacity:1;transition-delay:.12s}.graph-view.busy .viewport{opacity:.35;transition:opacity .15s .12s}.node{cursor:pointer}.node rect:first-of-type{fill:var(--panel);stroke:var(--border-strong);stroke-width:1px}.node .stripe{fill:var(--c-table)}.node.cte .stripe{fill:var(--c-cte)}.node.result .stripe,.node.created .stripe{fill:var(--c-result)}.node.subquery .stripe{fill:var(--c-subquery)}.node.subquery rect:first-of-type{stroke-dasharray:4 3}.node.ghost rect:first-of-type{fill:#0000;stroke-dasharray:2 3}.node.ghost .stripe{opacity:.5}.node.unused rect:first-of-type{stroke:var(--warning);stroke-dasharray:3 3}.node .nlabel{fill:var(--text);font:600 12.5px var(--sans)}.node.cte .nlabel{fill:var(--c-cte)}.node.table .nlabel{fill:var(--c-table)}.node.result .nlabel,.node.created .nlabel{fill:var(--c-result)}.node .nsub{fill:var(--text-muted);font:10.5px var(--sans)}.node:hover rect:first-of-type{stroke:var(--accent)}.node.selected rect:first-of-type{stroke:var(--accent);stroke-width:2px}.edge path{fill:none;stroke-width:1.6px;stroke:var(--j-from)}.edge.inner path{stroke:var(--j-inner)}.edge.left path{stroke:var(--j-left)}.edge.right path{stroke:var(--j-right)}.edge.full path{stroke:var(--j-full)}.edge.cross path{stroke:var(--j-cross);stroke-width:2px}.edge.dashed path{stroke-dasharray:5 4}.edge.derive path{stroke:var(--c-cte);stroke-width:3px;opacity:.55}.arrow.derive{fill:var(--c-cte)}.lg.derive{border-top:3px solid var(--c-cte);opacity:.6}.chip rect{fill:var(--chip);stroke:none}.chip text{font:600 10px var(--sans);fill:var(--text-muted)}.chip.filter rect{fill:color-mix(in srgb, var(--j-right) 16%, transparent)}.chip.filter text{fill:var(--j-right)}.chip.agg rect{fill:color-mix(in srgb, var(--j-full) 16%, transparent)}.chip.agg text{fill:var(--j-full)}.chip.dedupe rect{fill:color-mix(in srgb, var(--j-left) 18%, transparent)}.chip.dedupe text{fill:var(--j-left)}.chip.window rect{fill:color-mix(in srgb, var(--j-inner) 14%, transparent)}.chip.window text{fill:var(--j-inner)}.chip.union rect,.chip.distinct rect,.chip.limit rect{fill:var(--chip)}.node.derived rect:first-of-type{stroke:color-mix(in srgb, var(--c-cte) 45%, var(--border-strong))}.wins{gap:6px;display:grid}.win{--wc:var(--j-from);border:1px solid var(--border);border-left:3px solid var(--wc);background:color-mix(in srgb, var(--wc) 5%, var(--panel));cursor:pointer;border-radius:6px;min-width:0;padding:5px 8px 6px;font-size:11.5px}.win:hover{border-color:color-mix(in srgb, var(--wc) 45%, var(--border));border-left-color:var(--wc)}.win.k-rank{--wc:var(--j-inner)}.win.k-running,.win.k-rolling{--wc:var(--j-left)}.win.k-total{--wc:var(--j-full)}.win.k-offset,.win.k-pick{--wc:var(--c-cte)}.win-head{align-items:baseline;gap:8px;min-width:0;display:flex}.win-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--wc);white-space:nowrap;font-size:10.5px;font-weight:700}.win-alias{font-family:var(--mono);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.win-what{font-family:var(--mono);color:var(--text);word-break:break-word;margin:2px 0 3px;font-size:11px}.win-spec{grid-template-columns:38px 1fr;align-items:baseline;gap:6px;margin-top:1px;display:grid}.win-spec>span:last-child{word-break:break-word;min-width:0}.wk{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.win code{font-size:10.5px}.win-dir{color:var(--wc);margin:0 6px 0 2px;font-weight:700}.win-note{color:var(--warning);margin-top:4px;font-size:11px}.d-window .wins{margin-top:3px}.shape{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;display:grid}.shape dt{color:var(--text-muted);padding-top:1px;font-size:11px}.shape dd{word-break:break-word;min-width:0;margin:0;font-size:11.5px}.shape code{font-size:11px}.shape .cond+.cond{margin-top:2px}.arrow.from{fill:var(--j-from)}.arrow.inner{fill:var(--j-inner)}.arrow.left{fill:var(--j-left)}.arrow.right{fill:var(--j-right)}.arrow.full{fill:var(--j-full)}.arrow.cross{fill:var(--j-cross)}.elabel rect{fill:var(--bg);stroke:var(--border);stroke-width:1px}.elabel text{font:10.5px var(--sans);fill:var(--text-muted)}.edge.inner .elabel text{fill:var(--j-inner)}.edge.left .elabel text{fill:var(--j-left)}.edge.right .elabel text{fill:var(--j-right)}.edge.full .elabel text{fill:var(--j-full)}.edge.cross .elabel text{fill:var(--j-cross)}.edge .elabel text.with{fill:var(--text-muted)}.viewport.has-selection .node:not(.lit),.viewport.has-selection .edge:not(.lit){opacity:.18}.node,.edge{transition:opacity .15s}.legend{height:28px;color:var(--text-muted);background:color-mix(in srgb, var(--bg) 88%, transparent);border-top:1px solid var(--border);white-space:nowrap;align-items:center;gap:12px;padding:0 12px;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.legend.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.legend span{align-items:center;gap:5px;display:inline-flex}.legend .sep{background:var(--border);width:1px;height:14px}.lg{border-top:2px solid var(--j-from);width:16px;height:0;display:inline-block}.lg.inner{border-color:var(--j-inner)}.lg.left{border-color:var(--j-left)}.lg.right{border-color:var(--j-right)}.lg.full{border-color:var(--j-full)}.lg.cross{border-color:var(--j-cross)}.nk{background:var(--c-table);border-radius:2px;width:4px;height:12px;display:inline-block}.nk.cte{background:var(--c-cte)}.nk.result{background:var(--c-result)}.detail{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(320px,100% - 16px);max-height:calc(100% - 48px);padding:10px 12px;font-size:12px;position:absolute;top:8px;right:8px;overflow:auto;box-shadow:0 8px 28px #0000002e}.detail-head{align-items:center;gap:8px;display:flex}.detail-head b{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.kind{text-transform:uppercase;letter-spacing:.05em;background:var(--chip);color:var(--c-table);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.kind.cte{color:var(--c-cte)}.kind.result,.kind.created{color:var(--c-result)}.kind.subquery{color:var(--c-subquery)}.full{font-family:var(--mono);color:var(--text-muted);word-break:break-all;margin:4px 0 0;font-size:11px}.dsec{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:10px 0 4px;font-size:10.5px;font-weight:650}.joins{gap:5px;margin:0;padding:0;list-style:none;display:grid}.joins li{font-family:var(--mono);font-size:11.5px}.jk{color:var(--j-from);font-size:10.5px;font-weight:700}.jk.inner{color:var(--j-inner)}.jk.left{color:var(--j-left)}.jk.right{color:var(--j-right)}.jk.full{color:var(--j-full)}.jk.cross{color:var(--j-cross)}.link{font-family:var(--mono);color:var(--accent);background:0 0;border:none;padding:0;font-size:11.5px}.link:hover{text-decoration:underline}.alias{color:var(--text-muted);font-style:italic}.on{color:var(--text-muted);word-break:break-word;margin-top:1px;padding-left:14px}.on.with .link{font-size:inherit}.muted{color:var(--text-muted)}.union-sep{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin:6px 0;font-size:10px}.feeds{flex-wrap:wrap;gap:4px 8px;display:flex}.warn{color:var(--warning);margin-top:8px;font-weight:600}.dfoot{color:var(--text-muted);margin-top:8px;font-size:11px}.tables-view{background:var(--panel);padding:6px 12px 16px;position:absolute;inset:0;overflow:auto}.t-group h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:6px;margin:12px 0 6px;font-size:11.5px;display:flex}.t-group ul{margin:0;padding:0;list-style:none}.t-group li{cursor:pointer;border-radius:6px;margin:0 -8px;padding:6px 8px}.t-group li:hover{background:var(--chip)}.t-group li.empty{cursor:default}.t-name{font-family:var(--mono);color:var(--c-table);word-break:break-all;font-size:12.5px;font-weight:600}.t-group:last-child .t-name{color:var(--c-cte)}.t-sub{color:var(--text-faint);font-weight:400}.t-meta{color:var(--text-muted);margin-top:1px;font-size:11.5px}.toast{background:var(--text);color:var(--bg);opacity:0;pointer-events:none;z-index:100;border-radius:8px;max-width:calc(100vw - 32px);padding:8px 14px;font-size:12.5px;font-weight:550;transition:opacity .18s,transform .18s;position:fixed;bottom:40px;left:50%;transform:translate(-50%,12px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:var(--error);color:#fff}.welcome{z-index:120;width:340px;max-width:calc(100vw - 32px);color:var(--text);background:color-mix(in srgb, var(--accent) 12%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));border-left:4px solid var(--accent);opacity:0;border-radius:10px;padding:14px 16px 12px 18px;transition:opacity .2s,transform .2s;position:fixed;bottom:40px;right:16px;transform:translateY(10px);box-shadow:0 2px 6px #00000014,0 18px 44px -10px #0a143c61}.welcome.show{opacity:1;transform:none}.welcome-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.welcome-head b{flex:1;align-items:center;gap:8px;font-size:14px;font-weight:650;display:flex}.welcome-icon{background:var(--accent);width:18px;height:18px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font:italic 700 11.5px/1 Georgia,serif;display:grid}.welcome .icon-btn:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.welcome-sub{color:var(--text-muted);margin:3px 0 9px;font-size:12.5px;line-height:1.45}.welcome-note{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text-muted);border-radius:7px;margin:0 0 9px;padding:7px 9px;font-size:12px;line-height:1.4}.welcome-note b{color:var(--text);font-weight:600}.welcome-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.welcome-list li{color:var(--text-muted);padding-left:14px;font-size:12px;line-height:1.4;position:relative}.welcome-list li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:6px;left:2px}.welcome-list b{color:var(--text);font-weight:600}.welcome-foot{color:var(--text-faint);justify-content:space-between;align-items:center;margin-top:12px;font-size:11.5px;display:flex}.m-nav{display:none}@media (max-width:820px){html,body{height:100dvh}body{grid-template-rows:minmax(0,1fr) auto}.layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.gutter{display:none}.right,.right.run-mode{grid-template-rows:minmax(0,1fr);display:none}body[data-mview=values] .right,body[data-mview=panel] .right{display:grid}body[data-mview=values] .left,body[data-mview=panel] .left,body[data-mview=values] .graph-panel{display:none}body[data-mview=values] .right.run-mode>.vars-panel{display:block}body[data-mview=panel] .vars-panel{display:none}.m-nav{height:calc(54px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--border);display:flex}.m-nav button{min-width:0;color:var(--text-muted);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10.5px;font-weight:600;display:flex}.m-nav button.active{color:var(--accent)}.welcome{bottom:calc(66px + env(safe-area-inset-bottom))}}.steps-view{background:var(--bg);padding:10px 12px 24px;position:absolute;inset:0;overflow:auto}.steps-empty{text-align:center;padding:20px}.s-summary{color:var(--text-muted);align-items:center;gap:6px;margin:0 2px 8px;font-size:11.5px;display:flex}.s-summary .spacer{flex:1}.step{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--c-cte);border-radius:8px}.step.result,.step.created{border-left-color:var(--c-result)}.step.unused{border-left-color:var(--warning);border-style:dashed}.s-head,.n-head{cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.s-head:hover,.n-head:hover{background:var(--chip);border-radius:8px}.s-head .num{background:var(--chip);width:20px;height:20px;color:var(--text-muted);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.s-name{font-family:var(--mono);color:var(--c-cte);background:0 0;border:none;padding:0;font-size:13px;font-weight:700}.step.result .s-name,.step.created .s-name{color:var(--c-result)}.s-name:hover{text-decoration:underline}.chips{flex-wrap:wrap;gap:4px;display:inline-flex}.schip{background:var(--chip);color:var(--text-muted);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:600}.schip.filter{background:color-mix(in srgb, var(--j-right) 16%, transparent);color:var(--j-right)}.schip.agg{background:color-mix(in srgb, var(--j-full) 16%, transparent);color:var(--j-full)}.schip.dedupe{background:color-mix(in srgb, var(--j-left) 18%, transparent);color:var(--j-left)}.schip.window{background:color-mix(in srgb, var(--j-inner) 14%, transparent);color:var(--j-inner)}.s-head .chips{flex:1 1 0;min-width:0}.caret{color:var(--text-faint);margin-left:auto;font-size:11px;transition:transform .15s}.n-head .caret{order:-1;margin-left:0}.open>.s-head .caret,.open>.n-head .caret{transform:rotate(90deg)}.s-body,.n-body{padding:0 12px 10px 38px;display:none}.n-body{padding:0 10px 8px 22px}.open>.s-body,.open>.n-body{display:block}.reads{gap:5px;margin:0 0 6px;padding:0;list-style:none;display:grid}.r-item{grid-template-columns:78px 1fr;align-items:start;gap:8px;font-size:12px;display:grid}.jp{letter-spacing:.02em;text-align:right;color:var(--j-from);white-space:nowrap;padding-top:2px;font-size:10px;font-weight:700}.jp.inner{color:var(--j-inner)}.jp.left{color:var(--j-left)}.jp.right{color:var(--j-right)}.jp.full{color:var(--j-full)}.jp.cross{color:var(--j-cross)}.r-main{min-width:0}.s-src{font-family:var(--mono);color:var(--c-table);text-align:left;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.s-src.cte{color:var(--c-cte)}.s-src.result,.s-src.created{color:var(--c-result)}.s-src.unnest{color:var(--text-muted);font-weight:400}button.s-src:hover{text-decoration:underline}.s-sub{color:var(--text-faint);font-weight:400}.keys{color:var(--text-muted);font-size:11.5px;font-family:var(--mono);margin-left:4px}.r-main .on{font-size:11px;font-family:var(--mono);padding-left:0}.nested{border:1px dashed var(--border-strong);background:color-mix(in srgb, var(--chip) 50%, transparent);border-radius:7px;margin-top:2px}.nested .n-head{gap:6px;padding:5px 8px}.nested .s-name{color:var(--c-subquery);font-size:12px}.does{color:var(--text);gap:4px;margin:4px 0 6px;padding:0;font-size:12px;list-style:none;display:grid}.does code{font-size:11px}.dk{text-transform:uppercase;letter-spacing:.04em;min-width:62px;color:var(--text-muted);font-size:10.5px;font-weight:700;display:inline-block}.d-filter .dk{color:var(--j-right)}.d-agg .dk{color:var(--j-full)}.d-window .dk{color:var(--j-inner)}.d-dedupe{color:var(--j-left)}.and{color:var(--text-faint);font-size:11px}.inline-reads{margin:2px 0 6px;font-size:12px}.used{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;padding-top:6px;font-size:12px;display:flex}.branch{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin:4px 0 4px 86px;font-size:10px}.s-arrow{text-align:center;color:var(--text-faint);margin:2px 0;font-size:13px;line-height:18px}.focus-bar{z-index:2;background:var(--accent-soft);border-bottom:1px solid var(--border);color:var(--text-muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:space-between;align-items:center;gap:8px;margin:8px -14px 0;padding:7px 14px;font-size:12px;display:flex;position:sticky;top:0}.focus-bar b{font-family:var(--mono);color:var(--c-cte)}.focus-bar b.result,.focus-bar b.created{color:var(--c-result)}.focus-bar b.subquery{color:var(--c-subquery)}.focus-bar+.section{top:30px}.row.dim{opacity:.4}.row.dim:hover{opacity:1}.step-tag{border:1px solid color-mix(in srgb, var(--c-cte) 35%, transparent);color:var(--c-cte);font-family:var(--mono);background:0 0;border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:600;line-height:16px}.step-tag.result,.step-tag.created{color:var(--c-result);border-color:color-mix(in srgb, var(--c-result) 35%, transparent)}.step-tag.subquery{color:var(--c-subquery);border-color:var(--border-strong);border-style:dashed}.step-tag:hover{background:var(--accent-soft)}.used-in{color:var(--text-muted);align-self:center;font-size:10.5px}.iso-bar{z-index:3;background:var(--panel);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;align-items:center;gap:8px;padding:4px 6px 4px 10px;font-size:11.5px;display:flex;position:absolute;top:8px;left:8px;box-shadow:0 4px 14px #0000001f}.iso-bar b{color:var(--text);font-family:var(--mono)}.detail-head .mini{white-space:nowrap}.edge.semi path{stroke:var(--text-faint);stroke-width:1.4px;stroke-dasharray:1.5 4;stroke-linecap:round}.arrow.semi{fill:var(--text-faint)}.edge.semi .elabel text{fill:var(--text-faint);font-style:italic}.lg.semi{border-top:2px dotted var(--text-faint)}.chip.semi rect{fill:none;stroke:var(--text-faint);stroke-dasharray:2 2}.chip.semi text{fill:var(--text-muted)}.schip.semi{border:1px dashed var(--text-faint);color:var(--text-muted);background:0 0;padding:0 5px}.cp-cte{color:var(--text-faint);font-weight:500}.cp-note{font-family:var(--mono);color:var(--syn-comment);margin:-2px 0 4px;font-size:11px;font-style:italic}.chip.date rect{fill:color-mix(in srgb, var(--c-table) 14%, transparent)}.chip.date text{fill:var(--c-table)}.chip.date.warn rect,.chip.window.warn rect{fill:color-mix(in srgb, var(--warning) 22%, transparent);stroke:var(--warning);stroke-width:1px}.chip.date.warn text,.chip.window.warn text{fill:var(--warning)}.schip.date{background:color-mix(in srgb, var(--c-table) 14%, transparent);color:var(--c-table)}.schip.date.warn,.schip.window.warn{background:color-mix(in srgb, var(--warning) 20%, transparent);color:var(--warning);outline:1px solid var(--warning)}.dw-status{font-size:11px;font-weight:650}.dw-status.ok{color:var(--ok)}.dw-status.warn{color:var(--warning)}.dw-win,.dw-part{font-family:var(--mono);align-items:center;gap:4px;font-size:12px;display:inline-flex}.dw-part{color:var(--text-muted);font-size:11px}.dw-win .arrow{color:var(--text-faint)}.dw-row .row-main{min-height:26px}.dw-steps{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.dw-day{font-family:var(--mono);font-size:inherit;color:var(--c-table);background:0 0;border:1px solid #0000;border-radius:4px;padding:0 3px}.dw-part .dw-day{color:var(--text-muted)}.dw-day:hover{border-color:var(--border-strong)}.dw-day.bad{color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent);border-color:var(--warning);font-weight:700}.dw-open{color:var(--text-faint)}.dw-msg{margin:3px 0 0;padding-left:2px;font-size:11.5px}.dw-msg.warning{color:var(--warning)}.dw-msg.info{color:var(--text-muted)}.dw-actions{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.viewport.hovering .node:not(.hl),.viewport.hovering .edge:not(.hl){opacity:.14}.viewport.hovering .node.hl,.viewport.hovering .edge.hl{opacity:1}.viewport.hovering .edge.hl path{stroke-width:2.6px}.viewport.hovering .node.hl:not(.hl-up) rect:first-of-type{stroke:var(--accent);stroke-width:2px}.viewport.hovering .node.hl-up rect:first-of-type{stroke:var(--accent);stroke-dasharray:4 3;stroke-width:1.5px}.changes-btn{border:1px solid var(--border);background:var(--panel);height:26px;font-family:var(--mono);border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.changes-label{font:550 12px var(--sans);color:var(--text-muted)}.changes-btn:hover{border-color:var(--border-strong);background:var(--chip)}.d-add{color:var(--ok)}.d-del{color:var(--error)}.diff-modal{z-index:200;place-items:center;display:grid;position:fixed;inset:0}.diff-backdrop{background:#080a108c;position:absolute;inset:0}.diff-dialog{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(1000px,100vw - 32px);max-height:calc(100vh - 48px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000059}.diff-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.diff-head h2{margin:0;font-size:15px}.diff-sub{color:var(--text-muted);margin:4px 0 0;font-size:12.5px}.diff-sub span{font-family:var(--mono);font-weight:700}.diff-body{background:var(--editor-bg);flex:1;min-height:120px;overflow:auto}.diff-table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:12.5px}.diff-table td{vertical-align:top;padding:0}.diff-table .ln{text-align:right;width:1%;min-width:38px;color:var(--text-faint);-webkit-user-select:none;user-select:none;white-space:nowrap;padding:1px 8px}.diff-table .sg{text-align:center;-webkit-user-select:none;user-select:none;width:14px;font-weight:700}.diff-table pre{white-space:pre-wrap;word-break:break-word;font:inherit;margin:0;padding:1px 12px 1px 4px;line-height:1.55}.diff-table tr.add{background:color-mix(in srgb, var(--ok) 13%, transparent)}.diff-table tr.add .sg{color:var(--ok)}.diff-table tr.del{background:color-mix(in srgb, var(--error) 12%, transparent)}.diff-table tr.del .sg{color:var(--error)}.diff-table tr.add mark{background:color-mix(in srgb, var(--ok) 38%, transparent);color:inherit;border-radius:2px}.diff-table tr.del mark{background:color-mix(in srgb, var(--error) 34%, transparent);color:inherit;border-radius:2px;text-decoration:line-through}.diff-table tr.same pre{color:var(--text-muted)}.diff-table tr.fold td{background:var(--chip);padding:4px 12px}.diff-table tr.fold .link{color:var(--text-muted);font-size:11.5px}.diff-head .mode-switch{align-self:center;margin:0 4px 0 auto}.diff-modal.is-split .diff-dialog{width:min(1500px,100vw - 32px)}.diff-table.split{table-layout:fixed}.diff-table.split .c-ln{width:44px}.diff-table.split thead th{z-index:1;text-align:left;font:600 11px var(--sans);color:var(--text-muted);background:var(--chip);border-bottom:1px solid var(--border);padding:5px 12px;position:sticky;top:0}.diff-table.split th:nth-child(2),.diff-table.split td:nth-child(3){border-left:1px solid var(--border)}.diff-table.split tr.chg td:nth-child(-n+2){background:color-mix(in srgb, var(--error) 12%, transparent)}.diff-table.split tr.chg td:nth-child(n+3){background:color-mix(in srgb, var(--ok) 13%, transparent)}.diff-table.split tr.chg:not(.has-l) td:nth-child(-n+2),.diff-table.split tr.chg:not(.has-r) td:nth-child(n+3){background:var(--chip)}.diff-table.split tr.chg td:nth-child(2) mark{background:color-mix(in srgb, var(--error) 34%, transparent);color:inherit;border-radius:2px;text-decoration:line-through}.diff-table.split tr.chg td:nth-child(4) mark{background:color-mix(in srgb, var(--ok) 38%, transparent);color:inherit;border-radius:2px}.diff-table.split tr.same pre{color:var(--text-muted)}@media (max-width:760px){.diff-table.split .c-ln{width:32px}}.diff-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.diff-foot .spacer{flex:1}.diff-foot .link{font-family:var(--sans);color:var(--text-muted);font-size:12px}.diff-foot .link:hover{color:var(--accent)}.statusbar>*{white-space:nowrap}#stat-summary{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.mode-switch{border:1px solid var(--border);border-radius:7px;margin-right:4px;display:inline-flex;overflow:hidden}.mode-switch button{color:var(--text-muted);background:0 0;border:none;padding:2px 9px;font-size:11.5px}.mode-switch button+button{border-left:1px solid var(--border)}.mode-switch button.on{background:var(--accent-soft);color:var(--text);font-weight:600}.run-view{background:var(--bg);flex-direction:column;display:flex;position:absolute;inset:0}.run-head{background:var(--panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;min-width:0;padding:6px 10px;display:flex}.run-target{border:1px solid var(--border);background:var(--panel);min-width:0;max-width:220px;height:26px;color:var(--text);border-radius:6px;padding:0 6px;font-size:12px}.run-target:focus{border-color:var(--accent);outline:none}.run-go{min-width:58px}.run-status{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0;font-size:11.5px;overflow:hidden}.run-status.ok{color:var(--ok)}.run-status.error{color:var(--error)}.run-status.warn{color:var(--warning)}.run-status.busy:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1s ease-in-out infinite run-pulse;display:inline-block}@keyframes run-pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.run-status.busy:before{animation:none}}.run-view.off .run-target,.run-view.off .run-status{display:none}.run-go:disabled{opacity:.5;cursor:default;filter:none}.run-off{color:var(--warning);background:color-mix(in srgb, var(--warning) 8%, var(--panel));border-bottom:1px solid var(--border);flex:none;padding:7px 12px;font-size:11.5px}.run-results{flex:1;min-height:0;padding:10px 12px 24px;overflow:auto}.tt{box-sizing:border-box;flex-direction:column;min-height:100%;padding:12px 14px;display:flex}.tt header{align-items:baseline;gap:8px;min-width:0;display:flex}.tt-name{font-family:var(--mono);color:var(--c-table);flex:none;font-size:12.5px}.tt-full{font-family:var(--mono);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.tt-stat{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:11px}.tt-stat.warn{color:var(--warning)}.tt-stat.error{color:var(--error);white-space:normal;text-align:right}.tt-cols{color:var(--text-muted);margin:4px 0 6px;font-size:11px;line-height:1.7}.tt-cols code{font-size:10.5px}.tt-text{resize:none;box-sizing:border-box;border:1px solid var(--border);background:var(--editor-bg);width:100%;min-height:160px;color:var(--text);font:12px/1.5 var(--mono);white-space:pre;tab-size:12;border-radius:6px;flex:1;padding:6px 8px;display:block;overflow:auto}.tt-text:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.tt-text::placeholder{color:var(--text-faint)}.tt-tools{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.tt-tools .tt-end{margin-left:auto}.tt-param{align-items:center;gap:8px;margin-bottom:6px;display:flex}.tt-param span{font-family:var(--mono);color:var(--syn-var);min-width:110px;font-size:12px}.tt-param input{border:1px solid var(--border);background:var(--editor-bg);min-width:0;height:26px;color:var(--text);font:12px var(--mono);border-radius:5px;flex:1;padding:0 7px}.tt-param input:focus{border-color:var(--accent);outline:none}.res-empty{color:var(--text-muted);padding:14px 2px;font-size:12px}.res-meta{color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:12px}.res-meta b{font-family:var(--mono);font-size:12px}.res-notes{color:var(--warning);background:color-mix(in srgb, var(--warning) 8%, transparent);border-radius:6px;margin:0 0 8px;padding:6px 10px 6px 26px;font-size:11.5px}.res-notes li+li{margin-top:2px}.res-error{background:var(--panel);border:1px solid color-mix(in srgb, var(--error) 45%, var(--border));border-left:3px solid var(--error);border-radius:7px;margin-bottom:10px;padding:9px 12px;font-size:12px}.res-error>b{color:var(--error);font-family:var(--mono);word-break:break-word;font-size:12px;font-weight:600;display:block}.res-error ul{margin:6px 0 0;padding-left:18px}.res-error li{margin:4px 0}.res-error .mini{vertical-align:middle;margin-left:4px}.res-error p{margin:8px 0 0;font-size:11.5px}.res-at{margin-top:6px}.res-detail{background:var(--chip);font:11px/1.45 var(--mono);white-space:pre-wrap;color:var(--text-muted);border-radius:5px;max-height:160px;margin:8px 0 0;padding:6px 8px;overflow:auto}.res-grid-wrap{border:1px solid var(--border);background:var(--panel);border-radius:7px;min-height:80px;max-height:calc(100% - 40px);overflow:auto}.res-grid{border-collapse:separate;border-spacing:0;font:12px var(--mono);font-variant-numeric:tabular-nums}.res-grid th,.res-grid td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:420px;padding:4px 10px;overflow:hidden}.res-grid th{z-index:1;background:var(--chip);color:var(--text);font-weight:600;font-family:var(--sans);font-size:11.5px;position:sticky;top:0}.res-grid th small{letter-spacing:.03em;color:var(--text-faint);font-size:9.5px;font-weight:500;display:block}.res-grid .num{text-align:right}.res-grid .rn{color:var(--text-faint);text-align:right;background:var(--panel);position:sticky;left:0}.res-grid th.rn{background:var(--chip);z-index:2}.res-grid td.null{color:var(--text-faint);font-style:italic}.res-grid tbody tr:hover td{background:var(--active-line)}.res-sql{margin-top:12px;font-size:12px}.res-sql summary{cursor:pointer;color:var(--text-muted)}.res-sql-tools{margin:6px 0}.res-sql pre{background:var(--panel);border:1px solid var(--border);font:11.5px/1.5 var(--mono);white-space:pre;border-radius:6px;max-height:320px;margin:0;padding:8px 10px;overflow:auto}.tt-bar{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 4px;display:flex}.tt-drop-hint{color:var(--text-faint);font-size:11px}.tt-rename{min-width:0;height:24px;font:600 12.5px var(--mono);color:var(--c-table);background:0 0;border:1px solid #0000;border-radius:5px;flex:1;margin-left:-5px;padding:0 5px}.tt-rename:hover{border-color:var(--border)}.tt-rename:focus{border-color:var(--accent);background:var(--editor-bg);outline:none}.tt-rename::placeholder{color:var(--text-faint);font-weight:400}.tt-other .tt-cols:empty{display:none}.tt-uses{color:var(--text-muted);margin:-2px 0 6px;font-size:11.5px}.tt-uses .link{font-size:11.5px}.tt-grid{border:1px solid var(--border);background:var(--editor-bg);border-radius:6px;flex:1;min-height:160px;overflow:auto}.tt-grid .res-grid th,.tt-grid .res-grid td{max-width:240px;padding:3px 8px}.tt-grid-empty,.tt-grid-more{color:var(--text-muted);padding:6px 8px;font-size:11px}.t-testdata{color:var(--text-muted);align-items:center;gap:8px;margin:8px 0 2px;font-size:11.5px;display:flex}.run-tables{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:8px 12px;display:flex}.rt-chips{display:contents}.rt-chip,.rt-more{border:1px solid var(--border);background:var(--panel);max-width:220px;height:24px;color:var(--c-table);font:12px var(--mono);border-radius:12px;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.rt-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rt-chip small{font:10.5px var(--sans);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.rt-chip.warn{border-style:dashed}.rt-chip.warn small{color:var(--warning)}.rt-chip.error small{color:var(--error)}.rt-chip:hover,.rt-more:hover{border-color:var(--border-strong);background:var(--chip)}.rt-more{color:var(--text-muted);font-family:var(--sans);font-size:11.5px}.rt-new{height:24px}.run-params{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:6px 14px;padding:7px 12px;display:flex}.run-params[hidden]{display:none}.rp-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);cursor:help;font-size:11px}.run-params .tt-param{gap:6px;margin:0}.run-params .tt-param span{min-width:0}.run-params .tt-param input{flex:none;width:130px}.run-view.dropping{outline:2px dashed color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-6px}.res-stale{background:var(--chip);color:var(--text);border-radius:6px;margin:0 0 8px;padding:6px 10px;font-size:12px}.res-stale .link{font-family:var(--sans);font-size:12px}.run-results.stale .res-grid-wrap,.run-results.stale .res-meta{opacity:.55}.res-idle{max-width:56ch;color:var(--text-muted);padding:18px 4px;font-size:12.5px;line-height:1.55}.res-idle h3{color:var(--text);margin:0 0 6px;font-size:14px}.res-idle p{margin:0 0 10px}.res-idle ol{margin:0 0 12px;padding-left:20px}.res-idle li+li{margin-top:3px}.res-idle .link{font-size:12px}.res-idle-acts{flex-wrap:wrap;gap:8px;display:flex}.res-idle kbd{font:11px var(--sans);border:1px solid var(--border);background:var(--panel);border-bottom-width:2px;border-radius:4px;padding:0 4px}.right.run-mode{grid-template-rows:minmax(0,1fr)}.right.run-mode>.vars-panel,.right.run-mode>.gutter-h{display:none}.tt-modal{z-index:200;place-items:center;display:grid;position:fixed;inset:0}.tt-modal[hidden]{display:none}.tt-backdrop{background:#080a108c;position:absolute;inset:0}.tt-dialog{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(980px,100vw - 32px);height:min(640px,100vh - 48px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000059}.tt-dialog.dropping{outline:2px dashed color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-6px}.tt-dhead{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.tt-dhead h2{margin:0;font-size:15px}.tt-dsub{color:var(--text-muted);margin:4px 0 0;font-size:12.5px}.tt-dbody{flex:1;grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid}.tt-side{border-right:1px solid var(--border);background:var(--bg);padding:10px;overflow:auto}.tt-side-acts{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.tt-group[hidden]{display:none}.tt-group h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:12px 4px 4px;font-size:11px}.tt-group ul{margin:0;padding:0;list-style:none}.tt-navi{text-align:left;width:100%;color:var(--c-table);font:12px var(--mono);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex}.tt-navi:hover{background:var(--chip)}.tt-navi.sel{background:var(--accent-soft)}.tt-navi[data-draft] .tt-navn{color:var(--text-muted);font-style:italic}.tt-navn{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tt-navs{font:10.5px var(--sans);color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.tt-navs.warn{color:var(--warning)}.tt-navs.error{color:var(--error)}.tt-navnone{color:var(--text-faint);padding:4px 8px;font-size:11.5px}.tt-main{background:var(--panel);min-width:0;overflow:auto}.tt-main.drop-on .tt-text,.tt-main.drop-on .tt-grid{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tt-dfoot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.tt-dfoot .spacer{flex:1}.tt-tip{color:var(--text-muted);font-size:11.5px}.tt-dfoot .link{font-family:var(--sans);color:var(--text-muted);font-size:12px}.tt-dfoot .link:hover{color:var(--error)}@media (max-width:640px){.tt-dialog{width:calc(100vw - 16px);height:calc(100vh - 24px)}.tt-dbody{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.tt-side{border-right:none;border-bottom:1px solid var(--border);max-height:30vh}.tt-tip{display:none}}.rp-pick{flex:none;margin-left:auto;position:relative}.rp-menu{z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:8px;min-width:230px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 30px #0000002e}.rp-menu[hidden]{display:none}.rp-h{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:6px 8px 4px;font-size:11px}.rp-item{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:5px;padding:6px 8px;font-size:12.5px;display:block}.rp-item:hover,.rp-item:focus{background:var(--chip);outline:none}.rp-sep{background:var(--border);height:1px;margin:4px 2px}.res-examples{margin:0 0 6px;padding-left:20px}.res-examples li+li{margin-top:4px}.res-examples .link{font-family:var(--sans);font-size:12.5px}
