/* ═══ 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;
}

/* ========== 聊天框既有的美化（保持原样，不触碰） ========== */
.is-user > .border.border-muted,
.is-assistant > .border.border-muted {
    background: linear-gradient(145deg, #faf7f2 0%, #f5f0e8 100%) !important;
    border: 1px solid #e5ddd0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.04) !important;
    border-radius: 14px !important;
    padding: 16px 18px !important;
    transition: box-shadow 0.2s ease !important;
}
.is-user > .border.border-muted {
    background: linear-gradient(145deg, #fcf9f5 0%, #f7f2ea 100%) !important;
    border-color: #d9d0c0 !important;
}
.rili-markdown-renderer {
    color: #2c2a28 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    letter-spacing: 0.02em !important;
    background: transparent !important;
    z-index: 1 !important;
    position: relative !important;
}
.rili-markdown-renderer strong, .rili-markdown-renderer b { font-weight: 700 !important; color: #1f1d1b !important; }
.rili-markdown-renderer code {
    background: #ede9e2 !important; color: #3d3530 !important;
    padding: 2px 6px !important; border-radius: 4px !important; font-size: 0.9em !important;
}
.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{
    color: #6b6258 !important; font-weight: 500 !important; font-size: 13px !important;
    opacity: 0.8 !important; transition: opacity 0.15s ease !important;
}
.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{ opacity: 1 !important; color: #4a423a !important; }
.flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground { color: #7a7268 !important; font-size: 12px !important; opacity: 0.75 !important; }
/* [Token消耗hover逻辑转换未启用]
.text-orange-500 { color: #b87a4a !important; font-weight: 500 !important; font-size: 12px !important; }
*/
[class*="bg-[#F1CBCB]"], [class*="bg-[#c9e1e9]"] { display: none !important; }
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text { color: #b8a89a !important; }

@media (max-width: 480px) {
    .is-user > .border.border-muted,
.is-assistant > .border.border-muted { padding: 12px 14px !important; border-radius: 12px !important; }
    .rili-markdown-renderer { font-size: 14px !important; line-height: 1.6 !important; }
}
@media (prefers-reduced-motion: reduce) {
    .is-user > .border.border-muted,
.is-assistant > .border.border-muted { transition: none !important; }
}

/* ========== 修复后的 状态栏 (完整重写, 可单独运行) ========== */
[ai] {
    display: block; /* 核心修复：让容器成为块级盒 */
    --ai-bg: #faf7f2;
    --ai-card: #ffffff;
    --ai-border: #e5ddd0;
    --ai-text: #2c2a28;
    --ai-muted: #7a7268;
    --ai-accent: #b87a4a;
    --ai-accent-light: #d9b99a;
    --ai-shadow: rgba(0,0,0,0.06);
    --ai-radius: 12px;
    --ai-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-family: var(--ai-font);
    color: var(--ai-text);
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: 0.02em;
    max-width: 100%;
    margin: 0;
}

[ai] details {
    margin: 6px 0;
    background: var(--ai-card);
    border: 1px solid var(--ai-border);
    border-radius: var(--ai-radius);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
    box-shadow: 0 1px 4px var(--ai-shadow);
    position: relative;
}
[ai] details:hover { box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
[ai] summary {
    padding: 10px 14px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    color: #1f1d1b;
    background: linear-gradient(135deg, #f5f0e8 0%, #ede9e2 100%);
    border-bottom: 1px solid var(--ai-border);
    user-select: none;
    display: flex;
    align-items: center;
    gap: 6px;
}
[ai] details[open] summary { border-bottom: 1px solid var(--ai-border); }
[ai] details p {
    margin: 0;
    padding: 10px 14px;
}

[ai] p[t] {
    position: relative;
    padding-left: 0;
}
[ai] p[t]::before {
    content: attr(t);
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: var(--ai-accent);
    background: rgba(184,122,74,0.1);
    padding: 1px 8px;
    border-radius: 4px;
    margin-bottom: 4px;
    letter-spacing: 0.04em;
    text-transform: lowercase;
    white-space: nowrap;
}
[ai] f {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #1f1d1b;
    margin-bottom: 4px;
    padding: 2px 0;
    border-bottom: 1px dashed var(--ai-border);
}
[ai] d {
    display: block;
    padding: 2px 0;
    font-size: 13px;
    color: var(--ai-text);
    line-height: 1.55;
}
[ai] d + d { border-top: 1px solid rgba(0,0,0,0.03); }
[ai] hd {
    display: block;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--ai-muted);
    background: linear-gradient(135deg, #f5f0e8 0%, #ede9e2 100%);
    border-radius: var(--ai-radius) var(--ai-radius) 0 0;
    border: 1px solid var(--ai-border);
    border-bottom: none;
    margin-bottom: 0;
}
[ai] article {
    background: var(--ai-card);
    border: 1px solid var(--ai-border);
    border-radius: 0 0 var(--ai-radius) var(--ai-radius);
    padding: 12px 14px;
    margin-bottom: 6px;
    box-shadow: 0 1px 4px var(--ai-shadow);
}
[ai] article p {
    margin: 0 0 8px 0;
    font-size: 14px;
    line-height: 1.7;
}
[ai] article p:last-child { margin-bottom: 0; }

/* 动画仅针对展开，保证退场不抖动 */
[ai] details[open] p {
    animation: aiFade 0.2s ease;
}
@keyframes aiFade {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 低动效 */
@media (prefers-reduced-motion: reduce) {
    [ai] details { transition: none; }
    [ai] details[open] p { animation: none; }
}

/* 移动端微调 */
@media (max-width: 480px) {
    [ai] { font-size: 13px; }
    [ai] details summary { padding: 8px 12px; font-size: 13px; }
    [ai] details p { padding: 8px 12px; }
    [ai] f { font-size: 14px; }
    [ai] d { font-size: 12px; }
    [ai] hd { padding: 6px 12px; font-size: 12px; }
    [ai] article { padding: 10px 12px; }
}
}