/* Points per Game viz (WVIZ-351). Table and legend follow the
   games-in-hand.css pattern; chart is a games-played-axis polyline chart. */

.points-per-game__table-wrap {
  overflow-x: auto;
}

.points-per-game__table {
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  width: 100%;
}

.points-per-game__caption {
  color: var(--color-text-muted, #94a0b2);
  font-size: var(--fs-caption);
  padding-block: var(--space-2);
  text-align: left;
}

.points-per-game__th,
.points-per-game__td {
  border-bottom: 1px solid var(--color-border, #2a3444);
  padding: var(--space-2) var(--space-3);
  text-align: left;
}

.points-per-game__th {
  color: var(--color-text-muted, #94a0b2);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
}

.points-per-game__th--numeric,
.points-per-game__td--numeric {
  font-family: var(--font-tabular);
  text-align: right;
}

.points-per-game__th--bold,
.points-per-game__td--bold {
  font-weight: var(--fw-bold);
}

/* Keep "0.93–2.53" on one line; the table wrapper scrolls instead. */
.points-per-game__td--range {
  white-space: nowrap;
}

.points-per-game__team-link {
  align-items: center;
  color: var(--color-text, #e0e4ea);
  display: inline-flex;
  gap: var(--space-2);
  text-decoration: none;
}

.points-per-game__team-logo {
  height: 20px;
  width: 20px;
}

.points-per-game__team-abbr {
  display: none;
}

.points-per-game__team-link:hover .points-per-game__team-name,
.points-per-game__team-link:hover .points-per-game__team-abbr {
  text-decoration: underline;
}

@media (width <= 640px) {
  .points-per-game__team-name {
    display: none;
  }

  .points-per-game__team-abbr {
    display: inline;
  }
}

.points-per-game__movement--up {
  color: var(--color-status-positive);
}

.points-per-game__movement--down {
  color: var(--color-status-negative);
}

.points-per-game__movement--flat {
  color: var(--color-text-muted, #94a0b2);
}

.points-per-game__no-data,
.points-per-game__caveat,
.points-per-game__footnote {
  color: var(--color-text-muted, #94a0b2);
  font-size: var(--fs-body-sm);
}

.points-per-game__chart {
  margin-block-start: var(--space-6);
}

.points-per-game__chart-title {
  font-size: var(--fs-h3);
  margin-block-end: var(--space-3);
}

.points-per-game__svg {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.points-per-game__axis,
.points-per-game__gridline {
  stroke: var(--color-border, #2a3444);
  stroke-width: 1;
}

.points-per-game__gridline {
  opacity: 0.4;
}

.points-per-game__tick-label {
  fill: var(--color-text-muted, #94a0b2);
  font-family: var(--font-tabular);
  font-size: 12px;
}

.points-per-game__line {
  fill: none;
  stroke: var(--chart-line);
  stroke-width: 2.5;
  transition: opacity var(--t-base) var(--ease);
}

.points-per-game__line-end {
  fill: var(--chart-line);
  transition: opacity var(--t-base) var(--ease);
}

[data-theme="light"] .points-per-game__line {
  stroke: var(--chart-line-light);
}

[data-theme="light"] .points-per-game__line-end {
  fill: var(--chart-line-light);
}

.points-per-game__line--dim {
  opacity: 0.15;
}

.points-per-game__legend {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin-block-start: var(--space-3);
}

.points-per-game__legend-btn {
  align-items: center;
  background: none;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  font-size: var(--fs-body-sm);
  gap: var(--space-2);
  min-height: var(--hit-min);
  padding: var(--space-1) var(--space-2);
}

.points-per-game__legend-btn[aria-pressed="true"] {
  border-color: var(--color-border, #2a3444);
}

.points-per-game__legend-swatch {
  background: var(--chart-line);
  border-radius: var(--radius-full);
  display: inline-block;
  height: 10px;
  width: 10px;
}

[data-theme="light"] .points-per-game__legend-swatch {
  background: var(--chart-line-light);
}

.points-per-game__legend-note {
  color: var(--color-text-muted, #94a0b2);
  font-size: var(--fs-caption);
}
