.gen-base[data-type="buffer"],
.build-view.buffer {
   grid-column: span 1;
   grid-row: span 2;

   display: flex;
   flex-direction: column-reverse;
   justify-content: space-evenly;
   place-items: center;

   border-radius: .5em;

   height: 100%;
   width: 100%;
   align-self: center;


   .gen-controls {
      font-size: .7rem;
      padding-bottom: .5em;
   }

   .gen-icon {
      font-size: 1.5rem;
   }
}

#floor-view.small-view .gen-row .gen-base[data-type="buffer"] {
   border-radius: .25em;
}

.build-view.buffer {
   width: 4.5rem;
   aspect-ratio: 1/1.2;
   padding: 0;

   zoom: 1;

   border: 1.5px solid;
}

.build-wrapper:has(.buffer) {
   padding-block: 1rem;
}


.buffer-inner {
   display: flex;
   flex-grow: 1;
   place-content: center;
   place-items: center;
   flex-direction: column;
   gap: .5rem;
   margin: .5em;
   width: 100%;
}

.core {
   width: calc(100% - 1em);
   border-radius: .35em;
   border: 1px solid;
   flex-grow: 1;
   background-color: var(--dg);
   box-shadow: 0 0 .1em .1em var(--hl);

   display: grid;
   place-items: center;
}

/* feeder */

.gen-base.feeder {
   --hl: var(--med);

   .core {
      background-color: var(--bl);
      box-shadow: 0 0 .2em .2em var(--hl), 0 0 .5em .5em var(--dg) inset;

      i {
         filter: drop-shadow(0 0 .25em var(--hl));
      }
   }
}

/* DP generator */

.gen-base.DAU {
   --hl: var(--sc);

   .core {
      background-color: var(--bl);
      box-shadow: 0 0 .1em .1em var(--hl), 0 0 .5em .5em var(--dg) inset;

      i {
         filter: drop-shadow(0 0 .25em var(--hl));
      }
   }
}
