:root{--paper:#f5f6f8;--surface:#fff;--ink:#101828;--muted:#5d6676;--faint:#8b93a1;--line:#dfe3ea;--lane0:#fff;--lane1:#f8f9fb;--lanetab:#eef1f5;--hl:#e86a10;--accent:#3c6fd6;--src-f:#eaf0fb;--src-s:#4569b3;--nw-f:#fdf1e7;--nw-s:#cf6d24;--proc-f:#fff6dc;--proc-s:#b8860b;--part-f:#fffbef;--tbl-f:#e5f5f0;--tbl-s:#24886f;--core-f:#cdeee1;--core-s:#17734f;--help-f:#f6fbf9;--view-f:#f1ebfc;--view-s:#7454c9;--out-f:#fdecea;--out-s:#cc3f54;--cons-f:#f8e9f5;--cons-s:#9e3b86;--unk-f:#f0f2f5;--unk-s:#8b93a1;--stub-f:#fff;--stub-s:#9aa3b2;--frame-f:#f3f5f9;--frame-s:#c9cfd9;--e-sql:#4a5568;--e-kb:#3c6fd6;--e-inf:#cc3f54;--badge-f:#fdecea;--badge-t:#b4233a;--g-addr:#24886f;--g-list:#b8860b;--g-core:#17734f;--g-rep:#cc3f54;--g-mkt:#7454c9;--g-miss:#8b93a1;--pn-yes:#1f9d55;--pn-mixed:#d98c00;--pn-no:#d7263d;--pn-missing:#8b93a1;--e-unk:#8b93a1;--ext-f:#f4f5f7;--ext-s:#9aa3b2;--e-asm:#b7791f;--pbi-f:#fff6d9;--pbi-s:#a87a00;--file-f:#eaf4fb;--file-s:#2f73a0;--df-f:#e9f7f3;--df-s:#11806a;--api-f:#fdf0f0;--api-s:#b3261e;--ask-f:#f3edff;--ask-s:#6741d9;--tbsys-f:#eef2f6;--tbsys-s:#5b6b7a;--tbraw-f:#eceff3;--tbraw-s:#3f4c5a;--tbstg-f:#eaf3fb;--tbstg-s:#2f73a0;--tbint-f:#f6f7f9;--tbint-s:#6b7280;--tbref-f:#fbf6e6;--tbref-s:#9a6b00;--tbent-f:#e1f2ef;--tbent-s:#0f6b72;--tbpii-f:#fdecec;--tbpii-s:#b3261e;--tbl2-f:#e9ebf8;--tbl2-s:#4c51bf;--tbexp-f:#fdf0e6;--tbexp-s:#b45309;--e-tobe:#0f6b72;--fq-hourly:#6d3fc0;--fq-daily:#1769aa;--fq-rebuilt:#8a6d1d;--fq-no:#8b93a1;--fq-check:#d7263d;--e-prop:#0b8f7f;--prop-f:#e6f6f3;--note-f:#fff8d6;--note-s:#c9a227;--star:#c99200;--star-f:#fff6dc;--shadow-soft:#10182814;--shadow-strong:#10182821;--f-display:"Bricolage Grotesque", "IBM Plex Sans", system-ui, sans-serif;--f-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0f131a;--surface:#151b24;--ink:#e6eaf0;--muted:#9aa4b2;--faint:#6f7a8a;--line:#263040;--lane0:#121821;--lane1:#141b25;--lanetab:#18202b;--hl:#ff9a3c;--accent:#7ea6f2;--src-f:#16243c;--src-s:#7fa2e8;--nw-f:#3a2412;--nw-s:#f0a060;--proc-f:#352a0a;--proc-s:#e7bf45;--part-f:#2a230c;--tbl-f:#0f2f28;--tbl-s:#4fc3a1;--core-f:#124433;--core-s:#6fe0b2;--help-f:#0f201b;--view-f:#261d42;--view-s:#a891f0;--out-f:#3d171d;--out-s:#f2788a;--cons-f:#351530;--cons-s:#e083c9;--unk-f:#1d232c;--unk-s:#8b95a5;--stub-f:#151b24;--stub-s:#6b7687;--frame-f:#131a23;--frame-s:#2f3a4b;--e-sql:#a6b0bf;--e-kb:#7ea6f2;--e-inf:#f2788a;--badge-f:#3d171d;--badge-t:#ff9aa8;--g-addr:#4fc3a1;--g-list:#e7bf45;--g-core:#6fe0b2;--g-rep:#f2788a;--g-mkt:#a891f0;--g-miss:#6f7a8a;--pn-yes:#4cd38a;--pn-mixed:#f2b440;--pn-no:#ff6b7d;--pn-missing:#8b95a5;--e-unk:#7d8796;--ext-f:#1a2029;--ext-s:#6b7687;--e-asm:#e3b24f;--pbi-f:#2c2410;--pbi-s:#e6bb4c;--file-f:#10212d;--file-s:#74b3dc;--df-f:#0e2722;--df-s:#4fc9ae;--api-f:#2d1414;--api-s:#f08a80;--ask-f:#241b3d;--ask-s:#b197fc;--tbsys-f:#1b232b;--tbsys-s:#94a3b8;--tbraw-f:#1a2027;--tbraw-s:#a8b4c2;--tbstg-f:#10212d;--tbstg-s:#74b3dc;--tbint-f:#1c1f24;--tbint-s:#9ca3af;--tbref-f:#2a2310;--tbref-s:#e6bb4c;--tbent-f:#0f2a2a;--tbent-s:#5fc0c4;--tbpii-f:#2d1414;--tbpii-s:#f08a80;--tbl2-f:#1b1e36;--tbl2-s:#a5aaf5;--tbexp-f:#2c1d10;--tbexp-s:#f0a868;--e-tobe:#5fc0c4;--fq-hourly:#b49cff;--fq-daily:#6cb6ff;--fq-rebuilt:#d9b45a;--fq-no:#8b95a5;--fq-check:#ff6b7d;--e-prop:#41d1bd;--prop-f:#0f2a27;--note-f:#2e2810;--note-s:#d9b84a;--star:#f2c94c;--star-f:#352a0a;--shadow-soft:#00000038;--shadow-strong:#00000052;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#0f131a;--surface:#151b24;--ink:#e6eaf0;--muted:#9aa4b2;--faint:#6f7a8a;--line:#263040;--lane0:#121821;--lane1:#141b25;--lanetab:#18202b;--hl:#ff9a3c;--accent:#7ea6f2;--src-f:#16243c;--src-s:#7fa2e8;--nw-f:#3a2412;--nw-s:#f0a060;--proc-f:#352a0a;--proc-s:#e7bf45;--part-f:#2a230c;--tbl-f:#0f2f28;--tbl-s:#4fc3a1;--core-f:#124433;--core-s:#6fe0b2;--help-f:#0f201b;--view-f:#261d42;--view-s:#a891f0;--out-f:#3d171d;--out-s:#f2788a;--cons-f:#351530;--cons-s:#e083c9;--unk-f:#1d232c;--unk-s:#8b95a5;--stub-f:#151b24;--stub-s:#6b7687;--frame-f:#131a23;--frame-s:#2f3a4b;--e-sql:#a6b0bf;--e-kb:#7ea6f2;--e-inf:#f2788a;--badge-f:#3d171d;--badge-t:#ff9aa8;--g-addr:#4fc3a1;--g-list:#e7bf45;--g-core:#6fe0b2;--g-rep:#f2788a;--g-mkt:#a891f0;--g-miss:#6f7a8a;--pn-yes:#4cd38a;--pn-mixed:#f2b440;--pn-no:#ff6b7d;--pn-missing:#8b95a5;--e-unk:#7d8796;--ext-f:#1a2029;--ext-s:#6b7687;--e-asm:#e3b24f;--pbi-f:#2c2410;--pbi-s:#e6bb4c;--file-f:#10212d;--file-s:#74b3dc;--df-f:#0e2722;--df-s:#4fc9ae;--api-f:#2d1414;--api-s:#f08a80;--ask-f:#241b3d;--ask-s:#b197fc;--tbsys-f:#1b232b;--tbsys-s:#94a3b8;--tbraw-f:#1a2027;--tbraw-s:#a8b4c2;--tbstg-f:#10212d;--tbstg-s:#74b3dc;--tbint-f:#1c1f24;--tbint-s:#9ca3af;--tbref-f:#2a2310;--tbref-s:#e6bb4c;--tbent-f:#0f2a2a;--tbent-s:#5fc0c4;--tbpii-f:#2d1414;--tbpii-s:#f08a80;--tbl2-f:#1b1e36;--tbl2-s:#a5aaf5;--tbexp-f:#2c1d10;--tbexp-s:#f0a868;--e-tobe:#5fc0c4;--fq-hourly:#b49cff;--fq-daily:#6cb6ff;--fq-rebuilt:#d9b45a;--fq-no:#8b95a5;--fq-check:#ff6b7d;--e-prop:#41d1bd;--prop-f:#0f2a27;--note-f:#2e2810;--note-s:#d9b84a;--star:#f2c94c;--star-f:#352a0a;--shadow-soft:#00000038;--shadow-strong:#00000052;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);margin:0;font-size:15px;line-height:1.55}.wrap{max-width:1760px;margin:0 auto;padding-block:36px 56px;padding-inline:clamp(16px,3.2vw,48px)}code{font-family:var(--f-mono);background:var(--lanetab);overflow-wrap:anywhere;border-radius:5px;padding:.08em .35em;font-size:.85em}.home-stage{box-sizing:border-box;background-color:var(--surface);background-image:radial-gradient(circle, var(--line) 1px, transparent 1px);background-size:24px 24px;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:clamp(28px,7vw,80px) clamp(18px,5vw,56px);display:flex}.home-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(1040px,100%);display:grid}.home-option{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);min-width:0;min-height:210px;color:var(--ink);box-shadow:0 14px 40px var(--shadow-soft);border-radius:14px;padding:28px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;position:relative}.home-option:hover{border-color:var(--accent);box-shadow:0 18px 48px var(--shadow-strong);transform:translateY(-3px)}.home-option:focus-visible,.workspace-menu-link:focus-visible,.floating-filter select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.home-option-icon{border-radius:9px;place-items:center;width:48px;height:48px;display:grid}.home-option-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;width:34px;height:34px}.run-icon{color:var(--accent);background:var(--src-f)}.lineage-icon{color:var(--tbl-s);background:var(--tbl-f)}.home-option-arrow{color:var(--muted);font-size:25px;position:absolute;top:31px;right:28px}.home-option-copy{margin-top:22px;display:block}.home-option-copy strong{font:700 clamp(20px, 2.5vw, 25px) var(--f-display);display:block}.home-option-copy p{max-width:44ch;color:var(--muted);margin:7px 0 0;line-height:1.4}@media (max-width:700px){.home-stage{justify-content:flex-start}.home-options{grid-template-columns:1fr}.home-option{min-height:190px}}.viewer-nav{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px 24px;margin-bottom:26px;display:flex}.back-link{color:var(--accent);font-weight:600;text-decoration:none}.secondary-link{color:var(--accent);text-align:right;font-weight:600;text-decoration:none}.workspace-heading{min-width:0}.workspace-heading .eyebrow{margin-bottom:2px}.workspace-heading h1{margin:0;font-size:clamp(24px,3vw,36px)}.workspace-heading>p:last-child{color:var(--faint);margin:3px 0 0;font-size:12px}.view-filter{gap:4px;min-width:min(100%,280px);display:grid}.view-filter span{font:600 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.view-filter select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:600 14px var(--f-body);border-radius:9px;padding:8px 34px 8px 11px}.hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:28px 56px;display:grid}@media (max-width:960px){.hero{grid-template-columns:1fr}}.eyebrow{font:600 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}h1{font-family:var(--f-display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 14px;font-size:clamp(34px,5vw,58px);font-weight:700;line-height:1.02}h1 .mono{font-family:var(--f-mono);letter-spacing:-.03em;font-size:.78em;font-weight:600}.lede{color:var(--muted);max-width:64ch;margin:0}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.stat{border-bottom:1px solid var(--line);min-width:0;padding:14px 4px 14px 0}.stat:nth-child(odd){border-right:1px solid var(--line);padding-right:20px}.stat:nth-child(2n){padding-left:20px}.stat b{font:700 34px/1.05 var(--f-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:block}.stat span{color:var(--muted);font-size:13px}.stat.warn b{color:var(--out-s)}.diagram-workspace,.run-order-workspace{background:var(--surface);height:100vh;position:fixed;inset:0;overflow:hidden}.workspace-panel{position:absolute;inset:0}.workspace-panel .canvas{cursor:default;overscroll-behavior:none;-webkit-user-select:none;user-select:none;border:0;border-radius:0;height:100vh;overflow:hidden}.diagram-workspace .canvas svg.dg,.diagram-workspace .canvas svg.dg *,.run-order-workspace .run-order-canvas svg,.run-order-workspace .run-order-canvas svg *{-webkit-user-select:none;user-select:none}.workspace-panel>.info,.workspace-panel>.info *{-webkit-user-select:text;user-select:text}.workspace-panel>.info button{-webkit-user-select:none;user-select:none}.workspace-menu{z-index:25;align-items:center;gap:7px;display:flex;position:fixed;top:14px;left:14px}.workspace-menu-link{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);box-shadow:0 5px 18px var(--shadow-soft);border-radius:9px;align-items:center;padding:0 12px;font-weight:600;text-decoration:none;display:inline-flex}.workspace-menu-link:hover{border-color:var(--accent);color:var(--accent)}.workspace-menu-link[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.floating-filter{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex;position:fixed;top:14px;right:14px}.floating-filter span{color:var(--faint);font:600 10px var(--f-body);letter-spacing:.08em;text-transform:uppercase}.floating-filter select{background:var(--surface);max-width:220px;color:var(--ink);font:600 13px var(--f-body);border:0}.floating-overview-filter{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:end;gap:8px 10px;max-width:min(680px,100vw - 28px);padding:8px 10px;display:flex;position:fixed;top:74px;right:14px}.overview-filter-field{gap:3px;min-width:0;display:grid}.overview-filter-field span{color:var(--faint);font:600 10px var(--f-body);letter-spacing:.08em;text-transform:uppercase}.overview-filter-field input,.overview-filter-field select{border:1px solid var(--line);background:var(--surface);min-width:120px;color:var(--ink);font:600 13px var(--f-body);border-radius:7px;padding:6px 8px}.overview-filter-field input{min-width:160px}.overview-filter-clear{font:600 13px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:7px;padding:7px 10px}.floating-zoom{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:11px;align-items:center;gap:8px;padding:6px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.run-order-canvas{overscroll-behavior:none;background:var(--surface);cursor:default;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.run-order-canvas.drag{cursor:grabbing}.run-order-canvas.node-drag,.run-order-canvas.node-drag .st{cursor:move}.run-order-canvas.select-drag,.canvas.select-drag,.canvas.multi-pick{cursor:crosshair}.infinite-stage{background-color:var(--surface);background-image:radial-gradient(circle, var(--line) 1px, transparent 1px);background-size:24px 24px;width:12000px;height:12000px;position:relative}.infinite-stage>svg{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workspace-panel .node,.run-order-workspace .st{cursor:move}.workspace-panel>.info{z-index:15;box-sizing:border-box;width:min(620px,100vw - 32px);max-height:min(50vh,520px);position:fixed;bottom:76px;right:16px;overflow:auto}@media (max-width:620px){.workspace-menu{gap:4px;max-width:calc(100vw - 16px)}.workspace-menu-link{min-height:32px;padding-inline:9px;font-size:12px}.floating-filter span{display:none}.floating-filter{top:14px;left:8px;right:auto}.floating-filter select{max-width:calc(100vw - 34px)}.floating-overview-filter{max-width:none;top:74px;left:8px;right:8px}.overview-filter-field,.overview-filter-field input,.overview-filter-field select{width:100%;min-width:0}.floating-zoom{max-width:calc(100vw - 28px);overflow-x:auto}}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:4px;margin:34px 0 16px;padding:4px;display:inline-flex}.tab{font:600 14px var(--f-body);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:8px 16px;display:flex}.tab .tn{font:600 12px var(--f-mono);color:var(--faint)}.tab[aria-selected=true]{background:var(--ink);color:var(--paper)}.tab[aria-selected=true] .tn{color:var(--paper);opacity:.6}.tab:focus-visible,button:focus-visible,.node:focus-visible,.st:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 22px;margin:0 0 18px;font-size:13px;display:flex}.legend .grp{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.legend .lt{font:600 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-right:2px}.chip{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.sw{border:1.5px solid;border-radius:4px;flex:none;width:18px;height:12px}.sw.pill{border-radius:6px}.sw.dash{border-style:dashed}.sw.dbl{box-shadow:inset 0 0 0 2px var(--surface), inset 0 0 0 3px currentColor}.ln-sw{flex:none;width:30px;height:10px}.panel h2{font:700 24px var(--f-display);letter-spacing:-.01em;margin:0 0 4px}.sub{color:var(--muted);max-width:90ch;margin:0}.counts{color:var(--faint);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:13px}.counts b{color:var(--ink);font-weight:600}.arcs{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:14px 0 26px;padding:18px 20px 8px}.arcs .ah{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;display:flex}.arcs h3{font:700 18px var(--f-display);margin:0}.arcs p{color:var(--muted);max-width:90ch;margin:4px 0 0;font-size:13.5px}.arcbox{margin-top:8px;overflow-x:auto}.arcbox svg{width:100%;min-width:980px;height:auto;display:block}.arc{fill:none;stroke-width:1.6px;opacity:.8}.arc.ev-sql{stroke:var(--e-sql)}.arc.ev-kb{stroke:var(--e-kb);stroke-dasharray:6 4}.arc.ev-inf{stroke:var(--e-inf);stroke-dasharray:2 4;stroke-linecap:round}.st circle{stroke-width:2.5px}.st .lbl{font:600 12px var(--f-mono);fill:var(--ink);text-anchor:middle}.st .nm{font:400 11px var(--f-mono);fill:var(--muted)}.st{cursor:pointer}.st.multi-sel circle{stroke-width:5px;stroke:var(--hl)!important}.arcs-svg.focus .arc{opacity:.08}.arcs-svg.focus .arc.on{opacity:1;stroke-width:2.4px}.arcs-svg.focus .st{opacity:.35}.arcs-svg.focus .st.on{opacity:1}.base{stroke:var(--line);stroke-width:2px}.grp-lbl{font:600 10.5px var(--f-body);letter-spacing:.1em;text-transform:uppercase}.toolbar{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:14px 0 8px;display:flex}.zoom{border:1px solid var(--line);background:var(--surface);border-radius:9px;align-items:center;display:flex;overflow:hidden}.zoom button,.clear,.reset-pos{font:600 13px var(--f-body);background:var(--surface);color:var(--ink);cursor:pointer;border:0;padding:7px 12px}.zoom button+button,.zoom output+button{border-left:1px solid var(--line)}.zoom output{text-align:center;min-width:54px;color:var(--muted);border-left:1px solid var(--line);font-variant-numeric:tabular-nums;padding:7px 4px;font-size:12.5px}.clear{border:1px solid var(--hl);color:var(--hl);border-radius:9px}.reset-pos{border:1px solid var(--line);border-radius:9px}.hint{color:var(--faint);margin:0;font-size:13px}.canvas{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface);cursor:grab;border-radius:14px;height:min(80vh,940px);overflow:auto}.canvas:focus{outline:none}.canvas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.canvas.drag{cursor:grabbing}.canvas.node-drag,.canvas.node-drag .node{cursor:move}.canvas svg{display:block}.workspace-panel .canvas svg.dg{overflow:visible}.lane rect{stroke:none}.lane.l0>rect:first-child{fill:var(--lane0)}.lane.l1>rect:first-child{fill:var(--lane1)}.lane .lane-tab{fill:var(--lanetab)}.lane-sep{stroke:var(--line);stroke-width:1px}.t-lane-n{font:700 30px var(--f-display);fill:var(--faint);letter-spacing:-.02em}.t-lane{font:600 12px var(--f-body);fill:var(--muted);letter-spacing:.08em;text-transform:uppercase}.node text{text-anchor:middle}.t-tag{font:600 10.5px var(--f-body);letter-spacing:.07em}.t-title{font:500 12.5px var(--f-mono);fill:var(--ink)}.t-note{font:400 12px var(--f-body);fill:var(--muted)}.t-badge{font:600 11px var(--f-body);fill:var(--badge-t)}.badge-bg{fill:var(--badge-f)}.t-frame{font:700 15px var(--f-display);fill:var(--muted);text-anchor:start!important}.bg{stroke-width:1.3px}.n-src .bg{fill:var(--src-f);stroke:var(--src-s)}.n-src .t-tag{fill:var(--src-s)}.n-src_nw .bg{fill:var(--nw-f);stroke:var(--nw-s);stroke-dasharray:5 4}.n-src_nw .t-tag{fill:var(--nw-s)}.n-proc .bg{fill:var(--proc-f);stroke:var(--proc-s)}.n-proc .t-tag{fill:var(--proc-s)}.n-proc_part .bg{fill:var(--part-f);stroke:var(--proc-s)}.n-proc_part .t-tag{fill:var(--proc-s)}.n-proc_missing .bg{fill:var(--part-f);stroke:var(--proc-s);stroke-dasharray:5 4}.n-proc_missing .t-tag{fill:var(--proc-s)}.n-tbl .bg{fill:var(--tbl-f);stroke:var(--tbl-s)}.n-tbl .t-tag{fill:var(--tbl-s)}.n-tbl_core .bg{fill:var(--core-f);stroke:var(--core-s);stroke-width:2.4px}.n-tbl_core .t-tag{fill:var(--core-s)}.n-tbl_helper .bg{fill:var(--help-f);stroke:var(--tbl-s);stroke-dasharray:2 3}.n-tbl_helper .t-tag{fill:var(--tbl-s)}.n-view .bg{fill:var(--view-f);stroke:var(--view-s)}.n-view .inner{fill:none;stroke:var(--view-s);stroke-width:1px;opacity:.55}.n-view .t-tag{fill:var(--view-s)}.n-out .bg{fill:var(--out-f);stroke:var(--out-s)}.n-out .t-tag{fill:var(--out-s)}.n-cons .bg{fill:var(--cons-f);stroke:var(--cons-s);stroke-width:1.8px}.n-cons .t-tag{fill:var(--cons-s)}.n-cons_unk .bg{fill:var(--unk-f);stroke:var(--unk-s);stroke-dasharray:5 4}.n-cons_unk .t-tag{fill:var(--unk-s)}.n-stub .bg{fill:var(--stub-f);stroke:var(--stub-s);stroke-dasharray:3 3}.n-stub .t-tag{fill:var(--faint)}.n-frame .bg{fill:var(--frame-f);stroke:var(--frame-s);stroke-width:1.2px;stroke-dasharray:6 5}.edge .ln{fill:none;stroke-width:1.35px;opacity:.72}.edge .hit{fill:none;stroke:#0000;stroke-width:10px}.edge.ev-sql .ln{stroke:var(--e-sql)}.edge.ev-kb .ln{stroke:var(--e-kb);stroke-dasharray:6 4}.edge:hover .ln{opacity:1;stroke-width:2.2px}.edge.selected .ln{stroke:var(--hl);opacity:1;stroke-width:2.6px}.bend-handle{fill:var(--surface);stroke:var(--hl);stroke-width:3px;cursor:move}.canvas.bend-drag,.canvas.bend-drag .bend-handle{cursor:move}.mk-sql path{fill:var(--e-sql)}.mk-kb path{fill:var(--e-kb)}.mk-hl path{fill:var(--hl)}.elab rect{fill:var(--surface);stroke:var(--line)}.elab text{font:500 11px var(--f-body);text-anchor:middle;fill:var(--muted)}.elab.ev-kb text{fill:var(--e-kb)}.elab.ev-inf text{fill:var(--e-inf)}.node{cursor:pointer}.node:hover .bg{filter:brightness(.97);stroke-width:2.2px}.dg.tracing .node,.dg.tracing .edge,.dg.tracing .elab,.dg.filtered .node,.dg.filtered .edge,.dg.filtered .elab{opacity:.14;transition:opacity .15s}.dg.tracing .node.on,.dg.tracing .elab.on,.dg.filtered .node.on,.dg.filtered .elab.on,.dg.tracing .edge.on,.dg.filtered .edge.on{opacity:1}.dg.tracing .edge.on .ln,.dg.filtered .edge.on .ln{stroke:var(--hl);opacity:1;stroke-width:2.2px}.dg.tracing .n-frame,.dg.filtered .n-frame{opacity:.5}.dg.tracing .n-frame.on,.dg.filtered .n-frame.on{opacity:1}.dg .node.sel .bg,.dg .node.multi-sel .bg{stroke:var(--hl);stroke-width:3px}.dg .node.starred .bg{stroke:var(--star);stroke-width:2.5px}.node-star-badges{pointer-events:none}.node-star-bg{fill:var(--star-f);stroke:var(--star);stroke-width:2px}.node-star-icon{fill:var(--star);stroke:none}.selection-marquee{z-index:12;pointer-events:none;box-sizing:border-box;border:2px solid var(--accent);background:var(--src-f);opacity:.55;position:fixed}@media (prefers-reduced-motion:reduce){.dg.tracing .node,.dg.tracing .edge,.dg.filtered .node,.dg.filtered .edge{transition:none}}.info{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-top:12px;padding:16px 20px}.info-top{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px}.info-title-row{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.info h4{font:700 17px var(--f-display);overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.info-star{border:1px solid var(--line);background:var(--paper);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin:-4px -4px 0 0;display:inline-flex}.info-star:hover,.info-star.on{border-color:var(--star);color:var(--star);background:var(--star-f)}.info-priority-wrap{margin:12px 0 0}.info-comments-top+.info-priority-wrap{margin-top:14px}.info-priority-caption{caption-side:top;text-align:left;font:600 11px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:0 0 6px}.info-priority-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.info-priority-table th{text-align:left;font:600 11px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:0 8px 4px 0}.info-priority-table td{vertical-align:top;padding:0 8px 0 0}.info-priority-table select{box-sizing:border-box;width:100%;font:13px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 8px}.info-priority-table select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.info-comments-top{border-top:none;margin-top:0;padding-top:0}.info .meta{color:var(--faint);margin:0 0 10px;font-size:13px}.info .cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 32px;display:grid}.info h5{font:600 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 4px}.info ul{margin:0;padding-left:18px;font-size:13.5px}.info li{overflow-wrap:anywhere;margin:3px 0}.info .ev{color:var(--muted);font-size:12.5px}.info .ev.kb{color:var(--e-kb)}.info-comments{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.info-comments-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.info-comments-head h5{margin:0}.info-comments-add{font:600 12px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:7px;padding:4px 10px}.info-comments-add:hover{border-color:var(--accent);background:var(--src-f)}.info-comments-empty{color:var(--faint);margin:0 0 8px;font-size:13px}.info-comments-list{margin:0 0 10px;padding:0;list-style:none}.info-comments-list li{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin:0 0 12px;padding:10px 12px}.info-comments-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 6px;font-size:14px;line-height:1.45}.info-comments-meta{color:var(--faint);margin:0;font-size:12px}.info-comments-edit{font:600 12px var(--f-body);color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0}.info-comments-form textarea{box-sizing:border-box;width:100%;font:14px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);resize:vertical;border-radius:8px;padding:8px 10px}.info-comments-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.info-comments-actions button{font:600 12px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:7px;padding:5px 12px}.info-comments-actions button:first-child{border-color:var(--accent);color:var(--accent)}.info-comments-muted{color:var(--muted);border-color:var(--line)}.info-comments-note{color:var(--faint);margin:10px 0 0;font-size:11px;line-height:1.4}.notes{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}.notes li{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;padding:14px 16px;font-size:14px}.foot{border-top:1px solid var(--line);color:var(--faint);max-width:120ch;margin-top:40px;padding-top:16px;font-size:13px}.info .about{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin:6px 0 10px;padding:10px 12px}.info .about-what{color:var(--ink);margin:6px 0 4px;font-size:14px;line-height:1.5}.info .about-none{color:var(--faint);font-style:italic}.info .about-line{color:var(--muted);margin:2px 0;font-size:13px}.info .about-watch{color:var(--ink)}.info .about-watch b{color:var(--e-inf)}.info .about-basis{margin:6px 0 0;font-size:12px}.role-chip{font:600 11px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid;border-radius:999px;padding:2px 10px;display:inline-block}.role-chip.role-source,.role-chip.role-reference{color:var(--src-s)}.role-chip.role-external{color:var(--nw-s)}.role-chip.role-address{color:var(--g-addr)}.role-chip.role-lists{color:var(--g-list)}.role-chip.role-customer,.role-chip.role-contract{color:var(--g-core)}.role-chip.role-temp{color:var(--muted)}.role-chip.role-reporting,.role-chip.role-group,.role-chip.role-backoffice{color:var(--g-rep)}.role-chip.role-marketing{color:var(--g-mkt)}.role-chip.role-consumer{color:var(--cons-s)}.role-chip.role-unknown{color:var(--g-miss)}.gate-card{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:min(440px,100%);box-shadow:0 14px 40px var(--shadow-soft);border-radius:14px;padding:28px}.gate-card h1{font-family:var(--f-display);letter-spacing:-.03em;margin:0 0 8px;font-size:32px}.gate-card p{color:var(--muted);margin:0 0 20px}.gate-button{font:600 14px var(--f-body);background:var(--ink);color:var(--paper);cursor:pointer;border:0;border-radius:9px;padding:10px 16px}.floating-filter .ff-field{align-items:center;gap:8px;display:flex}.floating-filter .ff-field+.ff-field{border-left:1px solid var(--line);padding-left:10px}.node.pn-yes>.bg{stroke:var(--pn-yes);stroke-width:3.5px}.node.pn-mixed>.bg{stroke:var(--pn-mixed);stroke-width:3.5px}.node.pn-no>.bg{stroke:var(--pn-no);stroke-width:3.5px}.node.pn-missing>.bg{stroke:var(--pn-missing);stroke-width:3px;stroke-dasharray:5 4}.node.pn-conflict>.bg{stroke:var(--pn-no);stroke-width:4px;stroke-dasharray:10 4}.dg.filtered .node.pn-na{opacity:.4}.legend-stack{z-index:15;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);max-height:min(70vh,680px);display:flex;position:fixed;bottom:76px;left:16px;overflow:auto}.peter-legend{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);box-shadow:0 5px 18px var(--shadow-soft);border-radius:12px;flex:none;padding:12px 14px;font-size:13px}.peter-legend h5{font:600 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 6px}.peter-legend ul{margin:0;padding:0;list-style:none}.peter-legend li{align-items:center;gap:8px;margin:3px 0;display:flex}.peter-legend li b{font-variant-numeric:tabular-nums;margin-left:auto}.peter-legend .pn-caveat{color:var(--muted);margin:8px 0 4px;font-size:12px;line-height:1.45}.peter-legend details{margin-top:6px}.peter-legend summary{cursor:pointer;color:var(--accent);font-weight:600}.peter-legend .pn-missing-list li{color:var(--muted);overflow-wrap:anywhere;margin:4px 0;display:block}.peter-legend code,.peter-block code{font:500 12px var(--f-mono);color:var(--ink)}.pn-dot{border:3px solid var(--pn-missing);box-sizing:border-box;border-radius:4px;flex:none;width:12px;height:12px}.pn-dot.pn-yes{border-color:var(--pn-yes)}.pn-dot.pn-mixed{border-color:var(--pn-mixed)}.pn-dot.pn-no{border-color:var(--pn-no)}.pn-dot.pn-missing{border-style:dashed}.pn-dot.pn-conflict{border-color:var(--pn-no);border-style:dashed;width:18px}.info .peter-block{border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:10px 12px}.info .peter-block ul{padding-left:16px}.info .peter-block li{margin:4px 0;font-size:13px}.pn-tag{font:600 11px var(--f-body);border:1px solid;border-radius:999px;padding:0 8px;display:inline-block}.pn-tag.pn-yes{color:var(--pn-yes)}.pn-tag.pn-no{color:var(--pn-no)}.pn-tag.pn-missing{color:var(--pn-missing)}.pn-meta{color:var(--muted);font-size:12.5px}.pn-conflict-text{color:var(--pn-no);font-size:12.5px;font-weight:600;display:block}@media (max-width:700px){.floating-filter{box-sizing:border-box;flex-wrap:wrap;max-width:calc(100vw - 28px)}.floating-filter .ff-field+.ff-field{border-left:0;padding-left:0}.legend-stack{max-height:38vh;top:126px;bottom:auto}}.proposal-bar{z-index:22;border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:var(--surface);max-width:min(980px,100vw - 120px);box-shadow:0 8px 28px var(--shadow-soft);box-sizing:border-box;border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;font-size:13px;display:flex;position:fixed;top:8px;left:50%;transform:translate(-50%)}.proposal-bar.editing{border-color:color-mix(in srgb, var(--e-prop) 45%, var(--line))}@media (min-width:901px){.proposal-bar.editing{max-width:calc(100vw - 616px);left:96px;transform:none}}.proposal-bar button{font:600 13px var(--f-body);cursor:pointer}.proposal-bar button:disabled{opacity:.4;cursor:default}.proposal-bar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pb-toggle{border:1px solid var(--line);background:var(--paper);border-radius:999px;gap:2px;padding:3px;display:flex}.pb-toggle button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 14px}.pb-toggle button[aria-pressed=true]:first-child{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.pb-toggle button[aria-pressed=true]:last-child{background:var(--e-prop);color:var(--surface)}.pb-status{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.pb-status.muted{color:var(--faint)}.pb-dot{background:var(--line);border-radius:50%;flex-shrink:0;width:7px;height:7px}.pb-dot.unsaved{background:var(--hl)}.pb-divider{background:var(--line);flex-shrink:0;width:1px;height:28px}.pb-tools{align-items:flex-end;gap:2px;display:flex}.pb-tool{min-width:58px;color:var(--ink);font:500 11px var(--f-body);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 6px 2px;display:flex}.pb-tool svg{width:22px;height:22px;color:var(--muted)}.pb-tool span{color:var(--muted)}.pb-tool:hover{background:var(--lanetab)}.pb-tool.active{background:color-mix(in srgb, var(--accent) 16%, var(--surface))}.pb-tool.active svg,.pb-tool.active span{color:var(--accent)}.pb-add-node{align-items:stretch;display:flex;position:relative}.pb-tool-add{border-radius:10px 0 0 10px;min-width:52px}.pb-add-chevron{width:22px;color:var(--faint);background:0 0;border:0;border-radius:0 10px 10px 0;align-self:stretch;margin:0;padding:0;font-size:10px}.pb-add-node:hover .pb-add-chevron,.pb-add-node:focus-within .pb-add-chevron{background:var(--lanetab)}.pb-icon-actions{gap:2px;display:flex}.pb-icon-btn{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.pb-icon-btn svg{width:20px;height:20px}.pb-icon-btn:hover:not(:disabled){background:var(--lanetab);color:var(--ink)}.pb-dropdown{position:relative}.pb-dropdown-trigger{cursor:pointer;color:var(--muted);font:500 12px var(--f-body);-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:4px;padding:6px 8px;list-style:none;display:flex}.pb-dropdown-trigger::-webkit-details-marker{display:none}.pb-dropdown-trigger svg{width:18px;height:18px}.pb-dropdown-trigger:hover,.pb-dropdown[open] .pb-dropdown-trigger{background:var(--lanetab);color:var(--ink)}.pb-more-trigger{padding:6px 10px}.pb-share{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.pb-share-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 12px var(--f-body);white-space:nowrap;border-radius:999px;padding:5px 12px}.pb-share-btn:hover{background:var(--lanetab)}.pb-menu{z-index:30;border:1px solid var(--line);background:var(--surface);min-width:180px;box-shadow:0 10px 24px var(--shadow-soft);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.pb-add-menu{min-width:140px;left:0;right:auto}.pb-menu button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:7px;padding:7px 10px;display:block}.pb-menu button:hover,.pb-menu button.active{background:var(--lanetab)}.pb-menu button.danger{color:var(--pn-no)}.pb-menu-empty{color:var(--faint);margin:4px 8px;font-size:12px}.pb-history-menu ul{max-height:220px;color:var(--muted);margin:0;padding:0 8px 4px 18px;font-size:12px;overflow:auto}.pb-history-menu li{margin:4px 0}.canvas.hand-tool,.canvas.hand-tool .node{cursor:grab}.canvas.hand-tool.drag,.canvas.hand-tool.drag .node{cursor:grabbing}.canvas.arrow-tool .node{cursor:crosshair}.node.link-pending>.bg{stroke:var(--e-prop);stroke-width:2.5px;stroke-dasharray:4 3}.pb-notice{z-index:30;background:var(--ink);max-width:min(560px,100vw - 32px);color:var(--paper);box-shadow:0 6px 20px var(--shadow-strong);border-radius:10px;padding:9px 14px;font-size:13px;position:fixed;bottom:72px;left:50%;transform:translate(-50%)}.node .pstate rect{fill:var(--surface);stroke:var(--e-prop);stroke-width:1.2px}.node .pstate text{font:700 9px var(--f-body);letter-spacing:.08em;fill:var(--e-prop);text-anchor:middle}.node.st-new>.bg{stroke:var(--e-prop);stroke-dasharray:6 3}.node.st-modified>.bg{stroke:var(--e-prop)}.node.st-removed{opacity:.32}.node.st-removed>.bg{stroke-dasharray:4 4}.node.st-removed .pstate rect{stroke:var(--faint)}.node.st-removed .pstate text{fill:var(--faint)}.n-note>.bg{fill:var(--note-f);stroke:var(--note-s)}.n-note .t-title{font-style:italic}.edge.ev-prop .ln{stroke:var(--e-prop);stroke-dasharray:9 3 2 3;opacity:.95;stroke-width:1.6px}.edge.st-removed .ln{opacity:.22;stroke-dasharray:3 5}.mk-prop path{fill:var(--e-prop)}.elab.ev-prop rect{stroke:var(--e-prop)}.elab.ev-prop text{fill:var(--e-prop)}.connect-handle{cursor:crosshair}.connect-handle circle{fill:var(--surface);stroke:var(--e-prop);stroke-width:2px}.connect-handle path{stroke:var(--e-prop);stroke-width:2px}.connect-handle:hover circle{fill:var(--prop-f)}.resize-handle{fill:var(--surface);stroke:var(--hl);stroke-width:2px;pointer-events:all}.resize-handle:hover{fill:var(--src-f)}.rh-n,.rh-s{cursor:ns-resize}.rh-w{cursor:ew-resize}.rh-nw,.rh-se{cursor:nwse-resize}.rh-ne,.rh-sw{cursor:nesw-resize}.canvas.resize-drag{cursor:inherit}.end-handle{fill:var(--hl);stroke:var(--surface);stroke-width:2.5px;cursor:grab;opacity:.92}.end-handle-tip{fill:var(--hl);stroke-width:3px}.end-handle-faded{opacity:.42}.end-handle-faded:hover{opacity:.88}.end-handle-view{pointer-events:none;opacity:.55;cursor:default}.end-handle:active{cursor:grabbing}.ghost-link{fill:none;stroke:var(--e-prop);stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}.link-snap-anchor{fill:var(--surface);stroke:var(--e-prop);stroke-width:2px;pointer-events:none;opacity:.65}.link-snap-anchor.on{fill:var(--e-prop);stroke:var(--surface);stroke-width:2.5px;opacity:1}.canvas.connect-drag,.canvas.connect-drag .node{cursor:crosshair}.proposal-mode .dg .node.multi-sel .bg{stroke:var(--hl);stroke-width:3px}.info .proposal-block{border:1px solid var(--e-prop);background:var(--prop-f);border-radius:10px;margin:6px 0 10px;padding:10px 12px}.info .proposal-block.st-asis{border-color:var(--line);background:0 0}.info .proposal-block.st-removed{border-style:dashed;border-color:var(--faint);background:0 0}.info .proposal-block h5{color:var(--e-prop)}.info .proposal-block code{font:500 12px var(--f-mono)}.proposal-fields{gap:6px;margin:8px 0;display:grid}.proposal-fields label{gap:2px;display:grid}.proposal-fields span{color:var(--faint);font:600 10px var(--f-body);letter-spacing:.08em;text-transform:uppercase}.proposal-fields input,.proposal-fields textarea,.proposal-fields select{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:500 13px var(--f-body);border-radius:7px;padding:6px 8px}.proposal-fields textarea{resize:vertical}.proposal-actions{gap:6px;display:flex}.proposal-actions button{font:600 12px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:7px;padding:5px 10px}.info .ev.prop{color:var(--e-prop)}@media (max-width:900px){.proposal-bar,.proposal-bar.editing{max-width:none;top:48px;left:8px;right:8px;transform:none}.pb-tool span,.pb-dropdown-trigger span{display:none}.pb-status{font-size:11px}}@media (max-width:700px){.proposal-bar,.proposal-bar.editing{max-width:none;inset:auto 8px 108px;transform:none}}.edge.ev-inf .ln{stroke:var(--e-unk);stroke-dasharray:2 4;stroke-linecap:round}.mk-inf path,.elab.ev-inf text{fill:var(--e-unk)}.info .ev.inf{color:var(--e-unk)}.n-ext>.bg{fill:var(--ext-f);stroke:var(--ext-s);stroke-dasharray:5 4}.n-ext .t-title,.n-ext .t-tag,.n-ext .t-note{fill:var(--muted)}.role-chip.role-portfolio{color:var(--g-list)}.role-chip.role-commission{color:var(--view-s)}.info .about-status{grid-template-columns:max-content 1fr;gap:2px 10px;margin:8px 0 4px;font-size:12.5px;display:grid}.info .about-status dt{color:var(--faint);font:600 10px var(--f-body);letter-spacing:.08em;text-transform:uppercase;padding-top:2px}.info .about-status dd{color:var(--ink);margin:0}.info .about-status dd.st-unknown{color:var(--e-unk);font-weight:600}.info .about-status dd.st-review{color:var(--pn-mixed);font-weight:600}.floating-filter .ff-stack{border-left:1px solid var(--line);flex-direction:column;align-items:flex-end;gap:4px;padding-left:10px;display:flex}.floating-filter .ff-stack .ff-field+.ff-field{border-left:0;padding-left:0}.fq-badge rect{fill:var(--surface);stroke:var(--fq-no);stroke-width:1.4px}.fq-badge text{font:700 9px var(--f-body);letter-spacing:.06em;fill:var(--fq-no);text-anchor:middle}.fq-badge.fq-hourly rect{stroke:var(--fq-hourly)}.fq-badge.fq-hourly text{fill:var(--fq-hourly)}.fq-badge.fq-daily rect{stroke:var(--fq-daily)}.fq-badge.fq-daily text{fill:var(--fq-daily)}.fq-badge.fq-rebuilt rect{stroke:var(--fq-rebuilt)}.fq-badge.fq-rebuilt text{fill:var(--fq-rebuilt)}.fq-badge.fq-mixed rect{stroke-dasharray:3 2}.fq-badge.fq-check rect{stroke:var(--fq-check);stroke-width:2px}.dg.filtered .node.fq-na{opacity:.4}.fq-chip{border:1.4px solid var(--fq-no);min-width:34px;color:var(--fq-no);font:700 9px var(--f-body);letter-spacing:.06em;text-align:center;border-radius:999px;flex:none;padding:0 6px;line-height:14px}.fq-chip.fq-hourly,.fq-tag.fq-hourly{color:var(--fq-hourly);border-color:var(--fq-hourly)}.fq-chip.fq-daily,.fq-tag.fq-daily{color:var(--fq-daily);border-color:var(--fq-daily)}.fq-chip.fq-rebuilt,.fq-tag.fq-rebuilt{color:var(--fq-rebuilt);border-color:var(--fq-rebuilt)}.fq-tag.fq-no,.fq-tag.fq-other{color:var(--fq-no)}.fq-chip.fq-mixed{color:var(--muted);border-style:dashed;border-color:var(--muted)}.fq-chip.fq-check{color:var(--fq-check);border-color:var(--fq-check);min-width:20px}.freq-legend .fq-legend-text{color:var(--ink);font-size:12.5px;line-height:1.35}.freq-legend li{align-items:flex-start}@media (max-width:700px){.floating-filter .ff-stack{border-left:0;align-items:stretch;padding-left:0}}.info .peter-block .fq-why{border-bottom:1px dashed var(--line);margin:0 0 8px;padding-bottom:8px}.info .peter-block .fq-why ul{padding-left:0;list-style:none}.fq-check-text{font-weight:600}.edge.ev-asm .ln{stroke:var(--e-asm);stroke-dasharray:10 4 2 4}.mk-asm path,.elab.ev-asm text{fill:var(--e-asm)}.arc.ev-asm{stroke:var(--e-asm);stroke-dasharray:10 4 2 4}.info .ev.asm{color:var(--e-asm)}.info .ev-q{color:var(--ink);margin-top:2px;font-size:12.5px;display:block}.info .about-ask{color:var(--ink)}.info .about-ask b,.info .ev-q b{color:var(--e-asm)}.role-chip.role-crm{color:var(--core-s)}.role-chip.role-metadata{color:var(--muted)}.gap-panel-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.gap-panel.is-collapsed .gap-panel-head{margin-bottom:0}.gap-panel.is-collapsed{padding:8px 12px}.gap-panel-toggle,.gap-panel-expand{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 12px var(--f-body);cursor:pointer;border-radius:8px;flex-shrink:0;padding:4px 10px}.gap-panel-toggle:hover,.gap-panel-expand:hover{background:var(--lanetab)}.gap-panel-expand{text-align:left;width:100%}.gap-panel h5{font:600 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 6px}.gap-panel-head h5{margin:0}.gap-panel .gap-legend{margin:0 0 8px;padding:0;list-style:none}.gap-panel .gap-legend li{align-items:center;gap:8px;margin:3px 0;display:flex}.gap-panel .gap-legend b{font-variant-numeric:tabular-nums;margin-left:auto}.gap-panel .gap-legend svg{flex:none;width:34px;height:10px}.gap-panel .gap-legend .ln{fill:none;stroke-width:2.4px}.gap-panel .ln.ev-sql{stroke:var(--e-sql)}.gap-panel .ln.ev-kb{stroke:var(--e-kb);stroke-dasharray:6 4}.gap-panel .ln.ev-asm{stroke:var(--e-asm);stroke-dasharray:10 4 2 4}.gap-panel .ln.ev-inf{stroke:var(--e-unk);stroke-dasharray:2 4;stroke-linecap:round}.gap-panel details{margin-top:4px}.gap-panel summary{cursor:pointer;color:var(--accent);font-weight:600}.gap-panel ol{margin:6px 0 0;padding-left:20px}.gap-panel ol li{margin:6px 0;font-size:12.5px;line-height:1.4}.gap-panel .gap-where{color:var(--muted);font:500 11.5px var(--f-mono);text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0;display:block}.gap-panel .gap-where:hover,.gap-panel .gap-where:focus-visible{color:var(--accent)}.info .edge-q-card h5{margin:0 0 4px}.gap-panel ol li{display:block}.gap-panel h5+details,.gap-panel details+details{margin-top:6px}.gap-panel .gap-legend+h5{margin-top:10px}.n-pbi .bg{fill:var(--pbi-f);stroke:var(--pbi-s)}.n-pbi .t-tag{fill:var(--pbi-s)}.n-pbi_dax .bg{fill:var(--pbi-f);stroke:var(--pbi-s);stroke-width:2.2px;stroke-dasharray:8 3}.n-pbi_dax .t-tag{fill:var(--pbi-s)}.n-file .bg{fill:var(--file-f);stroke:var(--file-s);stroke-dasharray:3 3}.n-file .t-tag{fill:var(--file-s)}.role-chip.role-powerbi{color:var(--pbi-s)}.role-chip.role-file{color:var(--file-s)}.n-dataflow .bg{fill:var(--df-f);stroke:var(--df-s);stroke-width:1.6px}.n-dataflow .t-tag{fill:var(--df-s)}.n-api .bg{fill:var(--api-f);stroke:var(--api-s);stroke-width:1.6px;stroke-dasharray:6 2 1 2}.n-api .t-tag{fill:var(--api-s)}.n-ask .bg{fill:var(--ask-f);stroke:var(--ask-s);stroke-width:2.2px}.n-ask .t-tag{fill:var(--ask-s);font-weight:800}.edge.ev-ask .ln{stroke:var(--ask-s);stroke-width:2px;stroke-dasharray:1 5;stroke-linecap:round}.mk-ask path{fill:var(--ask-s)}.gap-panel .ln.ev-ask{stroke:var(--ask-s);stroke-width:2px;stroke-dasharray:1 5;stroke-linecap:round}.gap-panel .gap-canvas li{margin-bottom:6px}.n-tb_sys .bg{fill:var(--tbsys-f);stroke:var(--tbsys-s);stroke-width:1.6px}.n-tb_sys .t-tag{fill:var(--tbsys-s)}.n-tb_raw .bg{fill:var(--tbraw-f);stroke:var(--tbraw-s);stroke-width:1.6px}.n-tb_raw .t-tag{fill:var(--tbraw-s)}.n-tb_stg .bg{fill:var(--tbstg-f);stroke:var(--tbstg-s);stroke-width:1.6px}.n-tb_stg .t-tag{fill:var(--tbstg-s)}.n-tb_int .bg{fill:var(--tbint-f);stroke:var(--tbint-s);stroke-width:1.6px;stroke-dasharray:5 3}.n-tb_int .t-tag{fill:var(--tbint-s)}.n-tb_ref .bg{fill:var(--tbref-f);stroke:var(--tbref-s);stroke-width:1.6px}.n-tb_ref .t-tag{fill:var(--tbref-s)}.n-tb_ent .bg{fill:var(--tbent-f);stroke:var(--tbent-s);stroke-width:1.6px;stroke-width:2px}.n-tb_ent .t-tag{fill:var(--tbent-s)}.n-tb_pii .bg{fill:var(--tbpii-f);stroke:var(--tbpii-s);stroke-width:1.6px;stroke-width:2px;stroke-dasharray:6 2}.n-tb_pii .t-tag{fill:var(--tbpii-s)}.n-tb_l2 .bg{fill:var(--tbl2-f);stroke:var(--tbl2-s);stroke-width:1.6px;stroke-width:2px}.n-tb_l2 .t-tag{fill:var(--tbl2-s)}.n-tb_exp .bg{fill:var(--tbexp-f);stroke:var(--tbexp-s);stroke-width:1.6px;stroke-width:2px}.n-tb_exp .t-tag{fill:var(--tbexp-s)}.edge.ev-tobe .ln{stroke:var(--e-tobe);stroke-width:1.5px}.mk-tobe path,.elab.ev-tobe text{fill:var(--e-tobe)}.gap-panel .ln.ev-tobe{stroke:var(--e-tobe);stroke-width:1.5px}.role-chip.role-target{color:var(--tbent-s)}.n-tb_head .bg{fill:var(--tbent-f);stroke:var(--tbent-s);stroke-width:3px}.n-tb_head .t-tag{fill:var(--tbent-s);font-weight:800}.gap-panel .gap-canvas .gap-q{color:var(--ask-s);margin-right:4px;font-weight:700}.role-chip.role-dataflow{color:var(--df-s)}.role-chip.role-api{color:var(--api-s)}
