/* ============================================================
   POWER-MAP.CSS
   Phase 6D co-investment map.

   The drawing is the index, not the evidence. Line thickness varies
   with shared rounds, but the count is also printed beside every
   spoke, so nothing has to be judged by eye and a screen reader gets
   the same information from the table beneath. One accent colour for
   links, one for the centre; colour carries no other meaning.
   ============================================================ */

.pmap-wrap { max-width: 1000px; }

.pmap-scope {
  border: 1px solid var(--hairline-strong); border-left: 3px solid var(--accent);
  padding: 14px 16px; margin: 20px 0 24px;
  font: 400 13.5px/1.6 var(--sans); color: var(--ink-dim); max-width: 78ch;
}
.pmap-scope strong { color: var(--ink); font-weight: 600; }

.pmap-h {
  font: 600 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink-muted); margin: 30px 0 12px;
}
.pmap-note {
  font: 400 12.5px/1.6 var(--sans); color: var(--ink-muted);
  margin: 10px 0 0; max-width: 74ch;
}
.pmap-note a { color: var(--accent); }
.pmap-empty {
  font: 400 14px/1.6 var(--sans); color: var(--ink-dim);
  margin: 18px 0; max-width: 70ch;
}
.pmap-empty a { color: var(--accent); }

/* ---------- the drawing ---------- */

/* minmax(0,1fr) rather than 1fr: a bare 1fr is minmax(auto,1fr) and
   refuses to shrink below the svg's intrinsic width, so the page
   itself would scroll sideways on a phone instead of this box. */
.pmap-canvas-wrap {
  display: grid; grid-template-columns: minmax(0, 1fr);
  overflow-x: auto; margin: 8px 0 4px;
  border: 1px solid var(--hairline); border-radius: 6px; background: var(--bg-raised);
}
.pmap-canvas { display: block; width: 100%; min-width: 620px; height: auto; }

.pmap-label {
  font: 500 11px/1 var(--sans); fill: var(--ink-dim);
}
.pmap-label-c { font-weight: 700; fill: var(--ink); font-size: 12.5px; }
.pmap-label-n { font: 400 9.5px/1 var(--mono); fill: var(--ink-muted); }
.pmap-n:hover .pmap-label { fill: var(--ink); }

/* ---------- evidence tables ---------- */

.pmap-edge { margin: 0 0 26px; }
.pmap-edge-h {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px;
  margin: 0 0 8px; font: 600 15px/1.3 var(--sans);
}
.pmap-edge-h a { color: var(--ink); text-decoration: none; }
.pmap-edge-h a:hover { color: var(--accent); text-decoration: underline; }
.pmap-edge-n {
  font: 400 11.5px/1 var(--mono); color: var(--ink-muted);
  text-transform: none; letter-spacing: .02em;
}

.pmap-tbl {
  width: 100%; border-collapse: collapse;
  font: 400 13px/1.5 var(--sans); color: var(--ink-dim);
}
.pmap-tbl th {
  text-align: left; font: 600 10px/1 var(--mono); letter-spacing: .08em;
  text-transform: uppercase; color: var(--ink-muted);
  border-bottom: 1px solid var(--hairline-strong); padding: 0 10px 7px 0;
}
.pmap-tbl td {
  padding: 8px 10px 8px 0; border-bottom: 1px solid var(--hairline);
  vertical-align: top;
}
.pmap-tbl td:nth-child(3) { font-variant-numeric: tabular-nums; white-space: nowrap; }
.pmap-tbl a { color: var(--accent); }
/* Unknown is written out, never left blank. A blank cell reads as an
   oversight; "not stated" is a fact about the source. */
.pmap-unk { color: var(--ink-muted); font-style: italic; }

/* ---------- firm page panel ---------- */

.pmap-list { display: flex; flex-direction: column; margin: 6px 0 10px; }
.pmap-row {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px;
  padding: 9px 0; border-bottom: 1px solid var(--hairline); text-decoration: none;
}
.pmap-row:last-child { border-bottom: none; }
.pmap-row:hover .pmap-row-name { color: var(--accent); }
.pmap-row-name { font: 600 14px/1.3 var(--sans); color: var(--ink); }
.pmap-row-meta { font: 400 12px/1.4 var(--sans); color: var(--ink-muted); }
.pmap-more {
  display: inline-block; margin-top: 4px;
  font: 500 12.5px/1 var(--sans); color: var(--accent);
}

/* Sits under the renamed "Shared notable holdings" list on firm
   pages. It has to be readable rather than fine print, because it is
   what stops the list being read the way its old heading was. */
.fi-note {
  font: 400 12.5px/1.6 var(--sans); color: var(--ink-muted);
  margin: 10px 0 0; max-width: 74ch;
}

/* ---------- firm chooser ---------- */

.pmap-picks {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
  gap: 6px; margin-top: 16px;
}
.pmap-pick {
  display: flex; justify-content: space-between; align-items: baseline; gap: 10px;
  padding: 9px 12px; border: 1px solid var(--hairline); border-radius: 4px;
  font: 500 13px/1.3 var(--sans); color: var(--ink); text-decoration: none;
}
.pmap-pick:hover { border-color: var(--accent); color: var(--accent); }
.pmap-pick-n {
  font: 400 11px/1 var(--mono); color: var(--ink-muted);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
  .pmap-tbl { font-size: 12.5px; }
  .pmap-edge-h { font-size: 14px; }
}
