.chartOuter {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  /* Fill the parent .chartContainer (which carries the height) so the
     canvas wrapper below can take 100% of a real number. Without this,
     .chartOuter auto-sizes to content and the canvas falls back to
     Chart.js's tiny default — leaving empty space below the chart. */
  height: 100%;
}

.trendSummary {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  padding: 0.5rem 0.875rem;
  background: var(--bg-secondary);
  border-left: 3px solid var(--brand);
  border-radius: 0 4px 4px 0;
  align-self: flex-start;
}

.chartWrapper {
  width: 100%;
  /* flex:1 instead of height:100% so the trend banner / chip strip
     above can take their natural size and the canvas fills the rest of
     the .chartOuter column. min-height:0 keeps flex from refusing to
     shrink the canvas below its content size. */
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
}

.covidNote,
.chartHint {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin: 0;
  font-style: italic;
}

/* ── Mobile chip selector ────────────────────────────────────────────
   Hidden on desktop. Replaces the in-chart legend on phones — one
   metric at a time so the line variation is actually readable. */

.mobileChips {
  display: none;
}

.mobileSubtitle {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.4rem;
}

.chipRow {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.chip {
  border: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--text-secondary);
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}

.chip:active {
  background: var(--bg-secondary);
}

.chip:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.chipActive {
  background: var(--brand-strong);
  color: var(--brand-on);
  border-color: var(--brand);
  font-weight: 600;
}

.chipActive:active {
  background: var(--brand-strong);
}

.miniLegend {
  display: flex;
  gap: 0.875rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-top: -0.25rem;
}

.miniLegend span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.miniDot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

@media (max-width: 768px) {
  .chartWrapper {
    font-size: 0.875rem;
  }
}

@media (max-width: 640px) {
  .mobileChips {
    display: block;
  }
  /* Canvas needs an explicit height now that the parent .chartContainer
     flows naturally (its old fixed 220px was clipping the chip strip and
     pushing the disclosure link onto the plot area). */
  .chartWrapper {
    height: 220px;
  }
  /* The desktop "click the legend to show progress" hint is irrelevant
     once the chip row is the disclosure mechanism. */
  .chartHint {
    display: none;
  }
}
