.harvester,
.vat {
   display: grid;
   place-items: center;

   height: 100%;
   width: 100%;
   padding: .5em;

   .gen-bar {
      width: 100%;
      height: 100%;
      background: repeating-linear-gradient(rgb(53, 53, 53) 0 .1em, transparent .1em .8em);
   }
}

[data-type="harvester"] .pump-button,
[data-type="vat"] .pump-button {
   padding: 0;
   border: 0;
   position: absolute;
   filter: drop-shadow(0 0 .25em var(--bl)) drop-shadow(0 0 .4em var(--bl));
}


/* NT fill */

.NT-bar {
   height: 5em;
   width: 2em;
   display: grid;
   place-items: center;
   background-color: var(--bl);
   place-self: center;

   padding-inline: 0 !important;
}

.NT-bar::after {
   content: '';
   position: absolute;
   width: 100%;
   height: 100%;
   border: 2px solid;
   border-radius: .5em;
}

.NT-fill {
   display: grid;
   place-items: center;

   width: 100%;

   background: linear-gradient(var(--pk), var(--pu));
   box-shadow: 0 0 .3em .15em var(--bl) inset;
   opacity: .75;
   align-self: flex-end;

   border-radius: inherit;
   border-top-left-radius: 0;
   border-top-right-radius: 0;

   transition: .2s;
}

.NT-fill[style*=" 0%"],
.NT-fill[style*=":0%"],
.NT-fill:not([style]) {
   box-shadow: none;
}

.NT-fill[style*="100%"] {
   border-radius: inherit !important;
}


.NT-fill[data-fill]::after {
   content: attr(data-fill);
   position: absolute;

   bottom: .1em;
   font-size: .6em;
   line-height: 1em;
   width: 80%;

   font-size: .6rem;
   text-align: center;
}