/* ═══ B平台加载动画适配（自动注入）═══ */
.flex.items-center.justify-center.size-6 { opacity: 1 !important; }
.flex.items-center.justify-center.size-6 > .flex.gap-2 { display: none !important; }
.is-assistant.w-fit { width: 100% !important; }
.is-assistant > .border.border-muted:has(.flex.items-center.justify-center.size-6) {
  width: 100% !important; background: transparent !important;
  border: none !important; padding: 0 !important;
}
.is-assistant .space-y-3:has(.flex.items-center.justify-center.size-6) {
  display: flex; justify-content: center; width: 100%;
}

/* ═══ 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平台按钮组保护（自动注入 — 防止按钮消失）═══ */
.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;
}
.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;
}

header.flex.justify-between { position: relative; overflow: visible; }

/* --- 午后暖阳 - 聊天框美化 --- */
[class*="bg-[#F1CBCB]"], [class*="bg-[#c9e1e9]"] { display: none !important; }

.is-assistant > .border.border-muted {
    background-color: #FEFDFB !important; 
    border: 1px solid #F5EAE4 !important; 
    border-radius: 16px !important;
    box-shadow: 0 4px 15px rgba(199, 175, 166, 0.1) !important;
    transition: all 0.3s ease !important;
}

.is-user > .border.border-muted {
    background-color: #F9F3F0 !important; 
    border: 1px solid transparent !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 15px rgba(199, 175, 166, 0.08) !important;
    transition: all 0.3s ease !important;
}

.rili-markdown-renderer { color: #5D534F !important; line-height: 1.7 !important; }

.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7:hover{
    color: #5D534F !important;
    background-color: rgba(229, 160, 140, 0.08) !important;
}

.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text { display: none !important; }
.flex.items-center.justify-center.size-6 { position: relative !important; height: 24px !important; }
.flex.items-center.justify-center.size-6::before {
    content: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="12" r="0" fill="%23E5A08C"><animate attributeName="r" from="0" to="8" dur="1.8s" begin="0s" repeatCount="indefinite" keyTimes="0; 0.1; 0.6; 1" values="0; 3; 3; 0" calcMode="spline" keySplines="0.22 0.61 0.36 1; 0.22 0.61 0.36 1; 0.22 0.61 0.36 1" /><animate attributeName="opacity" from="0" to="0" dur="1.8s" begin="0s" repeatCount="indefinite" keyTimes="0; 0.1; 0.6; 1" values="0; 1; 1; 0" calcMode="spline" keySplines="0.22 0.61 0.36 1; 0.22 0.61 0.36 1; 0.22 0.61 0.36 1" /></circle><circle cx="12" cy="12" r="0" fill="%23E5A08C"><animate attributeName="r" from="0" to="8" dur="1.8s" begin="0.3s" repeatCount="indefinite" keyTimes="0; 0.1; 0.6; 1" values="0; 3; 3; 0" calcMode="spline" keySplines="0.22 0.61 0.36 1; 0.22 0.61 0.36 1; 0.22 0.61 0.36 1" /><animate attributeName="opacity" from="0" to="0" dur="1.8s" begin="0.3s" repeatCount="indefinite" keyTimes="0; 0.1; 0.6; 1" values="0; 1; 1; 0" calcMode="spline" keySplines="0.22 0.61 0.36 1; 0.22 0.61 0.36 1; 0.22 0.61 0.36 1" /></circle><circle cx="12" cy="12" r="0" fill="%23E5A08C"><animate attributeName="r" from="0" to="8" dur="1.8s" begin="0.6s" repeatCount="indefinite" keyTimes="0; 0.1; 0.6; 1" values="0; 3; 3; 0" calcMode="spline" keySplines="0.22 0.61 0.36 1; 0.22 0.61 0.36 1; 0.22 0.61 0.36 1" /><animate attributeName="opacity" from="0" to="0" dur="1.8s" begin="0.6s" repeatCount="indefinite" keyTimes="0; 0.1; 0.6; 1" values="0; 1; 1; 0" calcMode="spline" keySplines="0.22 0.61 0.36 1; 0.22 0.61 0.36 1; 0.22 0.61 0.36 1" /></circle></svg>');
    position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important;
}

header.flex.justify-between {
    background: linear-gradient(to bottom, #FEFBF9, #FAEDE7) !important; 
    border-bottom: 1px solid #E5D9D3 !important;
    box-shadow: 0 2px 10px rgba(93, 83, 79, 0.08) !important;
}

#nav-middle .group.flex.items-center { background-color: transparent !important; border-radius: 8px !important; padding: 4px 6px !important; }
#nav-middle .group.flex.items-center:hover { background-color: rgba(229, 160, 140, 0.1) !important; }
#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left { color: #5D534F !important; font-weight: 500 !important; }
header.flex.justify-between.w-full.top-0 svg { color: #8E807A !important; transition: color 0.3s ease !important; }
header.flex.justify-between.w-full.top-0 svg:hover, #nav-right button:hover svg { color: #5D534F !important; }
header.flex.justify-between.w-full.top-0 span.MuiBadge-dot.md\:hidden { background-color: #E5A08C !important; box-shadow: 0 0 5px #E5A08C; }

.bg-gradient-to-t { background: linear-gradient(to top, #FAEDE7 40%, transparent 100%) !important; }
#ai-chat-bottom-input { background-color: #FFFFFF !important; border: 2px solid #F5B7B1 !important; border-radius: 16px !important; box-shadow: 0 4px 12px rgba(229, 160, 140, 0.15) !important; }
#ai-chat-bottom-input:has(#ai-chat-input:focus) { border-color: #E5A08C !important; box-shadow: 0 0 0 3px rgba(229, 160, 140, 0.3), 0 4px 12px rgba(229, 160, 140, 0.2) !important; }
#ai-chat-input { color: #5D534F !important; caret-color: #E5A08C !important; }
#ai-chat-input::placeholder { color: #BEB4B0 !important; font-style: italic; }
#ai-chat-input::selection { background-color: #F5B7B1 !important; color: white !important; }

#ai-mod-button2 button.MuiButton-root {
    background-color: #E5A08C !important; color: white !important; border-radius: 12px !important;
    box-shadow: 0 2px 6px rgba(93, 83, 79, 0.2) !important; text-transform: none !important; padding: 6px 14px !important;
}
#ai-mod-button2 button.MuiButton-root:hover { background-color: #D98C78 !important; transform: translateY(-2px) !important; box-shadow: 0 4px 10px rgba(93, 83, 79, 0.25) !important; }
#ai-mod-button2 button.MuiButton-root svg { color: white !important; }

/* ═══ 家庭温馨风格 - 状态栏美化（已修复违规选择器） ═══ */

ai, ai * { box-sizing: border-box; }

ai {
  display: block;
  font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
  background: linear-gradient(135deg, #FFF8F0 0%, #FFE8E0 50%, #FFF0F5 100%);
  padding: 20px;
  color: #5D4E37;
  border-radius: 16px;
  position: relative;
}

ai .container { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; }

ai .header {
  text-align: center; margin-bottom: 24px; padding: 20px;
  background: linear-gradient(135deg, #FFE4D6 0%, #FFF0E8 100%);
  border-radius: 20px; box-shadow: 0 4px 20px rgba(180, 130, 100, 0.15);
  position: relative; overflow: hidden;
}
ai .header::before, ai .header::after { content: "♡"; position: absolute; font-size: 24px; color: rgba(255, 150, 150, 0.3); }
ai .header::before { top: 10px; left: 20px; }
ai .header::after { bottom: 10px; right: 20px; }
ai .header h1 { font-size: 28px; color: #D4847A; margin: 0 0 8px 0; font-weight: 600; letter-spacing: 2px; }
ai .header .subtitle { font-size: 14px; color: #B8A090; }

ai details {
  background: #FFFFFF; border-radius: 16px; margin-bottom: 16px;
  box-shadow: 0 3px 15px rgba(180, 130, 100, 0.1); overflow: hidden;
  border: 2px solid transparent; transition: all 0.3s ease;
}
ai details:hover { box-shadow: 0 5px 25px rgba(180, 130, 100, 0.18); }
ai details[open] { border-color: #F5D0C5; }

ai summary {
  padding: 16px 20px; cursor: pointer; font-weight: 600; font-size: 16px;
  color: #D4847A; display: flex; align-items: center; gap: 10px; list-style: none;
  background: linear-gradient(90deg, #FFF8F5 0%, #FFFFFF 100%);
  transition: background 0.3s ease; position: relative;
}
ai summary::-webkit-details-marker { display: none; }
ai summary::before { content: "📋"; font-size: 18px; }
ai summary::after { content: "▼"; font-size: 10px; color: #D4A090; margin-left: auto; transition: transform 0.3s ease; }
ai details[open] summary::after { transform: rotate(180deg); }
ai summary:hover { background: linear-gradient(90deg, #FFE8E0 0%, #FFF5F0 100%); }

ai details.current-status summary::before { content: "🏠"; }
ai details.player-info summary::before { content: "👤"; }
ai details.npc-info summary::before { content: "👨‍👩‍👧‍👦"; }
ai details.family-relation summary::before { content: "💕"; }
ai details.plot-route summary::before { content: "📖"; }
ai details.memory summary::before { content: "🧠"; }
ai details.action summary::before { content: "💡"; }

ai .content { padding: 20px; background: #FEFEFE; }

ai .current-status .content { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
ai .status-item {
  background: linear-gradient(135deg, #FFF5F0 0%, #FFF8F5 100%);
  padding: 14px; border-radius: 12px; text-align: center; border: 1px solid #FFE5DC;
}
ai .status-item .label { font-size: 11px; color: #C4A090; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 1px; }
ai .status-item .value { font-size: 15px; color: #8B7355; font-weight: 600; }

ai .info-block { margin-bottom: 16px; }
ai .info-block:last-child { margin-bottom: 0; }
ai .info-block strong {
  color: #D4847A; font-weight: 600; background: linear-gradient(135deg, #FFE8E0 0%, #FFF0E8 100%);
  padding: 2px 8px; border-radius: 6px; font-size: 14px;
}

ai .hobby-list { margin: 10px 0 10px 20px; }
ai .hobby-list li { margin-bottom: 8px; padding: 8px 12px; background: #FFFAF8; border-radius: 8px; border-left: 3px solid #F5D0C5; font-size: 14px; }
ai .hobby-list li strong { color: #E8A090; }

ai hr { border: none; height: 2px; background: linear-gradient(90deg, transparent, #F5D0C5, transparent); margin: 24px 0; }

ai table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 12px 0; font-size: 14px; }
ai table th { background: linear-gradient(135deg, #FFE8E0 0%, #FFF0E8 100%); color: #D4847A; padding: 12px; text-align: left; font-weight: 600; }
ai table th:first-child { border-radius: 10px 0 0 10px; }
ai table th:last-child { border-radius: 0 10px 10px 0; }
ai table td { padding: 12px; border-bottom: 1px solid #FFE8E0; }
ai table tr:last-child td:first-child { border-radius: 0 0 0 10px; }
ai table tr:last-child td:last-child { border-radius: 0 0 10px 0; }
ai table tr:hover td { background: #FFFAF8; }

ai .progress-container { display: flex; align-items: center; gap: 10px; }
ai .progress-bar { flex: 1; height: 8px; background: #FFE8E0; border-radius: 4px; overflow: hidden; }
ai .progress-fill { height: 100%; border-radius: 4px; transition: width 0.5s ease; }
ai .progress-fill.理智 { background: linear-gradient(90deg, #A8D5BA, #7DC495); }
ai .progress-fill.怀疑 { background: linear-gradient(90deg, #F5D0C5, #E8A090); }

ai .npc-card { background: linear-gradient(135deg, #FFFAF8 0%, #FFF8F5 100%); border-radius: 12px; padding: 16px; margin-bottom: 16px; border: 1px solid #FFE5DC; }
ai .npc-card:last-child { margin-bottom: 0; }
ai .npc-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px dashed #FFE0D5; }
ai .npc-avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #FFE8E0, #FFD5C5); display: flex; align-items: center; justify-content: center; font-size: 24px; border: 2px solid #FFF; box-shadow: 0 2px 8px rgba(200, 150, 130, 0.2); }
ai .npc-name { font-size: 18px; font-weight: 600; color: #D4847A; }
ai .npc-info-line { font-size: 13px; color: #A89080; }

ai .relation-tag { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 12px; font-weight: 500; margin-left: 10px; }
ai .relation-tag.stage-1 { background: #E8F5E9; color: #66BB6A; }
ai .relation-tag.stage-2 { background: #FFF3E0; color: #FFA726; }
ai .relation-tag.stage-3 { background: #FCE4EC; color: #EC407A; }
ai .relation-tag.stage-4 { background: #F3E5F5; color: #AB47BC; }

ai .action-list { list-style: none; padding: 0; margin: 0; }
ai .action-list li { padding: 14px 16px; margin-bottom: 10px; background: linear-gradient(135deg, #FFFAF8 0%, #FFF5F0 100%); border-radius: 12px; border-left: 4px solid #F5D0C5; cursor: pointer; transition: all 0.3s ease; font-size: 14px; }
ai .action-list li:hover { background: linear-gradient(135deg, #FFE8E0 0%, #FFD5C5 100%); transform: translateX(4px); }
ai .action-list li:last-child { margin-bottom: 0; }
ai .action-list li::before { content: "♡ "; color: #E8A090; }

ai .node-tag { display: inline-block; padding: 2px 6px; border-radius: 4px; font-size: 11px; margin-right: 6px; }
ai .node-tag.main { background: #FFE8E0; color: #D4847A; }
ai .node-tag.sub { background: #E8F5E9; color: #66BB6A; }

@media (max-width: 600px) {
  ai .current-status .content { grid-template-columns: 1fr; }
  ai .header h1 { font-size: 22px; }
  ai summary { font-size: 14px; padding: 14px 16px; }
  ai .content { padding: 16px; }
  ai table { font-size: 12px; }
  ai table th, ai table td { padding: 8px; }
}

ai .decorative-hearts {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 0; overflow: hidden; border-radius: 16px;
}
ai .heart { position: absolute; font-size: 20px; opacity: 0.1; animation: ai-float 15s infinite ease-in-out; }

@keyframes ai-float {
  0%, 100% { transform: translateY(100%) rotate(0deg); }
  50% { transform: translateY(-10%) rotate(180deg); }
}
/* ═══ 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;
}

/* ==============================================
   午后暖阳 · 状态栏（折叠块）深度美化
   ============================================== */

/* --- 1. 折叠块主体容器 --- */
.rili-markdown-renderer details {
  background-color: #FEFDFB !important;          /* 温润米白背景，与AI聊天框呼应 */
  border: 1px solid #F5EAE4 !important;          /* 极浅肉粉色描边，增添层次 */
  border-radius: 14px !important;                /* 圆润边角 */
  padding: 10px 14px !important;
  margin-bottom: 14px !important;                /* 块与块之间的呼吸间距 */
  box-shadow: 0 4px 12px rgba(199, 175, 166, 0.08) !important;
  transition: all 0.25s ease !important;
}

/* 鼠标悬停时轻微上浮，增加互动感 */
.rili-markdown-renderer details:hover {
  box-shadow: 0 6px 16px rgba(199, 175, 166, 0.14) !important;
  border-color: #E5A08C !important;
}

/* --- 2. 折叠标题栏 (Summary) --- */
.rili-markdown-renderer summary {
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #5D534F !important;                    /* 高级暖棕色 */
  cursor: pointer !important;
  padding: 8px 0 8px 22px !important;           /* 左侧留出空间给自定义箭头 */
  list-style: none !important;                   /* 隐藏浏览器默认三角 */
  position: relative !important;
  transition: color 0.2s ease !important;
  outline: none !important;
}

/* summary 悬停变色 */
.rili-markdown-renderer summary:hover {
  color: #E5A08C !important;                    /* 浅玫瑰色 */
}

/* --- 3. 自定义展开/折叠箭头 --- */
.rili-markdown-renderer summary::before {
  content: "▸" !important;                      /* 使用 ✦ 或 ▸ */
  position: absolute !important;
  left: 2px !important;
  top: 50% !important;
  transform: translateY(-50%) rotate(0deg) !important;
  font-size: 13px !important;
  color: #C7AFA6 !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s !important;
}

/* 展开状态下箭头旋转90度并高亮 */
.rili-markdown-renderer details[open] > summary::before {
  transform: translateY(-50%) rotate(90deg) !important;
  color: #E5A08C !important;
}

/* 展开时给 summary 下方一个巧妙的间距，与内容产生衔接感 */
.rili-markdown-renderer details[open] > summary {
  margin-bottom: 10px !important;
  border-bottom: 1px dashed #F5EAE4 !important;
  padding-bottom: 10px !important;
}

/* --- 4. 折叠块内部表格美化 --- */
/* 状态栏中常有表格（如好感度、记忆区），需要独立处理 */

.rili-markdown-renderer details table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 10px 0 6px !important;
  font-size: 14px !important;
}

/* 表头：柔和暖调 */
.rili-markdown-renderer details th {
  background-color: #F9F3F0 !important;
  color: #5D534F !important;
  font-weight: 600 !important;
  padding: 10px 8px !important;
  border-bottom: 2px solid #E5A08C !important;
  text-align: left !important;
}

/* 表格行 */
.rili-markdown-renderer details td {
  padding: 8px !important;
  border-bottom: 1px solid #F5EAE4 !important;
  color: #5D534F !important;
  vertical-align: middle !important;
}

/* 隔行变色，提升可读性 */
.rili-markdown-renderer details tr:nth-child(even) td {
  background-color: rgba(249, 243, 240, 0.4) !important; /* 极浅杏色 */
}

/* 表格悬停时行高亮 */
.rili-markdown-renderer details tr:hover td {
  background-color: rgba(229, 160, 140, 0.06) !important;
}

/* --- 5. 其他细节优化 --- */
/* 让内部加粗文本更突出 */
.rili-markdown-renderer details strong {
  color: #4A423F !important;
}

/* 内部的分割线保持低调 */
.rili-markdown-renderer details hr {
  border: none !important;
  border-top: 1px dashed #E8D5CC !important;
  margin: 12px 0 !important;
}

/* 移除可能存在的默认列表缩进，使界面更整洁 */
.rili-markdown-renderer details ul {
  padding-left: 18px !important;
  margin: 6px 0 !important;
}
.rili-markdown-renderer details li {
  color: #5D534F !important;
  line-height: 1.6 !important;
}