/* Desktop-only animated flame cursor. Keeps touch/mobile pointers native. */
@media (hover: hover) and (pointer: fine) {
  html.fd-flame-cursor,
  html.fd-flame-cursor body,
  html.fd-flame-cursor body * {
    cursor: none !important;
  }

  .fd-flame-cursor-visual {
    position: fixed;
    left: 0;
    top: 0;
    width: 18px;
    height: 26px;
    z-index: 2147483647;
    pointer-events: none;
    transform: translate3d(-50%, -92%, 0);
    transform-origin: 50% 100%;
    opacity: 0;
    will-change: transform, opacity;
    transition: opacity 120ms ease;
    filter: drop-shadow(0 0 5px rgba(255, 145, 30, .42));
  }

  .fd-flame-cursor-visual.is-visible {
    opacity: 1;
  }

  .fd-flame-cursor-visual::before,
  .fd-flame-cursor-visual::after,
  .fd-flame-cursor-core {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform-origin: 50% 100%;
    pointer-events: none;
  }

  .fd-flame-cursor-visual::before {
    width: 18px;
    height: 25px;
    margin-left: -9px;
    border-radius: 68% 32% 66% 34% / 76% 46% 54% 24%;
    background: radial-gradient(circle at 48% 72%, #ffd76a 0 24%, #ff9d24 43%, #f05a18 70%, #b91f0b 100%);
    transform: rotate(7deg) skewY(-4deg);
    animation: fdFlameOuter 520ms ease-in-out infinite alternate;
  }

  .fd-flame-cursor-visual::after {
    width: 11px;
    height: 17px;
    margin-left: -5.5px;
    bottom: 1px;
    border-radius: 62% 38% 66% 34% / 76% 48% 52% 24%;
    background: radial-gradient(circle at 50% 72%, #fff3ae 0 22%, #ffd34e 40%, #ff8b19 72%, rgba(255, 116, 20, .25) 100%);
    animation: fdFlameInner 390ms ease-in-out infinite alternate;
  }

  .fd-flame-cursor-core {
    width: 5px;
    height: 9px;
    margin-left: -2.5px;
    bottom: 2px;
    border-radius: 55% 45% 65% 35% / 75% 48% 52% 25%;
    background: linear-gradient(to top, #fff7d1, #ffe36b 66%, rgba(255, 214, 80, 0));
    animation: fdFlameCore 320ms ease-in-out infinite alternate;
  }

  @keyframes fdFlameOuter {
    0% { transform: rotate(5deg) scale(.96, 1.03) skewY(-3deg); }
    100% { transform: rotate(-4deg) scale(1.05, .96) skewY(3deg); }
  }

  @keyframes fdFlameInner {
    0% { transform: rotate(-5deg) scale(.94, 1.05); }
    100% { transform: rotate(5deg) scale(1.04, .94); }
  }

  @keyframes fdFlameCore {
    0% { transform: translateX(-.6px) scale(.92, 1.05); opacity: .92; }
    100% { transform: translateX(.7px) scale(1.06, .9); opacity: 1; }
  }

  @media (prefers-reduced-motion: reduce) {
    .fd-flame-cursor-visual::before,
    .fd-flame-cursor-visual::after,
    .fd-flame-cursor-core {
      animation: none !important;
    }
  }
}
