/* common.css — RAG 2.0 前端共享样式: 图标 / 动画 / Markdown / 暗色适配
   由各页 <head> 引入, 与页面内联 <style> 互补。 */

/* ── 内联 SVG 图标 ────────────────────────── */
.icon {
  width: 1em; height: 1em; vertical-align: -.125em; flex: none; display: inline-block;
}
.icon-spin { animation: rag-spin 1s linear infinite; }
@keyframes rag-spin { to { transform: rotate(360deg); } }

/* 原 Font Awesome 大尺寸处的尺寸迁移 */
.brand-icon .icon { width: 20px; height: 20px; }
.drop-zone .icon {
  width: 52px; height: 52px; color: #c3cbe0;
  transition: transform .3s, color .3s;
}
.drop-zone:hover .icon { transform: translateY(-4px) scale(1.06); color: var(--primary); }
.empty-tip .icon { width: 42px; height: 42px; opacity: .5; margin-bottom: 12px; }
.thinking .icon { color: var(--primary); }
.upload-zone .icon { width: 26px; height: 26px; color: var(--primary); display: block; margin: 0 auto 8px; }

/* ── Markdown 排版 ─────────────────────────── */
.markdown { font-size: 14px; line-height: 1.7; color: var(--text); word-break: break-word; }
.markdown > *:first-child { margin-top: 0; }
.markdown > *:last-child { margin-bottom: 0; }
.markdown h1, .markdown h2, .markdown h3, .markdown h4 {
  margin: 14px 0 8px; line-height: 1.3; font-weight: 700;
}
.markdown h1 { font-size: 1.35em; }
.markdown h2 { font-size: 1.2em; }
.markdown h3 { font-size: 1.08em; }
.markdown h4 { font-size: 1em; }
.markdown p { margin: 8px 0; }
.markdown ul, .markdown ol { margin: 8px 0; padding-left: 22px; }
.markdown li { margin: 4px 0; }
.markdown a { color: var(--primary); text-decoration: underline; }
.markdown blockquote {
  margin: 10px 0; padding: 6px 14px; border-left: 3px solid var(--primary);
  background: var(--gradient-soft); border-radius: 8px; color: var(--text-2);
}
.markdown code {
  background: rgba(79,110,247,.10); padding: 1px 6px; border-radius: 5px;
  font-size: .88em; font-family: ui-monospace, Consolas, monospace; color: var(--text);
}
.markdown pre {
  background: #1e2433; color: #d4d4d4; padding: 12px 14px; border-radius: 10px;
  overflow-x: auto; margin: 10px 0;
}
.markdown pre code { background: transparent; padding: 0; color: inherit; font-size: 13px; }
.markdown hr { border: none; border-top: 1px solid var(--border); margin: 14px 0; }
.markdown table { border-collapse: collapse; margin: 10px 0; width: 100%; }
.markdown th, .markdown td { border: 1px solid var(--border); padding: 6px 10px; font-size: 13px; }
.markdown th { background: var(--bg); font-weight: 600; }

/* 暗色适配 */
:root[data-theme="dark"] .markdown code { background: rgba(255,255,255,.10); color: #d4d9ea; }
:root[data-theme="dark"] .markdown blockquote { background: rgba(79,110,247,.12); }
