.deck.reports {
  --deck-width: var(--wide);
}

.report-chart {
  height: 18rem;
  padding: 1.25rem;
}

.report-cities,
.report-rows {
  list-style: none;
  margin: 0;
  padding: 0;
}

.report-rows li {
  align-items: baseline;
  border-top: 1px solid var(--edge);
  display: grid;
  gap: 1rem;
  grid-template-columns: 2rem 1fr 4rem;
  margin: 0;
  padding: 0.7rem 1.25rem;
}

.report-rows li:first-child {
  border-top: 0;
}

.report-row-rank {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
}

.report-row-count {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.report-cities li {
  align-items: baseline;
  border-top: 1px solid var(--edge);
  display: grid;
  gap: 1rem;
  grid-template-columns: 2rem 1fr 1fr 4rem;
  margin: 0;
  padding: 0.7rem 1.25rem;
}

.report-cities li:first-child {
  border-top: 0;
}

.report-city-columns,
.report-columns {
  background: color-mix(in srgb, var(--bg) 55%, transparent);
  border-bottom: 1px solid var(--rule);
  color: #fff;
  font-size: var(--label);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.report-city-columns span:last-child,
.report-columns span:last-child {
  text-align: right;
}

.report-city-rank {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
}

.report-city-country {
  color: var(--muted);
  font-size: var(--label);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.report-city-count {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.report-totals {
  display: flex;
  gap: 3rem;
  padding: 1.25rem;
}

.report-total:nth-child(3) {
  margin-left: auto;
}

.report-total:nth-child(3),
.report-total:nth-child(4) {
  text-align: right;
}

.report-total {
  margin: 0;
}

.report-figure {
  display: block;
  font-family: var(--mono);
  font-size: 2.25rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.report-caption {
  color: var(--muted);
  font-size: var(--label);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.report-empty {
  color: var(--muted);
  margin: 0;
  padding: 1.25rem;
}
