/* ============================================================
   THOUGHT MAP — dots and lines, growing downward
============================================================ */
.graph{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s5);margin-top:var(--s2)}
.graph .kicker{margin-bottom:var(--s2)}
.graph h1{margin-bottom:4px}
.map{margin:var(--s5) 0;overflow-x:auto;padding:var(--s2) 0}
/* V17: the tree is the hero — full-bleed scroll, bigger type, fork points emphasized */
.map--hero{margin:var(--s4) calc(var(--s5) * -1);padding:var(--s4) var(--s5);
  background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.map--hero svg{font-size:15px}
.map--hero .node text{font-size:15px}
.map--hero .node .who{font-size:12px}
.map .edge.fork{stroke:var(--accent);stroke-width:2.5}
.map .node.fork circle{stroke:var(--accent);stroke-width:2.5}
.lineage-words{margin-top:var(--s4)}
.lineage-words summary{cursor:pointer;margin-bottom:var(--s2)}
.map svg{display:block;max-width:100%;height:auto;font-family:var(--font-sans)}
.map .edge{stroke:var(--line-strong);stroke-width:1.5;fill:none}
.map .edge.enter{animation:draw .6s var(--ease) both}
@keyframes draw{from{stroke-dasharray:400;stroke-dashoffset:400}to{stroke-dasharray:400;stroke-dashoffset:0}}
.map .node circle{fill:var(--ink);stroke:var(--surface);stroke-width:2;transition:transform var(--t-fast) var(--ease);transform-box:fill-box;transform-origin:center}
.map .node.current circle{fill:var(--accent)}
.map .node.tomb circle,.map .node.hidden circle{fill:var(--surface);stroke:var(--ink-3);stroke-dasharray:2 2}
.map .node text{fill:var(--ink);font-size:13px;font-weight:500}
.map .node .who{fill:var(--ink-2);font-size:11px;font-weight:400}
.map .node.tomb text,.map .node.hidden text{fill:var(--ink-3);font-style:italic}
.map a:hover circle{transform:scale(1.35)}
.map a:hover text{fill:var(--accent-deep)}
.map a:focus-visible circle{stroke:var(--accent);stroke-width:3}
.map .node.enter{animation:dot-in var(--t-base) var(--ease) both}
.legend{font-size:.8125rem;color:var(--ink-2);display:flex;gap:16px;flex-wrap:wrap}
.legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
