.roster-card-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:1.5rem;
}

.roster-card-block{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.roster-card-heading{
  margin:0 0 .65rem;
  color:#171b22;
  font-family:'World Condensed', 'Causten', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:1.15rem;
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  text-transform:uppercase;
}

.roster-card-heading a,
.roster-card-player{
  color:inherit;
  text-decoration:none;
}

.roster-card-heading a:hover,
.roster-card-heading a:focus-visible,
.roster-card-player:hover,
.roster-card-player:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
}

.roster-card{
  height:auto;
  background:#fff;
}

.roster-card-table-wrap{
  overflow:visible;
}

.roster-card-table{
  width:100%;
  table-layout:fixed;
  font-size:.9rem;
}

.roster-card-table > :not(caption) > * > *{
  padding:.3rem 0;
  border:0;
  line-height:1.25;
}

.roster-card-table thead th{
  padding-top:0;
  padding-bottom:.45rem;
  color:var(--bs-secondary-color, #6b7280);
  font-size:.72rem;
  font-weight:600;
  text-align:left;
}

.roster-card-table .roster-card-number{
  width:2.5rem;
  padding-right:.65rem;
  color:var(--bs-secondary-color, #6b7280);
  font-variant-numeric:tabular-nums;
}

.roster-card-table .roster-card-stat{
  width:2rem;
  padding-right:.1rem;
  padding-left:.1rem;
  color:var(--bs-secondary-color, #6b7280);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  text-align:center;
}

.roster-card-table td.roster-card-stat.has-value{
  color:var(--bs-body-color, #111827);
  font-weight:800;
}

.roster-card-table td.roster-card-stat.is-yellow.has-value{
  color:#a16207;
}

.roster-card-table td.roster-card-stat.is-red.has-value{
  color:#dc2626;
}

.roster-card-event-icon{
  display:inline-block;
  width:.48rem;
  height:.68rem;
  border-radius:2px;
  transform:rotate(-6deg);
  vertical-align:-.08rem;
}

.roster-card-event-icon.is-yellow{
  background:#eab308;
}

.roster-card-event-icon.is-red{
  background:#dc2626;
}

.roster-card-name-cell{
  display:flex;
  align-items:baseline;
  gap:.35rem;
  min-width:0;
}

.roster-card-player{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.roster-card-position{
  flex:0 0 auto;
  color:var(--bs-secondary-color, #6b7280);
  font-size:.8rem;
}

.roster-card-empty{
  color:var(--bs-secondary-color, #6b7280) !important;
}

html[data-theme="dark"] .roster-card-heading{
  color:var(--evi-text);
}

html[data-theme="dark"] .roster-card{
  color:var(--evi-text);
  background:var(--evi-surface);
  border-color:var(--evi-border) !important;
}

html[data-theme="dark"] .roster-card-table td.roster-card-stat.is-yellow.has-value{
  color:var(--evi-warning, #fbbf24);
}

html[data-theme="dark"] .roster-card-table td.roster-card-stat.is-red.has-value{
  color:var(--evi-danger, #fb7185);
}

html[data-theme="dark"] .roster-card-event-icon.is-yellow{
  background:var(--evi-warning, #fbbf24);
}

html[data-theme="dark"] .roster-card-event-icon.is-red{
  background:var(--evi-danger, #fb7185);
}

@media (max-width:575.98px){
  .roster-card-table{
    font-size:.86rem;
  }

  .roster-card-table .roster-card-number{
    width:2.2rem;
    padding-right:.4rem;
  }

  .roster-card-table .roster-card-stat{
    width:1.75rem;
  }
}
