@keyframes talk {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}
.speaking img {
  animation: talk 0.2s infinite;
}

/* Sidebar open states are controlled via JS by toggling utility classes.
   We'll add a small helper for mobile full-height width. */
@media (max-width: 640px) {
  #history-sidebar { width: 100% !important; }
}

/* small nicety to ensure history cards don't wrap weirdly */
.history-card { word-break: break-word; }
