.race-series-card { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(14rem, 1fr) auto; }
.series-next-race { border-left: 1px solid var(--edge); padding-left: 1.5rem; }
.series-next-label { font-size: .875rem; color: var(--ink-muted); }
.series-next-detail { display: grid; gap: .35rem; margin-top: .4rem; }
.series-next-detail strong { font-size: 1.125rem; font-weight: 600; }
.series-next-detail span { color: var(--ink-muted); font-size: .875rem; }
.points-period { padding: 1.25rem; border: 1px solid var(--edge); border-radius: var(--radius); background: var(--surface); }
.points-period-nav { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.points-period-nav h2 { font-size: 1.5rem; font-weight: 600; }
.points-source { color: var(--ink-muted); font-size: .875rem; margin-top: .75rem; }
.points-personal { margin-top: 1rem; font-size: 1.125rem; }
.points-personal strong { color: var(--accent); }
.points-your-row td:first-child { box-shadow: inset 3px 0 0 var(--accent); }
.points-you { margin-left: .75rem; color: var(--accent); font-size: .875rem; }
.points-previous-winner > p { padding-block: .35rem; }
@media (max-width: 900px) {
  .race-series-card { grid-template-columns: minmax(0, 1fr) minmax(12rem, 1fr); }
  .race-series-card .challenge-action { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 640px) {
  .race-series-card { grid-template-columns: minmax(0, 1fr); }
  .series-next-race { border-left: 0; border-top: 1px solid var(--edge); padding: 1rem 0 0; }
  .race-series-card .challenge-action { justify-self: stretch; }
}
