/* @tailwind base; */
@tailwind components;
@tailwind utilities;

/* * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
} */

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #f8fafc;
}

.sidebar-menu {
  transition: all 0.3s ease;
}

.sidebar-menu:hover {
  background-color: #f1f5f9;
}

.sidebar-submenu {
  transition: all 0.3s ease;
}

.sidebar-submenu:hover {
  background-color: #e2e8f0;
}

.modal-overlay {
  backdrop-filter: blur(4px);
}

.prompt-textarea {
  resize: vertical;
  min-height: 120px;
}

.playground-container {
  height: calc(100vh - 120px);
}

.result-container {
  max-height: 400px;
  overflow-y: auto;
}

.copy-button {
  transition: all 0.2s ease;
}

.copy-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.search-input {
  transition: all 0.3s ease;
}

.search-input:focus {
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.table-row {
  transition: all 0.2s ease;
}

.table-row:hover {
  background-color: #f8fafc;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.action-button {
  transition: all 0.2s ease;
}

.action-button:hover {
  transform: scale(1.05);
}

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

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

.slide-in {
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
