/* ============================================================
   森野绿·全新美化 v2  —— 适配你的输出格式
   说明：全程类名作用域，移动端/网页端通吃
   ============================================================ */

/* ===== 1. 通用卡片骨架（思维链/状态栏/各档案共用质感）===== */
details.think-panel,
details.rp-status,
details.rp-action,
details.rp-box,
details.sys-panel {
  margin: 12px 0;
  border: 1px solid #c2dcab;
  border-radius: 16px;
  overflow: hidden;
  background: #fcfdf9;
  box-shadow: 0 3px 14px rgba(74, 100, 56, .16);
  transition: box-shadow .3s ease, transform .3s ease;
}
details.think-panel:hover,
details.rp-box:hover,
details.sys-panel:hover {
  box-shadow: 0 5px 20px rgba(74, 100, 56, .26);
  transform: translateY(-1px);
}

/* ===== 2. 通用标题栏 summary（已去图标）===== */
details.think-panel > summary,
details.rp-status > summary,
details.rp-action > summary,
details.rp-box > summary,
details.sys-panel > summary {
  position: relative;
  padding: 12px 16px;          /* 原来是 12px 16px 12px 40px，左侧缩回 */
  font-size: 15px;
  font-weight: 700;
  color: #3f6b3a;
  cursor: pointer;
  list-style: none;
  user-select: none;
  border-left: 4px solid #6f9e57;
  background: linear-gradient(135deg, #cbe4b6, #e3f1d6);
}
details > summary::-webkit-details-marker { display: none; }

/* ===== 3. 内容容器统一内边距 ===== */
details .rp-inner,
details.think-panel .think-inner {
  padding: 12px 15px;
  background: #fbfdf6;
}

/* ===== 4. 思维链 q 步骤块 ===== */
details.think-panel .think-inner q {
  display: block;
  margin: 9px 0;
  padding: 9px 13px;
  font-size: 13px;
  line-height: 1.75;
  color: #46603a;
  background: #f1f8e7;
  border-left: 3px solid #88b06f;
  border-radius: 6px;
  quotes: none;
}
details.think-panel .think-inner q::before,
details.think-panel .think-inner q::after { content: none; }
details.think-panel .think-inner q b { color: #3f6b3a; }
details.think-panel .think-inner q p { margin: 5px 0; }

/* ===== 5. 当前情况 / 行动推荐 / 各档案 内的 p ===== */
details.rp-status .rp-inner p,
details.rp-action .rp-inner p,
details.rp-box .rp-inner p {
  margin: 7px 0;
  padding: 7px 11px;
  font-size: 13.5px;
  line-height: 1.7;
  color: #46603a;
  background: #f1f8e7;
  border-left: 3px solid #88b06f;
  border-radius: 5px;
  transition: background .25s ease;
}
details.rp-box .rp-inner p:hover { background: #e8f3da; }

/* 不同档案左边框换色，一眼区分身份 */
details.rp-user > summary    { border-left-color: #4a7c42; }
details.rp-npc-main > summary{ border-left-color: #c79a3a; }
details.rp-npc-side > summary{ border-left-color: #7c9bb0; }
details.rp-user .rp-inner p    { border-left-color: #4a7c42; }
details.rp-npc-main:not(.side-phone) .rp-inner p { border-left-color: #c79a3a; }
details.rp-npc-side .rp-inner p{ border-left-color: #7c9bb0; }

/* 行动推荐选项做成可点感按钮条 */
details.rp-action .rp-inner p {
  background: linear-gradient(135deg, #f1f8e7, #e7f2d8);
  cursor: default;
}
details.rp-action .rp-inner p:hover {
  background: linear-gradient(135deg, #d9eec4, #cbe4b6);
  transform: translateX(3px);
}

/* ===== 6. 正文区 ===== */
.rp-narrative {
  margin: 14px 0;
  padding: 20px 22px;
  border: 1px solid #c2dcab;
  border-radius: 18px;
  background: linear-gradient(180deg, #fcfdf9, #f1f8e7);
  box-shadow: 0 4px 16px rgba(74, 100, 56, .18);
}
.rp-narrative p {
  margin: 11px 0;
  font-size: 15px;
  line-height: 2;
  color: #36462a;
  text-align: justify;
}
.rp-narrative p:first-child { margin-top: 0; }

/* ===== 7. 记忆区 / 角色档案总览 的 markdown 表格 ===== */
details.sys-panel table {
  width: 100%;
  margin: 8px 0;
  font-size: 12px;
  color: #46603a;
  border-collapse: collapse;
  border-radius: 8px;
  overflow: hidden;
}
details.sys-panel th {
  padding: 6px 5px;
  background: #cbe4b6;
  color: #36502a;
  font-weight: 700;
}
details.sys-panel td {
  padding: 6px 5px;
  border-bottom: 1px solid #e3eed6;
}
details.sys-panel tr:nth-child(even) td { background: #f5faee; }

/* ===== 8. 手机·微信聊天美化 ===== */
details.rp-npc-main .rp-inner chat,
details.rp-box chat { display: block; }

/* 若手机面板想要微信灰底，给手机这个 details 加 class="rp-box rp-npc-main side-phone" 即可 */
details.side-phone .rp-inner { background: #ededed; padding: 8px 10px; }

details.rp-box chathead {
  display: block;
  margin: -12px -15px 8px;
  padding: 10px 13px;
  background: linear-gradient(135deg, #cbe4b6, #e3f1d6);
  border-bottom: 1px solid #c2dcab;
}
details.rp-box chathead p {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-size: 14px;
  font-weight: 700;
  color: #36502a;
}

details.rp-box time {
  display: block;
  text-align: center;
  margin: 9px 0;
  font-size: 11px;
  color: #9aa890;
}

details.rp-box msg {
  display: flex;
  margin: 9px 0;
  align-items: flex-start;
  position: relative;
}
/* NPC：左侧白气泡 + 头像 */
details.rp-box msg.npc { justify-content: flex-start; padding-left: 40px; }
details.rp-box msg.npc::before {
  content: "(◦˙▽˙◦)";
  position: absolute;
  left: 0; top: 0;
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  background: #fff; border-radius: 7px; font-size: 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
details.rp-box msg.npc p {
  margin: 0;
  max-width: 72%;
  padding: 8px 12px;
  background: #ffffff;
  color: #333;
  border: none;
  border-radius: 4px 14px 14px 14px;
  font-size: 13.5px;
  line-height: 1.55;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
  word-break: break-word;
}
/* User：右侧微信绿气泡 + 头像 */
details.rp-box msg.user { justify-content: flex-end; padding-right: 40px; }
details.rp-box msg.user::after {
  content: "Ｕ";
  position: absolute;
  right: 0; top: 0;
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  background: #95ec69; color: #2c4a1c; border-radius: 7px; font-size: 14px; font-weight: 700;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
details.rp-box msg.user p {
  margin: 0;
  max-width: 72%;
  padding: 8px 12px;
  background: #95ec69;
  color: #232323;
  border: none;
  border-radius: 14px 4px 14px 14px;
  font-size: 13.5px;
  line-height: 1.55;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
  word-break: break-word;
}
/* 系统提示灰字居中 */
details.rp-box sys {
  display: block;
  text-align: center;
  margin: 9px 0;
  font-size: 11px;
  color: #b0b8a6;
  font-style: italic;
}

/* ===== 9. 输入框 / 按钮 兜底染绿 ===== */
textarea {
  background: #f1f8e7 !important;
  border: 1px solid #c2dcab !important;
  border-radius: 14px !important;
  color: #36462a !important;
  box-shadow: inset 0 1px 5px rgba(74, 100, 56, .14) !important;
}
button {
  background: linear-gradient(135deg, #c2dcab, #d9eec4) !important;
  color: #36502a !important;
  border: 1px solid #a3c98a !important;
  border-radius: 12px !important;
  transition: filter .2s ease !important;
}
button:hover { filter: brightness(1.05) !important; }

/* ===== 10. 滚动条 ===== */
details[open]::-webkit-scrollbar { width: 6px; }
details[open]::-webkit-scrollbar-thumb { background: #a3c98a; border-radius: 4px; }

/* ===== 11. 手机·多会话支持 ===== */

/* 思路A：多个 chat 块之间留间距 + 分隔卡片感 */
details.side-phone chat {
  display: block;
  margin: 0 -10px 10px;
  padding: 0 10px 8px;
  border-bottom: 6px solid #e0e0e0;   /* 会话之间的厚分隔 */
}
details.side-phone chat:last-child { border-bottom: none; margin-bottom: 0; }

/* 思路B：每个会话用 details 折叠，标签建议写 class="chat-item" */
details.side-phone .chat-item {
  margin: 8px 0;
  border: 1px solid #d6d6d6;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
details.side-phone .chat-item > summary {
  position: relative;
  padding: 9px 12px 9px 44px;
  list-style: none;
  cursor: pointer;
  background: #fafafa;
  border-bottom: 1px solid #ededed;
  font-size: 13.5px;
  font-weight: 600;
  color: #333;
}
details.side-phone .chat-item > summary::-webkit-details-marker { display: none; }
/* 会话头像（颜文字占位）*/
details.side-phone .chat-item > summary::before {
  content: "(｡･ω･｡)";
  position: absolute;
  left: 8px; top: 50%;
  transform: translateY(-50%);
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  background: #95ec69; border-radius: 7px; font-size: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
/* 未读红点：给 summary 加 class="unread" 时显示 */
details.side-phone .chat-item > summary.unread::after {
  content: "";
  position: absolute;
  right: 12px; top: 50%;
  transform: translateY(-50%);
  width: 9px; height: 9px;
  background: #fa5151;
  border-radius: 50%;
}
details.side-phone .chat-item .chat-body { padding: 8px 10px; background: #ededed; }
/* ============================================================
   补丁：inline 状态栏美化 + 夜间模式配色锁定
   ============================================================ */

/* ===== A. inline 面板整体锁色（防夜间模式反色）===== */
details.sys-panel.inline {
  background: #fcfdf9 !important;
  color: #36462a !important;
  border: 1px solid #c2dcab !important;
  border-radius: 14px !important;
  box-shadow: 0 3px 12px rgba(74, 100, 56, .18) !important;
  margin: 12px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 标题栏配色锁定 */
details.sys-panel.inline > summary {
  background: linear-gradient(135deg, #cbe4b6, #e3f1d6) !important;
  color: #2f5028 !important;
  border-left: 4px solid #6f9e57 !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer;
  list-style: none;
}
details.sys-panel.inline > summary b {
  color: #2f5028 !important;
}

/* 面板内部主体 */
details.sys-panel.inline > *:not(summary) {
  padding: 4px 14px 12px !important;
  background: #fbfdf6 !important;
  color: #36462a !important;
}

/* 分隔小标题（--- 🟢 活跃角色 --- 这种）*/
details.sys-panel.inline p {
  margin: 10px 0 6px !important;
  padding: 6px 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #3f6b3a !important;
  background: #eaf3dc !important;
  border-left: 3px solid #88b06f !important;
  border-radius: 5px !important;
}

/* ===== B. 表格美化 + 锁色（重点：th/td 强制配色）===== */
details.sys-panel.inline table {
  width: 100% !important;
  margin: 8px 0 !important;
  border-collapse: collapse !important;
  font-size: 12.5px !important;
  background: #ffffff !important;
  color: #36462a !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid #d5e6c2 !important;
}
details.sys-panel.inline th {
  padding: 8px 6px !important;
  background: #cbe4b6 !important;
  color: #2f5028 !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #a3c98a !important;
  text-align: left !important;
}
details.sys-panel.inline td {
  padding: 7px 6px !important;
  background: #ffffff !important;
  color: #36462a !important;
  border-bottom: 1px solid #e3eed6 !important;
  vertical-align: top !important;
  line-height: 1.6 !important;
}
details.sys-panel.inline tr:nth-child(even) td {
  background: #f5faee !important;
}
details.sys-panel.inline tr:hover td {
  background: #eaf3dc !important;
}

/* ===== C. 顺带把其他所有面板也锁个色，一劳永逸防夜间 ===== */
details.think-panel,
details.rp-status,
details.rp-action,
details.rp-box {
  background: #fcfdf9 !important;
  color: #36462a !important;
}
details.think-panel > summary,
details.rp-status > summary,
details.rp-action > summary,
details.rp-box > summary {
  color: #2f5028 !important;
}
details.rp-status .rp-inner,
details.rp-action .rp-inner,
details.rp-box .rp-inner,
details.think-panel .think-inner {
  background: #fbfdf6 !important;
  color: #36462a !important;
}
details.rp-status .rp-inner p,
details.rp-action .rp-inner p,
details.rp-box .rp-inner p,
details.think-panel .think-inner q {
  color: #46603a !important;
  background: #f1f8e7 !important;
}

/* 正文也锁一下，防夜间字迹发暗 */
.rp-narrative {
  background: linear-gradient(180deg, #fcfdf9, #f1f8e7) !important;
  color: #36462a !important;
  border: 1px solid #c2dcab !important;
}
.rp-narrative p {
  color: #36462a !important;
}
/* ============================================================
   终极补丁：全状态栏元素锁色 + 夜间模式防瞎眼
   ============================================================ */

/* ===== 【A】所有面板根容器：强制浅底深字 ===== */
details.think-panel,
details.rp-status,
details.rp-action,
details.rp-box,
details.rp-user,
details.rp-npc-main,
details.rp-npc-side,
details.sys-panel,
details.sys-panel.inline,
details.chat-item {
  background: #fcfdf9 !important;
  color: #36462a !important;
  border: 1px solid #c2dcab !important;
}

/* ===== 【B】所有面板标题栏 summary 及其子元素 ===== */
details.think-panel > summary,
details.rp-status > summary,
details.rp-action > summary,
details.rp-box > summary,
details.rp-user > summary,
details.rp-npc-main > summary,
details.rp-npc-side > summary,
details.sys-panel > summary,
details.sys-panel.inline > summary {
  background: linear-gradient(135deg, #cbe4b6, #e3f1d6) !important;
  color: #2f5028 !important;
  border-left: 4px solid #6f9e57 !important;
}
details > summary b,
details > summary strong,
details > summary span,
details > summary i,
details > summary em {
  color: #2f5028 !important;
  background: transparent !important;
}
/* 思维链副标题小灰字保留低对比但可见 */
details.think-panel > summary span {
  color: #5a7a48 !important;
  font-weight: 400 !important;
}

/* ===== 【C】内容容器：内层背景锁定 ===== */
details .rp-inner,
details .think-inner,
details.sys-panel > *:not(summary),
details.sys-panel.inline > *:not(summary) {
  background: #fbfdf6 !important;
  color: #36462a !important;
}

/* ===== 【D】所有文本类元素兜底锁色 ===== */
details p,
details li,
details ul,
details ol,
details span,
details b,
details strong,
details em,
details i,
details small,
details q {
  color: #36462a !important;
}

/* 面板内 p 的卡片化样式（浅绿条）*/
details.rp-status .rp-inner p,
details.rp-action .rp-inner p,
details.rp-box .rp-inner p,
details.rp-user .rp-inner p,
details.rp-npc-main .rp-inner p,
details.rp-npc-side .rp-inner p {
  background: #f1f8e7 !important;
  color: #46603a !important;
  border-left: 3px solid #88b06f !important;
  border-radius: 5px !important;
  margin: 7px 0 !important;
  padding: 7px 11px !important;
}

/* inline 面板里 markdown 段落（分类小标题 --- 🟢 --- 这种）*/
details.sys-panel.inline p {
  background: #eaf3dc !important;
  color: #2f5028 !important;
  border-left: 3px solid #88b06f !important;
  font-weight: 600 !important;
  margin: 10px 0 6px !important;
  padding: 6px 10px !important;
  border-radius: 5px !important;
}

/* 思维链 q 步骤块 */
details.think-panel .think-inner q {
  background: #f1f8e7 !important;
  color: #46603a !important;
  border-left: 3px solid #88b06f !important;
}
details.think-panel .think-inner q b,
details.think-panel .think-inner q p {
  color: #3f6b3a !important;
  background: transparent !important;
}

/* ===== 【E】表格全套锁色（记忆区/角色档案）===== */
details table,
details.sys-panel table,
details.sys-panel.inline table {
  background: #ffffff !important;
  color: #36462a !important;
  border: 1px solid #d5e6c2 !important;
  border-collapse: collapse !important;
  width: 100% !important;
  margin: 8px 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  font-size: 12.5px !important;
}
details thead,
details tbody,
details tr {
  background: transparent !important;
}
details th {
  background: #cbe4b6 !important;
  color: #2f5028 !important;
  border-bottom: 2px solid #a3c98a !important;
  padding: 8px 6px !important;
  font-weight: 700 !important;
  text-align: left !important;
}
details td {
  background: #ffffff !important;
  color: #36462a !important;
  border-bottom: 1px solid #e3eed6 !important;
  padding: 7px 6px !important;
  vertical-align: top !important;
  line-height: 1.6 !important;
}
details tr:nth-child(even) td {
  background: #f5faee !important;
}
details tr:hover td {
  background: #eaf3dc !important;
}
details td b,
details td strong,
details td span,
details th b,
details th strong {
  color: inherit !important;
  background: transparent !important;
}

/* ===== 【F】链接、代码、引用等易漏元素 ===== */
details a {
  color: #4a7c42 !important;
  text-decoration: underline !important;
  background: transparent !important;
}
details a:hover {
  color: #2f5028 !important;
}
details code {
  background: #eaf3dc !important;
  color: #3f6b3a !important;
  padding: 1px 5px !important;
  border-radius: 3px !important;
  font-size: 12.5px !important;
}
details blockquote {
  background: #f1f8e7 !important;
  color: #46603a !important;
  border-left: 3px solid #88b06f !important;
  padding: 8px 12px !important;
  margin: 8px 0 !important;
}
details hr {
  border: none !important;
  border-top: 1px dashed #a3c98a !important;
  margin: 10px 0 !important;
}

/* ===== 【G】手机聊天专项锁色（微信风保持原设计）===== */
details.side-phone .rp-inner {
  background: #ededed !important;
  color: #333 !important;
}
details.side-phone chathead {
  background: linear-gradient(135deg, #cbe4b6, #e3f1d6) !important;
  border-bottom: 1px solid #c2dcab !important;
}
details.side-phone chathead p,
details.side-phone chathead b {
  background: transparent !important;
  color: #2f5028 !important;
  border-left: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
details.side-phone time {
  background: transparent !important;
  color: #7a8a70 !important;
}
details.side-phone msg.npc p {
  background: #ffffff !important;
  color: #232323 !important;
  border-left: none !important;
}
details.side-phone msg.user p {
  background: #95ec69 !important;
  color: #1a1a1a !important;
  border-left: none !important;
}
details.side-phone sys {
  background: transparent !important;
  color: #9aa890 !important;
}
/* 多会话 chat-item 折叠项锁色 */
details.side-phone .chat-item {
  background: #ffffff !important;
  border: 1px solid #d6d6d6 !important;
}
details.side-phone .chat-item > summary {
  background: #fafafa !important;
  color: #333 !important;
  border-left: none !important;
  border-bottom: 1px solid #ededed !important;
}
details.side-phone .chat-item .chat-body {
  background: #ededed !important;
  color: #333 !important;
}

/* ===== 【H】正文区锁色 ===== */
.rp-narrative {
  background: linear-gradient(180deg, #fcfdf9, #f1f8e7) !important;
  color: #36462a !important;
  border: 1px solid #c2dcab !important;
}
.rp-narrative p,
.rp-narrative span,
.rp-narrative b,
.rp-narrative strong,
.rp-narrative em,
.rp-narrative i {
  color: #36462a !important;
  background: transparent !important;
}
.rp-narrative b,
.rp-narrative strong {
  color: #2f5028 !important;
}
.rp-narrative em,
.rp-narrative i {
  color: #6b4a2a !important;
}

/* ===== 【I】终极兜底：任何 details 内的孤儿文本 ===== */
/* 对付那些你没预料到的 AI 临时冒出来的标签 */
details * {
  text-shadow: none !important;
}
details :not(summary):not(a):not(code):not(th) {
  /* 只在极端情况生效，不覆盖已明确指定的 */
}

/* ===== 【J】输入框/按钮·夜间也保持绿 ===== */
textarea {
  background: #f1f8e7 !important;
  color: #36462a !important;
  border: 1px solid #c2dcab !important;
}
textarea::placeholder {
  color: #8ba077 !important;
}
button {
  background: linear-gradient(135deg, #c2dcab, #d9eec4) !important;
  color: #2f5028 !important;
  border: 1px solid #a3c98a !important;
}