/* 基础 */
.coze-rich, .coze-card, .coze-btn, .coze-ul, .coze-ol, .coze-p, .coze-link, .coze-code, .coze-pre {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, 'Helvetica Neue', Arial, sans-serif;
  color: #1f2937;
}

/* 统一左对齐，确保 emoji 行及其后内容居左 */
.coze-rich { text-align: left; }

/* 智能换行 - 当内容包含icon或非文本元素时 */
.coze-smart-wrap {
  word-wrap: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  line-break: auto;
}

/* 针对包含emoji和icon的内容优化 */
.coze-smart-wrap p,
.coze-smart-wrap .coze-p {
  word-spacing: 0.1em;
  letter-spacing: 0.02em;
}

/* 确保图片和icon不会破坏布局 */
.coze-smart-wrap img,
.coze-smart-wrap .coze-img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

/* 对于包含大量emoji的文本，增加行高 */
.coze-smart-wrap {
  line-height: 1.7;
}

/* emoji/icon 换行分隔：在换行处增加段前后间距 */
.coze-rich br.emoji-line-break,
.coze-smart-wrap br.emoji-line-break {
  display: block;
  margin-top: 16px; /* 与前一行的间距 */
  margin-bottom: 14px; /* 与后一行的间距（保持原值） */
}

/* 段落与文本 */
.coze-p { margin: 10px 0; line-height: 1.6; }
.coze-bold { font-weight: 700; }
.coze-link { color: #1d4ed8; text-decoration: underline; }
.coze-code { background: #f5f5f5; border-radius: 4px; padding: 0 4px; }
.coze-pre { background: #f5f5f5; border-radius: 6px; padding: 10px; overflow: auto; margin: 10px 0; }
.coze-hr { border: 0; border-top: 1px solid #e5e7eb; margin: 12px 0; }
.coze-quote { border-left: 3px solid #e5e7eb; padding-left: 10px; color: #374151; margin: 12px 0; }
.coze-ul, .coze-ol { margin: 0 0 12px; padding-left: 1.2em; }
.coze-ul li, .coze-ol li { margin: 4px 0; }

/* 标题 */
.coze-h { font-weight: 600; line-height: 1.35; margin: 14px 0 8px; }
.coze-h1 { font-size: 24px; }
.coze-h2 { font-size: 22px; }
.coze-h3 { font-size: 20px; }
.coze-h4 { font-size: 18px; }
.coze-h5 { font-size: 16px; }
.coze-h6 { font-size: 14px; color: #374151; }

/* 媒体 */
.coze-figure { margin: 12px 0; }
.coze-img { max-width: 100%; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); cursor: zoom-in; transition: transform 180ms ease, box-shadow 180ms ease; }
.coze-img-zoom { transform: scale(1.08); box-shadow: 0 8px 20px rgba(0,0,0,0.12); cursor: zoom-out; }
.coze-figcap { font-size: 12px; color: #6b7280; margin-top: 6px; }
.coze-video-wrap, .coze-audio-wrap { margin: 12px 0; }
.coze-video, .coze-audio { width: 100%; border-radius: 8px; }

/* 卡片 */
.coze-card { display: flex; gap: 12px; background: #ffffff; border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 6px 16px rgba(0,0,0,0.08); overflow: hidden; }
.coze-card-img { width: 120px; height: 120px; object-fit: cover; }
.coze-card-body { padding: 12px; flex: 1; }
.coze-card-title { font-weight: 700; font-size: 16px; margin-bottom: 4px; }
.coze-card-subtitle { color: #6b7280; font-size: 13px; margin-bottom: 8px; }
.coze-card-desc { color: #374151; line-height: 1.5; margin-bottom: 10px; }
.coze-card-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.coze-card-field { display: flex; gap: 6px; }
.coze-card-field-key { color: #6b7280; min-width: 80px; }
.coze-card-field-val { color: #111827; }

/* 操作 */
.coze-card-actions, .coze-btn-row { display: flex; gap: 8px; flex-wrap: wrap; }
.coze-btn { background: #0ea5e9; color: #ffffff; border: none; border-radius: 10px; padding: 8px 12px; font-weight: 600; cursor: pointer; transition: transform 120ms ease, background 120ms ease; }
.coze-btn:hover { background: #0284c7; transform: translateY(-1px); }
.coze-btn:active, .coze-btn.coze-btn-active { background: #0369a1; transform: translateY(0); }