/* Pulse animation */
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

/* Spin animation */
@keyframes spin {
  100% { transform: rotate(360deg); }
}

/* Transitions */
.transition-all {
  transition: all 0.3s ease;
}

.transition-transform {
  transition: transform 0.3s ease;
}

.transition-opacity {
  transition: opacity 0.3s ease;
}

/* Status animations */
.search-step.active .status-icon {
  color: #2196F3;
  animation: spin 2s linear infinite;
}

/* New feature badge */
.new-feature {
  animation: pulse 2s infinite;
}

/* Menu transitions */
.top-menu {
  transition: transform 0.3s ease;
}

/* Transição do menu-handle centralizada em layout.css */

/* Stream transitions */
.stream-wrapper {
  transition: all 0.3s ease;
}

.stream-controls {
  transition: all 0.3s ease;
}

.channel-overlay {
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

/* Chat transitions */
.chat-modal {
  transition: transform 0.3s ease;
}

.chat-tabs {
  transition: opacity 0.3s ease;
}

.chat-tab {
  transition: all 0.3s ease;
}

/* Focus mode transitions */
.stream-wrapper.focused {
  transition: all 0.3s ease !important;
}

.stream-wrapper.unfocused {
  transition: all 0.3s ease;
}

/* Button hover effects */
.menu-button,
.settings-button,
.stream-control-btn,
.social-link {
  transition: all 0.3s ease;
}

.stream-control-btn:hover {
  transform: scale(1.1);
} 