.ufo-waves {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.ufo-craft { filter: drop-shadow(0 2px 2px #081412b8); }
.ufo-halo { fill: url(#ufo-heat); }
.ufo-shadow { fill: #182822; stroke: #8c9a72; stroke-width: .55; }
.ufo-hull { fill: url(#ufo-metal); stroke: #c4d6a2; stroke-width: .78; }
.ufo-canopy { fill: url(#ufo-glass); stroke: #bfd4ab; stroke-width: .75; }
.ufo-specular { fill: none; stroke: #e4ecc7; stroke-width: .75; stroke-linecap: round; opacity: .78; }
.ufo-grille { fill: none; stroke: #071a15; stroke-width: .85; opacity: .83; }
.ufo-lights { fill: none; stroke: #d9e991; stroke-width: 1.5; stroke-linecap: round; }
.ufo-core { fill: #f5d787; filter: drop-shadow(0 0 4px #ffd085); }
.ufo-charge-ring { opacity: 0; fill: none; stroke: #ffcd84; stroke-width: .85; stroke-dasharray: 3 3; }
.ufo-craft[data-ufo-state='charging'] .ufo-charge-ring { opacity: .9; }
.ufo-craft[data-ufo-state='charging'] .ufo-core { fill: #fff3c1; filter: drop-shadow(0 0 6px #ff935c); }
.ufo-craft.ufo-hit .ufo-hull { stroke: #fcffdc; }

.ufo-bolt path, .ufo-wreck path { fill: none; stroke-linecap: round; }
.ufo-bolt-halo { stroke: #fa965d; stroke-width: 5; opacity: .75; filter: blur(1.5px); }
.ufo-bolt-core { stroke: #ffe5a9; stroke-width: 1.7; }
.ufo-wreck { filter: drop-shadow(0 0 5px #ffc16c); }
.ufo-wreck circle { fill: #ffe5ab; fill-opacity: .16; stroke: #ffc97e; stroke-width: 1; }
.ufo-wreck path { stroke: #ffdc9d; stroke-width: 1.2; }
