/*====================================================
Sommaire (Table des matières)
1. Variables & couche globale
2. Curseur de capture
3. UFO actif
4. Texte flottant (+XP)
5. Pop-up de capture
6. Bouton de test
7. États & accessibilité
8. Animations
====================================================*/

:root{
  --va-ufo-size:clamp(64px, calc(64px + (var(--site-global-zoom-delta) * 140px)), 96px);
  --va-ufo-z:2147483630;
  --va-ufo-glow:rgba(255, 211, 107, 0.62);
  --va-ufo-pop-bg:rgba(15, 18, 27, 0.92);
  --va-ufo-pop-border:rgba(255, 209, 102, 0.52);
  --va-ufo-pop-text:#f6f1df;
  --va-ufo-pop-muted:rgba(246, 241, 223, 0.78);
  --va-ufo-pop-accent:#ffd166;
}

.va-ufohunt-layer,
.va-ufohunt-floating{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:var(--va-ufo-z);
}

.va-ufohunt-popups{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:var(--va-ufo-z);
}

body.va-ufohunt-cursor-mode #va-custom-cursor{ display:none !important; }

.va-ufohunt-layer{ overflow:visible; }

body.va-ufohunt-cursor-mode,
body.va-ufohunt-cursor-mode *{ cursor:none !important; }

.va-ufohunt-cursor{
  position:fixed;
  left:0;
  top:0;
  width:44px;
  height:44px;
  transform:translate(-50%, -50%);
  pointer-events:none;
  z-index:2147483647;
  opacity:0;
  transition:opacity .16s ease, transform .12s ease;
  filter:drop-shadow(0 0 10px rgba(255, 209, 102, 0.35));
}

.va-ufohunt-cursor.is-visible{ opacity:1; }
.va-ufohunt-cursor.is-basic{
  filter:drop-shadow(0 0 7px rgba(199, 206, 216, 0.18));
}
.va-ufohunt-cursor.is-standard{
  filter:drop-shadow(0 0 9px rgba(205, 214, 224, 0.24));
}
.va-ufohunt-cursor.is-basic.is-armed,
.va-ufohunt-cursor.is-basic.is-scan-armed{ transform:translate(-50%, -50%); animation:none; filter:brightness(0) saturate(100%) invert(86%) sepia(22%) saturate(3562%) hue-rotate(165deg) brightness(105%) contrast(101%) drop-shadow(0 0 8px rgba(145, 236, 255, 0.96)) drop-shadow(0 0 16px rgba(106, 220, 255, 0.72)); }
.va-ufohunt-cursor.is-standard.is-armed{ transform:translate(-50%, -50%); animation:none; filter:brightness(0) saturate(100%) invert(83%) sepia(21%) saturate(1120%) hue-rotate(56deg) brightness(96%) contrast(92%) drop-shadow(0 0 8px rgba(166, 255, 127, 0.90)) drop-shadow(0 0 16px rgba(111, 227, 48, 0.68)); }
.va-ufohunt-cursor.is-standard.is-scan-armed{ transform:translate(-50%, -50%) scale(1.05); animation:none; filter:brightness(0) saturate(100%) invert(89%) sepia(20%) saturate(3560%) hue-rotate(12deg) brightness(108%) contrast(102%) drop-shadow(0 0 10px rgba(255, 255, 235, 0.96)) drop-shadow(0 0 22px rgba(223, 255, 107, 0.92)) drop-shadow(0 0 36px rgba(255, 181, 64, 0.58)); }
.va-ufohunt-cursor.is-lure.is-armed{ transform:translate(-50%, -50%) scale(1.12); animation:va-ufohunt-cursor-pulse .8s ease-in-out infinite; filter:drop-shadow(0 0 12px rgba(255, 214, 102, 0.65)) drop-shadow(0 0 24px rgba(255, 121, 209, 0.38)) drop-shadow(0 0 38px rgba(140, 107, 255, 0.28)); }
.va-ufohunt-cursor.is-lure.is-scan-armed{ transform:translate(-50%, -50%) scale(1.18); animation:va-ufohunt-cursor-pulse-scan .68s ease-in-out infinite; filter:brightness(1.1) drop-shadow(0 0 12px rgba(255, 250, 231, 0.9)) drop-shadow(0 0 24px rgba(255, 121, 209, 0.58)) drop-shadow(0 0 42px rgba(140, 107, 255, 0.42)); }
.va-ufohunt-cursor.is-advanced.is-armed{ transform:translate(-50%, -50%) scale(1.09); animation:va-ufohunt-cursor-pulse .88s ease-in-out infinite; filter:hue-rotate(72deg) saturate(1.28) drop-shadow(0 0 12px rgba(99, 230, 143, 0.44)); }
.va-ufohunt-cursor.is-advanced.is-scan-armed{ transform:translate(-50%, -50%) scale(1.15); animation:va-ufohunt-cursor-pulse-scan .72s ease-in-out infinite; filter:hue-rotate(288deg) saturate(4.2) brightness(1.45) contrast(1.22) drop-shadow(0 0 10px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 18px rgba(255, 38, 255, 1)) drop-shadow(0 0 34px rgba(197, 58, 255, 0.95)) drop-shadow(0 0 52px rgba(255, 58, 228, 0.75)); }
.va-ufohunt-cursor img{ width:100%; height:100%; display:block; object-fit:contain; }

.va-ufohunt-cursorBonus{
  position:absolute;
  left:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%) scale(.88);
  padding:8px 12px;
  border:1px solid rgba(255, 215, 120, 0.72);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(50, 35, 6, 0.96) 0%, rgba(18, 12, 4, 0.94) 100%);
  color:#ffd86a;
  font:800 12px/1 'Orbitron', system-ui, sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:0;
  text-shadow:0 0 10px rgba(255, 224, 138, 0.42), 0 0 22px rgba(255, 196, 64, 0.28);
  box-shadow:0 0 0 1px rgba(255, 228, 150, 0.10) inset, 0 0 18px rgba(255, 200, 72, 0.34), 0 0 34px rgba(255, 179, 43, 0.22), 0 12px 26px rgba(0,0,0,.34);
  transition:opacity .18s ease, transform .18s ease;
  pointer-events:none;
}

.va-ufohunt-cursor.has-bonus .va-ufohunt-cursorBonus{
  opacity:1;
  transform:translateY(-50%) scale(1);
}

.va-ufohunt-cursor.is-bonus-pop .va-ufohunt-cursorBonus{
  animation:va-ufohunt-cursor-bonus-pop 6.5s cubic-bezier(.16,.84,.22,1) forwards;
}

.va-ufohunt-ufo{
  cursor:pointer;
  position:absolute;
  left:0;
  top:0;
  width:var(--va-ufo-size);
  height:var(--va-ufo-size);
  padding:0;
  border:0;
  outline:0;
  background:transparent !important;
  box-shadow:none;
  appearance:none;
  pointer-events:auto;
  user-select:none;
  -webkit-user-drag:none;
  touch-action:manipulation;
  opacity:0;
  transform:translate3d(-200px, -200px, 0) scale(.92);
  transition:transform 11s cubic-bezier(.16,.84,.24,1), opacity .35s ease, filter .25s ease;
  transform-origin:center center;
  will-change:transform, opacity;
  filter:drop-shadow(0 0 14px var(--va-ufo-glow));
  z-index:calc(var(--va-ufo-z) + 2);
}

.va-ufohunt-ufo::before,
.va-ufohunt-ufo::after{ content:none !important; }

.va-ufohunt-ufo.is-visible{ opacity:1; }

.va-ufohunt-ufo.is-hovered,
.va-ufohunt-ufo:focus-visible{
  filter:drop-shadow(0 0 18px rgba(255, 240, 186, 0.68)) drop-shadow(0 0 30px rgba(255, 209, 102, 0.38));
}

.va-ufohunt-ufo.is-corrupted-hit{
  filter:drop-shadow(0 0 18px rgba(255, 148, 148, 0.84)) drop-shadow(0 0 32px rgba(255, 64, 64, 0.48));
  animation:va-ufohunt-corrupted-hit .52s steps(2, end) 1;
}

.va-ufohunt-ufo.is-scanning{ animation:va-ufohunt-scan 1.2s ease-in-out infinite; }

.va-ufohunt-ufo.is-caught{
  pointer-events:none;
  transition:transform .34s ease, opacity .34s ease, filter .34s ease;
  animation:va-ufohunt-catch-pulse .34s ease forwards;
  filter:drop-shadow(0 0 20px rgba(255, 255, 255, 0.7));
}


.va-ufohunt-ufoFrame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  background:transparent !important;
  transition:opacity var(--va-ufo-scan-fade-ms, 1.6s) cubic-bezier(.22,.8,.24,1);
}

.va-ufohunt-ufoFrame.is-fly{ opacity:1; }
.va-ufohunt-ufoFrame.is-scan{ opacity:0; }
.va-ufohunt-ufo.is-scanning .va-ufohunt-ufoFrame.is-fly{ opacity:0; }
.va-ufohunt-ufo.is-scanning .va-ufohunt-ufoFrame.is-scan{ opacity:1; }

.va-ufohunt-float{
  position:fixed;
  left:0;
  top:0;
  transform:translate(-50%, -50%);
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid rgba(255, 209, 102, 0.45);
  border-radius:999px;
  background:rgba(15, 18, 27, 0.86);
  color:#fff5d8;
  font:700 14px/1 'Orbitron', system-ui, sans-serif;
  letter-spacing:.04em;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(0, 0, 0, 0.28), 0 0 18px rgba(255, 209, 102, 0.18);
  opacity:0;
  animation:va-ufohunt-float-up 2.2s ease forwards;
}

.va-ufohunt-float strong{
  color:hsl(var(--gold, 46 100% 62%));
  font-weight:900;
  text-shadow:0 0 7px hsl(var(--gold, 46 100% 62%) / 0.42), 0 0 16px hsl(var(--gold, 46 100% 62%) / 0.26), 0 0 26px rgba(255, 221, 120, 0.28);
}



.va-ufohunt-notice{
  width:min(92vw, 520px);
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translate(-50%, 18px) scale(var(--site-global-zoom, 1));
  transform-origin:center bottom;
  padding:20px 24px;
  border:3px solid var(--va-ufo-pop-border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(21, 26, 38, 0.97), rgba(11, 13, 20, 0.95));
  backdrop-filter:blur(12px);
  box-shadow:0 20px 38px rgba(0, 0, 0, 0.46), 0 0 0 1px rgba(255,255,255,0.05), 0 0 30px var(--va-ufo-pop-glow, rgba(255, 209, 102, 0.26)), 0 0 54px var(--va-ufo-pop-glow, rgba(255, 209, 102, 0.18));
  color:var(--va-ufo-pop-text);
  opacity:0;
  pointer-events:none;
  transition:transform .28s ease, opacity .28s ease;
  will-change:transform, opacity;
  z-index:calc(var(--va-ufo-z) + 1);
}

.va-ufohunt-notice.is-visible{ opacity:1; transform:translate(-50%, 0) scale(var(--site-global-zoom, 1)); }

.va-ufohunt-notice[data-va-ufohunt-notice-mode="corrupted"]{
  box-shadow:0 20px 38px rgba(0, 0, 0, 0.46), 0 0 0 1px rgba(255, 118, 118, 0.22), 0 0 34px rgba(255, 88, 88, 0.44), 0 0 60px rgba(255, 54, 54, 0.26);
}

.va-ufohunt-notice[data-va-ufohunt-notice-mode="corrupted"] .va-ufohunt-noticeTitle{
  text-shadow:0 0 16px rgba(255, 132, 132, 0.72), 0 0 30px rgba(255, 58, 58, 0.34);
}

.va-ufohunt-notice[data-va-ufohunt-notice-mode="corrupted"] .va-ufohunt-noticeStatus{
  box-shadow:0 0 22px rgba(255, 88, 88, 0.42), 0 0 36px rgba(255, 56, 56, 0.22);
  text-shadow:0 0 10px rgba(255, 214, 214, 0.28);
}

.va-ufohunt-notice.is-corrupted-anim[data-va-ufohunt-notice-mode="corrupted"]{
  animation:va-ufohunt-corrupted-notice-in .46s ease-out 1, va-ufohunt-corrupted-notice-flicker 1.18s ease-in-out 1;
}

.va-ufohunt-noticeBody{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
}

.va-ufohunt-noticeTitle{
  font:800 21px/1.18 'Orbitron', system-ui, sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--va-ufo-pop-accent);
  text-shadow:0 0 14px var(--va-ufo-pop-glow, rgba(255, 209, 102, 0.18));
}

.va-ufohunt-noticeStatus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:9px 14px;
  border:1.5px solid var(--va-ufo-tier-border, rgba(255,255,255,0.22));
  border-radius:999px;
  background:var(--va-ufo-tier-bg, rgba(255,255,255,0.08));
  color:var(--va-ufo-pop-border);
  box-shadow:0 0 18px var(--va-ufo-tier-glow, rgba(255,255,255,0.16));
  font:700 13px/1.15 'Orbitron', system-ui, sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.va-ufohunt-noticeStatus.is-pending::after{
  content:'...';
  display:inline-block;
  width:1.2em;
  overflow:hidden;
  vertical-align:baseline;
  animation:va-ufohunt-ellipsis 1s steps(4, end) infinite;
}

.va-ufohunt-toast{
  width:min(92vw, 420px);
  position:absolute;
  right:18px;
  bottom:18px;
  padding:20px 22px 18px;
  border:3px solid var(--va-ufo-pop-border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(21, 26, 38, 0.97), rgba(11, 13, 20, 0.95));
  backdrop-filter:blur(12px);
  box-shadow:0 22px 42px rgba(0, 0, 0, 0.46), 0 0 0 1px var(--va-ufo-pop-border), 0 0 30px var(--va-ufo-pop-glow, rgba(255, 209, 102, 0.24)), 0 0 54px var(--va-ufo-pop-glow, rgba(255, 209, 102, 0.16));
  color:var(--va-ufo-pop-text);
  opacity:0;
  transform:translateY(18px) scale(var(--site-global-zoom, 1));
  transform-origin:right bottom;
  transition:transform .28s ease, opacity .28s ease;
  transition-delay:0s;
  will-change:transform, opacity;
}

.va-ufohunt-toast.is-visible{ opacity:1; transform:translateY(0) scale(var(--site-global-zoom, 1)); }
.va-ufohunt-toast.is-hiding{ opacity:0; transform:translateY(14px) scale(var(--site-global-zoom, 1)); }

.va-ufohunt-toastBody{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  min-width:0;
  text-align:center;
}

.va-ufohunt-toastEyebrow{
  font:800 17px/1.15 'Orbitron', system-ui, sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--va-ufo-pop-accent);
}

.va-ufohunt-toastMedia{
  width:82px;
  height:82px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 35% 35%, rgba(255, 228, 156, 0.28), rgba(255, 159, 67, 0.18));
  border:2px solid rgba(255, 214, 140, 0.36);
  box-shadow:0 0 18px rgba(255, 209, 102, 0.16);
}

.va-ufohunt-toastMedia img{ width:62px; height:62px; object-fit:contain; }

.va-ufohunt-toastTitle{
  font:800 22px/1.1 'Orbitron', system-ui, sans-serif;
  color:var(--va-ufo-pop-accent);
}

.va-ufohunt-toastTier{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:8px 12px;
  border:2px solid var(--va-ufo-pop-border);
  border-radius:999px;
  background:var(--va-ufo-tier-bg, rgba(255,255,255,0.08));
  color:var(--va-ufo-tier-text, rgba(245,245,255,0.92));
  box-shadow:0 0 0 1px rgba(255,255,255,0.03), 0 0 18px var(--va-ufo-pop-glow, rgba(255, 209, 102, 0.18));
  font:700 13px/1.15 'Orbitron', system-ui, sans-serif;
  letter-spacing:.05em;
}

.va-ufohunt-toastDesc{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  margin-top:2px;
}

.va-ufohunt-toastRewardLabel{
  font:700 12px/1.15 'Orbitron', system-ui, sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(246, 241, 223, 0.82);
}

.va-ufohunt-toastRewardValue{
  color:var(--va-ufo-pop-accent);
  font:900 22px/1.1 'Orbitron', system-ui, sans-serif;
  letter-spacing:.03em;
  text-shadow:0 0 7px rgba(255, 209, 102, 0.42), 0 0 16px rgba(255, 209, 102, 0.26), 0 0 26px rgba(255, 221, 120, 0.28);
}

.va-ufohunt-toastBonus{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  margin-top:2px;
}

.va-ufohunt-toastBonus[hidden]{
  display:none;
}

.va-ufohunt-toastBonusLabel{
  font:700 12px/1.15 'Orbitron', system-ui, sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255, 224, 138, 0.88);
}

.va-ufohunt-toastBonusValue{
  color:#ffe08a;
  font:800 18px/1.1 'Orbitron', system-ui, sans-serif;
  letter-spacing:.03em;
  text-shadow:0 0 7px rgba(255, 209, 102, 0.34), 0 0 16px rgba(255, 209, 102, 0.2);
}

.va-ufohunt-toastProfileLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:4px;
  padding:9px 14px;
  border:2px solid var(--va-ufo-pop-border);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  box-shadow:0 0 0 1px rgba(255,255,255,0.03), 0 0 18px var(--va-ufo-pop-glow, rgba(255, 209, 102, 0.18));
  color:var(--va-ufo-pop-text);
  font:700 12px/1 'Orbitron', system-ui, sans-serif;
  letter-spacing:.04em;
  text-align:center;
  cursor:pointer;
  pointer-events:auto;
  text-transform:uppercase;
  text-decoration:none;
}




@media (max-width:1450px){
  .va-ufohunt-toast{
    left:50%;
    right:auto;
    bottom:var(--va-ufo-toast-stacked-bottom, 152px);
    transform:translate(-50%, 18px) scale(var(--site-global-zoom, 1));
  transform-origin:center bottom;
  }

  .va-ufohunt-toast.is-visible{ transform:translate(-50%, 0) scale(var(--site-global-zoom, 1)); }
  .va-ufohunt-toast.is-hiding{ transform:translate(-50%, 14px) scale(var(--site-global-zoom, 1)); }
}

.va-ufohunt-burst{
  position:fixed;
  left:0;
  top:0;
  width:0;
  height:0;
  pointer-events:none;
  transform:translate(-50%, -50%);
  z-index:calc(var(--va-ufo-z) + 6);
}

.va-ufohunt-burstFlash,
.va-ufohunt-burstRing,
.va-ufohunt-burstParticle{
  position:absolute;
  left:0;
  top:0;
  pointer-events:none;
}

.va-ufohunt-burstFlash{
  width:32px;
  height:32px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,243,186,0.95) 0%, rgba(255,214,102,0.72) 38%, rgba(255,214,102,0) 74%);
  transform:translate(-50%, -50%);
  animation:va-ufohunt-burst-flash .42s ease-out forwards;
}

.va-ufohunt-burstRing{
  width:14px;
  height:14px;
  border:1px solid rgba(255, 214, 120, 0.82);
  border-radius:999px;
  box-shadow:0 0 12px rgba(255, 209, 102, 0.26);
  transform:translate(-50%, -50%);
  animation:va-ufohunt-burst-ring .7s ease-out forwards;
}

.va-ufohunt-burstRing.is-secondary{
  width:10px;
  height:10px;
  border-color:rgba(255, 241, 186, 0.72);
  animation-duration:.58s;
}

.va-ufohunt-burstParticle{
  width:5px;
  height:5px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,245,209,1) 0%, rgba(255,214,102,0.98) 45%, rgba(255,177,66,0.78) 100%);
  box-shadow:0 0 8px rgba(255, 209, 102, 0.32);
  transform:translate(-50%, -50%) rotate(var(--va-burst-angle, 0deg)) translateX(0) scale(.9);
  animation:va-ufohunt-burst-particle .7s cubic-bezier(.18,.7,.22,1) forwards;
  animation-delay:var(--va-burst-delay, 0s);
}

.va-ufohunt-debugPanel{
  position:fixed;
  left:16px;
  bottom:16px;
  z-index:calc(var(--va-ufo-z) + 8);
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  max-width:min(92vw, 420px);
}

.va-ufohunt-debugBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(255, 209, 102, 0.38);
  border-radius:999px;
  background:rgba(12, 15, 24, 0.88);
  color:#f8e7b0;
  font:700 12px/1 'Orbitron', system-ui, sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.34), 0 0 16px rgba(255, 209, 102, 0.14);
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.va-ufohunt-debugBtn.is-tier-1{ border-color:rgba(255,255,255,0.22); color:#f3f4f7; }
.va-ufohunt-debugBtn.is-tier-2{ border-color:rgba(203,150,103,0.42); color:#ffe7d2; }
.va-ufohunt-debugBtn.is-tier-3{ border-color:rgba(160,243,114,0.42); color:#f0ffe4; }
.va-ufohunt-debugBtn.is-tier-4{ border-color:rgba(112,225,255,0.42); color:#e1f7ff; }
.va-ufohunt-debugBtn.is-tier-5{ border-color:rgba(255,124,146,0.42); color:#ffe4ea; }

.va-ufohunt-debugBtn:hover,
.va-ufohunt-debugBtn:focus-visible{ transform:translateY(-1px); box-shadow:0 12px 28px rgba(0,0,0,.38), 0 0 18px rgba(255, 209, 102, 0.2); }

[hidden].va-ufohunt-ufo,
[hidden].va-ufohunt-debugPanel,
[hidden].va-ufohunt-debugBtn{ display:none !important; }

@keyframes va-ufohunt-cursor-bonus-pop{
  0%{
    opacity:0;
    transform:translateY(-38%) scale(.82);
    filter:brightness(.92);
  }
  16%{
    opacity:1;
    transform:translateY(-58%) scale(1.08);
    filter:brightness(1.16);
  }
  58%{
    opacity:1;
    transform:translateY(-74%) scale(1.02);
    filter:brightness(1.08);
  }
  100%{
    opacity:0;
    transform:translateY(-96%) scale(.96);
    filter:brightness(1);
  }
}

@keyframes va-ufohunt-float-up{
  0%{ opacity:0; transform:translate(-50%, -30%) scale(.86); }
  15%{ opacity:1; }
  100%{ opacity:0; transform:translate(-50%, -160%) scale(1.04); }
}

@keyframes va-ufohunt-scan{
  0%,100%{ filter:drop-shadow(0 0 14px var(--va-ufo-glow)); }
  50%{ filter:drop-shadow(0 0 18px rgba(145, 230, 255, 0.5)) drop-shadow(0 0 28px rgba(255, 209, 102, 0.2)); }
}


@keyframes va-ufohunt-catch-pulse{
  0%{ opacity:1; transform:translate3d(var(--va-ufo-x, 0px), var(--va-ufo-y, 0px), 0) scale(1); }
  45%{ opacity:1; transform:translate3d(var(--va-ufo-x, 0px), var(--va-ufo-y, 0px), 0) scale(1.16); }
  100%{ opacity:0; transform:translate3d(var(--va-ufo-x, 0px), var(--va-ufo-y, 0px), 0) scale(.64); }
}
@keyframes va-ufohunt-burst-flash{
  0%{ opacity:0; transform:translate(-50%, -50%) scale(.2); }
  20%{ opacity:1; }
  100%{ opacity:0; transform:translate(-50%, -50%) scale(1.85); }
}

@keyframes va-ufohunt-burst-ring{
  0%{ opacity:.88; transform:translate(-50%, -50%) scale(.45); }
  100%{ opacity:0; transform:translate(-50%, -50%) scale(3.2); }
}

@keyframes va-ufohunt-burst-particle{
  0%{ opacity:0; transform:translate(-50%, -50%) rotate(var(--va-burst-angle, 0deg)) translateX(0) scale(.6); }
  18%{ opacity:1; }
  100%{ opacity:0; transform:translate(-50%, -50%) rotate(var(--va-burst-angle, 0deg)) translateX(var(--va-burst-distance, 36px)) scale(1); }
}

@media (prefers-reduced-motion: reduce){
  .va-ufohunt-ufo,
  .va-ufohunt-ufoFrame,
  .va-ufohunt-notice,
  .va-ufohunt-toast,
  .va-ufohunt-float,
  .va-ufohunt-debugPanel,
  .va-ufohunt-debugBtn{ transition:none !important; animation:none !important; }
}

@keyframes va-ufohunt-cursor-pulse{
  0%, 100%{ filter:hue-rotate(72deg) saturate(1.28) drop-shadow(0 0 12px rgba(99, 230, 143, 0.44)); }
  50%{ filter:hue-rotate(72deg) saturate(1.28) drop-shadow(0 0 18px rgba(166, 255, 193, 0.66)) drop-shadow(0 0 30px rgba(99, 230, 143, 0.40)); }
}

@keyframes va-ufohunt-cursor-pulse-scan{
  0%, 100%{ filter:hue-rotate(288deg) saturate(4.2) brightness(1.45) contrast(1.22) drop-shadow(0 0 10px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 18px rgba(255, 38, 255, 1)) drop-shadow(0 0 34px rgba(197, 58, 255, 0.95)) drop-shadow(0 0 52px rgba(255, 58, 228, 0.75)); }
  50%{ filter:hue-rotate(288deg) saturate(5) brightness(1.62) contrast(1.28) drop-shadow(0 0 12px rgba(255, 255, 255, 1)) drop-shadow(0 0 24px rgba(255, 92, 255, 1)) drop-shadow(0 0 42px rgba(197, 58, 255, 1)) drop-shadow(0 0 62px rgba(255, 58, 228, 0.9)); }
}

@keyframes va-ufohunt-corrupted-hit{
  0%{ filter:drop-shadow(0 0 14px rgba(255, 116, 116, 0.18)) drop-shadow(0 0 22px rgba(255, 72, 72, 0.10)); opacity:1; }
  25%{ filter:drop-shadow(0 0 18px rgba(255, 152, 152, 0.88)) drop-shadow(0 0 34px rgba(255, 64, 64, 0.56)); opacity:1; }
  55%{ filter:drop-shadow(0 0 16px rgba(255, 116, 116, 0.52)) drop-shadow(0 0 28px rgba(255, 64, 64, 0.28)); opacity:1; }
  100%{ filter:drop-shadow(0 0 14px var(--va-ufo-glow)); opacity:1; }
}

@keyframes va-ufohunt-corrupted-notice-in{
  0%{ opacity:0; }
  24%{ opacity:.44; }
  48%{ opacity:.78; }
  64%{ opacity:.56; }
  100%{ opacity:1; }
}

@keyframes va-ufohunt-corrupted-notice-flicker{
  0%{ opacity:.36; }
  14%{ opacity:.92; }
  30%{ opacity:.58; }
  48%{ opacity:1; }
  64%{ opacity:.78; }
  80%{ opacity:.96; }
  100%{ opacity:1; }
}

@keyframes va-ufohunt-ellipsis{
  0%{ width:0; }
  100%{ width:1.2em; }
}
