/* B7 graph-cluster page bits (b7-graphs.js). Load after viz.css, matrix.css / graph.css. Tokens only. */

/* legend: swatches reuse the matrix (.mx-c) and graph (.gv-n) state classes */
.b7-key{font-family:var(--body);display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 2px;font-size:var(--fs-label);color:var(--ink-3)}
.b7-key span{display:flex;align-items:center;gap:6px}
.b7-key i{
  flex:none;position:static;translate:none;transform:none;box-shadow:none;width:14px;height:14px;min-width:0;padding:0;
  border-radius:4px;font-size:0
}
.b7-key i.gv-n{border-radius:50%}
.b7-key i.b7-ln{height:3px;border:0;border-radius:2px;background:var(--ink-4)}
.b7-key i.b7-ln.cur{background:var(--ink)}
.b7-key i.b7-ln.ok{background:var(--ok)}
.b7-key i.b7-ln.hit{background:var(--mark)}
.b7-key i.b7-ln.probe{background:var(--probe)}
.b7-key i.b7-ln.skip{background:repeating-linear-gradient(90deg, var(--ink-4) 0 4px, transparent 4px 8px);opacity:.6}

/* a labelled chip strip (queue, stack, visited set) */
.b7-sec{margin:16px 0 0}
.b7-sec > .lbl{margin-bottom:8px}

/* parent / rank arrays as cells */
.b7-uf{--cell:34px;margin-top:6px}
.b7-uf .arr{padding-top:0;gap:10px 6px;margin-bottom:10px}
.b7-uf .box{font-size:var(--fs-small)}
.b7-uf .lbl{margin-bottom:6px}

/* the graph title above each side of a .gv-pair */
.b7-cap{font-family:var(--body);font-size:var(--fs-label);font-weight:600;color:var(--ink-3);margin:8px 0 0}

@media (max-width:520px){
  .b7-uf{--cell:30px}
}
