/* A dedicated graph surface; the surrounding editor keeps Ink's quiet chrome. */
.dag-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:#151d2b;border-bottom:1px solid #2b3546;color:#eef2fa}.dag-title{display:flex;align-items:center;gap:12px;min-width:0}.dag-title b{font-size:12px;font-weight:550}.dag-title small{display:block;font-size:10px;color:#aebbd0;margin-top:4px}.dag-title small span{color:#79c6ed;margin:0 4px}.dag-logo{width:32px;height:32px;display:grid;place-items:center;border:1px solid #354258;border-radius:7px;background:#202c40;color:#89c9ee}.dag-valid{padding:4px 8px;border:1px solid #394b52;color:#a8c8bc;border-radius:20px;font-size:9px;white-space:nowrap}.dag-controls{display:flex;align-items:center;gap:8px}.dag-controls button,.dag-view-options button{background:#1e293b;border-color:#364258;color:#e1e9f6;padding:6px 8px;min-height:30px;white-space:nowrap}.dag-controls button:hover,.dag-view-options button:hover{background:#2a3951}.dag-controls .dag-connect{background:#d9eafb;color:#16273c;border-color:#d9eafb;font-weight:600}.dag-controls .dag-connect:hover{background:white}.dag-lens{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px;background:#111926;border-bottom:1px solid #293448;color:#dce5f4}.dag-context{display:flex;align-items:center;gap:12px;font-size:10px;flex-wrap:wrap}.dag-context-label{color:#9caec8;font-size:8px;letter-spacing:1px}.dag-context b{font-size:11px;font-weight:550}.upstream-key{color:#8bcaf6}.downstream-key{color:#e7bb7c}.dag-view-options{display:flex;gap:8px}.dag-view-options button{font-size:9px;background:transparent;min-height:27px;padding:4px 8px}.dag-view-options button[aria-pressed=true]{background:#24384b;border-color:#6a8ead}.canvas-viewport.dag-canvas{height:610px;background-color:#0d1421;background-image:radial-gradient(#334054 .8px,transparent .8px);background-size:20px 20px;isolation:isolate}.dag-canvas:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,#253d5826,transparent 75%);pointer-events:none}.dag-lane{position:absolute;border:1px solid #2a3545;border-radius:12px;background:linear-gradient(180deg,#23324729,transparent 40%);pointer-events:none;padding:16px;color:#b9c7db}.dag-lane>span{font:10px ui-monospace,monospace;color:#90a2bb;margin-right:8px}.dag-lane b{font-size:11px;font-weight:500}.dag-lane small{display:block;font-size:9px;color:#a1b1c7;margin:4px 0 0 23px}.dag-lane.horizontal{padding-top:8px}.dag-node.canvas-node{width:220px;height:112px;border-radius:9px;border:1px solid #46546c;background:linear-gradient(135deg,#202c3f,#192435);color:#f1f5fc;box-shadow:0 6px 16px #0003;padding:12px;gap:8px;align-content:space-between;z-index:2;transition:border-color .12s,box-shadow .12s}.dag-node.canvas-node:hover{background:#26354b;border-color:#8299b6}.dag-node.canvas-node[aria-pressed=true]{border-color:#89cdf7;box-shadow:0 0 0 1px #89cdf7,0 0 0 5px #78bbf213,0 8px 24px #0005}.dag-node.canvas-node b{font-size:13px;font-weight:550;letter-spacing:0}.dag-node-top{display:flex;align-items:center;gap:8px;width:100%}.resource-glyph{width:23px;height:23px;display:grid;place-items:center;border-radius:5px;border:1px solid #52617c;background:#2c3c55;color:#b4c8ee}.resource-glyph.glyph-helm{color:#e7bc89;background:#4b382b;border-color:#795b42}.resource-glyph.glyph-lock{color:#c1b3ea;background:#362d4c;border-color:#675681}.resource-glyph .studio-icon{width:14px;height:14px}.dag-resource-type{font-size:9px;color:#bdc9dc}.node-modified{margin-left:auto;color:#edc173;font-size:10px}.dag-node-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-size:9px;color:#b6c5db}.dag-node-bottom>span:first-child{display:flex;align-items:center;gap:4px}.dag-node-bottom>span:last-child{color:#d5dfed}.dag-node.relation-upstream{border-color:#527da0}.dag-node.relation-downstream{border-color:#8f7349}.dag-node .node-port{left:-5px;top:51px;width:9px;height:9px;background:#152235;border:2px solid #8ba6c4;z-index:3}.dag-node .node-port.out{left:auto;right:-5px;background:#8ba6c4}.dag-node .node-port.vertical{left:105px;top:-5px}.dag-node .node-port.out.vertical{left:105px;top:auto;bottom:-5px}.dag-node .peer-tag{top:-24px;right:8px;font-size:9px;padding:3px 7px;border-radius:4px 4px 0 0;background:#7666ac;color:white}.dag-node.peer-selected{outline:1px solid #9985d0;outline-offset:3px}.dag-node.dimmed{opacity:.3}.graph-edges{z-index:1;overflow:visible}.graph-edges .edge-line{stroke:#77849b;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.graph-edges .edge-upstream{stroke:#7abcea;stroke-width:2.3}.graph-edges .edge-downstream{stroke:#dbb171;stroke-width:2.3}.graph-edges .edge-failed{stroke:#e19c93;stroke-dasharray:6 4}.graph-edges .arrow-neutral{fill:#77849b;stroke:none}.graph-edges .arrow-upstream{fill:#7abcea;stroke:none}.graph-edges .arrow-downstream{fill:#dbb171;stroke:none}.graph-edges .arrow-failed{fill:#e19c93;stroke:none}.graph-edges .edge-hit{stroke:transparent;stroke-width:16;pointer-events:stroke;fill:none;cursor:pointer}.dag-edge:focus{outline:none}.dag-edge:focus .edge-line,.dag-edge:hover .edge-line{stroke:#f1f6ff;stroke-width:3}.dag-edge.dimmed{opacity:.15}.dag-floating-tools{position:absolute;right:16px;top:16px;display:grid;gap:4px;background:#192435ef;border:1px solid #3e4d64;border-radius:7px;padding:4px;z-index:5;color:#c5d2e5;box-shadow:0 4px 16px #0003}.dag-floating-tools button{background:transparent;color:#deebfa;border:0;min-height:28px;width:30px;padding:4px;font-size:16px}.dag-floating-tools button:hover{background:#35455e}.dag-floating-tools>span{font:9px ui-monospace,monospace;text-align:center;padding:4px 0;border-top:1px solid #3e4d64;border-bottom:1px solid #3e4d64}.dag-minimap{position:absolute;bottom:16px;right:16px;width:156px;background:#121d2dec;border:1px solid #41516a;border-radius:6px;padding:8px;box-shadow:0 5px 24px #0004;z-index:4}.dag-minimap>span{font-size:8px;letter-spacing:1px;color:#b5c3d8}.dag-minimap svg{width:100%;height:78px;display:block;cursor:crosshair}.dag-minimap path{fill:none;stroke:#8b9ab3;stroke-width:5}.dag-minimap rect{fill:#425572;stroke:#93a6c3;stroke-width:3}.dag-minimap .mini-selected{fill:#87c7f0;stroke:#cfedff}.dag-minimap .mini-viewport{fill:#8bbaf411;stroke:#b2cbe8;stroke-width:3;pointer-events:none}.dag-legend{position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;max-width:calc(100% - 200px);color:#bfccdf;font-size:9px;background:#101a29d9;padding:8px;border-radius:4px;z-index:4}.dag-legend span{display:flex;align-items:center;gap:6px}.dag-legend i{width:16px;height:2px;background:#7abcea;display:inline-block}.dag-legend .legend-downstream{background:#dbb171}.dag-bottomline{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 16px;background:#151e2d;border-top:1px solid #303b50;color:#bcc9dd;font-size:9px}.dag-bottomline span{display:flex;align-items:center;gap:6px}.dag-bottomline svg{width:12px;height:12px}.execution-bar{padding:8px 16px;background:#243348;color:#e0e9f7;font-size:10px;border-bottom:1px solid #435571;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.execution-bar strong{font-size:8px;color:#d4c29c;letter-spacing:1px;margin-right:8px}.execution-bar>div{display:flex;gap:8px;flex-wrap:wrap}.execution-bar button{background:#31445e;border:1px solid #526987;color:#f2f5fb;padding:4px 8px;font-size:9px;min-height:26px}.dag-node.run-ready{border-color:#99c0e7}.dag-node.run-ready .run-state{color:#b5d9fb}.dag-node.run-succeeded .run-state{color:#a9dcc5}.dag-node.run-failed{border-color:#d7988d;background:#3d2930}.dag-node.run-failed .run-state{color:#f4c2b8}.dag-node.run-blocked{border-color:#a98d64}.dag-node.run-blocked .run-state{color:#e8c897}.dag-inspector-summary{display:grid;gap:12px;border-bottom:1px solid var(--line);padding-bottom:16px}.dag-inspector-summary .dependency-direction{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.dag-inspector-summary strong{font-size:13px;color:var(--ink);font-weight:550}.dependency-link{display:flex;align-items:center;justify-content:space-between;padding:8px;border:1px solid var(--line);border-radius:4px;font-size:10px;background:#fafafa}.dependency-link button{min-height:24px;padding:0;border:0;background:none;color:var(--ink);text-align:left}.dependency-counts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dependency-counts div{background:var(--soft);padding:8px;border-radius:4px}.dependency-counts strong{display:block;font-size:18px}.dependency-counts small{font-size:9px}.parent-check{align-items:start}.parent-check .parent-label{display:grid;gap:4px}.parent-check .parent-label small{margin:0;font-size:9px}.invalid-parent{color:#8a4b3c}.edge-proposal{display:grid;grid-template-columns:1fr 32px 1fr;gap:16px;align-items:center}.edge-proposal .field{margin:0}.edge-proposal>span{text-align:center;font-size:24px}.edge-preview{padding:16px;border:1px solid var(--line);border-radius:6px;background:var(--soft);font-size:12px}.edge-preview.bad{background:var(--bad-bg);border-color:#e6c6c1;color:#943c35}.execution-layers{display:grid;gap:16px}.execution-layer{display:grid;grid-template-columns:100px 1fr;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.execution-layer h3{font-size:12px}.execution-layer small{font-size:10px}.execution-members{display:flex;gap:8px;flex-wrap:wrap}.execution-member{padding:8px 12px;background:var(--soft);border:1px solid var(--line);border-radius:5px;font-size:11px}.execution-member small{display:block;margin-top:4px}
@media(max-width:1280px){.dag-toolbar{flex-wrap:wrap}.dag-valid{display:none}.dag-lens{gap:8px}.dag-context{gap:8px}.dag-controls{margin-left:auto}.canvas-viewport.dag-canvas{height:640px}.dag-legend{gap:8px}.dag-minimap{width:128px}.dag-minimap svg{height:64px}}
@media(max-width:650px){.dag-toolbar{padding:12px}.dag-controls{margin-left:0;width:100%;justify-content:space-between}.dag-lens{padding:12px}.dag-context{font-size:9px}.dag-context-label{display:none}.dag-view-options{width:100%;justify-content:space-between}.dag-view-options button{font-size:9px}.dag-minimap{width:92px;padding:4px;bottom:8px;right:8px}.dag-minimap svg{height:52px}.dag-minimap>span{font-size:7px}.dag-legend{max-width:calc(100% - 120px);left:8px;bottom:8px;font-size:8px;gap:8px}.dag-floating-tools{right:8px;top:8px}.canvas-viewport.dag-canvas{height:530px}.edge-proposal{grid-template-columns:1fr}.edge-proposal>span{transform:rotate(90deg)}.dag-bottomline{gap:8px;padding:8px}.execution-layer{grid-template-columns:1fr}}
@media print{@page{size:1600px 1520px;margin:32px}.editor-print-page .canvas-viewport.dag-canvas{height:610px}.editor-print-page .dag-toolbar{flex-wrap:nowrap}.editor-print-page .dag-valid{display:inline-flex}.editor-print-page .dag-minimap{width:156px}}
