.sort-btn {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 1.6rem;
  margin-block: -0.28rem;
  cursor: pointer;
  font-weight: inherit;
  color: inherit;
}
.sort-btn:hover { color: var(--tc-green); }
.sort-btn:focus-visible { outline: 2px solid var(--tc-link); outline-offset: 2px; }
.sort-btn::after { content: "\2195"; color: var(--tc-border); font-size: 0.8em; }
th[aria-sort="ascending"] .sort-btn::after { content: "\25B2"; color: var(--tc-green); }
th[aria-sort="descending"] .sort-btn::after { content: "\25BC"; color: var(--tc-green); }
th.num .sort-btn { justify-content: flex-end; }
#roster tr[data-href] { cursor: pointer; }
#roster tr[data-href]:hover .sticky-col { background: var(--tc-hover); }
#roster tr.is-me,
#roster.striped tbody tr.is-me:nth-child(n) td,
#roster.striped tbody tr.is-me:nth-child(n) th,
#roster tr.is-me:hover .sticky-col { background: var(--tc-highlight); }
.star-btn {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  min-height: 1.75rem;
  margin: -0.15rem 0.05rem -0.15rem -0.2rem;
  cursor: pointer;
  color: var(--tc-text-muted);
  font-size: 1.25rem;
  font-weight: 700;
}
.star-btn[aria-pressed="true"] { color: var(--tc-green); }
.star-btn:focus-visible { outline: 2px solid var(--tc-link); outline-offset: 2px; }
.badge-you {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0 0.4rem;
  border: 1px solid var(--tc-green);
  background: var(--tc-white);
  color: var(--tc-green);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
  vertical-align: middle;
  border-radius: var(--tc-radius);
}
