/* ═══ 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;
}

/* ═══════════════════════════════════════════════════
   🌸 恋爱模拟器 · Love Simulator Theme v1.1
   ═══════════════════════════════════════════════════ */


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PART 1: 代码块主题
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── 代码块整体容器 ── */
.rili-markdown-renderer pre {
  border-radius: 14px !important;
  border: 1.5px solid rgba(244,143,177,0.28) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 14px rgba(233,30,99,0.06) !important;
  margin: 14px 0 !important;
  background: #FFFAFC !important;
}

/* ── 头部栏 ── */
.rili-markdown-renderer pre > div > div.flex.justify-between.h-8,
.rili-markdown-renderer pre > div > div.border-b {
  background: linear-gradient(135deg, #FFF0F5 0%, #FCE4EC 50%, #FDE8EF 100%) !important;
  border-color: rgba(244,143,177,0.18) !important;
  height: 36px !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: #E91E63 !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
}

/* ── 代码内容区 ── */
.rili-markdown-renderer pre > div > div[node] {
  background: linear-gradient(178deg, #FFFBFD 0%, #FFF6F9 60%, #FFF0F5 100%) !important;
  color: #5D2A42 !important;
  padding: 16px 18px !important;
}

/* ── 代码文字 ── */
.rili-markdown-renderer pre code[class^="language-"] {
  color: #5D2A42 !important;
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Consolas", monospace !important;
  font-size: 13.5px !important;
  line-height: 1.9 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

/* ── 语法高亮统一 ── */
.rili-markdown-renderer pre code[class^="language-"] > span {
  color: inherit !important;
}

/* ── 纯代码块 ── */
.rili-markdown-renderer pre > code[node] {
  background: linear-gradient(178deg, #FFFBFD 0%, #FFF0F5 100%) !important;
  color: #5D2A42 !important;
  padding: 16px !important;
  display: block !important;
  font-size: 13.5px !important;
  line-height: 1.9 !important;
  border-radius: 14px !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

/* ── 复制按钮图标 ── */
.rili-markdown-renderer pre svg.lucide-copy,
.rili-markdown-renderer pre div[data-tooltip-id^="copy-tooltip"] > svg {
  color: #EC407A !important;
  opacity: 0.55 !important;
}
.rili-markdown-renderer pre .group:hover svg.lucide-copy,
.rili-markdown-renderer pre div[data-tooltip-id^="copy-tooltip"]:hover > svg {
  color: #D81B60 !important;
  opacity: 1 !important;
}

/* ── 分割线 ── */
.rili-markdown-renderer hr {
  border: none !important;
  height: 2px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    #FADCE5 15%,
    #F8BBD0 35%,
    #F48FB1 50%,
    #F8BBD0 65%,
    #FADCE5 85%,
    transparent 100%
  ) !important;
  margin: 22px 0 !important;
}

/* ── 滚动条 ── */
.rili-markdown-renderer pre ::-webkit-scrollbar {
  height: 6px !important;
  width: 6px !important;
}
.rili-markdown-renderer pre ::-webkit-scrollbar-track {
  background: #FFF0F5 !important;
  border-radius: 3px !important;
}
.rili-markdown-renderer pre ::-webkit-scrollbar-thumb {
  background: #F8BBD0 !important;
  border-radius: 3px !important;
}
.rili-markdown-renderer pre ::-webkit-scrollbar-thumb:hover {
  background: #F48FB1 !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PART 2: 折叠面板
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.rili-markdown-renderer details {
  border: 1.5px solid rgba(244,143,177,0.25) !important;
  border-radius: 14px !important;
  margin: 12px 0 !important;
  overflow: hidden !important;
  background: #FFFDFE !important;
  box-shadow: 0 2px 10px rgba(233,30,99,0.04) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.rili-markdown-renderer details:hover {
  box-shadow: 0 4px 20px rgba(233,30,99,0.09) !important;
  border-color: rgba(244,143,177,0.38) !important;
}

.rili-markdown-renderer details summary {
  background: linear-gradient(135deg, #FFF2F6 0%, #FCE4EC 60%, #FAE0EB 100%) !important;
  padding: 12px 18px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  color: #C2185B !important;
  font-size: 15px !important;
  letter-spacing: 0.3px !important;
  transition: background 0.25s ease !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  user-select: none !important;
}
.rili-markdown-renderer details summary::-webkit-details-marker {
  display: none !important;
}
.rili-markdown-renderer details summary::before {
  content: "♡" !important;
  margin-right: 8px !important;
  font-size: 14px !important;
  color: #F06292 !important;
  transition: all 0.3s ease !important;
}
.rili-markdown-renderer details[open] summary::before {
  content: "♥" !important;
  color: #E91E63 !important;
}
.rili-markdown-renderer details summary:hover {
  background: linear-gradient(135deg, #FCE4EC 0%, #F8BBD0 60%, #F5DAE5 100%) !important;
}
.rili-markdown-renderer details[open] summary {
  border-bottom: 1.5px solid rgba(244,143,177,0.2) !important;
}

/* 内部代码块去重复边框 */
.rili-markdown-renderer details pre {
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  border-radius: 0 0 12px 12px !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PART 3: 🧠 记忆区表格
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── 记忆区整体容器 ── */
.rili-markdown-renderer .memory-zone {
  padding: 18px !important;
  background: linear-gradient(178deg, #FFFDFE 0%, #FFF8FA 50%, #FFF3F7 100%) !important;
}

/* ── 单个记忆分区(STM / LTM) ── */
.rili-markdown-renderer .memory-section {
  margin-bottom: 20px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(244,143,177,0.22) !important;
  box-shadow: 0 2px 12px rgba(233,30,99,0.04) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}
.rili-markdown-renderer .memory-section:last-child {
  margin-bottom: 0 !important;
}
.rili-markdown-renderer .memory-section:hover {
  box-shadow: 0 4px 18px rgba(233,30,99,0.08) !important;
  transform: translateY(-1px) !important;
}

/* ── 分区标题 ── */
.rili-markdown-renderer .memory-title {
  padding: 11px 18px !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 1px !important;
  text-align: center !important;
}

/* STM 标题配色 */
.rili-markdown-renderer .stm-section .memory-title {
  background: linear-gradient(135deg, #FFF0F5 0%, #FCE4EC 40%, #F8E8EF 100%) !important;
  color: #D81B60 !important;
  border-bottom: 1px solid rgba(244,143,177,0.2) !important;
}

/* LTM 标题配色 */
.rili-markdown-renderer .ltm-section .memory-title {
  background: linear-gradient(135deg, #F3E5F5 0%, #F0E0F0 40%, #EDE4F0 100%) !important;
  color: #8E24AA !important;
  border-bottom: 1px solid rgba(186,104,200,0.2) !important;
}

/* ── 表格滚动容器 ── */
.rili-markdown-renderer .memory-table-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* 表格滚动条 */
.rili-markdown-renderer .memory-table-wrap::-webkit-scrollbar {
  height: 5px !important;
}
.rili-markdown-renderer .memory-table-wrap::-webkit-scrollbar-track {
  background: #FFF5F8 !important;
}
.rili-markdown-renderer .memory-table-wrap::-webkit-scrollbar-thumb {
  background: #F8BBD0 !important;
  border-radius: 3px !important;
}
.rili-markdown-renderer .memory-table-wrap::-webkit-scrollbar-thumb:hover {
  background: #F48FB1 !important;
}

/* ── 表格主体 ── */
.rili-markdown-renderer .memory-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  table-layout: fixed !important;
}

/* ── 表头 ── */

/* STM 表头 */
.rili-markdown-renderer .stm-section .memory-table thead tr {
  background: linear-gradient(135deg, #FCE4EC 0%, #F8BBD0 100%) !important;
}
.rili-markdown-renderer .stm-section .memory-table thead th {
  color: #AD1457 !important;
  border-bottom: 2px solid rgba(233,30,99,0.15) !important;
}

/* LTM 表头 */
.rili-markdown-renderer .ltm-section .memory-table thead tr {
  background: linear-gradient(135deg, #F3E5F5 0%, #E1BEE7 100%) !important;
}
.rili-markdown-renderer .ltm-section .memory-table thead th {
  color: #7B1FA2 !important;
  border-bottom: 2px solid rgba(156,39,176,0.15) !important;
}

.rili-markdown-renderer .memory-table thead th {
  padding: 10px 14px !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
  white-space: nowrap !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
}

/* ── 表体单元格 ── */
.rili-markdown-renderer .memory-table tbody td {
  padding: 10px 14px !important;
  color: #5D2A42 !important;
  border-bottom: 1px solid rgba(244,143,177,0.1) !important;
  vertical-align: top !important;
  word-break: break-word !important;
}

/* ── 斑马纹 ── */

/* STM 斑马纹 */
.rili-markdown-renderer .stm-section .memory-table tbody tr:nth-child(odd) {
  background: #FFFDFE !important;
}
.rili-markdown-renderer .stm-section .memory-table tbody tr:nth-child(even) {
  background: #FFF7FA !important;
}
.rili-markdown-renderer .stm-section .memory-table tbody tr:hover {
  background: #FFF0F5 !important;
}

/* LTM 斑马纹 */
.rili-markdown-renderer .ltm-section .memory-table tbody tr:nth-child(odd) {
  background: #FFFDFE !important;
}
.rili-markdown-renderer .ltm-section .memory-table tbody tr:nth-child(even) {
  background: #FCF7FE !important;
}
.rili-markdown-renderer .ltm-section .memory-table tbody tr:hover {
  background: #F9F0FC !important;
}

/* ── 最后一行无底边框 ── */
.rili-markdown-renderer .memory-table tbody tr:last-child td {
  border-bottom: none !important;
}

/* ── 列宽控制 ── */
.rili-markdown-renderer .memory-table .col-id {
  width: 52px !important;
  text-align: center !important;
  font-weight: 600 !important;
  color: #E91E63 !important;
}
.rili-markdown-renderer .ltm-section .memory-table .col-id {
  color: #AB47BC !important;
}
.rili-markdown-renderer .memory-table .col-time {
  width: 200px !important;
  font-size: 12px !important;
  color: #8D6E7F !important;
  white-space: nowrap !important;
}
.rili-markdown-renderer .memory-table .col-scene {
  width: 140px !important;
  color: #6D4C5E !important;
}
.rili-markdown-renderer .memory-table .col-fact {
  min-width: 200px !important;
  color: #4A2035 !important;
}

/* ── 序号装饰 ── */
.rili-markdown-renderer .stm-section .memory-table tbody td.col-id {
  position: relative !important;
}
.rili-markdown-renderer .stm-section .memory-table tbody td.col-id::before {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  background: #F48FB1 !important;
  border-radius: 50% !important;
  margin-right: 6px !important;
  vertical-align: middle !important;
}
.rili-markdown-renderer .ltm-section .memory-table tbody td.col-id::before {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  background: #CE93D8 !important;
  border-radius: 50% !important;
  margin-right: 6px !important;
  vertical-align: middle !important;
}

/* ── LTM 边框色覆盖 ── */
.rili-markdown-renderer .ltm-section {
  border-color: rgba(186,104,200,0.2) !important;
}
.rili-markdown-renderer .ltm-section .memory-table tbody td {
  border-bottom-color: rgba(186,104,200,0.08) !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PART 4: 📱 响应式适配
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ══ 平板 ≤768px ══ */
@media screen and (max-width: 768px) {

  /* 代码块 */
  .rili-markdown-renderer pre {
    border-radius: 11px !important;
    margin: 10px 0 !important;
  }
  .rili-markdown-renderer pre code[class^="language-"] {
    font-size: 12.5px !important;
    line-height: 1.8 !important;
  }
  .rili-markdown-renderer pre > div > div[node] {
    padding: 12px 13px !important;
  }
  .rili-markdown-renderer pre > code[node] {
    padding: 12px !important;
    font-size: 12.5px !important;
  }

  /* 折叠面板 */
  .rili-markdown-renderer details {
    border-radius: 11px !important;
    margin: 8px 0 !important;
  }
  .rili-markdown-renderer details summary {
    padding: 10px 14px !important;
    font-size: 14px !important;
  }

  /* 记忆区 */
  .rili-markdown-renderer .memory-zone {
    padding: 14px !important;
  }
  .rili-markdown-renderer .memory-section {
    border-radius: 10px !important;
    margin-bottom: 16px !important;
  }
  .rili-markdown-renderer .memory-title {
    padding: 9px 14px !important;
    font-size: 13px !important;
  }
  .rili-markdown-renderer .memory-table {
    font-size: 12.5px !important;
  }
  .rili-markdown-renderer .memory-table thead th {
    padding: 8px 12px !important;
    font-size: 12px !important;
  }
  .rili-markdown-renderer .memory-table tbody td {
    padding: 8px 12px !important;
  }
  .rili-markdown-renderer .memory-table .col-time {
    width: 170px !important;
    font-size: 11.5px !important;
  }
  .rili-markdown-renderer .memory-table .col-scene {
    width: 110px !important;
  }
  .rili-markdown-renderer .memory-table .col-id {
    width: 48px !important;
  }
}

/* ══ 手机 ≤480px ══ */
@media screen and (max-width: 480px) {

  /* 代码块 */
  .rili-markdown-renderer pre {
    border-radius: 9px !important;
    margin: 8px 0 !important;
    border-width: 1px !important;
  }
  .rili-markdown-renderer pre > div > div.flex.justify-between.h-8,
  .rili-markdown-renderer pre > div > div.border-b {
    height: 32px !important;
  }
  .rili-markdown-renderer pre code[class^="language-"] {
    font-size: 12px !important;
    line-height: 1.75 !important;
  }
  .rili-markdown-renderer pre > div > div[node] {
    padding: 10px !important;
  }
  .rili-markdown-renderer pre > code[node] {
    padding: 10px !important;
    font-size: 12px !important;
    border-radius: 9px !important;
  }

  /* 折叠面板 */
  .rili-markdown-renderer details {
    border-radius: 9px !important;
  }
  .rili-markdown-renderer details summary {
    padding: 9px 12px !important;
    font-size: 13.5px !important;
  }
  .rili-markdown-renderer details pre {
    border-radius: 0 0 8px 8px !important;
  }

  /* 记忆区 */
  .rili-markdown-renderer .memory-zone {
    padding: 10px !important;
  }
  .rili-markdown-renderer .memory-section {
    border-radius: 8px !important;
    margin-bottom: 14px !important;
  }
  .rili-markdown-renderer .memory-title {
    padding: 8px 12px !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
  }

  /* 表格切换为卡片模式 */
  .rili-markdown-renderer .memory-table {
    font-size: 12px !important;
    table-layout: auto !important;
  }
  .rili-markdown-renderer .memory-table thead th {
    padding: 7px 10px !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
  }
  .rili-markdown-renderer .memory-table tbody td {
    padding: 7px 10px !important;
    font-size: 12px !important;
  }

  /* 列宽放宽自适应 */
  .rili-markdown-renderer .memory-table .col-id {
    width: 40px !important;
  }
  .rili-markdown-renderer .memory-table .col-time {
    width: 140px !important;
    font-size: 11px !important;
    white-space: normal !important;
  }
  .rili-markdown-renderer .memory-table .col-scene {
    width: 80px !important;
  }
  .rili-markdown-renderer .memory-table .col-fact {
    min-width: 140px !important;
  }

  /* 序号圆点缩小 */
  .rili-markdown-renderer .stm-section .memory-table tbody td.col-id::before,
  .rili-markdown-renderer .ltm-section .memory-table tbody td.col-id::before {
    width: 5px !important;
    height: 5px !important;
    margin-right: 4px !important;
  }
}

/* ══ 超小屏 ≤360px ══ */
@media screen and (max-width: 360px) {
  .rili-markdown-renderer .memory-zone {
    padding: 8px !important;
  }
  .rili-markdown-renderer .memory-section {
    border-radius: 7px !important;
  }
  .rili-markdown-renderer .memory-title {
    font-size: 11.5px !important;
    padding: 7px 10px !important;
  }
  .rili-markdown-renderer .memory-table thead th {
    padding: 6px 8px !important;
    font-size: 10.5px !important;
  }
  .rili-markdown-renderer .memory-table tbody td {
    padding: 6px 8px !important;
    font-size: 11.5px !important;
  }
  .rili-markdown-renderer .memory-table .col-id {
    width: 36px !important;
  }
  .rili-markdown-renderer .memory-table .col-time {
    width: 120px !important;
    font-size: 10.5px !important;
  }
  .rili-markdown-renderer .memory-table .col-scene {
    width: 70px !important;
  }
  .rili-markdown-renderer .memory-table .col-fact {
    min-width: 120px !important;
  }
}