.bv-top20-scroll { width:100%; overflow-x:auto; margin:1.25rem 0; }
.bv-top20-scroll:focus-visible { outline:2px solid #245d7b; outline-offset:3px; }
table.bv-top20 { width:100%; min-width:1100px; table-layout:fixed; border-collapse:collapse; border:1px solid #ccd5dc; font-size:14px; line-height:1.5; color:#23313d; background:#fff; }
.bv-top20 caption { text-align:left; font-size:1.25rem; font-weight:700; padding:0 0 .7rem; color:inherit; }
.bv-top20 th, .bv-top20 td { box-sizing:border-box; border:1px solid #dce2e7; padding:9px 5px; vertical-align:middle; }
.bv-top20 .bv-top20-summary { background:#edf3f7; }
.bv-top20 .bv-top20-summary th { text-align:left; padding-left:12px; overflow-wrap:anywhere; font-weight:700; }
.bv-top20 .bv-top20-summary td { text-align:left; }
.bv-top20 .bv-top20-summary .bv-top20-position { text-align:center; font-weight:700; }
.bv-top20 .bv-top20-value { font-weight:700; }
.bv-top20 .bv-top20-scores td { text-align:center; font-variant-numeric:tabular-nums; height:40px; }
.bv-top20 tbody + tbody .bv-top20-summary > * { border-top:3px solid #bac7d1; }
.bv-top20-message { padding:12px 16px; border-left:3px solid #bac7d1; background:#f4f6f8; }

.bv-top20 .bv-top20-summary > [rowspan] { background:#edf3f7; vertical-align:middle; }

