The matrix is merged into its pane: rows are sections (or themes), columns are participants. Hue = the sentiment chip · cell depth = quote count · inset circle area = residual (how over-represented the cell is). Signal cells wear the blue keyline and jump to their card; every other cell lands among its section's quotes. Hover a cell for the sentiment as its real tag chip.
Residual = the shipped adjustedResidual() statistic; dot area (never radius) ∝ value,
so r = √value. Under-representation has no mark — it's the empty cells. Signal keyline =
--bn-selection-border, from .signal-card.bn-selected. Column headers = the split
speaker badge (person-badge.css). Sentiment is taught in the tooltip as its own .badge.
Sample: IKEA 9-session study.