my $scorediv = (max(map { ref $_ eq 'HASH' && sum(values %$_) } values %$canihas) // 1) / 100;
print '<table class="mapped">';
-print '<col>' x 3;
+print '<col span="3">'; # should match first thead row
printf '<colgroup span="%d">', scalar @{ $versions{$_} } for @browsers;
print "\n";
for ($row->{categories}) {
my $cell = $_ ? lc $_->[0] : '-';
+ $cell =~ s/ api$//; # trim unessential fluff in 'js api'
printf '<th title="%s">%s', join(' + ', @$_), $cell;
}