/* Polish on top of Tailwind */

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(15, 23, 42, 0.22);
  background-clip: padding-box;
}

/* Subtle entrance for newly-rendered elements (HTMX swap) */
.fade-in {
  animation: fadeIn 200ms ease-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(2px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* WhatsApp-style chat */
.chat-bg {
  background-color: #f0f2f5;
  background-image:
    radial-gradient(rgba(15,23,42,0.04) 1px, transparent 1px),
    radial-gradient(rgba(15,23,42,0.03) 1px, transparent 1px);
  background-size: 24px 24px, 24px 24px;
  background-position: 0 0, 12px 12px;
}

.bubble {
  max-width: min(70%, 640px);
  padding: 8px 12px 6px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.45;
  word-wrap: break-word;
  white-space: pre-wrap;
  box-shadow: 0 1px 0.5px rgba(15,23,42,.07);
}
.bubble-in  { background: #ffffff; border-radius: 12px 12px 12px 2px; }
.bubble-out { background: #d9fdd3; border-radius: 12px 12px 2px 12px; }
.bubble .meta {
  font-size: 10.5px;
  color: rgba(15, 23, 42, 0.45);
  margin-top: 2px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.tool-call {
  background: linear-gradient(180deg, #faf5ff 0%, #f3e8ff 100%);
  border: 1px solid #e9d5ff;
  color: #6b21a8;
  font-size: 12.5px;
  border-radius: 10px;
  padding: 8px 10px;
}
.tool-result {
  background: #f1f5f9;
  border: 1px dashed #cbd5e1;
  color: #475569;
  font-size: 12px;
  border-radius: 10px;
  padding: 6px 10px;
}

/* Hide scrollbar in horizontal pill rows */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
