/* =============================================================================
   freddye-reacciona.css — 1.4.7: Freddye reacciona al escuchar + confeti de huellas
   (ver js/freddye-reacciona.js)
   ========================================================================== */
.pa-fred { display: none; position: relative; align-items: flex-end; gap: 6px; margin: 0.6rem auto 0; width: 100%; max-width: 340px; min-height: 112px; }
.pa-fred.is-on { display: flex; }
.pa-fred__img { flex: none; width: 104px; height: 112px; object-fit: contain; object-position: bottom; transform-origin: 50% 92%; filter: drop-shadow(0 6px 8px rgba(60, 20, 110, 0.22)); }
.pa-fred__bocadillo { position: relative; flex: 1; margin: 0 0 54px; background: #fff; border-radius: 16px; padding: 9px 12px; font-size: 0.92rem; font-weight: 800; line-height: 1.25; color: #2D3748; box-shadow: 0 4px 12px rgba(60, 20, 110, 0.15); transform-origin: 0 100%; text-align: left; }
.pa-fred__bocadillo::after { content: ""; position: absolute; left: -7px; bottom: 12px; border: 8px solid transparent; border-right-color: #fff; border-left: 0; }
.pa-fred.is-ok .pa-fred__bocadillo { box-shadow: 0 0 0 2px #16A34A, 0 4px 12px rgba(60, 20, 110, 0.15); }
.pa-fred.is-ko .pa-fred__bocadillo { box-shadow: 0 0 0 2px #F59E0B, 0 4px 12px rgba(60, 20, 110, 0.15); }
.pa-fred__q { position: absolute; left: 78px; top: -6px; font-size: 32px; font-weight: 900; color: #8A2BE2; opacity: 0; pointer-events: none; }

.pa-fred--q { animation: paFredQ 1.5s ease-out; }
@keyframes paFredQ { 0% { opacity: 0; transform: translateY(10px) scale(0.6); } 25% { opacity: 1; transform: none; } 80% { opacity: 1; } 100% { opacity: 0; transform: translateY(-18px); } }
.pa-fred--salta { animation: paFredSalta 0.9s ease-out; }
@keyframes paFredSalta { 0% { transform: none; } 20% { transform: translateY(-26px) rotate(-6deg) scaleY(1.04); } 40% { transform: rotate(5deg) scaleY(0.94); } 55% { transform: rotate(-5deg); } 70% { transform: rotate(4deg); } 85% { transform: rotate(-2deg); } 100% { transform: none; } }
.pa-fred--ladea { animation: paFredLadea 1.8s ease-in-out forwards; }
@keyframes paFredLadea { 0% { transform: none; } 18% { transform: rotate(-12deg) translateX(-4px); } 80% { transform: rotate(-12deg) translateX(-4px); } 100% { transform: none; } }
.pa-fred--pop { animation: paFredPop 0.35s cubic-bezier(0.3, 1.6, 0.5, 1); }
@keyframes paFredPop { from { transform: scale(0.3); opacity: 0; } }

.pa-huellas-fx { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 9990; }

@media (prefers-reduced-motion: reduce) {
  .pa-fred--salta, .pa-fred--ladea, .pa-fred--pop, .pa-fred--q { animation: none; }
}
