@font-face {
  font-family: 'Vampire Gothic';
  src: url('../vendor/fonts/grenze-gotisch.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
.fx-nick-theme-vampire_eclipse {
  --fx-text-gradient: linear-gradient(105deg, #777988, #e1dce5 24%, #faf1f3 36%, #a12c47 48%, #fa5470 54%, #70162e 62%, #d0c7d5 79%, #777988);
  position: relative;
  display: inline-block;
  font: 600 1.18em/1.2 'Vampire Gothic', Georgia, serif;
  letter-spacing: .035em;
  white-space: nowrap;
  background: none;
  color: #d3c9d5;
  -webkit-text-fill-color: initial;
}
.vampire-ink {
  display: inline-block;
  background-image: var(--fx-text-gradient);
  background-size: 250% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: vampire-blood-ink 5s ease-in-out infinite;
}
.vampire-swarm {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.vampire-bat {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: .32em;
  height: .18em;
  color: #ad3754;
  opacity: 0;
  filter: drop-shadow(0 0 1px #f14a7255);
  animation: vampire-flight 5s ease-in-out infinite;
}
.vampire-bat svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
  animation: vampire-wingbeat .19s ease-in-out infinite alternate;
  animation-delay: var(--flap);
}
.fx-nick-theme-vampire_eclipse::after {
  content: '';
  pointer-events: none;
  position: absolute;
  left: 14%;
  right: 14%;
  bottom: -.08em;
  height: 1px;
  background: linear-gradient(90deg, transparent, #aa294a, #f5778c, #aa294a, transparent);
  box-shadow: 0 0 .12em #ce214e88;
  animation: vampire-bloodline 5s ease-in-out infinite;
}
@keyframes vampire-blood-ink {
  0%, 26%, 100% { opacity: 1; background-position: 0% 50%; filter: blur(0) drop-shadow(0 1px 1px #170610); }
  39% { opacity: 1; background-position: 100% 50%; filter: blur(0) drop-shadow(0 0 .035em #f33c61); }
  56%, 66% { opacity: 0; background-position: 100% 50%; filter: blur(.055em); }
  86% { opacity: 1; background-position: 20% 50%; filter: blur(0) drop-shadow(0 1px 1px #170610); }
}
@keyframes vampire-flight {
  0%, 38%, 88%, 100% { opacity: 0; transform: translate(0, 0) rotate(0); }
  49% { opacity: .9; transform: translate(calc(var(--dx) * .22), calc(var(--dy) * .22)) rotate(var(--tilt)); }
  60% { opacity: .85; transform: translate(var(--dx), var(--dy)) rotate(var(--tilt)); }
  67% { opacity: .65; transform: translate(var(--dx), var(--dy)) rotate(var(--tilt)); }
  79% { opacity: .8; transform: translate(calc(var(--dx) * .22), calc(var(--dy) * .22)) rotate(0); }
}
@keyframes vampire-wingbeat {
  from { transform: scaleY(.45); }
  to { transform: scaleY(1); }
}
@keyframes vampire-bloodline {
  0%, 26%, 100% { opacity: .25; transform: scaleX(.65); }
  40% { opacity: .9; transform: scaleX(1); }
  56%, 70% { opacity: 0; transform: scaleX(.3); }
  87% { opacity: .5; transform: scaleX(.85); }
}
@media (prefers-reduced-motion: reduce) {
  .vampire-ink { animation: none; }
  .vampire-swarm { display: none; }
  .fx-nick-theme-vampire_eclipse::after { animation: none; opacity: .3; }
}
@media (forced-colors: active) {
  .vampire-ink { animation: none; background: none; -webkit-text-fill-color: CanvasText; filter: none; }
  .vampire-swarm, .fx-nick-theme-vampire_eclipse::after { display: none; }
}
