@tailwind base;
@tailwind components;
@tailwind utilities;

* {
  box-sizing: border-box;
}

body {
  font-family: 'Courier New', Courier, monospace;
  background: #050510;
  color: #d1d5db;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
::-webkit-scrollbar-track {
  background: #020208;
}
::-webkit-scrollbar-thumb {
  background: #1a3a4a;
  border-radius: 2px;
}
::-webkit-scrollbar-thumb:hover {
  background: #00b8d9;
}

/* Pulse animations for pipeline state */
@keyframes pulse-blue {
  0%, 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.6); }
  50% { box-shadow: 0 0 0 8px rgba(59, 130, 246, 0); }
}
@keyframes pulse-amber {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.6); }
  50% { box-shadow: 0 0 0 8px rgba(245, 158, 11, 0); }
}
@keyframes pulse-green {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6); }
  50% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
}

.pulse-blue { animation: pulse-blue 1.2s infinite; }
.pulse-amber { animation: pulse-amber 0.8s infinite; }
.pulse-green { animation: pulse-green 0.6s infinite; }

/* Conversation bubbles */
.bubble-human {
  background: #1e3a5f;
  border: 1px solid #2d6a9f;
}
.bubble-bot {
  background: #0d3030;
  border: 1px solid #0d9488;
}
.bubble-partial {
  opacity: 0.7;
}

/* Slider accent colors */
input[type='range'].accent-cyan { accent-color: #00b8d9; }
input[type='range'].accent-orange { accent-color: #f97316; }
input[type='range'].accent-purple { accent-color: #a855f7; }

/* Mode button active glow */
.mode-active {
  box-shadow: 0 0 10px rgba(0, 184, 217, 0.4);
}
