body {
  display: grid;
  grid-template-rows: auto 1fr auto;
  margin: 0;
  height: 100vh;
  background-color: #333;
}
header, footer {
  padding: 0.5rem 1rem;;
  background-color: black;
  color: white;
  min-height: 1rem;
}
header h1 {
  font-size: inherit;
  margin: 0;
  font-weight: normal;
  font-variant-caps: all-small-caps;
  text-align: center;
}
footer {
  display: flex;
  flex: row wrap;
  justify-content: space-between;
  color: #999;
  font-variant-caps: all-small-caps;
}
main {
  margin: 1rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.plot {
  display: block;
  height: 200px;
  background-color: #666;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  position: relative;
}
summary:hover {
  cursor: pointer
}
details {
  box-shadow: 0 2px 0.5rem  #111;
  border-radius: 4px;
}
.plot-wrap {
  padding: 1rem;
  background-color: white;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
details[open] summary,
details[open] .label {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.metric {
  height: calc(20vh - 2rem);
  background-color: silver;
  display: grid;
  grid-template-columns: 1fr 2fr;
  border-radius: 4px;
}
.val {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  text-align: center;
  flex-grow: 1;
  padding: 1rem 0.5rem;
}
.val small {
  font-size: 1rem;
  font-variant-caps: all-small-caps;
}
.label {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  font-variant-caps: all-small-caps;
  text-align: center;
  background-color: gray;
  color: white;
  padding: 0.5rem;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
footer .batt {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}
.metric.c0 {
  background-color: oklch(from var(--c0) calc(l + 0.15) calc(c - 0.05) h);
  color: oklch(from var(--c0) calc(l - 0.2) c h);
}
.metric.c0 .label {
  background-color: var(--c0);
  color: white;
}
.metric.c1 {
  background-color: oklch(from var(--c1) calc(l + 0.15) calc(c - 0.05) h);
  color: oklch(from var(--c1) calc(l - 0.2) c h);
}
.metric.c1 .label {
  background-color: var(--c1);
  color: white;
}
.metric.c2 {
  background-color: oklch(from var(--c2) calc(1 + 0.15) calc(c - 0.05) h);
  color: oklch(from var(--c2) calc(l - 0.2) c h);
}
.metric.c2 .label {
  background-color: var(--c2);
  color: white;
}
.metric.c3 {
  background-color: oklch(from var(--c3) calc(l + 0.15) calc(c - 0.05) h);
  color: oklch(from var(--c3) calc(l - 0.2) c h)
}
.metric.c3 .label {
  background-color: var(--c3);
  color: white;
}
.metric.c4 {
  background-color: oklch(from var(--c4) calc(l + 0.15) calc(c - 0.05) h);
  color: oklch(from var(--c4) calc(l - 0.2) c h)
}
.metric.c4 .label {
  background-color: var(--c4);
  color: white;
}
.metric.c5 {
  background-color: oklch(from var(--c5) calc(l + 0.15) calc(c - 0.05) h);
 color: oklch(from var(--c5) calc(l - 0.2) c h)
}
.metric.c5 .label {
  background-color: var(--c5);
  color: white;
}
.metric.c6 {
  background-color: oklch(from var(--c6) calc(l + 0.15) calc(c - 0.05) h);
  color: oklch(from var(--c6) calc(l - 0.2) c h)
}
.metric.c6 .label {
  background-color: var(--c6);
  color: white;
}
.metric.c7 {
  background-color: oklch(from var(--c7) calc(l + 0.15) calc(c - 0.05) h);
  color: oklch(from var(--c7) calc(l - 0.2) c h)
}
.metric.c7 .label {
  background-color: var(--c7);
  color: white;
}
.metric.c8 {
  background-color: oklch(from var(--c8) calc(l + 0.15) calc(c - 0.05) h);
  color: oklch(from var(--c8) calc(l - 0.2) c h)
}
.metric.c8 .label {
  background-color: var(--c8);
  color: white;
}