/* uplot.css - generated by build.py from src/styles/uplot/.
   Edit the layer files, not this one. */

/* ---- 00-uplot.css ---- */
.uplot, .uplot *, .uplot *::before, .uplot *::after {box-sizing: border-box;}.uplot {font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height: 1.5;width: min-content;}.u-title {text-align: center;font-size: 18px;font-weight: bold;}.u-wrap {position: relative;user-select: none;}.u-over, .u-under {position: absolute;}.u-under {overflow: hidden;}.uplot canvas {display: block;position: relative;width: 100%;height: 100%;}.u-axis {position: absolute;}.u-legend {font-size: 14px;margin: auto;text-align: center;}.u-inline {display: block;}.u-inline * {display: inline-block;}.u-inline tr {margin-right: 16px;}.u-legend th {font-weight: 600;}.u-legend th > * {vertical-align: middle;display: inline-block;}.u-legend .u-marker {width: 1em;height: 1em;margin-right: 4px;background-clip: padding-box !important;}.u-inline.u-live th::after {content: ":";vertical-align: middle;}.u-inline:not(.u-live) .u-value {display: none;}.u-series > * {padding: 4px;}.u-series th {cursor: pointer;}.u-legend .u-off > * {opacity: 0.3;}.u-select {background: rgba(0,0,0,0.07);position: absolute;pointer-events: none;}.u-cursor-x, .u-cursor-y {position: absolute;left: 0;top: 0;pointer-events: none;will-change: transform;}.u-hz .u-cursor-x, .u-vt .u-cursor-y {height: 100%;border-right: 1px dashed #607D8B;}.u-hz .u-cursor-y, .u-vt .u-cursor-x {width: 100%;border-bottom: 1px dashed #607D8B;}.u-cursor-pt {position: absolute;top: 0;left: 0;border-radius: 50%;border: 0 solid;pointer-events: none;will-change: transform;/*this has to be !important since we set inline "background" shorthand */background-clip: padding-box !important;}.u-axis.u-off, .u-select.u-off, .u-cursor-x.u-off, .u-cursor-y.u-off, .u-cursor-pt.u-off {display: none;}

/* ---- 10-chart.css ---- */
/* ---------- Chart container + accessible data table (scope: .chart-*) ----------
   Loaded only on pages that draw a chart, alongside uPlot's own stylesheet.
   The data table is required by brief §12: a <canvas> is invisible to assistive
   technology, so every chart ships the same numbers in a real <table>. It is
   collapsed, never hidden: no display:none, no aria-hidden. */

.chart-mount {
  width: 100%;
  min-height: 220px;
}

/* uPlot sizes its own canvas; keep its legend in the site's type scale. */
.chart-mount .u-legend {
  font-family: var(--font-body);
  font-size: var(--text-small);
  color: var(--color-text-muted);
  margin-top: var(--space-8);
}

.chart-mount .u-legend .u-marker {
  width: 1.25em;
  height: 0;
  border-bottom-width: 2px;
}

.chart-table-mount {
  margin-top: var(--space-16);
}

.chart-data-table > summary {
  cursor: pointer;
  font-size: var(--text-small);
  color: var(--color-text-muted);
  padding: var(--space-8) 0;
  border-radius: var(--radius-sm);
}

.chart-data-table > summary:hover {
  color: var(--color-text);
}

.chart-data-table > summary:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* A long series makes a long table; scroll it rather than the page (§ responsive). */
.chart-table-scroll {
  max-height: 20rem;
  overflow: auto;
  margin-top: var(--space-8);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-sm);
}

.chart-table-scroll table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-small);
  /* Digits must not shift width as values update (§10.3). */
  font-variant-numeric: tabular-nums;
}

.chart-table-scroll caption {
  text-align: left;
  padding: var(--space-8) var(--space-12);
  color: var(--color-text-muted);
}

.chart-table-scroll th,
.chart-table-scroll td {
  padding: var(--space-4) var(--space-12);
  text-align: right;
  border-bottom: 1px solid var(--color-border-soft);
}

.chart-table-scroll th[scope="row"],
.chart-table-scroll .chart-table-x {
  text-align: left;
  font-weight: var(--font-weight-body-medium);
}

.chart-table-scroll thead th {
  position: sticky;
  top: 0;
  background: var(--color-surface);
  color: var(--color-text);
}

@media (prefers-reduced-motion: reduce) {
  .chart-mount * {
    transition: none !important;
  }
}
