/* ═══ 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; }

/* ============================================
   「蚀月纪元」全平台美化 + 全息状态栏 (修复版 v4)
   ============================================ */

/* ==================== 全局UI美化 ==================== */

/* 1. 移除顶部的颜色装饰条 */
[class*="bg-[#F1CBCB]"], 
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}

/* 2. 统一聊天框美化 (输入与输出) */
.is-user > .border.border-muted,
.is-assistant > .border.border-muted {
    background: linear-gradient(145deg, #1a202c 0%, #2d3748 100%) !important;
    border: 1px solid #4a5568 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6), inset 0 1px 2px rgba(255,255,255,0.05) !important;
    transition: all 0.3s ease !important;
    position: relative;
    isolation: isolate;
}

/* 3. 单独的输入聊天框强化 */
.is-user > .border.border-muted {
    border-bottom: 2px solid #68d391 !important;
}

/* 4. 文本内容样式 */
.rili-markdown-renderer {
    color: #e2e8f0 !important;
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    position: relative;
    z-index: 1;
    background: transparent;
}

.rili-markdown-renderer strong {
    color: #f6ad55 !important;
    font-weight: bold !important;
}

.rili-markdown-renderer code {
    background: #2d3748 !important;
    color: #fbbf24 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    border: 1px solid #4a5568 !important;
}

/* 5. 背景深色联动 */
.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{
    color: #a0aec0 !important;
    transition: color 0.2s !important;
}
.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{
    color: #f6ad55 !important;
}

.flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground {
    color: #a0aec0 !important;
}

/* [Token消耗hover逻辑转换未启用]
.text-orange-500 {
    color: #f6ad55 !important;
}
*/

/* 6. 聊天气泡“晶体侵蚀”背景 */
.is-user > .border.border-muted,
.is-assistant > .border.border-muted::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.02) 0%, transparent 20px),
        radial-gradient(circle at 80% 70%, rgba(237, 137, 54, 0.02) 0%, transparent 25px),
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 2px,
            rgba(255, 255, 255, 0.01) 2px,
            rgba(255, 255, 255, 0.01) 4px
        );
    pointer-events: none;
    border-radius: inherit;
}

/* 7. 加载动画 */
.flex.items-center.justify-center.size-6 > .flex.gap-2 {
    display: none !important;
}

.flex.items-center.justify-center.size-6 {
    position: relative !important;
    width: 36px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.flex.items-center.justify-center.size-6::before {
    content: '';
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='10' width='4' height='4' rx='1' fill='%2368d391'%3E%3Canimate attributeName='opacity' values='0.2;1;0.2' dur='1.2s' begin='0s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='10' y='8' width='4' height='8' rx='1' fill='%2368d391'%3E%3Canimate attributeName='opacity' values='0.2;1;0.2' dur='1.2s' begin='0.4s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='16' y='10' width='4' height='4' rx='1' fill='%2368d391'%3E%3Canimate attributeName='opacity' values='0.2;1;0.2' dur='1.2s' begin='0.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* 8. 移动端与低动效适配 */
@media (max-width: 480px) {
    .is-user > .border.border-muted,
.is-assistant > .border.border-muted {
        border-radius: 6px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5) !important;
    }
    .rili-markdown-renderer {
        font-size: 0.875rem !important;
    }
    .flex.items-center.justify-center.size-6 {
        width: 28px !important;
        height: 20px !important;
    }
    .flex.items-center.justify-center.size-6::before {
        width: 20px !important;
        height: 20px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .is-user > .border.border-muted,
.is-assistant > .border.border-muted {
        transition: none !important;
    }
    .flex.items-center.justify-center.size-6::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='10' width='4' height='4' rx='1' fill='%2368d391'/%3E%3Crect x='10' y='8' width='4' height='8' rx='1' fill='%2368d391'/%3E%3Crect x='16' y='10' width='4' height='4' rx='1' fill='%2368d391'/%3E%3C/svg%3E");
    }
}

/* ==================== 顶部栏 ==================== */
header.flex.justify-between {
  background: linear-gradient(180deg, #1c1c1c 0%, #0f0f0f 100%) !important;
  box-shadow: 0 2px 8px rgba(255,60,60,0.15), inset 0 1px 0 rgba(255,255,255,0.04) !important;
  border-bottom: 1px solid #4a2c2c !important;
}
#nav-middle .group.flex.items-center {
  background: rgba(255,255,255,0.06) !important;
  border-radius: 6px !important;
  padding: 4px 10px !important;
  border: 1px solid rgba(200,80,80,0.3) !important;
}
#nav-middle .group.flex.items-center:hover {
  background: rgba(255,60,60,0.12) !important;
  border-color: rgba(255,60,60,0.6) !important;
}
#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left {
  color: #e0d0c0 !important;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.8) !important;
}
#nav-middle .shrink-0.flex.items-center svg {
  color: #c06060 !important;
  transition: transform 0.2s !important;
}
#nav-middle .group.flex.items-center:hover .shrink-0.flex.items-center svg {
  transform: rotate(180deg) !important;
  color: #ff9090 !important;
}
header.flex.justify-between.w-full.top-0 svg.lucide-clock-8 {
  color: #b09080 !important;
  filter: drop-shadow(0 0 3px rgba(255,100,100,0.5)) !important;
}
header.flex.justify-between.w-full.top-0 span.MuiBadge-dot.md\:hidden {
  background-color: #ff4444 !important;
  box-shadow: 0 0 6px #ff0000 !important;
}
header.flex.justify-between.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2) {
  color: #8a7a6a !important;
  background: rgba(255,255,255,0.05) !important;
  border-radius: 4px !important;
}
header.flex.justify-between.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2 {
  color: #d0b090 !important;
}
header.flex.justify-between.w-full.top-0 svg:has(use[href="#icon-icon-set"]) {
  color: #9a8a7a !important;
}
#nav-right button {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(200,80,80,0.3) !important;
  border-radius: 6px !important;
}
#nav-right button:hover {
  background: rgba(255,60,60,0.15) !important;
  border-color: rgba(255,60,60,0.6) !important;
}
#nav-right button svg {
  color: #c06060 !important;
}

/* ==================== 开场白选择器 ==================== */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
  background: #1a1a1a !important;
  border: 1px solid #5a3a3a !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.6) !important;
  color: #d0c0b0 !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"] {
  color: #cc6666 !important;
}
div.flex.items-center.h-9.cursor-pointer.group svgbutton:has(> .flex-1.truncate.text-left) svg {
  color: #b0a090 !important;
}
div.h-9.rounded-md.cursor-pointer.group:has(svg[data-icon="SlidersH"]) {
  background: #1a1a1a !important;
  border: 1px solid #5a3a3a !important;
  color: #d0c0b0 !important;
}
div.h-9.rounded-md.cursor-pointer.group:has(svg[data-icon="SlidersH"]) svg[data-icon="SlidersH"] {
  color: #cc6666 !important;
}

/* ==================== 按钮栏 ==================== */
#ai-mod-button2 button.MuiButton-root {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(200,120,80,0.3) !important;
  color: #e0d4c8 !important;
  border-radius: 6px !important;
  transition: background 0.2s, border-color 0.2s !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
  background: rgba(200,80,80,0.2) !important;
  border-color: rgba(200,80,80,0.7) !important;
}
#ai-mod-button2 button.MuiButton-root svg {
  color: #c08060 !important;
}

/* ==================== 底部栏 ==================== */
.bg-gradient-to-t {
  background: linear-gradient(0deg, #0d0d0d 0%, #1a1a1a 100%) !important;
}
#ai-chat-bottom-input {
  background: #161616 !important;
  border-top: 1px solid #482a2a !important;
}
#ai-chat-input {
  background: #262626 !important;
  border: 1px solid #553333 !important;
  border-radius: 8px !important;
  color: #e8e0d0 !important;
  caret-color: #cc5555 !important;
  box-shadow: inset 0 1px 4px rgba(0,0,0,0.8) !important;
  font-family: system-ui, -apple-system, sans-serif !important;
}
#ai-chat-input:focus {
  border-color: #aa4444 !important;
  box-shadow: 0 0 8px rgba(200,60,60,0.3), inset 0 1px 4px rgba(0,0,0,0.8) !important;
}
#ai-chat-input::placeholder {
  color: #8a7a6a !important;
  opacity: 1 !important;
}
#ai-chat-input::selection {
  background: #8b3a3a !important;
  color: #fff !important;
}

/* ==================== 分页栏 ==================== */
.MuiPaginationItem-root {
  color: #c0b0a0 !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid #4a3535 !important;
  border-radius: 4px !important;
}
.MuiPaginationItem-root:hover {
  background: rgba(200,80,80,0.15) !important;
  border-color: rgba(200,80,80,0.5) !important;
}
.MuiPaginationItem-root.Mui-selected {
  background: #8b3a3a !important;
  color: #fff !important;
  border-color: #aa4a4a !important;
  box-shadow: 0 0 8px rgba(180,40,40,0.5) !important;
}
.MuiPaginationItem-root.Mui-disabled {
  color: #5a4a4a !important;
  border-color: #2e2a2a !important;
}
.MuiPaginationItem-icon {
  color: #b08070 !important;
}
.flex.w-full.items-center.justify-between.gap-2.px-2.css-1uwir8f .MuiBox-root {
  color: #c0b0a0 !important;
}
.MuiInputBase-input {
  background: #262626 !important;
  border: 1px solid #4a3535 !important;
  border-radius: 4px !important;
  color: #e0d0c0 !important;
}

/* ============================================
   全息状态栏 (修复版 v4) - 独立容器，无冲突
   ============================================ */

/* 全局变量 */
ai {
  --clr-bg: #1a1410;
  --clr-bg2: #0d0a08;
  --clr-primary: #d48c3c;
  --clr-secondary: #5a7a6a;
  --clr-text: #cbb59a;
  --clr-heading: #e8d5b5;
  --clr-border: #3d2c1e;
  --clr-panel: #14100c;
}

/* 容器：居中显示，内容完整 */
ai {
  display: block;
  max-width: 720px;
  margin: 10px auto;
  padding: 14px 18px;
  background: radial-gradient(ellipse at 20% 30%, var(--clr-bg), var(--clr-bg2));
  color: var(--clr-text);
  font-family: -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  border: 2px solid var(--clr-primary);
  border-image: linear-gradient(135deg, var(--clr-primary), var(--clr-secondary)) 1;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8), 0 2px 6px rgba(0,0,0,0.7);
  border-radius: 6px;
  text-align: left;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* 头部时间/地点 */
ai > hd {
  display: block;
  text-align: center;
  color: var(--clr-heading);
  font-weight: 700;
  font-size: 15px;
  padding: 6px 0;
  margin-bottom: 8px;
  background: linear-gradient(90deg, transparent, rgba(212,140,60,0.15), transparent);
  border-bottom: 1px solid var(--clr-border);
  letter-spacing: 1px;
  text-shadow: 0 0 6px rgba(212,140,60,0.4);
  animation: hdPulse 3s ease-in-out infinite;
}
@keyframes hdPulse {
  0%, 100% { box-shadow: 0 0 4px rgba(212,140,60,0.2); }
  50% { box-shadow: 0 0 18px rgba(212,140,60,0.45); }
}

/* 正文区 */
ai > text {
  display: block;
  padding: 8px 6px;
  margin-bottom: 8px;
  background: rgba(0,0,0,0.25);
  border-left: 2px solid var(--clr-secondary);
  border-radius: 0 4px 4px 0;
}
ai > text p {
  margin: 6px 0;
  text-indent: 0; /* 取消缩进，适应更多场景 */
}

/* 折叠面板 */
ai details {
  display: block;
  margin: 8px 0;
  border: 1px solid var(--clr-border);
  border-radius: 4px;
  background: rgba(0,0,0,0.3);
  overflow: visible;
}
ai details[open] {
  border-color: var(--clr-primary);
}
ai details summary {
  display: block;
  padding: 6px 10px;
  cursor: pointer;
  font-weight: 700;
  color: var(--clr-heading);
  background: linear-gradient(135deg, rgba(212,140,60,0.2), rgba(90,122,106,0.1));
  border-bottom: 1px solid var(--clr-border);
  transition: background 0.3s, transform 0.2s;
  user-select: none;
}
ai details summary:hover {
  background: linear-gradient(135deg, rgba(212,140,60,0.35), rgba(90,122,106,0.2));
}
ai details summary::marker {
  content: "▸ ";
  color: var(--clr-primary);
}
ai details[open] summary::marker {
  content: "▾ ";
}

/* 数据行 (属性对) */
ai d {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  padding: 4px 8px;
  margin: 2px 0;
  border-radius: 2px;
  transition: background 0.2s, border-left 0.2s;
  gap: 2px 8px;
}
ai d:hover {
  background: rgba(212,140,60,0.08);
  border-left: 2px solid #c92a2a;
  padding-left: 10px;
}
ai d.full {
  display: block;
  text-align: center;
}

/* 字段标签 */
ai f {
  flex: 0 0 auto;
  color: var(--clr-secondary);
  font-weight: 600;
  white-space: nowrap;
}
ai v {
  color: var(--clr-heading);
  font-weight: 400;
  word-break: break-word;
}

/* 分组标题 (如NPC、宗门、大事记等) */
ai t {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--clr-heading);
  padding: 6px 10px;
  background: linear-gradient(135deg, rgba(212,140,60,0.25), rgba(90,122,106,0.1));
  border-bottom: 1px solid var(--clr-border);
  margin: -1px -1px 6px -1px;
  border-radius: 4px 4px 0 0;
}

/* 行内标记 */
ai i[w], ai i[n], ai i[b], ai i[i], ai i[d], ai i[s] {
  font-style: normal;
  padding: 1px 4px;
  border-radius: 2px;
  font-size: 0.9em;
}
ai i[w] { background: rgba(255,255,255,0.05); color: #b0a090; }
ai i[n] { background: rgba(90,122,106,0.2); color: var(--clr-secondary); }
ai i[b] { font-weight: 700; }
ai i[i] { background: rgba(212,140,60,0.15); color: var(--clr-primary); }
ai i[d] { background: rgba(200,50,50,0.2); color: #e06060; }
ai i[s] { background: rgba(50,200,100,0.15); color: #4a9e6f; }

ai e {
  display: block;
  font-size: 0.85em;
  color: #9a8a7a;
  margin-top: 2px;
  border-top: 1px dashed var(--clr-border);
  padding-top: 2px;
}

ai h {
  display: block;
  font-weight: 700;
  color: var(--clr-heading);
  font-size: 1em;
  padding: 4px 6px;
  margin: 6px 0 2px 0;
  border-left: 3px solid var(--clr-primary);
  background: rgba(0,0,0,0.15);
}

/* 网格组 (双列) */
ai .grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 8px;
}
ai .grid-2 d.full {
  grid-column: 1 / -1;
}

/* 资源/状态条 (修复版 - 使用可靠的 <b><i> 结构) */
ai .stats-bar, ai .combat, ai .resources {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 10px;
  margin-top: 6px;
}
ai .stats-bar d, ai .combat d, ai .resources d {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 4px;
}
ai .stats-bar f, ai .combat f, ai .resources f {
  min-width: 2.5em;
}
/* 进度条容器 */
ai .stats-bar b, ai .combat b, ai .resources b {
  display: inline-flex;
  height: 8px;
  min-width: 60px;
  flex: 1;
  background: #2a1f1a;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.6);
  position: relative;
}
/* 进度条填充 (使用内联宽度) */
ai .stats-bar b i, ai .combat b i, ai .resources b i {
  display: block;
  height: 100%;
  border-radius: 4px;
  transition: width 0.6s ease;
  background: #4a9e6f;
  /* 宽度由内联 style="width:xx%" 控制 */
}
ai .stats-bar v, ai .combat v, ai .resources v {
  font-size: 12px;
  min-width: 4em;
  text-align: right;
}

/* 条色映射 (通过父级 data 属性或类) */
ai d[t="hp"] b i { background: #4a9e6f; }
ai d[t="sta"] b i { background: #2c6e9e; }
ai d[t="san"] b i { background: #b07cc9; }
ai d[t="inf"] b i { background: #c92a2a; }
ai d[t="water"] b i { background: #2c9e9e; }
ai d[t="food"] b i { background: #9e8c2c; }
ai d[t="ammo"] b i { background: #9e6f2c; }
ai d[t="med"] b i { background: #9e4a4a; }
ai d[t="inf"] b i {
  animation: infPulse 1.2s ease-in-out infinite alternate;
}
@keyframes infPulse {
  0% { opacity: 0.7; }
  100% { opacity: 1; }
}

/* 声望颜色 */
ai v[st="友好"] { color: #4a9e6f; }
ai v[st="中立"] { color: #b09c6a; }
ai v[st="敌对"] { color: #c92a2a; }
ai v[st="尊敬"] { color: #d4a84a; text-shadow: 0 0 6px rgba(212,168,74,0.4); }

/* 表格 */
ai table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin: 6px 0;
}
ai th, ai td {
  border: 1px solid var(--clr-border);
  padding: 4px 6px;
  text-align: left;
  word-break: break-word;
}
ai th {
  background: linear-gradient(135deg, rgba(212,140,60,0.25), rgba(90,122,106,0.15));
  color: var(--clr-heading);
  font-weight: 700;
}
ai tr:nth-child(even) {
  background: rgba(0,0,0,0.2);
}

/* 角色身份卡片 (header) */
ai header {
  display: block;
  padding: 10px;
  margin-bottom: 10px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--clr-primary);
  border-radius: 6px;
  position: relative;
}
ai header #rank {
  display: inline-block;
  background: var(--clr-primary);
  color: #1a1410;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 3px;
  margin-bottom: 4px;
}
ai header h1 {
  font-size: 18px;
  margin: 6px 0;
  color: var(--clr-heading);
  letter-spacing: 1px;
}
ai header d {
  font-size: 13px;
  margin: 3px 0;
  padding: 2px 0;
}
ai header #appear {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 4px;
  padding: 4px 6px;
  background: rgba(0, 0, 0, 0.3);
  border-left: 2px solid var(--clr-secondary);
  border-radius: 0 4px 4px 0;
}

/* 核心指标矩阵 (修复：使用安全的flex进度条) */
ai #core-matrix {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
ai .gauge {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid var(--clr-border);
  border-radius: 4px;
  padding: 8px;
  text-align: center;
}
ai .gauge f {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--clr-heading);
  margin-bottom: 6px;
}
/* 使用 flex + i 实现进度条 */
ai .gauge bar {
  display: flex;
  height: 8px;
  background: #2a1f1a;
  border-radius: 4px;
  overflow: hidden;
}
ai .gauge bar i {
  display: block;
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #d48c3c, #e8a050);
  transition: width 0.5s;
  /* 宽度由内联 style="width:70%" 控制 */
}

/* 行动推荐列表 */
ai .actions d:hover {
  background: rgba(212,140,60,0.12);
  border-left-color: #c92a2a;
}

/* 车队面板 */
ai fleet, ai mission {
  display: block;
  padding: 6px 8px;
  margin: 6px 0;
  background: rgba(0,0,0,0.2);
  border-left: 3px solid var(--clr-primary);
  border-radius: 0 4px 4px 0;
}
ai fleet v[t], ai mission v[t] {
  display: block;
  font-weight: 700;
  color: var(--clr-heading);
  margin-bottom: 4px;
}
ai fleet pl, ai mission pl {
  display: block;
  margin: 4px 0;
}
ai fleet pl[t] {
  display: block;
  font-weight: 600;
  color: var(--clr-secondary);
  margin-bottom: 2px;
  border-bottom: 1px dashed var(--clr-border);
  padding-bottom: 2px;
}

/* 移动端适配 */
@media (max-width: 480px) {
  ai {
    padding: 10px 12px;
    font-size: 13px;
  }
  ai .grid-2, ai .stats-bar, ai .combat, ai .resources {
    grid-template-columns: 1fr;
  }
  ai table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
  ai th, ai td {
    padding: 3px 4px;
    font-size: 12px;
  }
  ai f {
    min-width: unset;
  }
  ai d {
    justify-content: flex-start;
  }
  ai #core-matrix {
    grid-template-columns: 1fr 1fr;
  }
}

/* 自定义滚动条 (仅作用于ai内部) */
ai ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
ai ::-webkit-scrollbar-track {
  background: #1a1410;
}
ai ::-webkit-scrollbar-thumb {
  background: #d48c3c;
  border-radius: 3px;
}
ai ::-webkit-scrollbar-thumb:hover {
  background: #b87a2c;
}