/* Stats-specific additions on top of style.css. Bars get deliberate color:
   the rest of the site stays monochrome+accent, but a distribution chart
   reads faster with distinct hues per category than with one accent color
   repeated for every bar. */

.overview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  font-family: var(--mono);
}
.overview-tile {
  border: 1px solid var(--line);
  padding: 16px 18px;
}
.overview-tile .num {
  font-size: 32px;
  font-family: var(--serif);
  font-weight: 500;
}
.overview-tile .label {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.chart-note {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--muted);
  margin: -10px 0 16px;
}

.bar-chart {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bar-row {
  display: grid;
  grid-template-columns: 140px 1fr 70px;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 13px;
}
.bar-row .bar-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bar-track {
  background: var(--line);
  height: 18px;
  position: relative;
}
.bar-fill {
  height: 100%;
  min-width: 3px;
}
.bar-count { text-align: right; color: var(--muted); }

.change-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: var(--mono);
  font-size: 13px;
}
.change-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.change-badge {
  padding: 2px 8px;
  font-size: 12px;
  border-radius: 2px;
  color: #fff;
}
.change-badge.up { background: #b4432c; }
.change-badge.down { background: #2f7a3d; }
.change-badge.stable { background: var(--muted); }

@media (max-width: 560px) {
  .overview-grid { grid-template-columns: 1fr; }
  .bar-row { grid-template-columns: 90px 1fr 50px; }
  .change-row { grid-template-columns: 1fr auto; }
}
