/* Shared chat reply typography. Transcripts, not chrome.
 * Load on any hub with .chat-message__body or .coach-msg__body.
 * Tokens only.
 *
 * Messaging density (Messenger-like), not article reading-copy:
 * --text-md / --leading-normal is for cards and long prose.
 * Phone locks 16px / 1.25 so every hub chat matches Messenger body.
 */

.chat-message--user .chat-message__body,
.chat-message--assistant .chat-message__body,
.coach-msg__body {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--text-base);
  line-height: var(--leading-snug);
}

.chat-message--assistant .chat-message__body,
.coach-msg__body {
  color: var(--ink);
}

@media (max-width: 720px) {
  .chat-message__body,
  .chat-message--user .chat-message__body,
  .chat-message--assistant .chat-message__body,
  .coach-msg__body {
    font-size: 16px;
    line-height: 1.25;
  }
}

.chat-message--assistant .chat-message__body > * + *,
.coach-msg__body > * + * {
  margin-top: var(--space-2);
}

.chat-message--assistant .chat-message__body p,
.coach-msg__body p {
  margin: 0;
}

.chat-message--assistant .chat-message__body > ul,
.chat-message--assistant .chat-message__body > ol,
.coach-msg__body > ul,
.coach-msg__body > ol {
  margin: 0;
  padding-left: var(--space-5);
  display: grid;
  gap: var(--space-2);
}

.chat-md-h1,
.chat-md-h2,
.chat-md-h3,
.chat-message--assistant .chat-message__body h3,
.chat-message--assistant .chat-message__body h4,
.chat-message--assistant .chat-message__body h5,
.coach-msg__body h3,
.coach-msg__body h4,
.coach-msg__body h5 {
  margin: 0;
  color: var(--navy);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}

.chat-md-h1,
.chat-message--assistant .chat-message__body h3,
.coach-msg__body h3 { font-size: var(--text-lg); }

.chat-md-h2,
.chat-message--assistant .chat-message__body h4,
.coach-msg__body h4 { font-size: var(--text-md); }

.chat-md-h3,
.chat-message--assistant .chat-message__body h5,
.coach-msg__body h5 { font-size: var(--text-base); }

.chat-message--assistant .chat-message__body blockquote,
.coach-msg__body blockquote {
  margin: 0;
  padding-left: var(--space-3);
  border-left: 0.2rem solid var(--line);
  color: var(--muted);
}

.chat-code,
.chat-message--assistant .chat-message__body pre,
.coach-msg__body pre {
  margin: 0;
  padding: var(--space-3);
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--cotton);
  font-size: var(--text-sm);
}

.chat-message--assistant .chat-message__body code,
.coach-msg__body code {
  font-size: 0.92em;
}

.chat-table,
.chat-message--assistant .chat-message__body .md-table-wrap,
.coach-msg__body .md-table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: auto;
}

.chat-table,
.chat-message--assistant .chat-message__body table,
.coach-msg__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

.chat-table th,
.chat-table td,
.chat-message--assistant .chat-message__body th,
.chat-message--assistant .chat-message__body td,
.coach-msg__body th,
.coach-msg__body td {
  padding: var(--space-1) var(--space-2);
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.chat-message--assistant .chat-message__body hr,
.coach-msg__body hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: var(--space-3) 0;
}

.chat-message--assistant .chat-message__body a,
.coach-msg__body a {
  color: var(--wave);
}
