/* Beta Formazione — keyframes usati nel prototipo Beta AI.
   Movimento misurato: nessun bounce, nessuna animazione decorativa gratuita. */

@keyframes bfRise    { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes bfFade    { from { opacity:0; } to { opacity:1; } }
@keyframes bfPop     { 0% { opacity:0; transform:scale(.94) translateY(10px); } 60% { transform:scale(1.01) translateY(0); } 100% { opacity:1; transform:none; } }
@keyframes bfFlow    { 0% { transform:translateX(-6px); opacity:.25; } 50% { opacity:1; } 100% { transform:translateX(6px); opacity:.25; } }
@keyframes bfFlowV   { 0% { transform:translateY(-6px); opacity:.25; } 50% { opacity:1; } 100% { transform:translateY(6px); opacity:.25; } }
@keyframes bfShimmer { 0% { transform:translateX(-100%); } 100% { transform:translateX(320%); } }
@keyframes bfBlink   { 0%,100% { opacity:.25; } 50% { opacity:1; } }
@keyframes bfSpin    { to { transform:rotate(360deg); } }
@keyframes bfDrawLine{ from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes bfLogoIn  { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:none; } }
@keyframes bfFigIn   { 0% { opacity:0; transform:translateY(46px) scale(.965); } 100% { opacity:1; transform:none; } }
@keyframes bfGlowIn  { 0% { opacity:0; transform:scale(.72); } 100% { opacity:1; transform:scale(1); } }
@keyframes bfFloat   { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
