/* Global styles and utilities */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
}

.nav-item.active {
  background: rgb(226 232 240 / 0.8);
  color: rgb(2 132 199);
  font-weight: 600;
}

.dark .nav-item.active {
  background: rgb(30 41 59 / 0.8);
  color: rgb(56 189 248);
}

.bottom-nav-item.active {
  color: rgb(2 132 199);
}

.dark .bottom-nav-item.active {
  color: rgb(56 189 248);
}

/* Skeleton loader */
.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s ease-in-out infinite;
}

.dark .skeleton {
  background: linear-gradient(90deg, #1e293b 25%, #334155 50%, #1e293b 75%);
  background-size: 200% 100%;
}

@keyframes loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

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

::-webkit-scrollbar-thumb {
  background: rgb(203 213 225);
  border-radius: 4px;
}

.dark ::-webkit-scrollbar-thumb {
  background: rgb(71 85 105);
}

::-webkit-scrollbar-thumb:hover {
  background: rgb(148 163 184);
}

.dark ::-webkit-scrollbar-thumb:hover {
  background: rgb(100 116 139);
}

/* Transitions */
.transition-colors {
  transition-property: color, background-color, border-color;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
