/* Turnout trend: early votes by this point (accent) and total turnout (muted), one axis. */
.trend {
  margin: 0;
  display: grid;
  gap: 6px;
  min-width: 0;
  position: relative;
}
.trend .trend-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  font-size: 12px;
  color: var(--muted);
}
.trend .trend-key {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.trend .trend-swatch {
  flex-shrink: 0;
  width: 16px;
  height: 2px;
  border-radius: 1px;
}
.trend .trend-key-early .trend-swatch { background: var(--accent); }
.trend .trend-key-total .trend-swatch { background: var(--muted); }
.trend .trend-chart {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}
.trend .trend-line {
  fill: none;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.trend .trend-line-early { stroke: var(--accent); }
.trend .trend-line-total { stroke: var(--muted); }
.trend .trend-dot { stroke: var(--surface); stroke-width: 2; }
.trend .trend-dot-early { fill: var(--accent); }
.trend .trend-dot-total { fill: var(--muted); }
.trend .trend-dot-now { fill: var(--surface); stroke: var(--accent); }
.trend .trend-grid { stroke: var(--line); stroke-width: 1; }
.trend .trend-tick,
.trend .trend-year,
.trend .trend-now {
  font-size: 11px;
  fill: var(--muted);
}
.trend .trend-table {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
