@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

:root {
  --app-height: 100dvh;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: #f8fafc;
  color: #0f172a;
}

/* Custom sleek scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.45);
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 116, 139, 0.7);
}

/* Search Jump Highlight Animation */
@keyframes messageHighlightPulse {
  0% {
    background-color: rgba(250, 204, 21, 0.45);
    transform: scale(1.01);
  }
  50% {
    background-color: rgba(250, 204, 21, 0.3);
  }
  100% {
    background-color: transparent;
    transform: scale(1);
  }
}

.msg-highlight-jump {
  animation: messageHighlightPulse 2.4s ease-out forwards;
  border-radius: 1rem;
}

/* Smooth Modal Fade */
@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.animate-modal {
  animation: modalFadeIn 0.18s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Mobile safe area padding */
.safe-bottom {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
