/* ===== bn-studio-chat.css =====
 * 对话式交互补丁（2026-10-19）
 * 只在 jz-body 作用域内生效，给消息气泡 / typing / 上传列表补齐样式。
 */

body.jz-body .jz-msgs > .jz-msg {
  display: flex;
  margin-bottom: 12px;
}
body.jz-body .jz-msg-me { justify-content: flex-end; }
body.jz-body .jz-msg-ai { justify-content: flex-start; }
body.jz-body .jz-msg-b {
  max-width: 78%;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.7;
  word-break: break-word;
}
body.jz-body .jz-msg-ai .jz-msg-b {
  background: #f2f6fc;
  color: #333;
  border-top-left-radius: 4px;
}
body.jz-body .jz-msg-me .jz-msg-b {
  background: #3b95ff;
  color: #fff;
  border-top-right-radius: 4px;
}
body.jz-body .jz-msg-ai .jz-msg-b .jz-btn {
  margin-top: 2px;
}

/* typing 三点 */
body.jz-body .jz-typing .jz-msg-b {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 14px 16px;
}
body.jz-body .jz-typing .jz-msg-b i {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #9aa4b5;
  animation: jz-blink 1.2s infinite ease-in-out;
}
body.jz-body .jz-typing .jz-msg-b i:nth-child(2) { animation-delay: .18s; }
body.jz-body .jz-typing .jz-msg-b i:nth-child(3) { animation-delay: .36s; }
@keyframes jz-blink {
  0%, 80%, 100% { opacity: .28; transform: translateY(0); }
  40% { opacity: 1; transform: translateY(-2px); }
}

/* 上传面板 */
body.jz-body .jz-up {
  border: 1px dashed #cfd9e6;
  border-radius: 10px;
  padding: 22px 16px;
  text-align: center;
  background: #fbfdff;
  cursor: pointer;
}
body.jz-body .jz-up-in { display: flex; flex-direction: column; align-items: center; gap: 6px; }
body.jz-body .jz-up-ico {
  width: 42px; height: 42px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #eaf2ff; color: #3b95ff;
  font-size: 20px; line-height: 1;
}
body.jz-body .jz-up-in b { font-size: 14px; color: #333; }
body.jz-body .jz-up-in p { margin: 0 0 6px; font-size: 12px; color: #8a94a6; line-height: 1.6; }

body.jz-body .jz-doc-list {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.jz-body .jz-doc-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid #e6ecf3;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
}
body.jz-body .jz-doc-item b { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
body.jz-body .jz-doc-item span { flex: 0 0 auto; color: #9aa4b5; font-size: 12px; }
body.jz-body .jz-doc-x {
  flex: 0 0 auto;
  width: 22px; height: 22px;
  border-radius: 50%;
  color: #9aa4b5;
  font-size: 15px;
  line-height: 1;
}
body.jz-body .jz-doc-x:hover { background: #f2f6fc; color: #e05c5c; }

body.jz-body .jz-doc-go {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

body.jz-body .jz-pane#jzPaneDoc { padding: 16px; overflow-y: auto; }
