/* Generated by work/build_hero_animation.py — do not edit by hand.
   The head tilt and the wick pulse from the mod's own select-screen idle,
   on the same 4.6s loop. */

.hero-figure {
  position: relative;
  width: 100%;
  max-width: 1100px;
  aspect-ratio: 1100 / 813;
  isolation: isolate;
  filter: drop-shadow(0 1.9rem 3.75rem rgba(0, 0, 0, .55));
}
.hero-figure img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-figure .layer-head {
  transform-origin: 70.9230% 36.0553%;
  animation: dreamer-head 4.6s linear infinite;
  will-change: transform;
}
.hero-figure .layer-flame {
  mix-blend-mode: screen;
  mix-blend-mode: plus-lighter;
  opacity: 0.06;
  animation: dreamer-wick 4.6s linear infinite;
  will-change: opacity;
}
.hero-figure .layer-glow {
  position: absolute;
  inset: auto;
  left: 61.7488%;
  top: 51.6230%;
  width: 30.4927%;
  height: 41.2571%;
  pointer-events: none;
  background: radial-gradient(circle closest-side,
    rgba(214, 242, 255, .40) 0%,
    rgba(108, 172, 246, .22) 22%,
    rgba(108, 172, 246, .08) 48%,
    rgba(108, 172, 246, 0) 100%);
  mix-blend-mode: screen;
  mix-blend-mode: plus-lighter;
  opacity: 0.1;
  animation: dreamer-glow 4.6s linear infinite;
  will-change: opacity;
}

@keyframes dreamer-head {
  0% { transform: translateY(-0.000px) rotate(0.00850rad); }
  4.167% { transform: translateY(-0.000px) rotate(-0.00332rad); }
  8.333% { transform: translateY(-0.000px) rotate(-0.01492rad); }
  12.5% { transform: translateY(-0.000px) rotate(-0.02551rad); }
  16.67% { transform: translateY(-0.000px) rotate(-0.03435rad); }
  20.83% { transform: translateY(-0.000px) rotate(-0.04086rad); }
  25% { transform: translateY(-0.000px) rotate(-0.04457rad); }
  29.17% { transform: translateY(-0.000px) rotate(-0.04526rad); }
  33.33% { transform: translateY(-0.000px) rotate(-0.04285rad); }
  37.5% { transform: translateY(-0.000px) rotate(-0.03753rad); }
  41.67% { transform: translateY(-0.000px) rotate(-0.02965rad); }
  45.83% { transform: translateY(-0.000px) rotate(-0.01975rad); }
  50% { transform: translateY(-0.000px) rotate(-0.00850rad); }
  54.17% { transform: translateY(-0.000px) rotate(0.00332rad); }
  58.33% { transform: translateY(-0.000px) rotate(0.01492rad); }
  62.5% { transform: translateY(-0.000px) rotate(0.02551rad); }
  66.67% { transform: translateY(-0.000px) rotate(0.03435rad); }
  70.83% { transform: translateY(-0.000px) rotate(0.04086rad); }
  75% { transform: translateY(-0.000px) rotate(0.04457rad); }
  79.17% { transform: translateY(-0.000px) rotate(0.04526rad); }
  83.33% { transform: translateY(-0.000px) rotate(0.04285rad); }
  87.5% { transform: translateY(-0.000px) rotate(0.03753rad); }
  91.67% { transform: translateY(-0.000px) rotate(0.02965rad); }
  95.83% { transform: translateY(-0.000px) rotate(0.01975rad); }
  100% { transform: translateY(-0.000px) rotate(0.00850rad); }
}

@keyframes dreamer-wick {
  0% { opacity: 0.0600; }
  3.125% { opacity: 0.1010; }
  6.25% { opacity: 0.2000; }
  9.375% { opacity: 0.2990; }
  12.5% { opacity: 0.3400; }
  15.62% { opacity: 0.2990; }
  18.75% { opacity: 0.2000; }
  21.88% { opacity: 0.1010; }
  25% { opacity: 0.0600; }
  28.12% { opacity: 0.1010; }
  31.25% { opacity: 0.2000; }
  34.38% { opacity: 0.2990; }
  37.5% { opacity: 0.3400; }
  40.62% { opacity: 0.2990; }
  43.75% { opacity: 0.2000; }
  46.88% { opacity: 0.1010; }
  50% { opacity: 0.0600; }
  53.12% { opacity: 0.1010; }
  56.25% { opacity: 0.2000; }
  59.38% { opacity: 0.2990; }
  62.5% { opacity: 0.3400; }
  65.62% { opacity: 0.2990; }
  68.75% { opacity: 0.2000; }
  71.88% { opacity: 0.1010; }
  75% { opacity: 0.0600; }
  78.12% { opacity: 0.1010; }
  81.25% { opacity: 0.2000; }
  84.38% { opacity: 0.2990; }
  87.5% { opacity: 0.3400; }
  90.62% { opacity: 0.2990; }
  93.75% { opacity: 0.2000; }
  96.88% { opacity: 0.1010; }
  100% { opacity: 0.0600; }
}

@keyframes dreamer-glow {
  0% { opacity: 0.1000; }
  3.125% { opacity: 0.2318; }
  6.25% { opacity: 0.5500; }
  9.375% { opacity: 0.8682; }
  12.5% { opacity: 1.0000; }
  15.62% { opacity: 0.8682; }
  18.75% { opacity: 0.5500; }
  21.88% { opacity: 0.2318; }
  25% { opacity: 0.1000; }
  28.12% { opacity: 0.2318; }
  31.25% { opacity: 0.5500; }
  34.38% { opacity: 0.8682; }
  37.5% { opacity: 1.0000; }
  40.62% { opacity: 0.8682; }
  43.75% { opacity: 0.5500; }
  46.88% { opacity: 0.2318; }
  50% { opacity: 0.1000; }
  53.12% { opacity: 0.2318; }
  56.25% { opacity: 0.5500; }
  59.38% { opacity: 0.8682; }
  62.5% { opacity: 1.0000; }
  65.62% { opacity: 0.8682; }
  68.75% { opacity: 0.5500; }
  71.88% { opacity: 0.2318; }
  75% { opacity: 0.1000; }
  78.12% { opacity: 0.2318; }
  81.25% { opacity: 0.5500; }
  84.38% { opacity: 0.8682; }
  87.5% { opacity: 1.0000; }
  90.62% { opacity: 0.8682; }
  93.75% { opacity: 0.5500; }
  96.88% { opacity: 0.2318; }
  100% { opacity: 0.1000; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-figure .layer-head,
  .hero-figure .layer-flame,
  .hero-figure .layer-glow { animation: none; }
  .hero-figure .layer-flame { opacity: 0.2000; }
  .hero-figure .layer-glow { opacity: 0.5500; }
}
