/* Connections Map: SVG presentation attributes work within existing self-only CSP. */
#map-panel[hidden],#grid[hidden]{display:none}
#map-panel{border:1px solid var(--line);padding:24px;background:#eeeee4;min-width:0}
.map-heading{display:flex;gap:30px;align-items:center}.map-heading h3{font:36px Georgia,serif;margin:12px 0}.map-heading p{max-width:440px;font-size:13px;line-height:1.7;color:var(--muted)}
.map-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.map-toolbar label{display:block;font-size:12px;min-width:0;max-width:100%;flex:1 1 200px}
.map-toolbar input,.map-toolbar select{display:block;margin-top:8px;width:100%;max-width:100%;box-sizing:border-box;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:10px;min-height:44px}
#map-panel button{min-height:44px;padding:10px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:12px}
#map-panel button:disabled{opacity:.45}#map-open{font-weight:bold}#map-root-title{font:24px Georgia,serif;overflow-wrap:anywhere;margin:20px 0 12px}#map-path{overflow-wrap:anywhere}#map-summary{font:12px monospace;line-height:1.7}
.map-graph{display:block;width:100%;max-width:900px;height:auto;margin:12px auto}.map-edges line{stroke:#858b70;stroke-width:2.5}.map-node-box{fill:#faf9f0;stroke:#b6baa6;stroke-width:1.5}.map-root-box{fill:#e0e7cb;stroke:#48533c;stroke-width:3}.map-node-name{fill:#22271f;font:12px sans-serif;font-weight:bold}.map-node-meta{fill:#46513b;font:10px monospace}.map-graph a{cursor:pointer}.map-graph a:hover rect,.map-graph a:focus rect{stroke:#b44b26;stroke-width:4}.map-graph a:focus{outline:none}
.map-fallback{margin-top:18px;border-top:1px solid var(--line);padding:18px 0}.map-fallback summary{cursor:pointer;min-height:44px;font-size:13px}.map-fallback ul{padding-left:18px}.map-fallback li{margin:8px 0}.map-fallback button{text-align:left;max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){#map-panel{padding:10px}.map-heading{display:block}.map-heading h3{font-size:28px}.map-toolbar{gap:10px}.map-toolbar label{flex-basis:100%}.map-graph{width:calc(100% + 20px);max-width:none;margin:12px -10px}.map-node-name{font-size:14px}.map-node-meta{font-size:12px}.controls .view-switch{flex-wrap:wrap}}
