/* Only what Tailwind can't do */

/* Typing dots */
.dots { display: flex; gap: 5px; align-items: center; }
.dots span {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #FF6B35;
  animation: bounce 1.2s infinite;
}
.dots span:nth-child(2) { animation-delay: .2s; }
.dots span:nth-child(3) { animation-delay: .4s; }
@keyframes bounce {
  0%,80%,100% { transform: translateY(0); opacity:.5; }
  40%          { transform: translateY(-6px); opacity:1; }
}

/* Quiz shake */
@keyframes shake {
  0%,100% { transform:translateX(0); }
  25%      { transform:translateX(-5px); }
  75%      { transform:translateX(5px); }
}
.shake { animation: shake .3s ease; }

/* Chart canvas max-height */
.chart-wrap { position:relative; max-height:300px; }

/* Scrollbar */
#messages::-webkit-scrollbar { width: 4px; }
#messages::-webkit-scrollbar-track { background: transparent; }
#messages::-webkit-scrollbar-thumb { background: #e4e4e7; border-radius: 2px; }

/* Prose overrides inside messages */
.msg-prose { font-size: 14px; line-height: 1.7; color: #3f3f46; }
.msg-prose h1,.msg-prose h2,.msg-prose h3 { font-size:14px; font-weight:700; margin:12px 0 6px; color:#18181b; }
.msg-prose h1:first-child,.msg-prose h2:first-child,.msg-prose h3:first-child { margin-top:0; }
.msg-prose p { margin:0 0 8px; }
.msg-prose p:last-child { margin-bottom:0; }
.msg-prose ul,.msg-prose ol { padding-left:18px; margin:6px 0; }
.msg-prose li { margin:3px 0; }
.msg-prose table { width:100%; border-collapse:collapse; margin:10px 0; font-size:13px; }
.msg-prose th,.msg-prose td { padding:7px 12px; border:1px solid #e4e4e7; text-align:left; }
.msg-prose th { background:#fff7f3; font-weight:600; }
.msg-prose tr:nth-child(even) td { background:#fafafa; }
.msg-prose code { background:#f4f4f5; padding:1px 5px; border-radius:4px; font-size:12px; }
.msg-prose pre { background:#f4f4f5; padding:10px 14px; border-radius:8px; overflow-x:auto; margin:8px 0; }
.msg-prose pre code { background:none; padding:0; }
.msg-prose blockquote { border-left:3px solid #FF6B35; padding-left:12px; color:#71717a; font-style:italic; margin:8px 0; }
.msg-prose strong { font-weight:700; color:#18181b; }
