/* ─────────────────────────────────────────
   bubbles.css  —  bulles de dialogue
   ───────────────────────────────────────── */

/* ── Structure commune ── */
.msg {
  display: flex;
  flex-direction: column;
  gap: 3px;
  max-width: 88%;
}

.msg-label {
  font-size: 10px;
  color: var(--text-dim);
  padding: 0 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.msg-bubble {
  padding: 9px 13px;
  border-radius: var(--radius);
  border: 0.5px solid;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-wrap;       /* préserve les sauts de ligne du backend */
  word-break: break-word;
}

/* ── Rôle : PAPY (professeur) ── */
.msg.prof {
  align-self: flex-start;
}
.msg.prof .msg-label {
  color: #4a8fd4;
}
.msg.prof .msg-bubble {
  background: var(--bg-surface);
  border-color: var(--border);
  color: var(--text-primary);
}

/* ── Rôle : élève (utilisateur) ── */
.msg.eleve {
  align-self: flex-end;
}
.msg.eleve .msg-label {
  color: #3a9b6a;
  text-align: right;
}
.msg.eleve .msg-bubble {
  background: #0d2137;
  border-color: #1a4166;
  color: #79c0ff;
}

/* ── Rôle : correction positive ── */
.msg.correction {
  align-self: flex-start;
}
.msg.correction .msg-label {
  color: #3a9b6a;
}
.msg.correction .msg-bubble {
  background: #0d2b0d;
  border-color: #1a5c1a;
  color: #7ee787;
}

/* ── Rôle : correction négative / erreur ── */
.msg.erreur {
  align-self: flex-start;
}
.msg.erreur .msg-label {
  color: #c0392b;
}
.msg.erreur .msg-bubble {
  background: #2b0d0d;
  border-color: #5c1a1a;
  color: #f87171;
}

/* ── Rôle : système / info neutre ── */
.msg.systeme {
  align-self: center;
}
.msg.systeme .msg-label {
  text-align: center;
}
.msg.systeme .msg-bubble {
  background: transparent;
  border-color: var(--border);
  color: var(--text-muted);
  font-size: 11px;
  text-align: center;
}
