Single legend entry. color is optional - when omitted the swatch
falls back to the chart-level primary token. value is rendered as a
trailing .cngx-chart-legend__value node when present (!= null, so a
literal 0 still shows), turning a legend into a readout. It stays
intentionally unconstrained so the same field a consumer weights in the
row can still carry their domain key (id, layer name, accessor return
type, ...) for later interactions without a second lookup.