.nm-shell{background:radial-gradient(circle at 50% 40%, #00e5ff14, transparent 60%), var(--bg);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.nm-main{grid-template-columns:1fr 380px;gap:0;min-height:0;display:grid}@media (width<=1080px){.nm-main{grid-template-columns:1fr}}.nm-stage{min-height:680px;position:relative;overflow:hidden}.nm-stage svg{width:100%;height:100%;position:absolute;inset:0}.nm-grid{background-image:linear-gradient(#1f2b454d 1px,#0000 1px),linear-gradient(90deg,#1f2b454d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 75%);mask-image:radial-gradient(circle,#000,#0000 75%)}.nm-node{cursor:pointer;transition:filter .2s}.nm-node:hover{filter:brightness(1.2)}.nm-node-bg{fill:var(--surface);stroke:var(--line);stroke-width:1.5px}.nm-node.dt-work .nm-node-bg{stroke:var(--signal)}.nm-node.dt-need .nm-node-bg{stroke:var(--yellow)}.nm-node.dt-done .nm-node-bg{stroke:var(--ink-soft)}.nm-node.dt-idle .nm-node-bg{stroke:var(--ink-dim)}.nm-node.ceo .nm-node-bg{stroke:var(--yellow);fill:#ffcc0014}.nm-node.director .nm-node-bg{stroke:var(--ink);fill:#eaf0fb0d}.nm-node.on .nm-node-bg{filter:drop-shadow(0 0 20px var(--signal-glow));stroke-width:2.5px}.nm-node-title{fill:var(--ink);font-family:var(--font-display);text-anchor:middle;letter-spacing:-.01em;font-size:15px;font-weight:700}.nm-node-sub{fill:var(--ink-faint);font-family:var(--font-mono);text-anchor:middle;letter-spacing:.08em;font-size:10px}.nm-node-ic{text-anchor:middle;font-size:21px}.nm-node-pct{fill:var(--signal);font-family:var(--font-mono);text-anchor:middle;font-size:12px;font-weight:700}.nm-node-pct.dt-need{fill:var(--yellow)}.nm-node-pct.dt-done{fill:var(--ink-soft)}.nm-node-pct.dt-idle{fill:var(--ink-faint)}.nm-edge{fill:none;stroke:var(--line);stroke-width:1.2px;opacity:.5}.nm-edge.flow{stroke:var(--signal);stroke-dasharray:4 6;opacity:.9;animation:1.6s linear infinite oc-dash}.nm-edge.need{stroke:var(--yellow);stroke-dasharray:6 4;opacity:1;stroke-width:1.8px;animation:1.2s linear infinite oc-dash}.nm-edge-lab{fill:var(--ink-faint);font-family:var(--font-mono);text-anchor:middle;letter-spacing:.04em;font-size:10px}.nm-edge-lab.need{fill:var(--yellow)}.nm-overlay{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono);color:var(--ink-soft);letter-spacing:.06em;background:#0a0e1ab8;border-radius:10px;padding:10px 14px;font-size:11px;position:absolute}[data-theme=light] .nm-overlay{background:#ffffffd9}.nm-overlay.tl{top:20px;left:20px}.nm-overlay.tr{text-align:right;top:20px;right:20px}.nm-overlay.bl{bottom:20px;left:20px}.nm-overlay b{color:var(--ink)}.nm-legend{gap:5px;display:grid}.nm-legend span{align-items:center;gap:6px;display:flex}.nm-stats{gap:6px;min-width:180px;display:grid}.nm-stats .row{justify-content:space-between;display:flex}.nm-stats .row b{font-family:var(--font-display);font-size:16px;font-weight:700}.nm-side{border-left:1px solid var(--line-soft);background:var(--surface);padding:22px;overflow:auto}.nm-side h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 4px;font-size:21px;font-weight:700}.nm-side .sub{font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;font-size:11px}.nm-inspect .row{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:9px 0;font-size:13px;display:flex}.nm-inspect .row .k{color:var(--ink-faint);flex-shrink:0}.nm-inspect .row .v{color:var(--ink);font-family:var(--font-mono);text-align:right}.nm-connect{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:10px;margin-top:18px;padding:14px}.nm-connect h4{font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px}.nm-connect .conn{border-bottom:1px dashed var(--line-soft);justify-content:space-between;padding:7px 0;font-size:13px;display:flex}.nm-connect .conn:last-child{border-bottom:0}.nm-connect .conn .to{color:var(--signal);font-family:var(--font-mono);font-size:11px}.nm-log{font-family:var(--font-mono);color:var(--ink-soft);gap:5px;max-height:220px;margin-top:18px;font-size:12px;display:grid;overflow:auto}.nm-log .line{background:var(--surface-2);border-radius:5px;padding:6px 8px}.nm-log .line .t{color:var(--ink-faint);margin-right:6px}
