/* ============================================================
   晨光学院 · 水彩植物派（全实色明亮版，无深色）
   底 #FAF8F3 / 面 #FDFCF8 / 分隔 #E8E2D5 / 弱面 #F5F1E8
   鼠尾草 #7BA894 · 浅鼠尾 #C5DCD0 · 草底 #EDF5F0
   薰衣草 #B8A9D9 · 浅薰 #DDD4ED · 薰底 #F3EFFA
   豆沙粉 #E8B4B8 · 蜂蜜金 #D4A574 · 天青 #8FB8D4
   墨 #4A5568 · 正文 #6B7280 · 弱字 #A0A6B0
   ------------------------------------------------------------
   创新点：水彩植物配色 / 植物纹章标题 / 柔和渐变边框
           墨水晕染加载 / 双细线引用 / 奶油斑马表格
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&family=Noto+Serif+SC:wght@400;500;600;700&family=Ma+Shan+Zheng&display=swap');
/* ---------- 动画池 ---------- */
@keyframes xm-ink-spread {
  0%   { transform: scale(0.3); opacity: 0; }
  30%  { opacity: 0.6; }
  70%  { transform: scale(1.4); opacity: 0.3; }
  100% { transform: scale(1.8); opacity: 0; }
}
@keyframes xm-leaf-sway {
  0%, 100% { transform: rotate(-8deg); }
  50%      { transform: rotate(8deg); }
}
@keyframes xm-text-fade {
  0%   { opacity: 0; letter-spacing: 4px; }
  50%  { opacity: 1; letter-spacing: 2px; }
  85%  { opacity: 1; letter-spacing: 2px; }
  100% { opacity: 0; letter-spacing: 0px; }
}
@keyframes xm-write-text {
  0%   { clip-path: inset(0 100% 0 0); -webkit-clip-path: inset(0 100% 0 0); opacity: 1; }
  70%  { clip-path: inset(0 0 0 0); -webkit-clip-path: inset(0 0 0 0); opacity: 1; }
  85%  { clip-path: inset(0 0 0 0); -webkit-clip-path: inset(0 0 0 0); opacity: 1; }
  100% { clip-path: inset(0 0 0 0); -webkit-clip-path: inset(0 0 0 0); opacity: 0; }
}
/* ===================== 全局盒模型 ===================== */
details, details * { box-sizing: border-box !important; }
/* ===================== 状态栏 · 卡片 ===================== */
details {
  position: relative !important;
  max-width: 100% !important;
  margin: 16px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid #E0D8C8 !important;
  border-top: 3px solid transparent !important;
  border-image: linear-gradient(90deg, #7BA894 0%, #B8A9D9 50%, #E8B4B8 100%) 1 !important;
  border-radius: 14px !important;
  background: #FAF8F3 !important;
  box-shadow: 0 2px 12px rgba(123,168,148,0.08), 0 1px 3px rgba(0,0,0,0.03) !important;
  color: #4A5568 !important;
  font-family: "Noto Serif SC", "Source Han Serif SC", "思源宋体", serif !important;
  overflow-wrap: break-word !important;
  background-image:
    radial-gradient(ellipse at 15% 20%, rgba(123,168,148,0.04) 0%, transparent 40%),
    radial-gradient(ellipse at 85% 80%, rgba(184,169,217,0.04) 0%, transparent 40%),
    radial-gradient(ellipse at 50% 50%, rgba(232,180,184,0.02) 0%, transparent 60%) !important;
}
details::before { content: none !important; display: none !important; }
details::after  { content: none !important; display: none !important; }
/* ===== 标题栏 · 植物纹章 ===== */
details > summary {
  position: relative !important;
  padding: 12px 16px 12px 38px !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  color: #4A5568 !important;
  background: linear-gradient(135deg, #FDFCF8 0%, #F5F1E8 100%) !important;
  border-bottom: 1px dashed #D8CFBE !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  transition: background 0.25s ease, color 0.25s ease !important;
}
/* 标题栏左侧植物纹章（小叶子） */
details > summary::after {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 14px !important;
  height: 14px !important;
  margin-top: -7px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8 6 5 10 5 15C5 19 8 22 12 22C16 22 19 19 19 15C19 10 16 6 12 2Z' fill='%237BA894' opacity='0.7'/%3E%3Cpath d='M12 6V20' stroke='%235A8A76' stroke-width='1'/%3E%3C/svg%3E") no-repeat center / contain !important;
  pointer-events: none !important;
  animation: xm-leaf-sway 3s ease-in-out infinite !important;
  transform-origin: bottom center !important;
}
details > summary:hover {
  background: linear-gradient(135deg, #F5F1E8 0%, #EDF5F0 100%) !important;
  color: #3D4A5C !important;
}
details > summary::-webkit-details-marker { display: none !important; }
details > summary::marker { content: "" !important; }
/* 折叠指示 · 鼠尾草绿圆点 */
details > summary::before {
  content: "" !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  margin-top: -4px !important;
  background: #7BA894 !important;
  border-radius: 50% !important;
  transition: transform 0.25s ease, background 0.25s ease !important;
}
details[open] > summary::before {
  transform: rotate(45deg) scale(1.3) !important;
  background: #B8A9D9 !important;
  border-radius: 2px !important;
}
/* ===== 卡片内容 ===== */
details > *:not(summary):not(table) {
  padding: 0 16px !important;
  margin: 8px 0 !important;
  line-height: 1.85 !important;
  color: #6B7280 !important;
}
details > p { font-size: 14px !important; }
details[open] { padding-bottom: 12px !important; }
details strong, details b {
  color: #4A5568 !important;
  font-weight: 600 !important;
  background: linear-gradient(transparent 60%, rgba(232,180,184,0.3) 60%) !important;
  padding: 0 2px !important;
}
details em, details i {
  color: #7BA894 !important;
  font-style: italic !important;
}
details code {
  background: #F5F1E8 !important;
  color: #5A8A76 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 6px !important;
  padding: 1px 7px !important;
  font-size: 12.5px !important;
}
details blockquote {
  margin: 10px 16px !important;
  padding: 10px 16px !important;
  border: none !important;
  border-left: 3px double #B8A9D9 !important;
  border-radius: 0 10px 10px 0 !important;
  background: linear-gradient(90deg, #F3EFFA 0%, #FAF8F3 100%) !important;
  color: #6B7280 !important;
  font-style: italic !important;
}
details hr {
  border: none !important;
  height: 1px !important;
  margin: 14px 16px !important;
  background: linear-gradient(90deg, transparent 0%, #D8CFBE 20%, #B8A9D9 50%, #D8CFBE 80%, transparent 100%) !important;
}
details ul, details ol { padding-left: 28px !important; margin: 6px 0 !important; }
details li { margin: 3px 0 !important; color: #6B7280 !important; line-height: 1.75 !important; }
details ul li::marker { color: #7BA894 !important; content: "❀ " !important; }
details ol li::marker { color: #B8A9D9 !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 #E0D8C8 !important;
  border-radius: 12px !important;
  background: #FAF8F3 !important;
  box-shadow: 0 2px 8px rgba(123,168,148,0.06) !important;
  font-size: 13px !important;
}
details table { max-width: calc(100% - 32px) !important; margin: 14px 16px !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: 9px 14px !important;
  background: linear-gradient(135deg, #EDF5F0 0%, #F3EFFA 100%) !important;
  color: #5A7A6A !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  border-bottom: 2px solid #C5DCD0 !important;
}
details td, .markdown-body td {
  padding: 8px 14px !important;
  color: #6B7280 !important;
  line-height: 1.65 !important;
  border-bottom: 1px solid #EDE7DA !important;
}
details td:first-child, .markdown-body td:first-child {
  color: #4A5568 !important;
  font-weight: 600 !important;
}
details tbody tr { transition: background 0.2s ease !important; }
details tbody tr:nth-child(even) { background: #FDFCF8 !important; }
details tbody tr:nth-child(odd) { background: #FAF8F3 !important; }
details tbody tr:last-child td { border-bottom: none !important; }
details tbody tr:hover { background: #F3EFFA !important; }
details tbody tr:hover td { color: #4A5568 !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: #F5F1E8 !important; border-radius: 999px !important; }
details table::-webkit-scrollbar-thumb,
.markdown-body table::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #C5DCD0, #DDD4ED) !important;
  border-radius: 999px !important;
}
/* ===================== 嵌套卡片 ===================== */
details details {
  overflow: visible !important;
  margin: 12px 16px !important;
  border: 1px solid #E0D8C8 !important;
  border-top: 2px solid transparent !important;
  border-image: linear-gradient(90deg, #E8B4B8 0%, #D4A574 100%) 1 !important;
  border-radius: 12px !important;
  background: #FDFCF8 !important;
  box-shadow: 0 1px 6px rgba(184,169,217,0.08) !important;
  background-image: none !important;
}
details details > summary {
  padding: 9px 14px 9px 34px !important;
  font-size: 13.5px !important;
  color: #5A6A7A !important;
  background: linear-gradient(135deg, #F5F1E8 0%, #FAF8F3 100%) !important;
  border-radius: 10px 10px 0 0 !important;
  letter-spacing: 0.8px !important;
}
details details > summary::after {
  left: 12px !important;
  width: 12px !important;
  height: 12px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5' fill='%23E8B4B8' opacity='0.6'/%3E%3Cpath d='M12 4V8M12 16V20M4 12H8M16 12H20' stroke='%23D4A574' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
details details > summary::before { right: 14px !important; }
details details table { max-width: calc(100% - 28px) !important; margin: 10px 14px !important; }
/* ==================== 移动端适配 ==================== */
@media (max-width: 640px) {
  details { margin: 12px 0 !important; border-radius: 12px !important; }
  details > summary { padding: 10px 14px 10px 34px !important; font-size: 14px !important; letter-spacing: 0.6px !important; }
  details > summary::after { left: 12px !important; width: 12px !important; height: 12px !important; }
  details > summary::before { right: 14px !important; }
  details table { max-width: calc(100% - 20px) !important; margin: 10px 10px !important; font-size: 12.5px !important; }
  details th, details td { padding: 7px 10px !important; }
  details > *:not(summary):not(table) { padding: 0 12px !important; }
  details blockquote { margin: 8px 12px !important; }
  details hr { margin: 10px 12px !important; }
  details ul, details ol { padding-left: 24px !important; }
  details details { margin: 8px 12px !important; }
  details details > summary { padding-left: 30px !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: #FAF8F3 !important;
  border-bottom: 1px solid #E0D8C8 !important;
  box-shadow: 0 1px 4px rgba(123,168,148,0.05) !important;
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", 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: #FDFCF8 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}
#ai-model-selector .group.flex.items-center:hover {
  border-color: #C5DCD0 !important;
  background: #EDF5F0 !important;
}
#ai-model-selector .truncate.text-\[13px\] {
  color: #4A5568 !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}
#ai-model-selector .shrink-0.flex.items-center svg { color: #7BA894 !important; stroke-width: 2 !important; }
.sticky.w-full.top-0 svg.lucide-clock-8 {
  color: #8B95A5 !important;
  stroke-width: 2 !important;
  transition: color 0.2s ease !important;
}
.sticky.w-full.top-0 svg.lucide-clock-8:hover { color: #7BA894 !important; }
.sticky.w-full.top-0 span.MuiBadge-dot.md\:hidden {
  background: #E8B4B8 !important;
  border: none !important;
  box-shadow: 0 0 0 2px #FAF8F3 !important;
}
.sticky.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2 {
  color: #8B95A5 !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: #B8A9D9 !important; }
#header-setting-button {
  background: #FDFCF8 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}
#header-setting-button:hover { border-color: #DDD4ED !important; background: #F3EFFA !important; }
#header-setting-button svg { color: #8B95A5 !important; stroke-width: 2 !important; transition: color 0.2s ease !important; }
#header-setting-button:hover svg { color: #B8A9D9 !important; }
/* ===================== 开场白选择器 ===================== */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
  background: #FAF8F3 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
  border-color: #C5DCD0 !important;
  background: #EDF5F0 !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"] { color: #7BA894 !important; }
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="ChevronDown"] {
  color: #A0A6B0 !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: #7BA894 !important;
}
/* ===================== 按钮栏 ===================== */
#ai-mod-button2 button.MuiButton-root {
  color: #4A5568 !important;
  background: #FAF8F3 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
  color: #5A8A76 !important;
  background: #EDF5F0 !important;
  border-color: #C5DCD0 !important;
}
#ai-mod-button2 button.MuiButton-root:active { background: #C5DCD0 !important; }
#ai-mod-button2 button.MuiButton-root svg { color: #7BA894 !important; stroke-width: 2 !important; }
/* ===================== 底部输入区 ===================== */
.bg-gradient-to-t {
  background: #FAF8F3 !important;
  border-top: 1px solid #E0D8C8 !important;
  box-shadow: none !important;
}
#ai-chat-bottom-input {
  border: 1px solid #D8CFBE !important;
  border-radius: 14px !important;
  background: #FDFCF8 !important;
  box-shadow: 0 2px 8px rgba(123,168,148,0.05) !important;
  transition: all 0.25s ease !important;
}
#ai-chat-bottom-input:focus-within {
  border-color: #C5DCD0 !important;
  background: #FAF8F3 !important;
  box-shadow: 0 2px 12px rgba(123,168,148,0.12) !important;
}
#ai-chat-input {
  color: #4A5568 !important;
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  letter-spacing: 0.2px !important;
}
#ai-chat-input::placeholder { color: #B0B6C0 !important; font-style: normal !important; letter-spacing: 0.4px !important; }
#ai-chat-input::selection { background: #DDD4ED !important; color: #4A5568 !important; }
/* ===================== 分页 ===================== */
.MuiPaginationItem-root {
  color: #6B7280 !important;
  background: #FAF8F3 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 10px !important;
  font-weight: 500 !important;
  transition: all 0.25s ease !important;
}
.MuiPaginationItem-root:hover {
  color: #5A8A76 !important;
  border-color: #C5DCD0 !important;
  background: #EDF5F0 !important;
}
.MuiPaginationItem-root.Mui-selected {
  color: #FAF8F3 !important;
  background: linear-gradient(135deg, #7BA894 0%, #B8A9D9 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 2px 8px rgba(123,168,148,0.25) !important;
}
.MuiPaginationItem-root.Mui-disabled { color: #C5C9D0 !important; }
.MuiPaginationItem-icon { color: #A0A6B0 !important; }
.MuiStack-root.css-1uwir8f .MuiBox-root { color: #6B7280 !important; }
.MuiInputBase-input { color: #4A5568 !important; }
/* ===================== 评论区 ===================== */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
  background: #FAF8F3 !important;
  border-top: 1px solid #E0D8C8 !important;
}
div.text-lg.font-bold {
  color: #4A5568 !important;
  font-weight: 600 !important;
  letter-spacing: 0.6px !important;
}
p.MuiTypography-body1.text-grey-600 { color: #6B7280 !important; }
span.MuiRating-iconEmpty svg { color: #E0D8C8 !important; }
span.MuiRating-iconFilled svg { color: #D4A574 !important; }
span.text-orange-500 { color: #7BA894 !important; font-weight: 600 !important; }
div.flex.flex-col.border-gray-200 {
  background: #FAF8F3 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 8px rgba(123,168,148,0.06) !important;
}
textarea.rc-textarea {
  color: #4A5568 !important;
  background: #FAF8F3 !important;
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
div.bg-gray-100.text-gray-500 {
  background: #F5F1E8 !important;
  color: #6B7280 !important;
  border-radius: 999px !important;
}
div.cursor-pointer.group.flex.items-center.justify-center {
  background: linear-gradient(135deg, #7BA894 0%, #B8A9D9 100%) !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(123,168,148,0.2) !important;
  transition: all 0.25s ease !important;
}
div.cursor-pointer.group.flex.items-center.justify-center:hover {
  box-shadow: 0 3px 12px rgba(123,168,148,0.35) !important;
  transform: translateY(-1px) !important;
}
div[data-state="closed"] svg[data-icon="Send03"] { color: #FAF8F3 !important; }
div.style_divider__mW0YX {
  border: none !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, #E0D8C8, transparent) !important;
}
button.MuiButton-containedPrimary {
  color: #FAF8F3 !important;
  background: linear-gradient(135deg, #7BA894 0%, #B8A9D9 100%) !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  box-shadow: 0 2px 8px rgba(123,168,148,0.2) !important;
  transition: all 0.25s ease !important;
}
button.MuiButton-containedPrimary:hover {
  box-shadow: 0 3px 12px rgba(123,168,148,0.3) !important;
  transform: translateY(-1px) !important;
}
button.MuiButton-outlinedPrimary {
  color: #5A8A76 !important;
  background: #FAF8F3 !important;
  border: 1px solid #C5DCD0 !important;
  border-radius: 10px !important;
  font-weight: 500 !important;
  transition: all 0.25s ease !important;
}
button.MuiButton-outlinedPrimary:hover {
  color: #7BA894 !important;
  border-color: #7BA894 !important;
  background: #EDF5F0 !important;
}
div.group.ml-0 { transition: none !important; }
div.group img.rounded-full {
  border: 2px solid #C5DCD0 !important;
  box-shadow: 0 1px 4px rgba(123,168,148,0.1) !important;
}
div.text-sm.text-grey-600 span.font-bold { color: #4A5568 !important; font-weight: 600 !important; }
span.text-\[10px\] {
  padding: 2px 10px !important;
  border-radius: 999px !important;
  color: #5A8A76 !important;
  background: #EDF5F0 !important;
  border: 1px solid #C5DCD0 !important;
  font-weight: 500 !important;
}
div.break-all { color: #6B7280 !important; }
div.text-xs.text-grey-600 { color: #A0A6B0 !important; }
button.text-gray-400 svg { color: #B0B6C0 !important; transition: color 0.2s ease !important; }
button.text-gray-400:hover svg { color: #7BA894 !important; }
span.cursor-pointer { color: #7BA894 !important; font-weight: 500 !important; }
div.ml-8.border-l { border-left: 1px solid #E0D8C8 !important; }
/* ===================== 聊天气泡 ===================== */
.bg-gray-100\/90.relative.inline-block {
  border: 1px solid #E0D8C8 !important;
  border-radius: 14px !important;
  background: #FAF8F3 !important;
  box-shadow: 0 2px 10px rgba(123,168,148,0.06) !important;
  transition: all 0.25s ease !important;
}
.bg-gray-100\/90.relative.inline-block:hover {
  border-color: #C5DCD0 !important;
  box-shadow: 0 4px 16px rgba(123,168,148,0.1) !important;
}
/* 用户侧气泡（鼠尾草绿渐变左边框） */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  background: linear-gradient(135deg, #FDFCF8 0%, #EDF5F0 100%) !important;
  border: 1px solid #D8E8DF !important;
  border-left: 3px solid #7BA894 !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 8px rgba(123,168,148,0.08) !important;
}
/* ===== 气泡内文本 ===== */
.markdown-body {
  color: #6B7280 !important;
  font-family: "Noto Serif SC", "Source Han Serif SC", "思源宋体", serif !important;
  line-height: 1.9 !important;
  font-size: 14.5px !important;
  letter-spacing: 0.3px !important;
}
.markdown-body p { margin: 8px 0 !important; }
.markdown-body strong, .markdown-body b {
  color: #4A5568 !important;
  font-weight: 600 !important;
  background: linear-gradient(transparent 60%, rgba(232,180,184,0.3) 60%) !important;
  padding: 0 2px !important;
}
.markdown-body em, .markdown-body i { color: #7BA894 !important; font-style: italic !important; }
.markdown-body a {
  color: #7BA894 !important;
  text-decoration: none !important;
  border-bottom: 1px dashed #C5DCD0 !important;
  transition: all 0.2s ease !important;
}
.markdown-body a:hover { color: #5A8A76 !important; border-bottom-color: #7BA894 !important; }
.markdown-body blockquote {
  border: none !important;
  border-left: 3px double #B8A9D9 !important;
  background: linear-gradient(90deg, #F3EFFA 0%, #FAF8F3 100%) !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 8px 16px !important;
  margin: 10px 0 !important;
  color: #6B7280 !important;
  font-style: italic !important;
}
.markdown-body code {
  background: #F5F1E8 !important;
  color: #5A8A76 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 6px !important;
  padding: 1px 7px !important;
}
/* ===================== 代码块 ===================== */
.markdown-body pre {
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #FAF8F3 !important;
}
.markdown-body pre > div {
  border: 1px solid #E0D8C8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #FDFCF8 !important;
  box-shadow: 0 2px 8px rgba(123,168,148,0.06) !important;
}
.markdown-body pre > div > div.flex.justify-between.h-8,
.markdown-body pre > div > div.border-b {
  background: linear-gradient(135deg, #EDF5F0 0%, #F3EFFA 100%) !important;
  border-color: #E0D8C8 !important;
}
.markdown-body pre > div > div.flex.justify-between > div.text-\[13px\],
.markdown-body pre > div > div.flex.justify-between > div:first-child {
  color: #5A8A76 !important;
  letter-spacing: 1px !important;
  font-weight: 600 !important;
}
.markdown-body pre svg.lucide-copy,
.markdown-body pre div[data-tooltip-id^="copy-tooltip"] > svg { color: #A0A6B0 !important; }
.markdown-body pre .group:hover svg.lucide-copy,
.markdown-body pre div[data-tooltip-id^="copy-tooltip"]:hover > svg { color: #7BA894 !important; }
.markdown-body pre > div > div[node] {
  background: #FDFCF8 !important;
  color: #6B7280 !important;
  padding: 14px 16px !important;
}
.markdown-body pre code[class^="language-"] {
  color: #6B7280 !important;
  font-size: 12.8px !important;
  line-height: 1.75 !important;
}
.markdown-body pre > code[node] {
  display: block !important;
  padding: 14px 16px !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 12px !important;
  background: #FDFCF8 !important;
  color: #6B7280 !important;
  font-size: 12.8px !important;
  line-height: 1.75 !important;
}
/* ===================== 底部附加元素 ===================== */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
  color: #8B95A5 !important;
  border-radius: 10px !important;
  transition: all 0.25s ease !important;
}
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
  color: #5A8A76 !important;
  background: #EDF5F0 !important;
}
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 { color: #A0A6B0 !important; letter-spacing: 0.3px !important; }
.text-orange-500 { color: #7BA894 !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: 260px !important;
  max-width: 340px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin-left: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #FDFCF8 0%, #F5F1E8 100%) !important;
  border: 1px solid #E0D8C8 !important;
  box-shadow: 0 2px 10px rgba(123,168,148,0.08) !important;
}
/* 文字淡入淡出 */
.flex.items-center.justify-center.w-6.h-5::after {
  content: "晨读中，稍候片刻…" !important;
  position: absolute !important;
  display: block !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-family: "Ma Shan Zheng", "Noto Serif SC", "楷体", cursive !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #5A8A76 !important;
  white-space: nowrap !important;
  letter-spacing: 3px !important;
  line-height: 1 !important;
  animation: xm-text-fade 3s ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
/* 墨水晕染圆点（左侧） */
.flex.items-center.justify-center.w-6.h-5::before {
  content: "" !important;
  position: absolute !important;
  left: 20px !important;
  top: 50% !important;
  z-index: 1 !important;
  width: 10px !important;
  height: 10px !important;
  margin-top: -5px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, #7BA894 0%, #B8A9D9 60%, transparent 100%) !important;
  pointer-events: none !important;
  animation: xm-ink-spread 2s ease-out infinite !important;
}
@keyframes xm-ink-spread {
  0%   { transform: scale(0.3); opacity: 0; left: 20px; }
  20%  { opacity: 0.7; }
  60%  { transform: scale(2); opacity: 0.3; left: 60px; }
  100% { transform: scale(3.5); opacity: 0; left: 100px; }
}
@keyframes xm-text-fade {
  0%   { opacity: 0; letter-spacing: 6px; }
  30%  { opacity: 1; letter-spacing: 3px; }
  70%  { opacity: 1; letter-spacing: 3px; }
  100% { opacity: 0; letter-spacing: 0px; }
}
@media (max-width: 480px) {
  .flex.items-center.justify-center.w-6.h-5 {
    min-width: 220px !important;
    max-width: 260px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  .flex.items-center.justify-center.w-6.h-5::after { font-size: 15px !important; letter-spacing: 2px !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: 12px 16px !important;
  border: 1px solid #E0D8C8 !important;
  border-left-width: 3px !important;
  border-left-style: solid !important;
  border-radius: 12px !important;
  background: #FAF8F3 !important;
  font-family: "Noto Serif SC", "思源宋体", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.85 !important;
  letter-spacing: 0.3px !important;
  box-shadow: 0 1px 4px rgba(123,168,148,0.05) !important;
  transition: all 0.25s 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 7px !important;
  padding: 2px 10px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 1.5px !important;
  line-height: 1.6 !important;
  border-radius: 999px !important;
  background: #FAF8F3 !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: #7BA894 !important;
  color: #3D5548 !important;
  background: linear-gradient(135deg, #FDFCF8 0%, #EDF5F0 100%) !important;
}
p.role-danlan::before {
  content: "玩家" !important;
  color: #5A8A76 !important;
  background: #EDF5F0 !important;
  border: 1px solid #C5DCD0 !important;
}
p.role-danlan:hover { border-color: #C5DCD0 !important; box-shadow: 0 2px 8px rgba(123,168,148,0.12) !important; }
/* 玩家心声 · 薰衣草紫 */
p.role-danlan-thought {
  border-left-color: #B8A9D9 !important;
  color: #4D4565 !important;
  background: linear-gradient(135deg, #FDFCF8 0%, #F3EFFA 100%) !important;
}
p.role-danlan-thought::before {
  content: "玩家心声" !important;
  color: #8B7CB8 !important;
  background: #F3EFFA !important;
  border: 1px solid #DDD4ED !important;
}
p.role-danlan-thought:hover { border-color: #DDD4ED !important; box-shadow: 0 2px 8px rgba(184,169,217,0.12) !important; }
/* 心声 · 天青 */
p.role-lan {
  border-left-color: #8FB8D4 !important;
  color: #3D5565 !important;
  background: linear-gradient(135deg, #FDFCF8 0%, #EDF3F8 100%) !important;
}
p.role-lan::before {
  content: "心声" !important;
  color: #5E90B0 !important;
  background: #EDF3F8 !important;
  border: 1px solid #C5DAE8 !important;
}
p.role-lan:hover { border-color: #C5DAE8 !important; }
/* 男 · 蜂蜜金 */
p.role-zon {
  border-left-color: #D4A574 !important;
  color: #5A4A35 !important;
  background: linear-gradient(135deg, #FDFCF8 0%, #FAF5EC 100%) !important;
}
p.role-zon::before {
  content: "男" !important;
  color: #A8804A !important;
  background: #FAF5EC !important;
  border: 1px solid #E8D5B5 !important;
}
p.role-zon:hover { border-color: #E8D5B5 !important; }
/* 女 · 豆沙粉 */
p.role-qianhon {
  border-left-color: #E8B4B8 !important;
  color: #5A4045 !important;
  background: linear-gradient(135deg, #FDFCF8 0%, #FAF0F2 100%) !important;
}
p.role-qianhon::before {
  content: "女" !important;
  color: #C08088 !important;
  background: #FAF0F2 !important;
  border: 1px solid #F0D0D4 !important;
}
p.role-qianhon:hover { border-color: #F0D0D4 !important; }
/* 职业角色 · 鼠尾草深绿 */
p.role-hui {
  border-left-color: #5A8A76 !important;
  color: #355045 !important;
  background: linear-gradient(135deg, #FDFCF8 0%, #E8F0EB 100%) !important;
}
p.role-hui::before {
  content: "职业角色" !important;
  color: #4A7560 !important;
  background: #E8F0EB !important;
  border: 1px solid #B8D0C4 !important;
}
p.role-hui:hover { border-color: #B8D0C4 !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: #4A5568 !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: #F5F1E8 !important;
  color: #5A8A76 !important;
  border: 1px solid #E0D8C8 !important;
  border-radius: 6px !important;
  padding: 1px 7px !important;
}
@media (max-width: 640px) {
  .markdown-body { font-size: 14px !important; line-height: 1.85 !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; opacity: 0.5 !important; left: 50% !important; }
  .flex.items-center.justify-center.w-6.h-5::after { animation: none !important; opacity: 1 !important; }
  details > summary::after { animation: none !important; }
  details > summary::before,
  details[open] > summary::before { transition: none !important; }
  details tbody tr { transition: none !important; }
}
