@layer overscan {
ov-chart {
  position: relative;
  display: block;
  block-size: var(--ov-chart-height, 84px);
  border-inline-start: var(--ov-rule) solid var(--ov-line-strong);
  border-block-end: var(--ov-rule) solid var(--ov-line-strong);
}
.ov-chart__svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}
.ov-chart__line {
  fill: none;
  stroke: var(--ov-accent);
  stroke-width: 1.5;
  stroke-linejoin: miter;
  stroke-linecap: butt;
}
.ov-chart__point { fill: var(--ov-accent); }
.ov-chart__band { fill: var(--ov-accent); opacity: 0.22; }
.ov-chart__over { fill: var(--ov-alarm); }
ov-chart[data-ov-qualified="stale"] .ov-chart__line,
ov-chart[data-ov-qualified="stale"] .ov-chart__point,
ov-chart[data-ov-qualified="stale"] .ov-chart__band {
  opacity: .4;
}
ov-chart[data-ov-qualified="stale"]::after {
  content: attr(data-ov-qualifier-text);
  position: absolute;
  inset-block-end: 2px;
  inset-inline-start: 4px;
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ov-alarm);
  pointer-events: none;
}
.ov-chart__lo,
.ov-chart__hi {
  position: absolute;
  inset-inline-start: 4px;
  font-size: var(--ov-size-1);
  color: var(--ov-faint);
}
.ov-chart__hi { inset-block-start: 0; }
.ov-chart__lo { inset-block-end: 2px; }
ov-chart[data-ov-decimated]::after,
ov-chart[data-ov-gaps]::before {
  position: absolute;
  inset-inline-end: 4px;
  font-size: var(--ov-size-1);
  letter-spacing: 1px;
  text-transform: uppercase;
}
ov-chart[data-ov-decimated]::after {
  content: "decimated";
  inset-block-end: 2px;
  color: var(--ov-dim);
}
ov-chart[data-ov-gaps]::before {
  content: "gaps";
  inset-block-start: 0;
  color: var(--ov-alarm);
}
ov-chart[data-ov-refusal]::after {
  content: attr(data-ov-refusal);
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  color: var(--ov-alarm);
  font-size: var(--ov-size-1);
  letter-spacing: 1.4px;
  text-transform: uppercase;
  white-space: nowrap;
}
}
