.node-map-tabs{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.node-map-tabs button{min-width:145px}.node-map-tabs .active{color:#f3d489;background:#3c3049;border-color:#8f7399}
.node-map-preset{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:20px 0;flex-wrap:wrap}.node-map-preset>div:first-child{display:grid;gap:5px;min-width:230px}.node-map-preset label{color:var(--muted);font-size:12px}.node-map-preset-actions{display:flex;gap:7px;flex-wrap:wrap}
.node-map-workbench{border:1px solid #484057;border-radius:12px;overflow:hidden;background:#171622;margin-bottom:20px;isolation:isolate}.node-map-tools{display:flex;justify-content:space-between;gap:20px;padding:18px;border-bottom:1px solid #393244;align-items:end;flex-wrap:wrap}.node-map-search{position:relative;flex:1;min-width:200px;max-width:440px}.node-map-search label{display:block;color:#b5a8c3;font-size:12px;margin-bottom:6px}.node-map-search input{width:100%;background:#221e2e;border:1px solid #50415d}.node-map-results{position:absolute;top:100%;left:0;right:0;max-height:350px;overflow:auto;background:#221d2e;border:1px solid #726180;z-index:5;box-shadow:0 16px 32px #0008}.node-map-results p{margin:8px 12px;color:#c4b7d5;font-size:12px}.node-map-results button{border:0;border-top:1px solid #41364c;border-radius:0;background:none;width:100%;text-align:left;display:flex;gap:12px;justify-content:space-between}.node-map-results button:hover{background:#3b2d49}.node-map-results span{font-size:12px;color:#b9abc9;white-space:nowrap}
.node-map-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.node-map-controls output{min-width:54px;text-align:center;color:#dbc7ec;font-variant-numeric:tabular-nums}.node-map-controls button{padding:7px 12px;background:#282233;border-color:#4a3b57}.node-map-options{padding:10px 18px;display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;color:#b8acc8;font-size:12px}.node-map-options label{display:flex;align-items:center;gap:6px;cursor:pointer}.node-map-options input{width:auto;margin:0;accent-color:#dfbb6b}.node-map-options b{font-size:17px;color:#efcf80}.node-map-options span:last-child{color:#dcba8d}
.node-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;border-top:1px solid #393244}.node-map-stage{position:relative;overflow:hidden;min-width:0;background:radial-gradient(ellipse at 52% 38%,#362044 0%,#211b32 38%,#111322 85%)}.node-map-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#b8a2d733 1px,transparent 1px);background-size:29px 37px}.node-map-svg{position:relative;display:block;width:100%;height:650px;touch-action:none;user-select:none;cursor:grab;outline-offset:-4px}.node-map-svg.dragging{cursor:grabbing}.node-map-svg line{stroke:#756185;stroke-width:6;pointer-events:none}.node-map-svg line.active{stroke:#f2cf55;stroke-width:8}.node-map-node{cursor:pointer;outline:none}.node-map-ring{fill:#292030;stroke:#85714a;stroke-width:4}.node-map-halo{fill:none;stroke:transparent;stroke-width:4}.node-map-node.available .node-map-ring{stroke:#c6a764}.node-map-node.allocated .node-map-ring{fill:#74572d;stroke:#ffe05e;stroke-width:6}.node-map-node.selected .node-map-halo,.node-map-node:focus .node-map-halo{stroke:#dba7ff;stroke-width:5}.node-map-node text{font-size:16px;font-weight:650;fill:#e5d8c4;pointer-events:none}.node-map-node.indicator .node-map-ring{stroke:#a47ab3;fill:#382749}.node-map-node.socket .node-map-ring{stroke:#5bb8b0;fill:#173d42}.node-map-node.socket.allocated .node-map-ring{stroke:#ffe05e}.node-map-art{pointer-events:none;image-rendering:pixelated}.node-map-hint{position:absolute;bottom:10px;left:10px;right:10px;pointer-events:none;color:#c2b3d5;font-size:11px;text-align:center;text-shadow:0 1px 4px #000;background:#171322bb;border-radius:4px;padding:3px}
.node-map-detail{padding:24px 21px;border-left:1px solid #46374f;background:linear-gradient(135deg,#2a2034,#1b1925);min-width:0;overflow-wrap:anywhere;max-height:650px;overflow:auto}.node-map-detail h3,.node-map-tooltip h3{font-size:21px;line-height:1.35;color:#f0d48b;margin:8px 0}.node-map-detail small,.node-map-tooltip small{color:#9e8baa;font-size:11px}.node-map-node-id{font-size:11px;color:#ac96bd;letter-spacing:1px}.node-map-effects{padding:16px 0 12px;margin:0;list-style:none;border-top:1px solid #58415f;margin-top:18px}.node-map-effects li{color:#c3a7fa;line-height:1.65;margin-bottom:6px;font-size:14px;white-space:pre-line}.node-map-description{color:#bfb0cb;font-size:13px;white-space:pre-line}.node-map-definition-note{color:#d6b489;font-size:12px}.node-map-state{display:inline-block;padding:3px 8px;border:1px solid #62506d;border-radius:4px;color:#ae9cba;font-size:12px;margin-top:12px}.node-map-state.allocated{color:#f1d276;border-color:#8e7842;background:#4b3c20}.node-map-detail-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.node-map-detail-actions button{border-color:#6a546f;background:#3a2d42}.node-map-detail-actions button:first-child{border-color:#98804c;color:#f0cf7e;background:#443720}.node-map-condition{font-size:12px;color:#c7b9d1;line-height:1.7}.node-map-tooltip{position:absolute;z-index:4;width:290px;max-width:calc(100% - 16px);max-height:calc(100% - 40px);overflow:hidden;padding:17px;background:#18131ff5;border:1px solid #8e729a;border-radius:7px;box-shadow:0 9px 32px #0009;pointer-events:none}.node-map-tooltip h3{font-size:17px}.node-map-tooltip .node-map-effects{margin-top:10px;padding:10px 0 0}.node-map-tooltip .node-map-effects li{font-size:12px}.node-map-tooltip .node-map-state{margin-top:5px}.node-map-tooltip .node-map-condition{margin-bottom:0}
.node-map-footer{padding:12px 18px;border-top:1px solid #45374e;color:#aa99bb;font-size:12px}.node-map-footer p{margin:5px 0}.node-map-footer p:first-child{color:#dac6e4}.node-map-footer details{margin-top:12px}.node-map-footer input{width:100%;max-width:440px}.node-map-raw{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:18px}.node-map-raw summary{cursor:pointer;color:#b6c3af}.node-map-raw p{font-size:12px;color:var(--muted)}.node-map-raw textarea{display:block;width:100%;margin:8px 0 12px}.node-map-file-controls{margin-bottom:18px}
@media(min-width:1700px){.node-map-layout{grid-template-columns:minmax(0,1fr) 330px}.node-map-svg{height:740px}.node-map-detail{max-height:740px}}
@media(max-width:1050px){.node-map-layout{grid-template-columns:minmax(0,1fr) 250px}.node-map-detail{padding:18px 14px}.node-map-tools{gap:12px}}
@media(max-width:760px){.node-map-layout{grid-template-columns:minmax(0,1fr)}.node-map-svg{height:540px}.node-map-detail{border-left:0;border-top:1px solid #46374f;max-height:none}.node-map-detail-actions{margin-top:12px}.node-map-search{max-width:none}.node-map-options{gap:10px 16px}.node-map-preset-actions button{font-size:12px}.node-map-tooltip{width:250px}.node-map-controls button{padding:7px 10px}}
