/* =================================================================
   builtInCss · 淫欲RPG·女冒险者的高潮之旅 · 羊皮卷宗暖调 · 四平台兼容
   -----------------------------------------------------------------
   版本：作家 v1.0 配套（2026-08-09）· 四平台兼容版
   配套 Runtime：`pre_prompt-作家v1.0.md`（RPG 分支 · 作家 v1.0）
   配套规范：`引擎文档/引擎v5/06_PRESENTATION/01_规范/跨平台builtInCss写作规范.md` v2（四平台实测版）
   适用：MissAI / 夜语 / Rili / 春水 Live 单文件共存——内容层裸选择器四平台通用，
         平台专属段只命中各自 DOM；Rili 段必须裸写（平台自动加 .custom-styles 前缀）。
   用途：平台运行时输出区样式（创作记录 / 分隔线 / 正文 / 面板 / 行动建议 / 记忆区 / 平台气泡与输入区）
   配色：羊皮纸 #f7eeda / 深棕墨 #3d2f20 / 赭金 #b8860b / 朱砂 #9c3d26
         副文棕 #7a5c3e / 淡棕 #a98a5f / 边框 #c9a96a
   字体：Georgia / 宋体系（正文、面板）；等宽用于创作记录区小字
   约束：无外链 / 无绝对定位 / 不依赖 description DOM / 引擎术语零泄漏 /
         共享层禁用 :is() / 必要信息不依赖伪元素
   装配：本文件 = 基础对齐 + 羊皮卷主题 + RPG 面板家族通用模块（theme-a）
          + 四平台容器钩子（见文件尾部）
   ================================================================= */

/* ---------- 0. 变量根 ---------- */
:root {
  --bg: #f7eeda;
  --bg-2: #f1e4c6;
  --ink: #3d2f20;
  --ink-2: #7a5c3e;
  --ink-3: #a98a5f;
  --accent: #9c3d26;
  --gold: #b8860b;
  --line: rgba(107, 74, 47, .22);
  --line-hi: rgba(184, 134, 11, .45);
  --text: #3d2f20;
  --muted: #8a7355;
  --dim: #b5a07e;
  --card: rgba(250, 243, 224, .82);
  --shadow: 0 10px 28px rgba(74, 55, 40, .18);
  --buff-pos: #2e5f8a; /* 增益 · 蓝 */
  --buff-neg: #b03030; /* 减益 · 红 */
}

/* 运行时输出区整体氛围：羊皮纸底延续 description 视觉 */
body {
  background: radial-gradient(ellipse at 50% 0%, rgba(184, 134, 11, .06), transparent 60%),
              linear-gradient(180deg, #f7eeda, #f0e0bd);
  color: #3d2f20;
  font-family: Georgia, "Songti SC", "SimSun", serif;
}

/* 通用过渡 */
.story,
details,
details summary,
.panel,
.panel summary,
.suggestions,
suggested_questions,
.suggested-questions,
.suggested_questions {
  transition: border-color .22s, background-color .22s, box-shadow .22s, opacity .22s, transform .22s;
}

/* ---------- 1. 正文 .story —— 冒险日志叙事质感 ---------- */
.story {
  padding: 26px 24px;
  font-size: 16px;
  line-height: 1.92;
  color: var(--text);
  letter-spacing: .3px;
  border-left: 1px solid rgba(184, 134, 11, .16);
  margin-left: 8px;
  animation: fadeInStory .6s ease both;
}

@keyframes fadeInStory {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

.story p {
  margin: 0 0 15px;
  text-indent: 2em;
}

.story p:last-child {
  margin-bottom: 0;
}

/* 强调：朱砂 = 关键名词 / 欲望 / 危险 */
.story strong {
  color: var(--accent);
  font-weight: 700;
}

/* 斜体：赭金 = 特殊语气 / 内心 */
.story em {
  color: var(--gold);
  font-style: italic;
}

/* 引文块 */
.story blockquote {
  margin: 18px 0;
  padding: 14px 18px;
  background: rgba(184, 134, 11, .06);
  border-left: 3px solid rgba(184, 134, 11, .4);
  border-radius: 0 6px 6px 0;
  color: #6b4a2f;
  font-size: 15px;
  line-height: 1.75;
  font-style: italic;
}

/* 对话引用 */
.story q {
  color: var(--gold);
  font-style: italic;
}

/* ---------- 2. 物理分隔线 —— 章回交接 ---------- */
hr,
.separator {
  border: none;
  height: auto;
  margin: 32px 0;
  text-align: center;
  position: relative;
  overflow: visible;
}

hr::before,
.separator::before {
  content: "";
  position: absolute;
  left: 5%;
  right: 5%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(184, 134, 11, .25) 15%,
    rgba(184, 134, 11, .55) 50%,
    rgba(184, 134, 11, .25) 85%,
    transparent 100%);
  transform: translateY(-50%);
}

/* 中间文字：卷宗批注语态 */
hr::after,
.separator::after {
  content: "剧本终 · 故事始";
  position: relative;
  display: inline-block;
  padding: 0 18px;
  background: var(--bg);
  font-size: 11px;
  letter-spacing: .3em;
  color: rgba(138, 115, 85, .65);
  animation: fadeInLine .8s ease .2s both;
}

@keyframes fadeInLine {
  from { opacity: 0; letter-spacing: .5em; }
  to { opacity: 1; letter-spacing: .3em; }
}

/* ---------- 3. 创作记录（世界演进）—— 卷宗批注栏 ---------- */
details {
  margin: 8px 0;
  animation: fadeInDetails .5s ease both;
}

@keyframes fadeInDetails {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: none; }
}

details summary {
  font-size: 11px;
  letter-spacing: .18em;
  color: rgba(138, 115, 85, .7);
  cursor: pointer;
  padding: 8px 12px;
  position: relative;
  list-style: none;
  user-select: none;
  border-radius: 4px;
}

details summary::-webkit-details-marker {
  display: none;
}

/* 卷首印记 */
details summary::before {
  content: "❖";
  display: inline-block;
  margin-right: 8px;
  font-size: 10px;
  color: rgba(184, 134, 11, .55);
  animation: pulseIndicator 2.6s ease-in-out infinite;
  vertical-align: middle;
}

@keyframes pulseIndicator {
  0%, 100% { opacity: .35; }
  50% { opacity: 1; }
}

details summary:hover {
  color: rgba(156, 61, 38, .9);
  background: rgba(184, 134, 11, .05);
}

/* 键盘焦点可见性（作家 v1.0 配套升级） */
summary:focus-visible,
.suggestions p:focus-visible,
.suggestions button:focus-visible,
suggested_questions p:focus-visible,
.suggested-questions p:focus-visible,
.suggested_questions p:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

details[open] {
  margin-bottom: 20px;
}

.judge[open] > .judge-body {
  font-size: 12px;
  line-height: 1.75;
  color: rgba(90, 68, 45, .85);
  padding: 12px 16px;
  background: rgba(241, 228, 198, .72);
  border: 1px solid rgba(107, 74, 47, .25);
  border-top: none;
  border-radius: 0 0 6px 6px;
  margin-top: -2px;
}

.judge-body > .judge-line,
.judge-body > .judge-meta {
  margin: 6px 0;
  padding-left: 12px;
  border-left: 2px solid rgba(184, 134, 11, .3);
}

.judge-body > :first-child {
  border-left-color: rgba(156, 61, 38, .5);
  color: rgba(156, 61, 38, .9);
}

/* ---------- 4. 状态面板 —— 基础羊皮卡（RPG 家族见尾部） ---------- */
.panel {
  margin: 18px 0;
  padding: 18px 20px;
  background: var(--card);
  border: 2px solid #6b4a2f;
  outline: 1px solid var(--line-hi);
  outline-offset: -3px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--text);
  box-shadow: var(--shadow);
  animation: slideUpPanel .5s ease both;
}

@keyframes slideUpPanel {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

.panel summary {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .1em;
  margin-bottom: 10px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  padding: 4px 0;
  border-bottom: 1px solid var(--line);
}

.panel summary::-webkit-details-marker {
  display: none;
}

/* 世界面板 —— 赭金 */
.panel:not(.player):not(.npc):not(.memory) summary {
  color: var(--gold);
}

/* 玩家面板 —— 朱砂 */
.panel.player summary {
  color: var(--accent);
}

/* NPC 面板 —— 深棕 */
.panel.npc summary {
  color: #6b4a2f;
}

.panel .panel-body,
.panel .panel-line,
.panel .row,
.panel li {
  list-style: none;
  margin: 7px 0;
  padding-left: 6px;
  line-height: 1.8;
}

.panel .label {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .06em;
  margin-right: 8px;
}

.panel .value {
  color: var(--text);
}

.panel .panel-line:hover,
.panel .row:hover,
.panel li:hover {
  background: rgba(184, 134, 11, .05);
  border-radius: 4px;
  margin-left: -6px;
  padding-left: 12px;
}

/* ---------- 4.5 Buff 增益/减益配色（作家 v1.0 配套） ---------- */
details.panel .buff-pos {
  color: var(--buff-pos);
  font-weight: 600;
}

details.panel .buff-neg {
  color: var(--buff-neg);
  font-weight: 600;
}

/* ---------- 5. 行动建议 —— 卷宗可选项 ---------- */
suggested_questions, .suggested-questions, .suggested_questions, .suggestions {
  display: block;
  margin: 20px 0 8px;
  padding: 0;
  background: transparent;
  border: none;
  animation: slideUpPanel .5s ease .1s both;
  counter-reset: sug;
}

suggested_questions::before,
.suggested-questions::before,
.suggested_questions::before,
.suggestions::before {
  content: "可选行动";
  display: block;
  font-size: 10px;
  letter-spacing: .28em;
  color: rgba(138, 115, 85, .55);
  margin-bottom: 10px;
  padding-left: 4px;
}

suggested_questions p,
suggested_questions button,
.suggested-questions p,
.suggested-questions button,
.suggested_questions p,
.suggested_questions button,
.suggestions p,
.suggestions button {
  position: relative;
  padding: 14px 16px 14px 48px;
  margin: 8px 0;
  background: var(--card);
  border: 1px solid rgba(107, 74, 47, .3);
  border-radius: 4px;
  color: var(--text);
  font-size: 14px;
  line-height: 1.7;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  counter-increment: sug;
}

/* 左侧编号 [壹] [贰]... */
suggested_questions p::before,
suggested_questions button::before,
.suggested-questions p::before,
.suggested-questions button::before,
.suggested_questions p::before,
.suggested_questions button::before,
.suggestions p::before,
.suggestions button::before {
  content: "[" counter(sug, decimal-leading-zero) "]";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  font-weight: 700;
  color: rgba(138, 115, 85, .6);
  letter-spacing: .08em;
}

suggested_questions p:hover,
suggested_questions button:hover,
.suggested-questions p:hover,
.suggested-questions button:hover,
.suggested_questions p:hover,
.suggested_questions button:hover,
.suggestions p:hover,
.suggestions button:hover {
  background: #faf3e0;
  border-color: var(--line-hi);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(74, 55, 40, .16);
}

suggested_questions p:hover::before,
suggested_questions button:hover::before,
.suggested-questions p:hover::before,
.suggested-questions button:hover::before,
.suggested_questions p:hover::before,
.suggested_questions button:hover::before,
.suggestions p:hover::before,
.suggestions button:hover::before {
  color: var(--accent);
}

/* ---------- 6. 通用元素补充 ---------- */
p {
  margin: 0 0 12px;
}

ul, ol {
  padding-left: 20px;
  margin: 10px 0;
}

li {
  margin: 5px 0;
  color: var(--text);
}

/* 代码/等宽 */
code, pre {
  font-family: "Courier New", Consolas, monospace;
  font-size: 12px;
  background: rgba(241, 228, 198, .8);
  border: 1px solid rgba(107, 74, 47, .25);
  border-radius: 4px;
  color: rgba(156, 61, 38, .9);
}

code {
  padding: 2px 6px;
}

pre {
  padding: 12px 16px;
  overflow-x: auto;
  margin: 12px 0;
}

/* 链接 */
a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(156, 61, 38, .3);
}

a:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* ---------- 7. 记忆档案面板（Runtime 记忆区模块 · 羊皮卷色系） ---------- */
details.panel.memory summary {
  color: var(--gold);
}

details.panel.memory > p {
  margin: 6px 0 2px;
  font-weight: 600;
  color: var(--muted);
}

details.panel.memory table {
  width: 100%;
  border-collapse: collapse;
  margin: 4px 0 12px;
  font-size: 12px;
  line-height: 1.6;
}

details.panel.memory th,
details.panel.memory td {
  border: 1px solid var(--line);
  padding: 5px 8px;
  text-align: left;
  vertical-align: top;
  color: var(--text);
}

details.panel.memory th {
  background: rgba(184, 134, 11, .12);
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .12em;
  font-weight: 600;
}

details.panel.memory td {
  background: rgba(250, 243, 224, .5);
}

/* ---------- 8. 响应式 ---------- */
@media (max-width: 480px) {
  .story {
    padding: 18px 14px;
    font-size: 15px;
    line-height: 1.85;
    margin-left: 0;
    border-left: none;
  }

  .story p {
    text-indent: 1.5em;
  }

  .panel {
    padding: 14px 16px;
  }

  .panel summary {
    font-size: 13px;
    letter-spacing: .06em;
  }

  suggested_questions p,
  suggested_questions button,
  .suggested-questions p,
  .suggested-questions button,
  .suggested_questions p,
  .suggested_questions button,
  .suggestions p,
  .suggestions button {
    padding: 12px 14px 12px 42px;
    font-size: 13px;
  }

  suggested_questions p::before,
  suggested_questions button::before,
  .suggested-questions p::before,
  .suggested-questions button::before,
  .suggested_questions p::before,
  .suggested_questions button::before,
  .suggestions p::before,
  .suggestions button::before {
    font-size: 11px;
    left: 12px;
  }

  details summary {
    font-size: 10px;
    letter-spacing: .14em;
  }

  hr::after,
  .separator::after {
    font-size: 10px;
    letter-spacing: .26em;
    padding: 0 12px;
  }
}

/* 减少动画偏好 */
@media (prefers-reduced-motion: reduce) {
  .story, .story *, details, details *, .panel, .panel *,
  .suggestions, .suggestions *, suggested_questions, suggested_questions *,
  .suggested-questions, .suggested-questions *, .suggested_questions, .suggested_questions * {
    animation: none !important;
    transition: none !important;
  }
}

/* =================================================================
   【RPG 面板家族 · 通用模块 v1.0】theme-a 羊皮卷宗暖调（默认）
   接入：world / player / npc 三面板挂 rpg-family theme-a 类
   ================================================================= */
details.panel.rpg-family {
  --rpg-bg: #f2e8d0;
  --rpg-frame-d: #6b4a2f;
  --rpg-frame-l: #d4b87a;
  --rpg-text: #3a2c1e;
  --rpg-muted: #8a7355;
  --rpg-accent: #a0522d;
  --rpg-gold: #b8860b;
  --rpg-line: rgba(107, 74, 47, .28);
  --rpg-tag-bg: rgba(160, 82, 45, .10);
  --rpg-font: Georgia, "SimSun", "Songti SC", serif;
  --rpg-dot-relaxed: #6a8f4e;
  --rpg-dot-tense: #c9a227;
  --rpg-dot-escalating: #cf6a2a;
  --rpg-dot-peak: #a03030;
  --rpg-dot-friendly: #6a8f4e;
  --rpg-dot-wary: #c9a227;
  --rpg-dot-hostile: #a03030;
  --rpg-dot-neutral: #9c8f76;
}

details.panel.rpg-family {
  width: 100%;
  margin: 14px 0;
  padding: 12px 14px;
  box-sizing: border-box;
  background: var(--rpg-bg);
  border: 2px solid var(--rpg-frame-d);
  outline: 1px solid var(--rpg-frame-l);
  outline-offset: -3px;
  color: var(--rpg-text);
  font-family: var(--rpg-font);
  font-size: 13px;
  line-height: 1.6;
}

details.panel.rpg-family *,
details.panel.rpg-family *::before,
details.panel.rpg-family *::after {
  box-sizing: border-box;
}

details.panel.rpg-family > summary {
  cursor: pointer;
  list-style: none;
  padding: 2px 0 6px;
  margin-bottom: 8px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--rpg-accent);
  border-bottom: 1px solid var(--rpg-line);
}

details.panel.rpg-family > summary::-webkit-details-marker {
  display: none;
}

details.panel.rpg-family > summary::before {
  content: "▸ ";
  color: var(--rpg-muted);
}

details.panel.rpg-family[open] > summary::before {
  content: "▾ ";
}

/* 短标签行兜底（未用结构类的裸 <p><b> 行也按家族样式渲染） */
details.panel.rpg-family > p {
  margin: 4px 0;
}

details.panel.rpg-family > p > b:first-child {
  margin-right: 4px;
  font-weight: 600;
  color: var(--rpg-accent);
}

/* 档位指示灯（压力 / 态度通用） */
.rpg-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: 1px;
  background: var(--rpg-dot-neutral);
}

.rpg-dot.d-relaxed { background: var(--rpg-dot-relaxed); }
.rpg-dot.d-tense { background: var(--rpg-dot-tense); }
.rpg-dot.d-escalating { background: var(--rpg-dot-escalating); }
.rpg-dot.d-peak { background: var(--rpg-dot-peak); }
.rpg-dot.d-friendly { background: var(--rpg-dot-friendly); }
.rpg-dot.d-wary { background: var(--rpg-dot-wary); }
.rpg-dot.d-hostile { background: var(--rpg-dot-hostile); }

/* world · 卷宗日志 */
.rpg-log-head {
  margin: 0 0 6px;
  padding-bottom: 4px;
  font-size: 12px;
  letter-spacing: .06em;
  color: var(--rpg-muted);
  border-bottom: 1px dashed var(--rpg-line);
}

.rpg-log-line {
  margin: 4px 0;
}

.rpg-log-line b {
  margin-right: 4px;
  font-weight: 600;
  color: var(--rpg-accent);
}

.rpg-pressure {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--rpg-muted);
}

/* npc · 档案卡 */
.rpg-npc-head {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 6px;
}

.rpg-npc-avatar {
  flex: 0 0 52px;
  width: 52px;
  height: 68px;
  background: var(--rpg-avatar, none) center / cover no-repeat, var(--rpg-frame-l);
  border: 2px solid var(--rpg-frame-d);
  outline: 1px solid var(--rpg-frame-l);
  outline-offset: -2px;
}

.rpg-npc-name {
  margin: 0;
  font-weight: 700;
  color: var(--rpg-text);
}

.rpg-npc-sub {
  margin-left: 6px;
  font-size: 11px;
  font-weight: 400;
  color: var(--rpg-muted);
}

.rpg-npc-attitude {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--rpg-muted);
}

.rpg-npc-line {
  margin: 3px 0;
}

.rpg-npc-line b {
  margin-right: 4px;
  font-weight: 600;
  color: var(--rpg-accent);
}

.rpg-tag {
  display: inline-block;
  margin-left: 4px;
  padding: 0 6px;
  font-size: 11px;
  color: var(--rpg-accent);
  background: var(--rpg-tag-bg);
  border: 1px solid var(--rpg-line);
}

/* player · 冒险者铭牌（备用候选；本卡默认卷宗一体） */
.rpg-plate-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
}

.rpg-plate-badge {
  padding: 1px 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--rpg-bg);
  background: var(--rpg-accent);
}

.rpg-plate-name {
  font-size: 15px;
  font-weight: 700;
}

.rpg-plate-sub {
  font-size: 11px;
  color: var(--rpg-muted);
}

.rpg-plate-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 6px;
}

.rpg-stat {
  padding: 1px 6px;
  font-size: 11px;
  color: var(--rpg-muted);
  border: 1px solid var(--rpg-line);
}

.rpg-plate-line {
  margin: 3px 0;
}

.rpg-plate-line b {
  margin-right: 4px;
  font-weight: 600;
  color: var(--rpg-accent);
}

/* 窄屏 */
@media (max-width: 480px) {
  details.panel.rpg-family {
    padding: 10px;
  }

  .rpg-npc-head {
    gap: 8px;
  }

  .rpg-npc-avatar {
    flex-basis: 44px;
    width: 44px;
    height: 58px;
  }

  .rpg-plate-stats {
    gap: 3px;
  }
}

/* =================================================================
   【本卡附加】npc 头像注入占位（有图时取消注释并按地址替换）
   =================================================================
   details.panel.rpg-family.rpg-npc .rpg-npc-avatar {
     --rpg-avatar: url("https://你的头像图地址.png");
   }
   ================================================================= */

/* =================================================================
   【四平台容器钩子 · 2026-08-09 实测版】
   用法：单文件四平台共存——各平台只命中自己的段，不命中即不生效。
   注意：Rili 段必须裸写选择器（平台自动加 .custom-styles 前缀）；
         春水旧钩子 bd-chat-input / bd-send-btn / bd-loading-dots 已失效。
   ================================================================= */

/* ---------- 8.1 春水 Live（新版实测） ---------- */
.bd-content-area {
  background: linear-gradient(180deg, #f7eeda, #f0e0bd);
}
.bd-ai-msg {
  /* AI 气泡：平台自带 rounded-2xl rounded-tl-sm overflow-hidden break-words */
  border-radius: 14px 14px 14px 4px;
}
.bd-user-msg {
  /* 用户气泡：平台自带 rounded-2xl rounded-br-sm，最大宽 90%/75% */
  border-radius: 14px 14px 4px 14px;
}
.bd-ai-msg .chat-prose,
.bd-user-msg .chat-prose {
  color: #3d2f20;
  font-size: var(--chat-font-size, 15px);
}
/* 输入区（新版）：group/composer + textarea + aria-label=发送 */
.group\/composer textarea {
  background: #faf3e0;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: #3d2f20;
  padding: 10px 12px;
}
button[aria-label="发送"] {
  border-radius: 4px;
}

/* ---------- 8.2 MissAI：内容容器 + theme-light/theme-dark ----------
   平台 @layer content-base 提供 crv2-* 变量（字号/行高/文字色等）；
   本卡为暖派羊皮卷，明暗容器都保持同套羊皮纸配色，保证卡面一致。 */
.content-renderer-v3-container.theme-light {
  background: #f7eeda;
  color: #3d2f20;
}
.content-renderer-v3-container.theme-dark {
  background: #f7eeda;
  color: #3d2f20;
}
/* details 会被平台追加 group my-2，间距冲突时用 !important */
.content-renderer-v3-container details {
  margin: 8px 0 16px !important;
}

/* ---------- 8.3 夜语：注入作用域 #installedBuiltInCss + 气泡 ---------- */
#installedBuiltInCss {
  /* 变量覆盖写这里，勿用 :root */
  --bg: #f7eeda;
  --text: #3d2f20;
  --muted: #8a7355;
}
#installedBuiltInCss .bubble-message-body {
  color: #3d2f20;
}
/* 聊天壳（按需启用）：.chat-answer-container / .chat-message /
   .user-message / .safe-html-content / .html-message-content */

/* ---------- 8.4 Rili：平台自动加 .custom-styles 前缀 → 本段裸写 ----------
   根容器自带 data-theme=light data-theme-mode=system；
   气泡语义：is-assistant / is-user（Tailwind group），气泡壳为平台工具类，
   覆盖需加 !important，具体选择器以实际 DOM 为准。 */
.rili-markdown-renderer table {
  border-color: var(--line);
}

/* ---------- 9. 末尾覆盖段（平台专属强制覆盖示例，+ !important） ----------
   各平台覆盖段可并存（不命中即不生效）；需要平台级微调时写在这里。 */
