/* Chat message bubble — compose in phase 5. */

.chat-bubble {
  padding: 0.55rem 0.65rem;
  border-radius: var(--radius-lg);
  background: var(--color-bg);
}

.chat-bubble--user {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
}

.chat-bubble--assistant {
  background: var(--color-brand-soft);
}

.chat-bubble--streaming {
  min-height: 1.5em;
}

.chat-bubble--failed {
  border: 1px solid var(--color-danger-border);
}

.chat-bubble__meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-2);
  font-size: var(--text-2xs);
  color: var(--color-text-muted);
}

.chat-bubble__flags {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.chat-bubble__state {
  color: var(--color-text-muted);
}

.chat-bubble__state--failed {
  color: var(--color-danger);
  font-weight: 600;
}

.chat-bubble__body {
  font-size: var(--text-md);
  line-height: 1.45;
}

.chat-bubble__body p,
.chat-bubble__body ul,
.chat-bubble__body ol {
  margin: 0 0 var(--space-2_5);
}

.chat-bubble__body p:last-child,
.chat-bubble__body ul:last-child,
.chat-bubble__body ol:last-child {
  margin-bottom: 0;
}

.chat-bubble__body ul,
.chat-bubble__body ol {
  padding-left: var(--space-9);
}

.chat-bubble__body a {
  color: var(--color-brand);
}
