/* Knowledge map page */
.mapwrap { position: relative; overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; margin: 12px 0; }
#map { display: block; touch-action: pan-x pan-y; }
#maptip { position: absolute; z-index: 2; width: 300px; max-width: calc(100vw - 48px); background: var(--bg); color: var(--text); border: 1px solid var(--accent); border-radius: 10px; padding: 10px 12px; font-size: .92rem; line-height: 1.45; box-shadow: 0 6px 24px rgba(0,0,0,.25); }
#maptip strong { display: block; margin-bottom: 4px; }
#maptip ul { margin: 6px 0 0; padding-left: 1.1em; }
#maptip li { margin: 2px 0; }
#maptip a { display: inline-block; margin-top: 6px; font-weight: 600; }
.legend { color: var(--dim); }
.legend .dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--accent); vertical-align: -1px; margin-left: 10px; }
.legend .dot:first-child { margin-left: 0; }
.legend .dot.full { background: var(--accent); }
