* { 
  -webkit-tap-highlight-color: transparent; 
}

html, body { 
  height: 100%;
  overflow: hidden;
  position: fixed;
  width: 100%;
}

.no-scrollbar::-webkit-scrollbar { 
  display: none; 
}

.no-scrollbar { 
  -ms-overflow-style: none; 
  scrollbar-width: none; 
}

@keyframes fadeIn { 
  from { opacity: 0; } 
  to { opacity: 1; } 
}

@keyframes bounce { 
  0%, 100% { transform: translateY(0); } 
  50% { transform: translateY(-25%); } 
}

@keyframes slideUp { 
  from { opacity: 0; transform: translateY(10px); } 
  to { opacity: 1; transform: translateY(0); } 
}

@keyframes spin { 
  from { transform: rotate(0deg);} 
  to { transform: rotate(360deg);} 
}

@keyframes slideInRight { 
  from { transform: translateX(100%); } 
  to { transform: translateX(0); } 
}

@keyframes slideOutRight { 
  from { transform: translateX(0); } 
  to { transform: translateX(100%); } 
}

.animate-in { 
  animation: fadeIn 0.3s ease-in; 
}

.animate-slide-up { 
  animation: slideUp 0.25s ease-out; 
}

.animate-bounce { 
  animation: bounce 1s infinite; 
}

.animate-spin { 
  animation: spin 1s linear infinite; 
}

.animate-slide-in-right { 
  animation: slideInRight 0.3s cubic-bezier(0.16, 1, 0.3, 1); 
}

.animate-slide-out-right { 
  animation: slideOutRight 0.3s cubic-bezier(0.7, 0, 0.84, 0); 
}

.custom-scrollbar::-webkit-scrollbar { 
  width: 6px; 
}

.custom-scrollbar::-webkit-scrollbar-track { 
  background: #f1f1f1; 
  border-radius: 10px; 
}

.custom-scrollbar::-webkit-scrollbar-thumb { 
  background: #FF385C; 
  border-radius: 10px; 
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover { 
  background: #e02d4f; 
}

.hamburger-line {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

.hamburger-open .line-1 {
  transform: translateY(6px) rotate(45deg);
}

.hamburger-open .line-2 {
  opacity: 0;
  transform: scaleX(0);
}

.hamburger-open .line-3 {
  transform: translateY(-6px) rotate(-45deg);
}

@supports (height: 100dvh) {
  .app-container {
    height: 100dvh;
  }
}

@supports not (height: 100dvh) {
  .app-container {
    height: 100vh;
  }
}

@media (max-width: 768px) {
  .hide-mobile { 
    display: none; 
  }
  
  .chat-input-container {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
