/* ========== 内置CSS · 浅色舒适版 v2 ==========
   以玩家阅读舒适为先：暖白底 + 深灰字 + 低饱和点缀色
   不贴剧情氛围，清爽护眼
   全部纯色值 + !important 兜底，不依赖CSS变量，不依赖渐变 */

/* ---------- 0. 整体容器：暖白背景卡片 ---------- */
.khorra-output{
  background:#f8f6f1 !important;
  color:#3a3a34 !important;
  padding:16px 18px !important;
  border-radius:12px !important;
  line-height:1.9 !important;
  font-size:.95rem !important;
}

/* ---------- 1. 正文 ---------- */
.narrative-p{
  color:#3a3a34 !important;
  margin:10px 0 !important;
  text-indent:2em !important;
  line-height:2 !important;
}

/* ---------- 2. 思维链 ---------- */
details.cot-chain{
  background:#eef1f6 !important;
  border:1px solid #d5dbe4 !important;
  border-left:3px solid #4a6fa5 !important;
  border-radius:6px !important;
  margin:8px 0 !important;
}
details.cot-chain > summary{
  color:#2e4a6e !important;
  background:#e3e9f2 !important;
  font-weight:600 !important;
  padding:6px 10px !important;
}
.cot-exec-content{ color:#5c6670 !important; font-size:.82rem !important; line-height:1.9 !important; }

/* ---------- 3. 折叠面板 ---------- */

/* === 统一折叠模块规范：思维链/玩家档案/林夏面板/微信/记忆区 === */
details.cot-chain,
details.panel-details,
details.wx-chat,
details.memory-panel{
  border-radius:10px !important;
}
/* 标题栏：展开=上圆角，收起=全圆角（解决"上面圆角下面直角"） */
details.cot-chain > summary,
details.panel-details > summary,
details.wx-chat > summary,
details.memory-panel > summary{
  border-radius:10px 10px 0 0 !important;
}
details.cot-chain:not([open]) > summary,
details.panel-details:not([open]) > summary,
details.wx-chat:not([open]) > summary,
details.memory-panel:not([open]) > summary{
  border-radius:10px !important;
}
/* 内容区：展开时底部圆角 */
details.cot-chain .details-body,
details.panel-details .panel-body,
details.wx-chat .wx-body{
  border-radius:0 0 10px 10px !important;
}
/* 记忆区预留（mod启用时生效，样式与面板统一） */
details.memory-panel{
  background:#ffffff !important;
  border:1px solid #e5e0d6 !important;
  margin:10px 0 !important;
}
details.memory-panel > summary{
  color:#f2f6fa !important;
  background:#2e4a6e !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:8px 12px !important;
  cursor:pointer !important;
}
details.memory-panel .memory-body{
  padding:8px 12px !important;
  border-top:1px solid #efe9df !important;
}
details.memory-panel .memory-table td{ color:#3a3a34 !important; }
details.memory-panel .memory-table th{ color:#2e4a6e !important; font-size:.78rem !important; text-align:left !important; }
details.memory-panel .memory-detail{ font-size:.8rem !important; color:#5c6670 !important; }
.panel-details{
  background:#ffffff !important;
  border:1px solid #e5e0d6 !important;
  border-radius:8px !important;
  margin:10px 0 !important;
}
.panel-details > summary{
  color:#f2f6fa !important;
  background:#2e4a6e !important;
  border-radius:8px 8px 0 0 !important;
  padding:8px 12px !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.panel-summary-icon{ font-size:1rem !important; }
.panel-summary-title{ font-weight:700 !important; }
.panel-summary-sub{ margin-left:auto !important; font-size:.7rem !important; color:#b8c6d8 !important; }
.panel-body{ border-top:1px solid #efe9df !important; padding:8px 12px !important; }
.details-body{ background:#ffffff !important; }
details summary::-webkit-details-marker{ display:none !important; }
details summary{ list-style:none !important; }

/* ---------- 4. 时间头 ---------- */
.time-header{
  color:#3a3a34 !important;
  background:#ffffff !important;
  border:1px solid #e5e0d6 !important;
  border-left:3px solid #c9a227 !important;
  border-radius:6px !important;
  padding:8px 12px !important;
  margin:10px 0 !important;
  font-size:.85rem !important;
}
.time-day{ color:#b8860b !important; font-weight:700 !important; }
.time-period,.time-clock{ color:#6b665c !important; }
.time-sep{ color:#c9c4b8 !important; }
.time-row-loc{ color:#3a3a34 !important; margin-top:4px !important; }
.time-row-weather{ color:#8a8578 !important; font-size:.8rem !important; }
.time-divider{ border-top:1px dashed #e5e0d6 !important; margin:6px 0 !important; }
.time-row-budget{ display:flex !important; gap:10px !important; flex-wrap:wrap !important; font-size:.78rem !important; }
.budget-label{ color:#8a8578 !important; }
.budget-item.linxia{ color:#2e4a6e !important; }

/* ---------- 5. 对话气泡 ---------- */
.lx-msg,.sm-msg,.us-msg,.npc-msg{
  display:flex !important;
  align-items:baseline !important;
  gap:8px !important;
  margin:8px 0 !important;
  padding:8px 12px !important;
  border-radius:8px !important;
  line-height:1.8 !important;
}
.lx-msg{ background:#eef3fa !important; border-left:3px solid #4a6fa5 !important; }
.lx-name{ color:#2e4a6e !important; font-weight:700 !important; }
.lx-text{ color:#3a3a34 !important; }
.sm-msg{ background:#fbf1ec !important; border-left:3px solid #c96f4a !important; }
.sm-name{ color:#b3452f !important; font-weight:700 !important; }
.sm-text{ color:#3a3a34 !important; }
.us-msg{ background:#f6f0f7 !important; border-left:3px solid #8c6a9e !important; }
.us-name{ color:#6b4f7d !important; font-weight:700 !important; }
.us-text{ color:#3a3a34 !important; }
.npc-msg{ background:#f2f0ea !important; border-left:3px solid #9b9688 !important; }
.npc-name{ color:#6b665c !important; font-weight:700 !important; }
.npc-text{ color:#3a3a34 !important; }

/* ---------- 6. 回忆块 ---------- */
.memory-flash{
  background:#f4f6fa !important;
  border:1px dashed #d5dbe4 !important;
  border-left:3px solid #c9a227 !important;
  border-radius:6px !important;
  padding:8px 12px !important;
  margin:10px 0 !important;
  font-size:.85rem !important;
}
.memory-label{ color:#b8860b !important; font-weight:600 !important; }
.memory-text{ color:#6b665c !important; font-style:italic !important; }

/* ---------- 7. 玩家档案 ---------- */
.player-card{ padding:4px 2px !important; }
.player-name-row{ display:flex !important; align-items:center !important; gap:10px !important; }
.player-name{ font-size:1.1rem !important; font-weight:800 !important; color:#2e4a6e !important; }
.player-lv{ font-size:.75rem !important; color:#8a8578 !important; background:#f2f0ea !important; padding:1px 8px !important; border-radius:10px !important; }
.player-meta{ display:flex !important; gap:16px !important; flex-wrap:wrap !important; margin:6px 0 !important; font-size:.85rem !important; color:#3a3a34 !important; }
.player-section{ margin:8px 0 !important; }
.player-section-label{ font-size:.78rem !important; color:#8a8578 !important; margin-bottom:2px !important; }
.player-text{ font-size:.85rem !important; color:#3a3a34 !important; }
.player-section.assets .player-text{ color:#a8842c !important; }

/* ---------- 8. 林夏面板 ---------- */
.lx-panel{ padding:4px 2px !important; }
.lx-quickinfo{ display:flex !important; gap:8px !important; flex-wrap:wrap !important; font-size:.75rem !important; color:#8a8578 !important; margin-bottom:8px !important; }
.lx-quickinfo span{ background:#f2f0ea !important; padding:1px 8px !important; border-radius:10px !important; }
.lx-bars{ display:flex !important; flex-direction:column !important; gap:6px !important; }
.bar-row{ display:flex !important; align-items:center !important; gap:8px !important; font-size:.82rem !important; }
.bar-name{ width:88px !important; color:#3a3a34 !important; flex-shrink:0 !important; }
.bar-name b{ color:#4a6fa5 !important; }
.bar-track{ flex:1 !important; height:10px !important; background:#e8e4dc !important; border-radius:5px !important; overflow:hidden !important; }
.bar-row.wh .bar-fill{ height:100% !important; background:linear-gradient(90deg,#4a7fb5,#6fa8dc) !important; border-radius:5px !important; }
.bar-row.fav .bar-fill{ height:100% !important; background:linear-gradient(90deg,#e0a0b8,#e8739a) !important; border-radius:5px !important; }
.bar-value{ width:52px !important; text-align:right !important; color:#8a8578 !important; font-size:.75rem !important; }
.lx-changes{ display:flex !important; flex-direction:column !important; gap:2px !important; margin:8px 0 !important; font-size:.78rem !important; }
.change-item.wh{ color:#2e4a6e !important; }
.change-item.fav{ color:#c55a80 !important; }
.lx-status{ display:flex !important; gap:16px !important; flex-wrap:wrap !important; font-size:.8rem !important; color:#3a3a34 !important; margin:6px 0 !important; }
.lx-status b{ color:#8a8578 !important; font-weight:500 !important; }
.lx-sub{ margin-top:8px !important; display:flex !important; flex-direction:column !important; gap:6px !important; }
.sub-block{ background:#f7f5f0 !important; border-radius:6px !important; padding:6px 10px !important; }
.sub-block.thought{ background:#fdf8ec !important; border-left:3px solid #c9a227 !important; }
.sub-block.thought .sub-label{ color:#b8860b !important; }
.sub-block.thought .sub-text{ color:#4a4030 !important; font-style:italic !important; }
.sub-label{ font-size:.75rem !important; color:#8a8578 !important; margin-bottom:2px !important; }
.sub-text{ font-size:.83rem !important; color:#3a3a34 !important; }

/* ---------- 9. 微信聊天块（折叠·浅色微信主题） ---------- */
.wx-chat{
  background:#ffffff !important;
  border:1px solid #e5e0d6 !important;
  border-radius:8px !important;
  margin:12px 0 !important;
  font-size:.85rem !important;
  max-width:100% !important;
}
.wx-chat > summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  cursor:pointer !important;
  padding:8px 12px !important;
  background:#f0f2f5 !important;
  border-left:3px solid #07c160 !important;
  border-radius:8px !important;
}
.wx-title{ color:#3a3a34 !important; font-weight:700 !important; }
.wx-sub{ color:#9b9688 !important; font-size:.7rem !important; }
.wx-body{ padding:8px 12px !important; border-top:1px solid #efe9df !important; }
.wx-date{ text-align:center !important; color:#9b9688 !important; font-size:.7rem !important; margin:4px 0 8px !important; }
.wx-bubble{ max-width:78% !important; margin:6px 0 !important; padding:7px 11px !important; border-radius:8px !important; line-height:1.7 !important; position:relative !important; }
.wx-bubble-name{ font-size:.68rem !important; margin-bottom:2px !important; opacity:.8 !important; }
/* 林夏=机主：右·绿色；苏曼=对方：左·白色 */
.wx-from-lin{ margin-left:auto !important; background:#95ec69 !important; border-top-right-radius:2px !important; }
.wx-from-lin .wx-bubble-name{ color:#3a7a2a !important; }
.wx-from-lin .wx-bubble-text{ color:#1f4d14 !important; }
.wx-from-man{ background:#f0f0f0 !important; border-top-left-radius:2px !important; }
.wx-from-man .wx-bubble-name{ color:#8a8578 !important; }
.wx-from-man .wx-bubble-text{ color:#3a3a34 !important; }

/* ---------- 10. 选择面板 ---------- */
.choice-panel{ margin:12px 0 !important; }
.choice-header{ font-size:.8rem !important; color:#8a8578 !important; margin-bottom:6px !important; }
.choice-list{ display:flex !important; flex-direction:column !important; gap:6px !important; }
.choice-card{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  background:#ffffff !important;
  border:1px solid #e5e0d6 !important;
  border-left:3px solid #c9a227 !important;
  border-radius:6px !important;
  padding:8px 12px !important;
  cursor:pointer !important;
}
.choice-card:hover{ background:#f7f5f0 !important; }
.choice-left{ display:flex !important; align-items:center !important; gap:10px !important; }
.choice-label{ font-size:.72rem !important; color:#b8860b !important; font-weight:700 !important; flex-shrink:0 !important; }
.choice-text{ font-size:.85rem !important; color:#3a3a34 !important; }
.choice-arrow{ color:#c9c4b8 !important; }
.choice-custom{ border-left-color:#8c6a9e !important; }
.choice-custom .choice-label{ color:#6b4f7d !important; }

/* ---------- 11. 移动端适配（覆盖全部模块） ---------- */
@media (max-width:640px){
  /* 整体 */
  .khorra-output{ padding:10px 10px !important; font-size:.9rem !important; }
  .narrative-p{ font-size:.92rem !important; }

  /* 思维链 */
  .cot-exec-content{ font-size:.78rem !important; }

  /* 折叠面板标题：副标题压缩防挤压 */
  .panel-summary-sub{ font-size:.62rem !important; max-width:40% !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
  details.panel-details > summary,
  details.memory-panel > summary{ padding:7px 10px !important; }

  /* 时间头 */
  .time-row-main{ gap:5px !important; }
  .time-row-budget{ gap:6px !important; font-size:.72rem !important; }
  .time-header{ padding:7px 10px !important; }

  /* 对话气泡 */
  .lx-msg,.sm-msg,.us-msg,.npc-msg{ padding:7px 10px !important; }

  /* 玩家档案 */
  .player-meta{ flex-direction:column !important; gap:4px !important; }
  .player-name{ font-size:1rem !important; }

  /* 林夏面板 */
  .bar-name{ width:72px !important; font-size:.76rem !important; }
  .bar-value{ width:44px !important; }
  .lx-quickinfo span{ font-size:.68rem !important; }
  .lx-status{ flex-direction:column !important; gap:4px !important; }

  /* 微信 */
  .wx-chat{ max-width:100% !important; }
  .wx-bubble{ max-width:85% !important; }

  /* 选择面板 */
  .choice-card{ padding:7px 10px !important; }
  .choice-text{ font-size:.8rem !important; line-height:1.6 !important; }

  /* 通用长文本换行保护 */
  .narrative-p,.lx-text,.sm-text,.us-text,.npc-text,
  .player-text,.sub-text,.memory-text,.choice-text{
    word-break:break-word !important;
    overflow-wrap:break-word !important;
  }
}

/* ===== 记忆区MOD样式 ===== */
/* 表格横向滑动容器：手机上不撑爆气泡 */
.memory-scroll{
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
/* 表格：固定最小宽度实现左右滑动 */
.memory-table{
  width:100% !important;
  min-width:640px !important;
  border-collapse:collapse !important;
  font-size:.82rem !important;
  line-height:1.7 !important;
}
.memory-table th{
  background:#2e4a6e !important;
  color:#f2f6fa !important;
  padding:6px10px !important;
  text-align:left !important;
  white-space:nowrap !important;
  font-weight:600 !important;
}
.memory-table td{
  border:1px solid #e5e0d6 !important;
  padding:6px10px !important;
  color:#3a3a34 !important;
  vertical-align:top !important;
}
.memory-table tr:nth-child(even){ background:#f7f5f0 !important; }
.memory-table th{ border:1px solid #2e4a6e !important; }

/* 内层折叠标题（STM/LTM） */
.memory-stm > summary,
.memory-ltm > summary{
  background:#f2f0ea !important;
  color:#2e4a6e !important;
  font-weight:600 !important;
  padding:6px10px !important;
  border-radius:6px !important;
  cursor:pointer !important;
  margin-bottom:6px !important;
}
/* 记忆区底部说明 */
.memory-note{
  font-size:.75rem !important;
  color:#8a8578 !important;
  margin-top:8px !important;
}

