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

/* ═══ B平台顶部栏适配说明（自动注入）═══
   A: div.sticky > div.flex.justify-between
      ├── 左侧空区
      ├── #ai-model-selector (居中)
      └── 右侧工具(设置按钮等)
   B: <header.flex.justify-between>
      ├── #nav-left (侧边栏开关)
      ├── #nav-middle (可能为空)
      └── #nav-right (通知/主题/语言)
   B平台模型按钮不在header内，选择器:
   button:has(> .flex-1.truncate.text-left)
   ═══════════════════════════════════ */
header.flex.justify-between { position: relative; overflow: visible; }

/* ============================================================
   高维标签篡改系统 · 状态栏 CSS（浅色纸墨主题 · 完整版）
   说明：面板统一为米灰纸页底 + 深黛墨字，与「隐秘档案」主题一致；
         标签/篡改过程保留殷红墨迹与血痕特效。
   ============================================================ */

/* ---- 面板基础：米灰纸页 ---- */
details {
    background: rgba(250, 248, 243, 0.92);   /* 米灰纸张 */
    border: 1px solid rgba(90, 80, 60, 0.18); /* 淡墨痕边框 */
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 12px;
    color: #3a362f;                           /* 深墨正文 */
    font-family: 'KaiTi', 'STKaiti', '楷体', 'FangSong', serif;
    box-shadow: 0 1px 3px rgba(80, 70, 50, 0.12);
    transition: all 0.3s ease;
}
details:hover {
    border-color: rgba(90, 80, 60, 0.35);
    box-shadow: 0 2px 8px rgba(80, 70, 50, 0.18);
}
summary {
    cursor: pointer;
    color: #2a2824;                           /* 浓墨标题 */
    font-weight: bold;
    font-size: 1.05em;
    letter-spacing: 1px;
    padding: 4px 2px;
    list-style: none;
    border-bottom: 1px solid rgba(90, 80, 60, 0.15);
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}
summary::-webkit-details-marker {
    display: none;
}
.content {
    padding: 10px 2px;
    line-height: 1.6;
}

/* ============================================================
   观察模式 · 读取NPC标签 —— 「殷红墨笺」
   泛黄纸页底 + 手写体 + 殷红墨迹晕染 + 左下角血滴笔迹
   ============================================================ */
/* 同时匹配自定义标签 <char-tag> 和 class="char-tag" */
char-tag,
.char-tag {
    position: relative;
    display: inline-block;
    background: #f2e8d8;                 /* 泛黄纸页 */
    border: 1px solid rgba(150, 45, 55, 0.5);
    border-radius: 3px;
    color: #7d1f26;                       /* 殷红墨字 */
    padding: 2px 9px 2px 9px;
    margin: 0 3px;
    font-size: 0.9em;
    font-family: 'KaiTi', 'STKaiti', '楷体', 'FangSong', serif;  /* 手写/楷体 */
    letter-spacing: 1px;
    box-shadow:
        0 1px 3px rgba(90, 40, 35, 0.18),
        inset 0 0 12px rgba(150, 60, 60, 0.12);   /* 内层纸纹微染红 */
    vertical-align: middle;
    cursor: pointer;
    transition: all 0.25s ease;
}
/* 左下角血滴笔迹 */
char-tag::before,
.char-tag::before {
    content: "";
    position: absolute;
    left: 3px;
    bottom: 3px;
    width: 5px;
    height: 5px;
    background: rgba(140, 40, 45, 0.55);
    border-radius: 50%;
    animation: ink-blink 2.4s infinite;
}
/* 右侧边缘轻微殷红晕染 */
char-tag::after,
.char-tag::after {
    content: "";
    position: absolute;
    top: 0;
    right: -1px;
    width: 3px;
    height: 100%;
    background: radial-gradient(ellipse at right center, rgba(150, 50, 55, 0.2), transparent 70%);
    pointer-events: none;
}
char-tag:hover,
.char-tag:hover {
    background: #faf0e0;
    border-color: rgba(170, 50, 60, 0.75);
    color: #5c1015;
    box-shadow:
        0 2px 6px rgba(110, 45, 40, 0.22),
        inset 0 0 14px rgba(160, 60, 60, 0.2);
}

/* ============================================================
   篡改模式 · 改写现实 —— 「血痕涂改」
   旧标签斜向血痕划掉 · 箭头血墨流淌 · 新标签血红+溅染
   ============================================================ */
/* 同时匹配自定义标签 <mod-process> 和 class="mod-process" */
mod-process,
.mod-process {
    position: relative;
    display: inline-flex;
    align-items: center;
    background: linear-gradient(180deg, rgba(246, 236, 220, 0.92), rgba(240, 224, 204, 0.96));
    padding: 2px 10px;
    border-radius: 3px;
    border: 1px solid rgba(150, 45, 55, 0.4);
    box-shadow:
        0 1px 4px rgba(100, 45, 40, 0.15),
        inset 0 0 10px rgba(150, 60, 60, 0.12);
}
/* 旧标签：殷红褪色 + 斜向血痕划过 + 缓慢洇开 */
mod-process del,
.mod-process del {
    position: relative;
    color: #9c5454;
    text-decoration: none;
    font-family: 'KaiTi', 'STKaiti', '楷体', 'FangSong', serif;
    font-size: 0.88em;
    opacity: 0.75;
    animation: del-blot 3.4s infinite;
}
/* 斜向血痕：伪装元素画一条从右上到左下的血线 */
mod-process del::before,
.mod-process del::before {
    content: "";
    position: absolute;
    left: -8%;
    top: 62%;
    width: 116%;
    height: 0;
    border-top: 2px solid rgba(170, 40, 48, 0.9);
    transform: rotate(-12deg);
    box-shadow:
        0 0 4px rgba(170, 40, 48, 0.7),
        0 0 10px rgba(150, 30, 40, 0.35);
    pointer-events: none;
}
/* 箭头：血墨流淌，轻微起伏 */
mod-process .arr,
.mod-process .arr {
    margin: 0 8px;
    color: #8b2530;
    font-style: normal;
    font-weight: bold;
    font-size: 1em;
    text-shadow: 0 1px 2px rgba(130, 35, 40, 0.3);
    animation: arr-flow 1.8s ease-in-out infinite;
}
/* 新标签：血红 + 带染血特效 */
mod-process ins,
.mod-process ins {
    position: relative;
    color: #c20e1e;                        /* 血红色 */
    text-decoration: none;
    font-weight: bold;
    font-family: 'KaiTi', 'STKaiti', '楷体', 'FangSong', serif;
    font-size: 0.95em;
    letter-spacing: 1px;
    text-shadow:
        0 0 5px rgba(194, 20, 30, 0.45),
        0 0 12px rgba(160, 20, 30, 0.25),
        0 1px 2px rgba(120, 20, 25, 0.3);
    animation: ins-ink 3.2s infinite;
}
/* 左上角溅点 */
mod-process ins::before,
.mod-process ins::before {
    content: "";
    position: absolute;
    left: -6px;
    top: -4px;
    width: 3px;
    height: 3px;
    background: #a81222;
    border-radius: 50%;
    box-shadow: 0 0 3px rgba(180, 20, 30, 0.6);
    animation: bleed-drip 3.2s infinite;
}
/* 右下角飞溅小血滴（带毛刺） */
mod-process ins::after,
.mod-process ins::after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: -3px;
    width: 2px;
    height: 2px;
    background: #a81222;
    border-radius: 50%;
    box-shadow:
        4px 1px 0 0 rgba(180, 25, 35, 0.6),
        7px -2px 0 0 rgba(180, 25, 35, 0.45),
        1px -3px 0 0 rgba(180, 25, 35, 0.35);
    animation: bleed-drip 3.2s infinite;
}

/* ---- 动作/系统/内心描写（*包裹的* 斜体）：淡墨质感 ---- */
em,
i:not(.arr) {
    color: #5a5244;
    font-style: italic;
    opacity: 0.9;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.4);
}
/* 段落级动作描写：淡墨底衬，与正文区分 */
em {
    background: linear-gradient(90deg, rgba(90, 80, 60, 0.07), transparent 80%);
    padding: 0 2px;
    border-radius: 2px;
}

/* ---- 动画 ---- */
/* 观察标签 · 墨点呼吸 */
@keyframes ink-blink {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50%      { opacity: 0.15; transform: scale(0.7); }
}
/* 篡改 · 旧标签血痕洇开：缓慢变淡、模糊扩散 */
@keyframes del-blot {
    0%, 80%, 100% { opacity: 0.75; filter: none; transform: none; }
    82% { opacity: 0.5;  filter: blur(0.4px); }
    84% { opacity: 0.8;  filter: none; }
    86% { opacity: 0.45; filter: blur(0.6px); transform: translateY(0.5px); }
    90% { opacity: 0.7;  filter: none; transform: none; }
}
/* 篡改 · 血滴渗出：溅点轻微放大、变淡 */
@keyframes bleed-drip {
    0%, 70%, 100% { opacity: 0.8; transform: scale(1); }
    78% { opacity: 1;   transform: scale(1.4); }
    84% { opacity: 0.35; transform: scale(0.85); }
    90% { opacity: 0.7;  transform: scale(1); }
}
/* 篡改 · 箭头墨迹流淌 */
@keyframes arr-flow {
    0%, 100% { opacity: 0.75; transform: scale(1) translateX(0); }
    50%      { opacity: 1;    transform: scale(1.08) translateX(1px); }
}
/* 篡改 · 新标签殷红浮现：笔画由淡到浓 */
@keyframes ins-ink {
    0%, 84%, 100% { opacity: 1; text-shadow: 0 1px 2px rgba(120, 30, 35, 0.3); }
    86% { opacity: 0.55; text-shadow: 0 0 3px rgba(140, 35, 40, 0.35); }
    90% { opacity: 1; text-shadow: 0 0 2px rgba(140, 35, 40, 0.4); }
}

/* ---- 📜 核心规则：观察 / 篡改模式 ---- */
.rules {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}
.rule {
    border: 1px solid rgba(90, 80, 60, 0.22);
    border-radius: 6px;
    background: rgba(250, 248, 243, 0.6);
    padding: 10px 12px;
    box-shadow: inset 0 0 10px rgba(90, 80, 60, 0.06);
}
.rule-head {
    color: #2a2824;
    font-weight: bold;
    font-size: 1em;
    letter-spacing: 1px;
    margin-bottom: 6px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(90, 80, 60, 0.18);
}
.rule-body {
    color: #3a362f;
    font-size: 0.9em;
    line-height: 1.6;
    margin-bottom: 8px;
}
/* 规则里的代码示例行 */
.rule-code {
    background: rgba(244, 241, 234, 0.85);
    border: 1px dashed rgba(90, 80, 60, 0.3);
    border-radius: 4px;
    padding: 6px 8px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.85em;
    color: #2c2c2c;
}
.rule-code char-tag,
.rule-code .char-tag,
.rule-code mod-process,
.rule-code .mod-process {
    margin: 0 2px;
    vertical-align: middle;
}

/* ---- 📍 场景栏：纸页强调（置顶面板） ---- */
details.scene {
    background: #faf7f0;                    /* 略亮一档，置顶醒目 */
    border: 1px solid rgba(90, 80, 60, 0.3);
    box-shadow: 0 2px 6px rgba(80, 70, 50, 0.14);
}
details.scene:hover {
    border-color: rgba(139, 37, 48, 0.4);   /* 悬停泛一点血墨 */
    box-shadow: 0 2px 10px rgba(80, 70, 50, 0.2);
}
details.scene > summary {
    background: linear-gradient(90deg, #f1ece0, #e6ddcb, #f1ece0);
    color: #2a2824;
    border-bottom: 1px solid rgba(90, 80, 60, 0.18);
    letter-spacing: 2px;
}
/* 当日角标 */
.day-marker {
    color: #7d1f26;
    font-size: 0.78em;
    letter-spacing: 1px;
    background: rgba(150, 45, 55, 0.08);
    border: 1px solid rgba(150, 45, 55, 0.3);
    padding: 1px 8px;
    border-radius: 3px;
    margin-left: 10px;
    vertical-align: 2px;
}
/* 场景信息：等宽对齐 */
.scene-grid {
    display: grid;
    grid-template-columns: 92px 1fr;
    row-gap: 5px;
    column-gap: 12px;
    margin-top: 4px;
}
.scene-grid .k {
    color: #5a5040;
    font-weight: bold;
    opacity: 0.9;
    text-align: right;
}
.scene-grid .v {
    color: #2c2c2c;
}
/* 处境：血墨边高亮 */
.scene-now {
    border-left: 3px solid #8b2530;
    padding-left: 8px;
    background: rgba(150, 45, 55, 0.05);
    border-radius: 0 4px 4px 0;
}
.scene-npc {
    color: #7d1f26;
}
/* 可前往：胶囊标签 */
.scene-tags .go {
    display: inline-block;
    background: rgba(90, 80, 60, 0.06);
    border: 1px solid rgba(90, 80, 60, 0.25);
    color: #4a443a;
    padding: 1px 7px;
    border-radius: 3px;
    margin: 1px 2px;
    font-size: 0.9em;
    transition: all 0.25s ease;
}
.scene-tags .go:hover {
    background: rgba(150, 45, 55, 0.1);
    border-color: rgba(150, 45, 55, 0.35);
    color: #7d1f26;
}

/* ---- 表格：纸页阵列 ---- */
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    background: rgba(250, 248, 243, 0.5);
    font-size: 0.9em;
}
th, td {
    border: 1px solid rgba(90, 80, 60, 0.16);
    padding: 8px 10px;
    text-align: left;
}
th {
    background: rgba(90, 80, 60, 0.08);
    color: #2a2824;
    font-weight: bold;
}
tbody tr:hover {
    background: rgba(150, 45, 55, 0.04);
}

/* ---- 城市脉搏小标题 ---- */
.city-pulse {
    color: #5a5040;
    border-left: 3px solid #8b2530;
    padding-left: 8px;
    margin-top: 15px;
}

/* ---- 女性NPC身体细节：纸页虚线框 ---- */
.npc-body {
    border: 1px dashed rgba(150, 45, 55, 0.3);
    background: rgba(250, 248, 243, 0.6);
    border-radius: 5px;
    padding: 10px 14px;
    margin-top: 10px;
    box-shadow: inset 0 0 10px rgba(90, 80, 60, 0.05);
}
.npc-body .body-title {
    color: #7d1f26;
    letter-spacing: 1px;
    font-size: 0.95em;
    border-bottom: 1px dashed rgba(150, 45, 55, 0.25);
    padding-bottom: 5px;
    margin-bottom: 8px;
}
.npc-body li {
    margin-bottom: 6px;
    line-height: 1.65;
}
.npc-body li em {
    color: #5a5244;
    font-style: normal;
    display: block;
    margin-top: 1px;
}
.npc-body ul {
    padding-left: 18px;
    margin-bottom: 0;
}
.npc-body .warn {
    color: #a33040;
    font-size: 0.82em;
    opacity: 0.9;
    margin-top: 8px;
    letter-spacing: 1px;
}
/* NPC标题栏 ♀ 标记 */
.npc-sex {
    color: #7d1f26;
    font-size: 0.85em;
}

/* ---- 强调 / 列表 / 分隔线 ---- */
strong {
    color: #2c2c2c;
}
ul, ol {
    padding-left: 20px;
    margin-bottom: 10px;
}
hr {
    border: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(90, 80, 60, 0.35), transparent);
    margin: 15px 0;
}

/* =========================================
   主题：隐秘档案 (Ink & Handwriting)
   设计：米灰纸页、手写墨迹、边缘晕开、涂改质感
   ========================================= */
/* 1. 顶部栏：泛黄的档案页眉 */
header.flex.justify-between {
    background: rgba(244, 241, 234, 0.95) !important; /* 米灰纸张底色 */
    backdrop-filter: blur(4px) !important;
    border-bottom: 1px solid rgba(59, 56, 49, 0.1) !important; /* 极淡的墨痕分割 */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}
/* 顶部栏文本与图标：深黛色墨水 */
#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left,
header.flex.justify-between svg {
    color: #2a2824 !important; /* 浓墨色 */
    fill: #2a2824 !important;
    font-family: "KaiTi", "STKaiti", "华文楷体", cursive, serif !important; /* 强制手写/楷体风格 */
    font-weight: 500 !important;
    letter-spacing: 1px !important;
}
/* 2. 开场白选择器：半透明的批注纸签 */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
    background: rgba(250, 248, 243, 0.8) !important;
    border: 1px solid rgba(59, 56, 49, 0.15) !important;
    border-radius: 8px !important; /* 圆润的边缘 */
    color: #3b3831 !important;
    font-family: "KaiTi", "STKaiti", "华文楷体", cursive, serif !important;
    transition: all 0.6s ease !important; /* 缓慢的墨迹浮现感 */
}
/* 悬停时：模拟墨水洇开与涂改感 */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
    background: rgba(235, 230, 218, 0.9) !important;
    border-color: rgba(59, 56, 49, 0.4) !important;
    box-shadow: 0 0 8px rgba(59, 56, 49, 0.1) !important; /* 墨迹晕开的柔和阴影 */
    color: #000000 !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] svg {
    color: #3b3831 !important;
    opacity: 0.7 !important;
}
/* 3. 按钮栏：被划掉的旧标签与新批注 */
#ai-mod-button2 button.MuiButton-root {
    background: transparent !important;
    border: 1px solid transparent !important;
    border-bottom: 1px solid rgba(59, 56, 49, 0.3) !important; /* 类似信笺的底线 */
    color: #5a554c !important; /* 稍淡的陈旧墨色 */
    border-radius: 4px !important;
    font-family: "KaiTi", "STKaiti", "华文楷体", cursive, serif !important;
    transition: all 0.5s ease-in-out !important;
}
/* 悬停时：旧字被划掉，新墨迹加深 */
#ai-mod-button2 button.MuiButton-root:hover {
    background: rgba(59, 56, 49, 0.05) !important;
    color: #111111 !important; /* 新墨水颜色变深 */
    text-decoration: line-through !important; /* 模拟被横线划掉的涂改感 */
    text-decoration-color: rgba(0, 0, 0, 0.6) !important;
}
/* 4. 底部栏与输入框、Token数字显示 */
#ai-chat-bottom-input {
    background: linear-gradient(to top, rgba(244, 241, 234, 1), rgba(244, 241, 234, 0.8)) !important;
    border-top: 1px dashed rgba(59, 56, 49, 0.2) !important; /* 虚线分割，像可撕下的便签纸 */
}
#ai-chat-input {
    background: rgba(255, 255, 255, 0.4) !important;
    border: none !important;
    border-bottom: 2px solid rgba(59, 56, 49, 0.3) !important; /* 仅保留底部书写线 */
    color: #1a1815 !important;
    font-family: "KaiTi", "STKaiti", "华文楷体", cursive, serif !important;
    font-size: 15px !important;
    border-radius: 0px !important;
    box-shadow: none !important;
    transition: all 0.8s ease !important; /* 极慢的过渡，像墨水慢慢渗入纸张 */
}
/* 聚焦输入时：墨迹加深 */
#ai-chat-input:focus {
    border-bottom: 2px solid rgba(20, 18, 15, 0.8) !important;
    background: rgba(255, 255, 255, 0.6) !important;
}
/* 输入框占位符：淡出的旧字迹 */
#ai-chat-input::placeholder {
    color: rgba(59, 56, 49, 0.4) !important;
    font-style: italic !important;
}
/* 文字选中效果：水墨晕染的高亮 */
#ai-chat-input::selection {
    background: rgba(59, 56, 49, 0.15) !important;
    color: #000000 !important;
}

/* 🔥 修复：Token 消耗数字显示模块（取消注释 + 增强显眼度） */
.flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground {
    color: #2c2c2c !important; /* 把原来的浅灰改成深墨色，和正文一样黑，瞬间看清 */
    opacity: 1 !important;     /* 取消透明度，让他 100% 显示 */
    font-family: 'Courier New', Consolas, monospace !important; /* 保持等宽字体 */
    font-weight: 600 !important; /* 数字加粗一丢丢，更醒目 */
}

/* =========================================
   墨迹手写风：隐秘档案与涂改批注
   ========================================= */
/* 1. 隐藏默认顶部颜色装饰条 */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}
/* 2. 聊天框主体：半透明米灰纸张质感与晕开边缘 */
.is-user > .border.border-muted,
.is-assistant > .border.border-muted {
    background-color: rgba(245, 242, 235, 0.95) !important; /* 米灰底纸张色 */
    border-radius: 8px 24px 8px 24px !important; /* 略微不规则的圆润纸片感 */
    box-shadow:
        inset 0 0 10px rgba(0, 0, 0, 0.03), /* 内部轻微晕开 */
        2px 3px 6px rgba(0, 0, 0, 0.06) !important; /* 纸张投影 */
    border: 1px solid rgba(220, 215, 205, 0.8) !important;
    padding: 12px 16px !important;
    transition: all 0.3s ease !important;
}
/* 3. 核心文本：深色墨迹手写体，确保绝对可读性 */
.rili-markdown-renderer {
    color: #2c2c2c !important; /* 浓墨色，高对比度 */
    font-family: 'Kaiti', 'STKaiti', 'KaiTi_GB2312', 'Palatino Linotype', 'Book Antiqua', Palatino, serif, cursive !important; /* 🔥 保留你的原版楷体 */
    font-weight: normal !important; /* 🔥 重点！由原来的 bold 改为 normal，去掉粗体！ */
    line-height: 1.7 !important;
    background: transparent !important;
    z-index: 1 !important;
    position: relative !important;
}
/* 4. 底部附加元素（模型名等）：稍淡的墨色 */
.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7,
.flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground {
    /* 注：上方 Flex 类已经被专门提出来加粗和改色了，防止冲突保留 */
    color: #555555 !important;
    font-family: inherit !important;
    opacity: 0.8 !important;
}
/* 5. 隐藏默认加载动画 */
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text {
    display: none !important;
}
/* 6. 自定义加载动画：墨水横线划掉旧标，淡入新字 (SMIL SVG) */
.flex.items-center.justify-center.size-6 {
    position: relative !important;
    width: 80px !important; /* 增加宽度以容纳手写文字 */
    height: 24px !important;
}
.flex.items-center.justify-center.size-6::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 80px !important;
    height: 24px !important;
    /*
       内嵌 SVG 动画逻辑：
       1. 第一组文字显示“旧档案”，同时一条墨线(stroke-dashoffset动画)将其划掉，随后整体淡出。
       2. 第二组文字“新批注”在旧字淡出后，透明度由0到1浮现。
    */
    background-image: url('data:image/svg+xml;utf8,<svg width="80" height="24" viewBox="0 0 80 24" xmlns="http://www.w3.org/2000/svg"><style>.txt{font-family:"Kaiti","STKaiti",serif;font-size:13px;font-weight:bold;}.old{fill:%23888;}.new{fill:%232c2c2c;}.strike{stroke:%23111;stroke-width:1.5;stroke-linecap:round;}</style><g><animate attributeName="opacity" values="1;1;0;0;1" dur="4s" repeatCount="indefinite"/><text x="12" y="17" class="txt old">旧档废弃</text><line x1="5" y1="13" x2="75" y2="13" class="strike" stroke-dasharray="70" stroke-dashoffset="70"><animate attributeName="stroke-dashoffset" values="70;0;0;70;70" dur="4s" repeatCount="indefinite"/></line></g><g opacity="0"><animate attributeName="opacity" values="0;0;1;1;0" dur="4s" repeatCount="indefinite"/><text x="12" y="17" class="txt new">拟定批注...</text></g></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}