:root {
  --tv-ease: cubic-bezier(.4, 0, .2, 1); /* @kind other */
  --tv-ease-entrada: cubic-bezier(0, 0, .2, 1); /* @kind other */
  --tv-ease-suave: cubic-bezier(.22, 1, .36, 1); /* @kind other */

  --tv-dur-press: .12s; /* @kind other */
  --tv-dur-hover: .2s; /* @kind other */
  --tv-dur-estado: .25s; /* @kind other */
  --tv-dur-painel: .32s; /* @kind other */
  --tv-dur-layout: .55s; /* @kind other */
  --tv-dur-carrossel: .75s; /* @kind other */
}

@keyframes tv-live-pulse { 0%, 100% { opacity: 1 } 50% { opacity: .35 } }
@keyframes tv-skeleton-pulse { 0%, 100% { opacity: 1 } 50% { opacity: .5 } }
@keyframes tv-shimmer { from { background-position: -140% 0 } to { background-position: 240% 0 } }
@keyframes tv-modal-fade { from { opacity: 0; transform: translateY(8px) scale(.98) } to { opacity: 1; transform: none } }
@keyframes tv-entrada-esq { from { opacity: 0; transform: translateX(-32px) } to { opacity: 1; transform: none } }
