/* ============================================================
   武侠江湖 · 烟雨江南（全实色，无透明）
   底 #fdf8f0 / 面 #faf4e8 / 分隔 #e8dcc8 / 弱面 #f5ede0
   朱砂 #8b1a1a · 暖金 #c4956a · 暖底 #fdf0e8
   墨 #2c1810 · 正文 #4a3728 · 弱字 #9a8070
   ============================================================ */

/* ---------- 动画池 ---------- */
@keyframes xm-plane-fly {
  0%   { left: -14%; opacity: 0; transform: translateY(4px) rotate(8deg); }
  14%  { opacity: 1; }
  50%  { transform: translateY(-5px) rotate(-7deg); }
  86%  { opacity: 1; }
  100% { left: 100%; opacity: 0; transform: translateY(3px) rotate(6deg); }
}
@keyframes xm-plane-trail {
  to { background-position: -12px 0; }
}

/* ===================== 全局盒模型 ===================== */
details, details * { box-sizing: border-box !important; }

/* ===================== 状态栏 · 卡片 ===================== */
details {
  position: relative !important;
  max-width: 100% !important;
  margin: 14px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid #e8dcc8 !important;
  border-top: 2px solid #8b1a1a !important;
  border-radius: 10px !important;
  background: #fdf8f0 !important;
  box-shadow: 0 1px 2px #ede4d4 !important;
  color: #2c1810 !important;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, "Segoe UI", Roboto, sans-serif !important;
  overflow-wrap: break-word !important;
}
details::before { content: none !important; display: none !important; }
details::after  { content: none !important; display: none !important; }

/* ===== 标题栏 ===== */
details > summary {
  position: relative !important;
  padding: 10px 14px 10px 30px !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none !important;
  overflow: hidden !important;
  border-radius: 8px 8px 0 0 !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  color: #2c1810 !important;
  background: #faf4e8 !important;
  border-bottom: 1px solid #ede4d4 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}
details > summary:hover { background: #f5ede0 !important; color: #1a0e08 !important; }
details > summary::-webkit-details-marker { display: none !important; }
details > summary::marker { content: "" !important; }

/* 折叠指示 · 朱砂三角 */
details > summary::before {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 50% !important;
  width: 6px !important;
  height: 6px !important;
  margin-top: -4px !important;
  border-right: 1.6px solid #8b1a1a !important;
  border-bottom: 1.6px solid #8b1a1a !important;
  transform: rotate(-45deg) !important;
  transition: transform 0.22s ease !important;
}
details[open] > summary::before {
  transform: rotate(45deg) !important;
  margin-top: -5px !important;
}

/* ===== 卡片内容 ===== */
details > *:not(summary):not(table) {
  padding: 0 14px !important;
  margin: 7px 0 !important;
  line-height: 1.75 !important;
  color: #4a3728 !important;
}
details > p { font-size: 14px !important; }
details[open] { padding-bottom: 10px !important; }

details strong, details b { color: #2c1810 !important; font-weight: 600 !important; }
details em, details i { color: #8b1a1a !important; font-style: normal !important; }
details code {
  background: #f5ede0 !important;
  color: #6b1212 !important;
  border: 1px solid #e0d4c0 !important;
  border-radius: 4px !important;
  padding: 1px 6px !important;
  font-size: 12.5px !important;
}
details blockquote {
  margin: 9px 14px !important;
  padding: 8px 14px !important;
  border: none !important;
  border-left: 3px solid #e8d0b0 !important;
  border-radius: 0 8px 8px 0 !important;
  background: #faf4e8 !important;
  color: #5a4030 !important;
}
details hr {
  border: none !important;
  height: 1px !important;
  margin: 12px 14px !important;
  background: #ede4d4 !important;
}
details ul, details ol { padding-left: 28px !important; margin: 6px 0 !important; }
details li { margin: 2px 0 !important; color: #4a3728 !important; line-height: 1.7 !important; }
details ul li::marker { color: #c4956a !important; }
details ol li::marker { color: #8b1a1a !important; font-weight: 600 !important; }

/* ===================== 表格 · 自身横向滚动 ===================== */
details table,
.markdown-body table {
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 8px !important;
  background: #fdf8f0 !important;
  box-shadow: none !important;
  font-size: 13px !important;
}
details table { max-width: calc(100% - 28px) !important; margin: 12px 14px !important; }
.markdown-body table { margin: 12px 0 !important; }

/* 单元格 · 禁止逐字换行 */
details th, details td,
.markdown-body th, .markdown-body td {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  max-width: none !important;
  vertical-align: middle !important;
  text-align: left !important;
}
details th, .markdown-body th {
  padding: 7px 12px !important;
  background: #f8f0e0 !important;
  color: #6b5040 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  border-bottom: 1px solid #e8dcc8 !important;
}
details td, .markdown-body td {
  padding: 7px 12px !important;
  color: #4a3728 !important;
  line-height: 1.6 !important;
  border-bottom: 1px solid #f0e8d8 !important;
}
details td:first-child, .markdown-body td:first-child {
  color: #2c1810 !important;
  font-weight: 600 !important;
}
details tbody tr { transition: background 0.18s ease !important; }
details tbody tr:nth-child(even) { background: #fdf5ec !important; }
details tbody tr:last-child td { border-bottom: none !important; }
details tbody tr:hover { background: #fdf0e8 !important; }
details tbody tr:hover td { color: #2c1810 !important; }

/* 表格滚动条 · 细窄 */
details table::-webkit-scrollbar,
.markdown-body table::-webkit-scrollbar { height: 6px !important; }
details table::-webkit-scrollbar-track,
.markdown-body table::-webkit-scrollbar-track { background: #f5ede0 !important; }
details table::-webkit-scrollbar-thumb,
.markdown-body table::-webkit-scrollbar-thumb {
  background: #d4b896 !important;
  border-radius: 999px !important;
}

/* ===================== 嵌套卡片 ===================== */
details details {
  overflow: visible !important;
  margin: 10px 14px !important;
  border: 1px solid #ede4d4 !important;
  border-top: 2px solid #c4956a !important;
  border-radius: 8px !important;
  background: #fdf5ec !important;
  box-shadow: none !important;
}
details details > summary {
  padding: 8px 12px 8px 28px !important;
  font-size: 13.5px !important;
  color: #3d2818 !important;
  background: #faf4e8 !important;
  border-radius: 6px 6px 0 0 !important;
}
details details > summary::before { left: 11px !important; }
details details table { max-width: calc(100% - 24px) !important; margin: 10px 12px !important; }

/* ==================== 移动端适配 ==================== */
@media (max-width: 640px) {
  details {
    overflow: visible !important;
    overflow-x: visible !important;
    margin: 12px 0 !important;
  }
  details > summary {
    padding: 9px 12px 9px 26px !important;
    font-size: 14px !important;
    letter-spacing: 0.3px !important;
  }
  details > summary::before { left: 10px !important; }

  details table {
    min-width: 0 !important;
    width: max-content !important;
    max-width: calc(100% - 20px) !important;
    margin: 10px 10px !important;
    font-size: 12.5px !important;
  }
  details th, details td { padding: 6px 10px !important; }

  details > *:not(summary):not(table) { padding: 0 10px !important; }
  details blockquote { margin: 8px 10px !important; }
  details hr { margin: 10px 10px !important; }
  details ul, details ol { padding-left: 24px !important; }

  details details { margin: 8px 10px !important; }
  details details > summary { padding-left: 26px !important; font-size: 13px !important; }
  details details table { max-width: calc(100% - 16px) !important; margin: 8px 8px !important; }
}

/* ===================== 顶部栏 ===================== */
.sticky.w-full.top-0.flex.items-center {
  background: #fdf8f0 !important;
  border-bottom: 1px solid #ede4d4 !important;
  box-shadow: 0 1px 0 #ede4d4 !important;
  font-family: "PingFang SC", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif !important;
}
.sticky.w-full.top-0.flex.items-center::after {
  content: none !important;
  display: none !important;
}

/* 模型选择器 */
#ai-model-selector .group.flex.items-center {
  padding: 2px 10px !important;
  background: #faf4e8 !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
#ai-model-selector .group.flex.items-center:hover {
  border-color: #d4b896 !important;
  background: #fdf0e8 !important;
}
#ai-model-selector .truncate.text-\[13px\] {
  color: #3d2818 !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}
#ai-model-selector .shrink-0.flex.items-center svg { color: #8b1a1a !important; stroke-width: 2 !important; }

/* 历史记录 */
.sticky.w-full.top-0 svg.lucide-clock-8 {
  color: #7a6050 !important;
  stroke-width: 2 !important;
  transition: color 0.2s ease !important;
}
.sticky.w-full.top-0 svg.lucide-clock-8:hover { color: #8b1a1a !important; }
.sticky.w-full.top-0 span.MuiBadge-dot.md\:hidden {
  background: #8b1a1a !important;
  border: none !important;
  box-shadow: 0 0 0 2px #fdf8f0 !important;
}

/* 音乐按钮 */
.sticky.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2 {
  color: #7a6050 !important;
  stroke-width: 2 !important;
  transition: color 0.2s ease !important;
}
.sticky.w-full.top-0 button.MuiIconButton-root:hover svg.lucide-music-2 { color: #8b1a1a !important; }

/* 设置按钮 */
#header-setting-button {
  background: #faf4e8 !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
#header-setting-button:hover { border-color: #d4b896 !important; background: #fdf0e8 !important; }
#header-setting-button svg {
  color: #6b5040 !important;
  stroke-width: 2 !important;
  transition: color 0.2s ease !important;
}
#header-setting-button:hover svg { color: #8b1a1a !important; }

/* ===================== 开场白选择器 ===================== */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
  background: #fdf8f0 !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
  border-color: #d4b896 !important;
  background: #fdf5ec !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"] { color: #8b1a1a !important; }
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="ChevronDown"] {
  color: #9a8070 !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover svg[data-icon="ChevronDown"] {
  transform: translateY(1px) !important;
  color: #8b1a1a !important;
}

/* ===================== 按钮栏 ===================== */
#ai-mod-button2 button.MuiButton-root {
  color: #3d2818 !important;
  background: #fdf8f0 !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  box-shadow: none !important;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
  color: #6b1212 !important;
  background: #fdf0e8 !important;
  border-color: #d4b896 !important;
}
#ai-mod-button2 button.MuiButton-root:active { background: #f5e0d0 !important; }
#ai-mod-button2 button.MuiButton-root svg { color: #8b1a1a !important; stroke-width: 2 !important; }

/* ===================== 底部输入区 ===================== */
.bg-gradient-to-t {
  background: #fdf8f0 !important;
  border-top: 1px solid #ede4d4 !important;
  box-shadow: none !important;
}
#ai-chat-bottom-input {
  border: 1px solid #e4d8c4 !important;
  border-radius: 12px !important;
  background: #fdf5ec !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
#ai-chat-bottom-input:focus-within {
  border-color: #c4956a !important;
  background: #fdf8f0 !important;
}
#ai-chat-input {
  color: #2c1810 !important;
  font-family: "PingFang SC", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif !important;
  letter-spacing: 0.2px !important;
}
#ai-chat-input::placeholder {
  color: #b8a090 !important;
  font-style: normal !important;
  letter-spacing: 0.4px !important;
}
#ai-chat-input::selection { background: #f0dfc0 !important; color: #1a0e08 !important; }

/* ===================== 分页 ===================== */
.MuiPaginationItem-root {
  color: #6b5040 !important;
  background: #fdf8f0 !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.MuiPaginationItem-root:hover {
  color: #6b1212 !important;
  border-color: #d4b896 !important;
  background: #fdf0e8 !important;
}
.MuiPaginationItem-root.Mui-selected {
  color: #fdf8f0 !important;
  background: #8b1a1a !important;
  border-color: #8b1a1a !important;
  box-shadow: none !important;
}
.MuiPaginationItem-root.Mui-disabled { color: #d0c0b0 !important; }
.MuiPaginationItem-icon { color: #9a8070 !important; }
.MuiStack-root.css-1uwir8f .MuiBox-root { color: #6b5040 !important; }
.MuiInputBase-input { color: #2c1810 !important; }

/* ===================== 评论区 ===================== */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
  background: #fdf8f0 !important;
  border-top: 1px solid #ede4d4 !important;
}
div.text-lg.font-bold {
  color: #2c1810 !important;
  font-weight: 600 !important;
  letter-spacing: 0.6px !important;
}
p.MuiTypography-body1.text-grey-600 { color: #6b5040 !important; }
span.MuiRating-iconEmpty svg { color: #e8dcc8 !important; }
span.MuiRating-iconFilled svg { color: #c4956a !important; }
span.text-orange-500 { color: #8b1a1a !important; font-weight: 600 !important; }

div.flex.flex-col.border-gray-200 {
  background: #fdf8f0 !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
textarea.rc-textarea {
  color: #2c1810 !important;
  background: #fdf8f0 !important;
  font-family: "PingFang SC", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif !important;
}
div.bg-gray-100.text-gray-500 {
  background: #f5ede0 !important;
  color: #6b5040 !important;
  border-radius: 999px !important;
}
div.cursor-pointer.group.flex.items-center.justify-center {
  background: #8b1a1a !important;
  border: none !important;
  border-radius: 8px !important;
  transition: background 0.2s ease !important;
}
div.cursor-pointer.group.flex.items-center.justify-center:hover { background: #6b1212 !important; }
div[data-state="closed"] svg[data-icon="Send03"] { color: #fdf8f0 !important; }

div.style_divider__mW0YX {
  border: none !important;
  height: 1px !important;
  background: #ede4d4 !important;
}

button.MuiButton-containedPrimary {
  color: #fdf8f0 !important;
  background: #8b1a1a !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  box-shadow: none !important;
}
button.MuiButton-containedPrimary:hover { background: #6b1212 !important; }
button.MuiButton-outlinedPrimary {
  color: #3d2818 !important;
  background: #fdf8f0 !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
}
button.MuiButton-outlinedPrimary:hover {
  color: #6b1212 !important;
  border-color: #d4b896 !important;
  background: #fdf0e8 !important;
}

div.group.ml-0 { transition: none !important; }
div.group img.rounded-full {
  border: 1px solid #ede4d4 !important;
  box-shadow: none !important;
}
div.text-sm.text-grey-600 span.font-bold { color: #2c1810 !important; font-weight: 600 !important; }
span.text-\[10px\] {
  padding: 1px 8px !important;
  border-radius: 999px !important;
  color: #8b1a1a !important;
  background: #fdf0e8 !important;
  border: 1px solid #f0d8c0 !important;
}
div.break-all { color: #4a3728 !important; }
div.text-xs.text-grey-600 { color: #9a8070 !important; }
button.text-gray-400 svg {
  color: #b8a090 !important;
  transition: color 0.2s ease !important;
}
button.text-gray-400:hover svg { color: #8b1a1a !important; }
span.cursor-pointer { color: #8b1a1a !important; font-weight: 500 !important; }
div.ml-8.border-l { border-left: 1px solid #ede4d4 !important; }

/* ===================== 聊天气泡 ===================== */
.bg-gray-100\/90.relative.inline-block {
  border: 1px solid #e8dcc8 !important;
  border-radius: 12px !important;
  background: #fdf8f0 !important;
  box-shadow: 0 1px 2px #ede4d4 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.bg-gray-100\/90.relative.inline-block:hover {
  border-color: #d4c4a8 !important;
  box-shadow: 0 2px 6px -2px #e0d4c0 !important;
}
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  background: #fdf5ec !important;
  border: 1px solid #e8d8c0 !important;
  border-left: 3px solid #8b1a1a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

/* ===== 气泡内文本 ===== */
.markdown-body {
  color: #4a3728 !important;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, "Segoe UI", Roboto, sans-serif !important;
  line-height: 1.8 !important;
  font-size: 14.5px !important;
  letter-spacing: 0.2px !important;
}
.markdown-body p { margin: 8px 0 !important; }
.markdown-body strong, .markdown-body b { color: #2c1810 !important; font-weight: 600 !important; }
.markdown-body em, .markdown-body i { color: #8b1a1a !important; font-style: normal !important; }
.markdown-body a {
  color: #8b1a1a !important;
  text-decoration: none !important;
  border-bottom: 1px solid #e8d0b0 !important;
}
.markdown-body blockquote {
  border: none !important;
  border-left: 3px solid #e8d0b0 !important;
  background: #faf4e8 !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 7px 14px !important;
  margin: 10px 0 !important;
  color: #5a4030 !important;
}
.markdown-body code {
  background: #f5ede0 !important;
  color: #6b1212 !important;
  border: 1px solid #e0d4c0 !important;
  border-radius: 4px !important;
  padding: 1px 6px !important;
}

/* ===================== 代码块 ===================== */
.markdown-body pre {
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fdf8f0 !important;
}
.markdown-body pre > div {
  border: 1px solid #e8dcc8 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fdf5ec !important;
  box-shadow: none !important;
}
.markdown-body pre > div > div.flex.justify-between.h-8,
.markdown-body pre > div > div.border-b {
  background: #f8f0e0 !important;
  border-color: #e8dcc8 !important;
}
.markdown-body pre > div > div.flex.justify-between > div.text-\[13px\],
.markdown-body pre > div > div.flex.justify-between > div:first-child {
  color: #7a6050 !important;
  letter-spacing: 0.8px !important;
  font-weight: 500 !important;
}
.markdown-body pre svg.lucide-copy,
.markdown-body pre div[data-tooltip-id^="copy-tooltip"] > svg {
  color: #b8a090 !important;
}
.markdown-body pre .group:hover svg.lucide-copy,
.markdown-body pre div[data-tooltip-id^="copy-tooltip"]:hover > svg {
  color: #8b1a1a !important;
}
.markdown-body pre > div > div[node] {
  background: #fdf5ec !important;
  color: #4a3728 !important;
  padding: 12px 14px !important;
}
.markdown-body pre code[class^="language-"] {
  color: #4a3728 !important;
  font-size: 12.8px !important;
  line-height: 1.7 !important;
}
.markdown-body pre > code[node] {
  display: block !important;
  padding: 12px 14px !important;
  border: 1px solid #e8dcc8 !important;
  border-radius: 10px !important;
  background: #fdf5ec !important;
  color: #4a3728 !important;
  font-size: 12.8px !important;
  line-height: 1.7 !important;
}

/* ===================== 底部附加元素 ===================== */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
  color: #7a6050 !important;
  border-radius: 8px !important;
  transition: color 0.2s ease, background 0.2s ease !important;
}
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
  color: #6b1212 !important;
  background: #fdf0e8 !important;
}
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 { color: #9a8070 !important; letter-spacing: 0.3px !important; }
.text-orange-500 { color: #8b1a1a !important; }

/* ===================== 加载动画 · 朱砂纸飞机 ===================== */
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text { display: none !important; }

.flex.items-center.justify-center.w-6.h-5 {
  position: relative !important;
  width: 100% !important;
  min-width: 112px !important;
  max-width: 160px !important;
  height: 32px !important;
  min-height: 32px !important;
  margin-left: 0 !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #fdf5ec !important;
  border: 1px solid #e8d8c0 !important;
}
.flex.items-center.justify-center.w-6.h-5::after {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  top: 50% !important;
  height: 2px !important;
  margin-top: -1px !important;
  border-radius: 2px !important;
  background-image: repeating-linear-gradient(90deg, #d4b896 0 6px, #f0e4d0 6px 12px) !important;
  background-size: 12px 2px !important;
  animation: xm-plane-trail 0.9s linear infinite !important;
  pointer-events: none !important;
}
.flex.items-center.justify-center.w-6.h-5::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: -14% !important;
  z-index: 2 !important;
  width: 20px !important;
  height: 20px !important;
  margin-top: -10px !important;
  pointer-events: none !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.4 2 L1.8 9.2 L10.6 12.9 Z' fill='%23e8b090'/%3E%3Cpath d='M22.4 2 L10.6 12.9 L14.4 21.8 Z' fill='%238b1a1a'/%3E%3Cpath d='M22.4 2 L10.6 12.9' stroke='%236b1212' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain !important;
  animation: xm-plane-fly 2.2s cubic-bezier(.45,.05,.55,.95) infinite !important;
}

@media (max-width: 480px) {
  .flex.items-center.justify-center.w-6.h-5 {
    min-width: 92px !important;
    max-width: 120px !important;
    height: 28px !important;
    min-height: 28px !important;
  }
  .flex.items-center.justify-center.w-6.h-5::before {
    width: 17px !important;
    height: 17px !important;
    margin-top: -8.5px !important;
  }
}

/* ===================== 角色对话 ===================== */
p.role-danlan,
p.role-danlan-thought,
p.role-lan,
p.role-zon,
p.role-qianhon,
p.role-hui {
  position: relative !important;
  margin: 12px 0 !important;
  padding: 11px 14px !important;
  border: 1px solid #e8dcc8 !important;
  border-left-width: 3px !important;
  border-left-style: solid !important;
  border-radius: 10px !important;
  background: #fdf8f0 !important;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.8 !important;
  letter-spacing: 0.2px !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
p.role-danlan::before,
p.role-danlan-thought::before,
p.role-lan::before,
p.role-zon::before,
p.role-qianhon::before,
p.role-hui::before {
  display: block !important;
  width: fit-content !important;
  margin: 0 0 6px !important;
  padding: 1px 8px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 1px !important;
  line-height: 1.6 !important;
  border-radius: 999px !important;
  background: #fdf8f0 !important;
}
p.role-danlan::after,
p.role-danlan-thought::after,
p.role-lan::after,
p.role-zon::after,
p.role-qianhon::after,
p.role-hui::after { content: none !important; display: none !important; }

/* 侠客 · 朱砂 */
p.role-danlan { border-left-color: #8b1a1a !important; color: #3d2818 !important; }
p.role-danlan::before {
  content: "玩家" !important;
  color: #6b1212 !important;
  background: #fdf0e8 !important;
  border: 1px solid #f0d8c0 !important;
}
p.role-danlan:hover { border-color: #f0d8c0 !important; background: #fdf5ec !important; }

/* 心法 · 靛青 */
p.role-danlan-thought {
  border-left-color: #4a6b8b !important;
  color: #2c3848 !important;
  background: #f5f8fc !important;
}
p.role-danlan-thought::before {
  content: "玩家心声" !important;
  color: #3a5878 !important;
  background: #edf2f8 !important;
  border: 1px solid #d8e4f0 !important;
}
p.role-danlan-thought:hover { border-color: #d8e4f0 !important; }

/* 内功 · 松绿 */
p.role-lan {
  border-left-color: #3a7a5a !important;
  color: #2a3d30 !important;
  background: #f5faf7 !important;
}
p.role-lan::before {
  content: "心声" !important;
  color: #2e6448 !important;
  background: #eaf5ef !important;
  border: 1px solid #d0e8da !important;
}
p.role-lan:hover { border-color: #d0e8da !important; }

/* 剑客 · 铁灰 */
p.role-zon { border-left-color: #5a5048 !important; color: #3a3028 !important; }
p.role-zon::before {
  content: "男" !important;
  color: #4a4038 !important;
  background: #f2ede8 !important;
  border: 1px solid #e0d8d0 !important;
}
p.role-zon:hover { border-color: #e0d8d0 !important; background: #faf7f4 !important; }

/* 佳人 · 胭脂 */
p.role-qianhon { border-left-color: #b04870 !important; color: #4a2838 !important; }
p.role-qianhon::before {
  content: "女" !important;
  color: #983860 !important;
  background: #fdf0f4 !important;
  border: 1px solid #f0d8e4 !important;
}
p.role-qianhon:hover { border-color: #f0d8e4 !important; background: #fffbfc !important; }

/* 门派 · 琥珀 */
p.role-hui { border-left-color: #a07020 !important; color: #4a3820 !important; }
p.role-hui::before {
  content: "职业角色" !important;
  color: #886018 !important;
  background: #fdf5e0 !important;
  border: 1px solid #f0e0b0 !important;
}
p.role-hui:hover { border-color: #f0e0b0 !important; background: #fffdf5 !important; }

p.role-danlan strong, p.role-danlan-thought strong,
p.role-lan strong, p.role-zon strong,
p.role-qianhon strong, p.role-hui strong {
  color: #2c1810 !important;
  font-weight: 600 !important;
}
p.role-danlan code, p.role-danlan-thought code,
p.role-lan code, p.role-zon code,
p.role-qianhon code, p.role-hui code {
  background: #f5ede0 !important;
  color: #6b1212 !important;
  border: 1px solid #e0d4c0 !important;
  border-radius: 4px !important;
  padding: 1px 6px !important;
}

@media (max-width: 640px) {
  .markdown-body { font-size: 14px !important; line-height: 1.78 !important; }
  p.role-danlan, p.role-danlan-thought, p.role-lan,
  p.role-zon, p.role-qianhon, p.role-hui {
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    font-size: 14px !important;
  }
}

/* ===================== 低动效偏好 ===================== */
@media (prefers-reduced-motion: reduce) {
  .flex.items-center.justify-center.w-6.h-5::before {
    animation: none !important;
    left: 42% !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .flex.items-center.justify-center.w-6.h-5::after { animation: none !important; }
  details > summary::before,
  details[open] > summary::before { transition: none !important; }
  details tbody tr { transition: none !important; }
}
