.nixie {
  display: block;
  height: var(--nixie-h);
  width: calc(var(--nixie-h) * var(--nixie-ratio)); /* from sprite geometry, not viewBox */
  overflow: visible; /* the halo spills outside the cell */
  isolation: isolate; /* halo screens onto this cell, not the page */
  mix-blend-mode: screen;
}

/* .glow uses fill-opacity: it must multiply into the filter input, before the alpha gain clamps. */
.nixie .sil { fill: var(--nixie-silhouette); opacity: var(--nixie-op-silhouette) }
.nixie .glow { fill: var(--nixie-glow); fill-opacity: var(--nixie-op-glow); mix-blend-mode: screen }
.nixie .lit { fill: var(--nixie-lit) }
.nixie .grid { fill: var(--nixie-grid); opacity: calc(var(--nixie-op-grid) * var(--nixie-grid-level)) }

.meter { display: inline-flex }

.meter.lg { --nixie-h: var(--nixie-h-lg); --nixie-grid-level: 1 }
