/* Home roster notice: the same quiet headings and dividers as the surrounding lists. */
.rbu {
  --rbu-text: #17202a;
  --rbu-muted: #6b7684;
  --rbu-line: #e5e8ec;
  --rbu-soft: #f6f7f9;
  --rbu-surface: #fff;
  --rbu-accent: #315b46;
  --rbu-up: #16704e;
  --rbu-down: #ad5945;
  min-width: 0;
  margin-top: 28px;
  color: var(--rbu-text);
  text-align: left;
}
html[data-theme="dark"] .rbu {
  --rbu-text: #e8eef2;
  --rbu-muted: #93a1ae;
  --rbu-line: #2b373f;
  --rbu-soft: #1b242a;
  --rbu-surface: #151c21;
  --rbu-accent: #b5d4c0;
  --rbu-up: #83c6a2;
  --rbu-down: #e3a28f;
}
body.v3 .rbu {
  --rbu-text: var(--md-on-surface);
  --rbu-muted: var(--md-on-surface-variant);
  --rbu-line: var(--md-outline-variant);
  --rbu-soft: var(--md-surface-container-low);
  --rbu-surface: var(--md-surface);
  --rbu-accent: var(--md-primary);
}
.rbu .rbu-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; margin: 0 0 4px; padding: 0; }
.rbu .rbu-head h2 { margin: 0; color: var(--rbu-text); font-size: 17px; font-weight: 800; line-height: 1.4; letter-spacing: -.02em; }
body.v3 .rbu .rbu-head h2 { font-size: 20px; font-weight: 500; letter-spacing: normal; }
.rbu .rbu-date { color: var(--rbu-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.rbu .rbu-sub { margin: 0 0 16px; color: var(--rbu-muted); font-size: 12px; line-height: 1.5; }
.rbu .rbu-sub strong { color: var(--rbu-text); font-weight: 500; }
.rbu .rbu-table { width: 100%; margin: 0; border: 0; border-collapse: collapse; table-layout: fixed; font-size: 13px; font-variant-numeric: tabular-nums; }
.rbu .rbu-table th, .rbu .rbu-table td { padding: 12px 10px; border: 0; border-bottom: 1px solid var(--rbu-line); background: transparent; text-align: right; vertical-align: middle; }
.rbu .rbu-table th:first-child { width: 38%; padding-left: 0; text-align: left; }
.rbu .rbu-table th:last-child, .rbu .rbu-table td:last-child { padding-right: 0; }
.rbu .rbu-table thead th { padding-top: 9px; padding-bottom: 9px; color: var(--rbu-muted); font-size: 12px; font-weight: 400; }
.rbu .rbu-unit { margin-left: 2px; font-size: 11px; }
.rbu .rbu-table tbody th { font-weight: 500; line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; }
.rbu .rbu-table tbody tr:hover { background: var(--rbu-soft); }
.rbu a { color: inherit; text-decoration: none; }
.rbu .rbu-table tbody a { display: inline-block; padding-block: 3px; }
.rbu a:hover { color: var(--rbu-accent); text-decoration: underline; text-underline-offset: 3px; }
.rbu .rbu-chg { display: inline-flex; align-items: baseline; justify-content: flex-end; gap: 5px; white-space: nowrap; }
.rbu .rbu-before, .rbu .rbu-arrow { color: var(--rbu-muted); }
.rbu .rbu-arrow { font-size: 10px; }
.rbu .rbu-chg strong { font-weight: 600; }
.rbu .rbu-delta { min-width: 24px; margin-left: 4px; font-size: 11px; text-align: right; }
.rbu .is-up .rbu-delta { color: var(--rbu-up); }
.rbu .is-down .rbu-delta { color: var(--rbu-down); }
.rbu .rbu-same { display: inline-block; padding-right: 33px; color: var(--rbu-muted); }
.rbu .rbu-more { margin: 8px 0 0; padding: 0; border: 0; }
.rbu .rbu-more summary { display: flex; align-items: center; justify-content: flex-start; gap: 8px; min-height: 44px; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--rbu-line); border-radius: 6px; background: transparent; color: var(--rbu-text); font-size: 13px; font-weight: 500; cursor: pointer; list-style: none; }
.rbu .rbu-more summary:hover { background: var(--rbu-soft); }
.rbu .rbu-more summary::-webkit-details-marker { display: none; }
.rbu .rbu-when-open, .rbu .rbu-more[open] .rbu-when-closed { display: none; }
.rbu .rbu-more[open] .rbu-when-open { display: inline; }
.rbu .rbu-more-count { margin-left: auto; color: var(--rbu-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.rbu .rbu-chevron { display: block; flex: 0 0 16px; color: var(--rbu-muted); }
.rbu .rbu-more[open] .rbu-chevron { transform: rotate(180deg); }
.rbu .rbu-scroll { max-height: 460px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--rbu-line) transparent; }
.rbu .rbu-scroll thead th { position: sticky; top: 0; z-index: 1; background: var(--rbu-surface); }
.rbu a:focus-visible, .rbu summary:focus-visible, .rbu .rbu-scroll:focus-visible { outline: 2px solid var(--rbu-accent); outline-offset: 2px; }
.rbu .rbu-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--rbu-line); color: var(--rbu-muted); font-size: 11px; line-height: 1.5; }
.rbu .rbu-footer a { text-underline-offset: 3px; }
.rbu .rbu-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 599px) {
  .rbu .rbu-table { font-size: 12px; }
  .rbu .rbu-table th, .rbu .rbu-table td { padding: 11px 4px; }
  .rbu .rbu-table th:first-child { width: 35%; }
  .rbu .rbu-chg { gap: 3px; }
  .rbu .rbu-delta { min-width: 18px; margin-left: 1px; font-size: 10px; }
  .rbu .rbu-same { padding-right: 22px; }
  .rbu .rbu-scroll { max-height: 400px; }
}
/* The legacy theme colors all dark table headers, including row headers. */
html[data-theme="dark"] .rbu .rbu-table tbody th { background-color: transparent !important; color: var(--rbu-text) !important; }
