/* ═══ B平台表格修正（自动注入）═══ */
.rili-markdown-renderer table { display:table!important; table-layout:auto!important; width:100%!important; border-collapse:collapse!important; }
.rili-markdown-renderer table caption { display:table-caption!important; caption-side:top!important; text-align:center!important; padding:8px!important; }
.rili-markdown-renderer thead { display:table-header-group!important; }
.rili-markdown-renderer tbody { display:table-row-group!important; }
.rili-markdown-renderer tr { display:table-row!important; }
.rili-markdown-renderer th, .rili-markdown-renderer td { display:table-cell!important; }

/* ═══ B平台按钮组保护（自动注入 — 防止按钮消失）═══
   原理：B平台消息操作按钮结构为：
   .flex.items-center.gap-1.ml-auto (hover显隐包装)
     └── .bg-muted.rounded.flex.p-0.5 (按钮组容器)
           └── button.rounded-full.size-7 (单个按钮)
   以下规则使用高specificity + !important确保按钮
   不被任何转换后/透传的CSS规则意外隐藏
   ═══════════════════════════════════════════════ */
/* 按钮组容器保护 */
.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\.5,
.is-user .bg-muted.rounded.flex.p-0\.5,
.is-assistant .bg-muted.rounded.flex.p-0\.5 {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  pointer-events: auto !important;
  clip: auto !important;
  clip-path: none !important;
}
/* 单个按钮保护 */
.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\.5 > button,
.is-user .bg-muted.rounded.flex.p-0\.5 > button,
.is-assistant .bg-muted.rounded.flex.p-0\.5 > button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative !important;
  clip: auto !important;
  clip-path: none !important;
}
/* hover显隐包装层保护 — 仅保留B平台原生的opacity过渡 */
.flex.items-center.gap-1.ml-auto.md\:opacity-0.group-hover\:opacity-100 {
  visibility: visible !important;
  display: flex !important;
  pointer-events: auto !important;
  overflow: visible !important;
}
/* 操作行保护 */
.flex.w-full.items-center.justify-between.gap-2.px-2 {
  display: flex !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* ═══ B平台表格修正（自动注入）═══ */
.rili-markdown-renderer table { display:table!important; table-layout:auto!important; width:100%!important; border-collapse:collapse!important; }
.rili-markdown-renderer table caption { display:table-caption!important; caption-side:top!important; text-align:center!important; padding:8px!important; }
.rili-markdown-renderer thead { display:table-header-group!important; }
.rili-markdown-renderer tbody { display:table-row-group!important; }
.rili-markdown-renderer tr { display:table-row!important; }
.rili-markdown-renderer th, .rili-markdown-renderer td { display:table-cell!important; }

/* ═══ B平台按钮组保护（自动注入 — 防止按钮消失）═══
   原理：B平台消息操作按钮结构为：
   .flex.items-center.gap-1.ml-auto (hover显隐包装)
     └── .bg-muted.rounded.flex.p-0.5 (按钮组容器)
           └── button.rounded-full.size-7 (单个按钮)
   以下规则使用高specificity + !important确保按钮
   不被任何转换后/透传的CSS规则意外隐藏
   ═══════════════════════════════════════════════ */
/* 按钮组容器保护 */
.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\.5,
.is-user .bg-muted.rounded.flex.p-0\.5,
.is-assistant .bg-muted.rounded.flex.p-0\.5 {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  pointer-events: auto !important;
  clip: auto !important;
  clip-path: none !important;
}
/* 单个按钮保护 */
.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\.5 > button,
.is-user .bg-muted.rounded.flex.p-0\.5 > button,
.is-assistant .bg-muted.rounded.flex.p-0\.5 > button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative !important;
  clip: auto !important;
  clip-path: none !important;
}
/* hover显隐包装层保护 — 仅保留B平台原生的opacity过渡 */
.flex.items-center.gap-1.ml-auto.md\:opacity-0.group-hover\:opacity-100 {
  visibility: visible !important;
  display: flex !important;
  pointer-events: auto !important;
  overflow: visible !important;
}
/* 操作行保护 */
.flex.w-full.items-center.justify-between.gap-2.px-2 {
  display: flex !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* ═══ 对话背景 · 清新淡黄色羊皮纸风格 ═══
   干净柔和的暖黄底色，轻微渐变增加质感
   无老旧斑点/做旧效果，保持清爽阅读体验
   搭配淡红棕色细边框，精致不突兀
   ═══════════════════════════════════════════ */
/* 助手消息气泡 - 浅米黄底色 */
.is-assistant .w-full.h-full.flex.group,
.is-assistant .rili-markdown-renderer {
  background: linear-gradient(180deg, #fdf6e3 0%, #f8f0dc 100%) !important;
  border: 1px solid rgba(139, 26, 26, 0.22) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(92, 26, 26, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}

/* 用户消息气泡 - 稍深暖黄色，区分层级 */
.is-user .w-full.h-full.flex.group,
.is-user .rili-markdown-renderer {
  background: linear-gradient(180deg, #fae8c8 0%, #f5dba8 100%) !important;
  border: 1px solid rgba(139, 26, 26, 0.28) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(92, 26, 26, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}

/* 普通文本颜色适配浅色背景 */
.rili-markdown-renderer,
.rili-markdown-renderer p,
.rili-markdown-renderer li,
.rili-markdown-renderer td,
.rili-markdown-renderer th,
.rili-markdown-renderer span {
  color: #3c2f2f !important;
}

/* 标题颜色 - 保留鬼灭红调呼应主题 */
.rili-markdown-renderer h1,
.rili-markdown-renderer h2,
.rili-markdown-renderer h3,
.rili-markdown-renderer h4,
.rili-markdown-renderer h5,
.rili-markdown-renderer h6 {
  color: #8b1a1a !important;
  border-bottom: 1px solid rgba(139, 26, 26, 0.2) !important;
  padding-bottom: 4px !important;
}

/* 链接颜色 */
.rili-markdown-renderer a {
  color: #c1121f !important;
  text-decoration: underline !important;
}

/* 引用块适配浅色背景 */
.rili-markdown-renderer blockquote {
  border-left: 4px solid #c1121f !important;
  background: rgba(193, 18, 31, 0.06) !important;
  color: #5c1a1a !important;
  padding: 10px 16px !important;
  margin: 12px 0 !important;
  border-radius: 0 8px 8px 0 !important;
}

/* 表格边框与表头适配 */
.rili-markdown-renderer th,
.rili-markdown-renderer td {
  border: 1px solid rgba(92, 26, 26, 0.2) !important;
  padding: 8px 12px !important;
}
.rili-markdown-renderer th {
  background: rgba(193, 18, 31, 0.08) !important;
  font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════════════════════
   🔥 鬼灭之刃 · 热血日漫风格代码块美化
   ═══════════════════════════════════════════════════════════════ */

/* ─── 代码块整体容器 ─── */
.rili-markdown-renderer pre {
  border: 2px solid #5c1a1a !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 
    0 0 15px rgba(180, 30, 30, 0.3),
    0 0 40px rgba(0, 0, 0, 0.5),
    inset 0 0 30px rgba(0, 0, 0, 0.2) !important;
  margin: 16px 0 !important;
  background: linear-gradient(170deg, #1a0a0a 0%, #0d0d1a 40%, #1a0a0a 100%) !important;
  position: relative !important;
}

/* 装饰性顶部火焰渐变线 */
.rili-markdown-renderer pre::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, 
    #ff4500 0%, 
    #ff8c00 20%, 
    #e63946 40%, 
    #8b1a8b 60%, 
    #4a90d9 80%, 
    #2dd4bf 100%) !important;
  z-index: 10 !important;
}

/* ─── 头部栏（语言标识区） ─── */
.rili-markdown-renderer pre > div > div.flex.justify-between.h-8,
.rili-markdown-renderer pre > div > div.border-b {
  background: linear-gradient(135deg, #1f0f0f 0%, #2a1020 50%, #0f1a2a 100%) !important;
  border-bottom: 1px solid rgba(180, 30, 30, 0.4) !important;
  padding: 4px 12px !important;
  position: relative !important;
}

/* 头部栏左侧装饰 */
.rili-markdown-renderer pre > div > div.flex.justify-between.h-8::before {
  content: "⚔️" !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 14px !important;
  opacity: 0.8 !important;
}

/* ─── 语言标签 ─── */
.rili-markdown-renderer pre > div > div.flex.justify-between > div.text-\[13px\],
.rili-markdown-renderer pre > div > div.flex.justify-between > div:first-child {
  color: #e63946 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 8px rgba(230, 57, 70, 0.5) !important;
  padding-left: 24px !important;
  font-family: "Noto Sans JP", "Microsoft YaHei", sans-serif !important;
}

/* ─── 复制按钮图标颜色联动 ─── */
.rili-markdown-renderer pre svg.lucide-copy,
.rili-markdown-renderer pre div[data-tooltip-id^="copy-tooltip"] > svg {
  color: #8b6f6f !important;
  transition: all 0.3s ease !important;
}

.rili-markdown-renderer pre .group:hover svg.lucide-copy,
.rili-markdown-renderer pre div[data-tooltip-id^="copy-tooltip"]:hover > svg {
  color: #ff4500 !important;
  filter: drop-shadow(0 0 6px rgba(255, 69, 0, 0.6)) !important;
}

/* ─── 代码内容区 ─── */
.rili-markdown-renderer pre > div > div[node] {
  background: linear-gradient(180deg, #0d0d1a 0%, #1a0a12 100%) !important;
  color: #e8dcd0 !important;
  padding: 16px 16px 16px 14px !important;
  font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.3px !important;
}

/* ─── 代码元素 ─── */
.rili-markdown-renderer pre code[class^="language-"] {
  color: #e8dcd0 !important;
  font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace !important;
  text-shadow: 0 0 1px rgba(232, 220, 208, 0.1) !important;
}

/* ─── 纯代码块（无语言标识） ─── */
.rili-markdown-renderer pre > code[node] {
  background: linear-gradient(180deg, #0d0d1a 0%, #1a0a12 100%) !important;
  color: #e8dcd0 !important;
  padding: 16px !important;
  display: block !important;
  font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  border-radius: 10px !important;
}

/* ─── 语法高亮配色方案（鬼灭主题色） ─── */

/* 注释 - 灰紫色（如藤花） */
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(160"],
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(149"],
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(106, 115"] {
  color: #7a6a8a !important;
  font-style: italic !important;
}

/* 关键字 - 炎之红（杏寿郎之焰） */
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(215"],
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(203, 75"],
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(167, 29"] {
  color: #ff5722 !important;
  text-shadow: 0 0 3px rgba(255, 87, 34, 0.3) !important;
}

/* 字符串 - 恋之粉（蜜璃之色） */
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(80, 161"],
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(36, 145"],
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(3, 47"] {
  color: #f8a4c8 !important;
}

/* 数字/常量 - 霞之蓝（无一郎之雾） */
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(9, 134"],
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(0, 92"] {
  color: #64b5f6 !important;
  text-shadow: 0 0 2px rgba(100, 181, 246, 0.2) !important;
}

/* 函数名 - 雷之金（善逸之雷） */
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(111, 66"],
.rili-markdown-renderer pre code[class^="language-"] > span[style*="color: rgb(105, 93"] {
  color: #ffd54f !important;
}

/* ─── details/summary 折叠面板样式 ─── */
.rili-markdown-renderer details {
  border: 1px solid rgba(92, 26, 26, 0.6) !important;
  border-radius: 10px !important;
  margin: 12px 0 !important;
  background: linear-gradient(135deg, #0d0d1a 0%, #1a0a0a 100%) !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.rili-markdown-renderer details summary {
  background: linear-gradient(135deg, #1f0f0f 0%, #2a1525 50%, #0f1a2a 100%) !important;
  color: #e63946 !important;
  padding: 10px 16px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  border-bottom: 1px solid rgba(180, 30, 30, 0.3) !important;
  transition: all 0.3s ease !important;
  list-style: none !important;
}

.rili-markdown-renderer details summary::-webkit-details-marker {
  display: none !important;
}

.rili-markdown-renderer details summary::before {
  content: "🔺 " !important;
  font-size: 10px !important;
}

.rili-markdown-renderer details[open] summary::before {
  content: "🔻 " !important;
}

.rili-markdown-renderer details summary:hover {
  background: linear-gradient(135deg, #2a1515 0%, #3a1a2a 50%, #1a2540 100%) !important;
  text-shadow: 0 0 10px rgba(230, 57, 70, 0.5) !important;
}

/* ─── 滚动条美化 ─── */
.rili-markdown-renderer pre ::-webkit-scrollbar {
  height: 6px !important;
  width: 6px !important;
}

.rili-markdown-renderer pre ::-webkit-scrollbar-track {
  background: #0d0d1a !important;
  border-radius: 3px !important;
}

.rili-markdown-renderer pre ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #5c1a1a, #e63946) !important;
  border-radius: 3px !important;
}

.rili-markdown-renderer pre ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #e63946, #ff4500) !important;
  box-shadow: 0 0 6px rgba(230, 57, 70, 0.5) !important;
}

/* ─── 代码块底部装饰线 ─── */
.rili-markdown-renderer pre::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, 
    transparent 0%, 
    #5c1a1a 20%, 
    #e63946 50%, 
    #5c1a1a 80%, 
    transparent 100%) !important;
}