@keyframes spotPulse{0%,to{box-shadow:0 0 0 2px rgba(251,191,36,.95),0 0 18px 4px rgba(251,191,36,.85),0 0 36px 12px rgba(251,191,36,.5)}50%{box-shadow:0 0 0 3px rgba(251,191,36,1),0 0 26px 7px rgba(251,191,36,.95),0 0 50px 16px rgba(251,191,36,.65)}}@keyframes labelin{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes lumiEnter{0%{opacity:0;transform:scale(0) rotate(-180deg)}60%{opacity:1;transform:scale(1.15) rotate(20deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes lumiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes sparkOut{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.4)}20%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-60px) scale(1.2)}}@keyframes bubblePop{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes coachRingPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.4);opacity:0}}@keyframes coachArrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes hotspotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.lumi-intro-bg{background:rgba(15,23,42,.75)}@supports (backdrop-filter:blur(2px)){.lumi-intro-bg{background:radial-gradient(rgba(30,27,75,.6),rgba(15,23,42,.85));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}@media (prefers-reduced-motion:reduce){.coach-arrow,.coach-ring,.hotspot-label,.hotspot-spotlight,.lumi-bubble,.lumi-character,.lumi-spark{animation:none!important;transition:none!important}}