﻿/* Pop flame cursor: bright pointer + soft fire tail, no particles */
@media (hover: hover) and (pointer: fine) {
  body.ltf-ready,
  body.ltf-ready * {
    cursor: none !important;
  }

  :root {
    --ltf-z: 999999;
    --ltf-aura: 0;
    --ltf-aura-inside: 0;
    --ltf-voice: 0;
    --ltf-scale: 1;
    --ltf-tilt: 0deg;
    --ltf-stretch: 1;
    --ltf-motion: 0;
  }

  .ltf-wrap,
  .ltf-glow,
  .ltf-smoke {
    position: fixed;
    left: 0;
    top: 0;
    pointer-events: none;
  }

  .ltf-wrap {
    width: 29px;
    height: 60px;
    z-index: var(--ltf-z);
    transform:
      translate(-60%, -90%)
      scale(var(--ltf-scale))
      scaleY(var(--ltf-stretch));
    transition:
      transform .18s ease,
      opacity .18s ease;
  }

  .ltf-flame-svg {
    width: 100%;
    height: 100%;
    overflow: visible;
    transform: rotate(calc(26deg + var(--ltf-tilt)));
    transform-origin: 50% 70%;
    opacity: .96;
    filter:
      drop-shadow(0 0 4px rgba(255, 238, 255, .85))
      drop-shadow(0 0 11px rgba(233, 128, 255, .68))
      drop-shadow(0 0 20px rgba(126, 56, 255, .28));
    animation: ltfFlicker .30s infinite alternate ease-in-out;
    transition:
      filter .22s ease,
      opacity .22s ease;
  }

  .ltf-flame-svg .outer-flame {
    transform-origin: 50% 72%;
    animation: ltfOuterShape .24s infinite alternate ease-in-out;
  }

  .ltf-flame-svg .inner-flame {
    transform-origin: 50% 74%;
    animation: ltfInnerShape .20s infinite alternate ease-in-out;
  }

  .ltf-glow {
    width: 54px;
    height: 54px;
    z-index: calc(var(--ltf-z) - 1);
    transform: translate(-36%, -72%);
    border-radius: 50%;
    background:
      radial-gradient(circle,
        rgba(255, 248, 255, .34) 0%,
        rgba(255, 210, 252, .22) 26%,
        rgba(213, 118, 255, .14) 48%,
        rgba(255, 222, 142, .055) 60%,
        rgba(95, 25, 180, 0) 76%);
    filter: blur(4px);
    opacity: .78;
    mix-blend-mode: screen;
    transition:
      opacity .22s ease,
      transform .22s ease,
      filter .22s ease,
      background .22s ease;
  }

  .ltf-smoke {
    z-index: calc(var(--ltf-z) - 2);
    width: var(--w);
    height: var(--h);
    border-radius: 999px;
    transform: translate(-50%, -50%);
    background:
      radial-gradient(ellipse at 38% 52%,
        rgba(255, 255, 255, .28) 0%,
        rgba(255, 220, 150, .18) 18%,
        rgba(255, 146, 224, .16) 40%,
        rgba(176, 82, 255, .085) 64%,
        rgba(95, 25, 180, 0) 82%);
    filter: blur(4.5px) saturate(1.06);
    opacity: .34;
    mix-blend-mode: screen;
    animation: ltfSmoke .56s ease-out forwards;
  }

  body.ltf-hover .ltf-glow {
    opacity: .92;
    transform: translate(-36%, -72%) scale(1.12);
  }

  body.ltf-near-aura .ltf-flame-svg {
    filter:
      drop-shadow(0 0 4px rgba(255, 250, 255, .88))
      drop-shadow(0 0 12px rgba(255, 178, 230, .68))
      drop-shadow(0 0 20px rgba(255, 226, 142, .26))
      drop-shadow(0 0 22px rgba(122, 244, 230, .16));
  }

  body.ltf-near-aura .ltf-glow {
    opacity: .92;
    transform: translate(-36%, -72%) scale(1.10);
    background:
      radial-gradient(circle,
        rgba(255, 255, 255, .38) 0%,
        rgba(255, 236, 202, .24) 22%,
        rgba(255, 180, 232, .19) 42%,
        rgba(122, 244, 230, .085) 58%,
        rgba(120, 52, 190, 0) 78%);
  }

  body.ltf-in-aura .ltf-wrap {
    opacity: .74;
  }

  body.ltf-in-aura .ltf-flame-svg {
    opacity: .72;
    filter:
      blur(.25px)
      drop-shadow(0 0 3px rgba(255, 250, 255, .60))
      drop-shadow(0 0 11px rgba(255, 192, 234, .28))
      drop-shadow(0 0 18px rgba(122, 244, 230, .13));
  }

  body.ltf-in-aura .ltf-glow {
    opacity: .66;
    filter: blur(9px) saturate(.96);
    transform: translate(-36%, -72%) scale(1.10);
  }

  body.ltf-click .ltf-flame-svg {
    opacity: 1;
    filter:
      drop-shadow(0 0 5px rgba(255, 255, 255, .95))
      drop-shadow(0 0 14px rgba(255, 192, 234, .76))
      drop-shadow(0 0 24px rgba(255, 226, 142, .36));
  }

  @keyframes ltfFlicker {
    0% {
      transform:
        rotate(calc(24deg + var(--ltf-tilt)))
        scaleX(.98)
        scaleY(.97);
    }
    100% {
      transform:
        rotate(calc(28deg + var(--ltf-tilt)))
        scaleX(1.03)
        scaleY(1.06);
    }
  }

  @keyframes ltfOuterShape {
    0% {
      transform: scaleX(.97) scaleY(.96) skewX(-1deg);
      opacity: .92;
    }
    100% {
      transform: scaleX(1.03) scaleY(1.05) skewX(1deg);
      opacity: 1;
    }
  }

  @keyframes ltfInnerShape {
    0% {
      transform: scaleX(.96) scaleY(.92);
      opacity: .82;
    }
    100% {
      transform: scaleX(1.02) scaleY(1.05);
      opacity: 1;
    }
  }

  @keyframes ltfSmoke {
    0% {
      opacity: var(--tail-alpha, .34);
      transform:
        translate(-50%, -50%)
        translate(0, 0)
        rotate(var(--r1))
        scale(1);
    }
    100% {
      opacity: 0;
      transform:
        translate(-50%, -50%)
        translate(var(--dx), var(--dy))
        rotate(var(--r2))
        scale(.25);
    }
  }
}

@media (hover: none), (pointer: coarse) {
  .ltf-wrap,
  .ltf-glow,
  .ltf-smoke {
    display: none !important;
  }
}

