/* ========== 元素战争 v5 · 崩坏3风格终端CSS ========== */
/* 全局强制覆盖，所有规则均使用 !important */
/* 配色：暗蓝黑底 + 青(系统)/粉(高亮)/绿(蚀素)/紫(魔素)/金(UI) */

/* 隐藏思维链 */
.vessel-container think,
.vessel-container [class*="think"],
.vessel-container [class*="chain"] { display: none !important; }

/* ══════ 全局暗底强制覆盖 ══════ */
/* 消除平台白色底色——所有容器级元素强制暗色背景 */
.vessel-container,
.vessel-container *,
.vessel-container div,
.vessel-container section,
.vessel-container details,
.vessel-container summary,
.vessel-container table,
.vessel-container tr,
.vessel-container td,
.vessel-container th,
.vessel-container p,
.vessel-container span,
.vessel-container li {
  background-color: transparent !important;
}
/* 最外层容器暗底 */
.vessel-container {
  background: #050b14 !important;
}
/* 任意块级元素之间的缝隙也覆盖 */
.vessel-container status-block,
.vessel-container [class*="status-block"],
.vessel-container .text-content,
.vessel-container .memory-fold,
.vessel-container details.status-fold,
.vessel-container choice-block,
.vessel-container [class*="choice-block"] {
  background: #050b14 !important;
}
/* ══════ 消息气泡暗底+边框美化 ══════ */
/* 气泡外层统一暗底 */
[class*="is-user"], [class*="is-assistant"] {
  background-color: #0d1b2e !important;
  color: #c8d6e5 !important;
  border: 1px solid rgba(0,240,255,0.2) !important;
  border-radius: 10px !important;
  box-shadow: 0 0 18px rgba(0,240,255,0.05) !important;
}
/* 用户消息·紫色调 */
[class*="is-user"] {
  border-color: rgba(180,100,240,0.3) !important;
  box-shadow: 0 0 18px rgba(180,100,240,0.08) !important;
}
/* AI回复·青色调 */
[class*="is-assistant"] {
  border-color: rgba(0,240,255,0.25) !important;
  box-shadow: 0 0 18px rgba(0,240,255,0.06) !important;
}
/* 气泡内层内容 */
.rili-markdown-renderer {
  background-color: transparent !important;
  color: #c8d6e5 !important;
}
.rili-markdown-renderer p,
.rili-markdown-renderer span,
.rili-markdown-renderer li,
.rili-markdown-renderer h1,
.rili-markdown-renderer h2,
.rili-markdown-renderer h3,
.rili-markdown-renderer h4,
.rili-markdown-renderer strong,
.rili-markdown-renderer em {
  color: #c8d6e5 !important;
  background-color: transparent !important;
}
.rili-markdown-renderer br { background-color: transparent !important; }

/* 正文区保留纹理背景（用更高优先级） */
.vessel-container .text-content {
  background:
    linear-gradient(180deg, rgba(12,24,36,0.96), rgba(16,28,42,0.97)),
    repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0,240,255,0.18) 3px, rgba(0,240,255,0.18) 4px),
    radial-gradient(circle at 8px 8px, rgba(0,240,255,0.22) 1px, transparent 1px),
    repeating-linear-gradient(60deg, transparent, transparent 40px, rgba(0,240,255,0.14) 40px, rgba(0,240,255,0.14) 41px),
    repeating-linear-gradient(120deg, transparent, transparent 40px, rgba(0,240,255,0.1) 40px, rgba(0,240,255,0.1) 41px),
    radial-gradient(ellipse at 20% 15%, rgba(56,240,160,0.18), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(56,240,160,0.14), transparent 40%),
    radial-gradient(ellipse at 10% 90%, rgba(255,61,142,0.12), transparent 40%) !important;
  background-size: 100% 4px, 16px 16px, auto auto, auto auto, auto, auto, auto, auto !important;
}

/* ========== 核心容器 ========== */
.vessel-container {
  display: block !important; max-width: 100% !important;
  font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif !important;
  color: #A0B0C5 !important; background: transparent !important;
  position: relative !important;
}

/* ══════ status-block 容器 + L形角标 ══════ */
.vessel-container status-block,
.vessel-container .status-block,
.vessel-container [class*="status-block"] {
  display: block !important; margin: 1.5rem 0 !important;
  background: rgba(14,26,38,0.94) !important;
  border: 2px solid rgba(0,240,255,0.18) !important; border-radius: 0 !important;
  box-shadow: 0 0 20px rgba(0,240,255,0.06), inset 0 0 25px rgba(0,240,255,0.04) !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 0.76rem !important;
  position: relative !important; overflow: visible !important;
}
.vessel-container status-block::before,
.vessel-container .status-block::before,
.vessel-container [class*="status-block"]::before {
  content: "" !important; position: absolute !important; top: -2px !important; left: -2px !important;
  width: 16px !important; height: 16px !important; z-index: 10 !important; pointer-events: none !important;
  border-top: 2px solid rgba(0,240,255,0.45) !important; border-left: 2px solid rgba(0,240,255,0.45) !important;
}
.vessel-container status-block::after,
.vessel-container .status-block::after,
.vessel-container [class*="status-block"]::after {
  content: "" !important; position: absolute !important; bottom: -2px !important; right: -2px !important;
  width: 16px !important; height: 16px !important; z-index: 10 !important; pointer-events: none !important;
  border-bottom: 2px solid rgba(0,240,255,0.35) !important; border-right: 2px solid rgba(0,240,255,0.35) !important;
}

/* ========== 状态栏头部 ========== */
.vessel-container .status-header,
.vessel-container [class*="status-header"] {
  background: linear-gradient(180deg, rgba(12,24,38,0.95), rgba(14,26,40,0.97)) !important;
  padding: 14px 20px !important; font-family: 'Consolas', 'Fira Code', monospace !important;
  font-size: 13px !important; color: #7A8A9A !important;
  display: flex !important; flex-wrap: wrap !important; gap: 4px 10px !important;
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px) !important;
  position: relative !important; overflow: hidden !important;
  border: none !important; border-radius: 0 !important;
}
.vessel-container .status-header::after {
  content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 12px !important; height: 12px !important;
  background: linear-gradient(135deg, rgba(0,240,255,0.15), transparent 60%) !important;
}
.vessel-container .status-header::before {
  content: "SYSTEM · ELEMENT WARFARE" !important;
  position: absolute !important; top: 8px !important; right: 14px !important;
  color: rgba(100,120,140,0.35) !important;
  font-size: 9px !important; letter-spacing: 2px !important;
  font-family: 'Consolas', 'Fira Code', monospace !important;
  background: none !important; -webkit-text-fill-color: rgba(100,120,140,0.35) !important;
  border: none !important; padding: 0 !important; width: auto !important;
  animation: none !important; text-align: right !important;
}
@keyframes ew-breathe {
  0%, 100% { filter: drop-shadow(0 0 3px rgba(180,100,240,0.2)) !important; }
  50% { filter: drop-shadow(0 0 10px rgba(180,100,240,0.5)) !important; }
}
.vessel-container .status-header p { margin: 4px 0 !important; color: #6A7A8A !important; }
.vessel-container .status-header strong { color: #D0D8E8 !important; font-weight: 500 !important; }
.vessel-container .status-header .h-phase { color: #C9A96E !important; }
.vessel-container .status-header .h-item { color: #7A8A9A !important; font-size: 13px !important; }
.vessel-container .status-header .h-item strong { color: #D0D8E8 !important; font-weight: 500 !important; margin-right: 3px !important; }

/* ══════ 头部标签系统 ══════ */
.vessel-container .status-header .sys {
  position: absolute !important; top: 8px !important; right: 14px !important;
  color: rgba(100,120,140,0.35) !important; font-size: 9px !important;
  letter-spacing: 2px !important; font-family: 'Consolas', 'Fira Code', monospace !important;
}
.vessel-container .status-header .ep-row {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 6px 0 0 0 !important;
}
.vessel-container .status-header .tag-row {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 6px 0 0 0 !important;
}
.vessel-container .status-header .time-line {
  margin: 10px 0 0 0 !important; color: #7A8A9A !important;
}
.vessel-container .status-header .tag {
  display: inline-block !important; padding: 2px 12px !important;
  font-size: 10px !important; letter-spacing: 2px !important;
  font-family: 'Consolas', 'Fira Code', monospace !important;
}
.vessel-container .status-header .tag-pink {
  background: linear-gradient(135deg, rgba(255,41,117,0.35), rgba(255,41,117,0.15)) !important;
  border: 1px solid rgba(255,41,117,0.35) !important;
  color: #FFFFFF !important; text-shadow: 0 0 6px rgba(255,41,117,0.4) !important;
}
.vessel-container .status-header .tag-cyan {
  background: linear-gradient(135deg, rgba(0,240,255,0.2), rgba(0,240,255,0.08)) !important;
  border: 1px solid rgba(0,240,255,0.3) !important;
  color: #00F0FF !important; text-shadow: 0 0 6px rgba(0,240,255,0.4) !important;
}
.vessel-container .status-header .ep-tag {
  font-size: 14px !important; color: #FF3D8E !important; font-weight: 500 !important;
  letter-spacing: 1px !important;
  text-shadow: 0 0 8px rgba(255,41,117,0.4) !important;
  font-family: 'Microsoft YaHei', sans-serif !important;
}

/* ========== 任务行 + 扫描线 ========== */
.vessel-container .mission-row,
.vessel-container [class*="mission-row"] {
  background: rgba(0,240,255,0.06) !important;
  border-top: 1px solid rgba(0,240,255,0.1) !important; border-bottom: 1px solid rgba(0,240,255,0.1) !important;
  border-radius: 0 !important; padding: 10px 20px !important; margin-top: 0 !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 12.5px !important;
  color: #00F0FF !important; position: relative !important; overflow: hidden !important;
  box-shadow: none !important;
}
.vessel-container .mission-row p { margin: 0 !important; color: #00F0FF !important; }
.vessel-container .mission-row::after {
  content: "" !important; position: absolute !important; left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(0,240,255,0.2), transparent) !important;
  animation: ew-scanline 4s linear infinite !important;
}
@keyframes ew-scanline { 0% { top: -1px !important; } 100% { top: 100% !important; } }

/* ========== 共用区块样式 ========== */
.vessel-container .stat-section,
.vessel-container .self-status,
.vessel-container [class*="self-status"],
.vessel-container .combat-detail,
.vessel-container [class*="combat-detail"],
.vessel-container .target-status,
.vessel-container [class*="target-status"] {
  padding: 14px 20px !important; margin-top: 0 !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 12.5px !important;
  line-height: 1.8 !important; overflow: visible !important;
  backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important;
  border: none !important; border-radius: 0 !important; border-top: 1px solid rgba(0,240,255,0.06) !important;
}
.vessel-container .self-status { background: linear-gradient(135deg, rgba(14,26,38,0.88), rgba(18,30,44,0.9)) !important; color: #A0B0C5 !important; }
.vessel-container .combat-detail { background: linear-gradient(135deg, rgba(14,26,38,0.88), rgba(18,30,44,0.9)) !important; color: #A0B0C5 !important; }
.vessel-container .target-status { background: linear-gradient(135deg, rgba(22,18,16,0.92), rgba(26,20,18,0.94)) !important; color: #A0B0C5 !important; border-top: 1px solid rgba(200,80,80,0.06) !important; }

/* 标签 */
.vessel-container .self-status p:first-child,
.vessel-container .combat-detail p:first-child,
.vessel-container .target-status p:first-child,
.vessel-container .stat-label {
  color: #00F0FF !important; font-size: 11px !important; text-transform: uppercase !important;
  letter-spacing: 1.5px !important; margin-bottom: 10px !important; display: block !important;
  text-shadow: 0 0 8px rgba(0,240,255,0.5) !important;
  position: relative !important; padding-bottom: 3px !important;
}
/* 标题扫描线 */
.vessel-container .stat-label::after {
  content: "" !important; position: absolute !important;
  left: 0 !important; bottom: 0 !important; height: 1px !important; width: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(0,240,255,0.4), transparent) !important;
  animation: ew-scanline 3s linear infinite !important;
}
/* H场景粉色表头变体 */
.vessel-container .stat-label.h-label {
  color: #FF3D8E !important;
  text-shadow: 0 0 8px rgba(255,61,142,0.5) !important;
}
.vessel-container .stat-label.h-label::after {
  background: linear-gradient(90deg, transparent, rgba(255,61,142,0.5), transparent) !important;
}
.vessel-container .lbl-icon {
  display: inline-block !important; width: 10px !important; height: 10px !important;
  border: 1px solid rgba(0,240,255,0.4) !important; margin-right: 5px !important;
  vertical-align: middle !important; position: relative !important; top: -1px !important;
}

/* 数值颜色 */
.vessel-container .self-status .stat-line,
.vessel-container .combat-detail .detail-line,
.vessel-container .target-status .target-line,
.vessel-container .stat-row { color: #A0B0C5 !important; font-size: 12.5px !important; line-height: 1.8 !important; display: flex !important; flex-wrap: wrap !important; gap: 4px 14px !important; align-items: center !important; }
/* 数值与标签不分离 */
.vessel-container .stat-row > span:not(.stat-bar):not(.stat-bar-fill),
.vessel-container .stat-row strong,
.vessel-container .stat-row .terminal { white-space: nowrap !important; display: inline-block !important; }
.vessel-container .stat-row .stat-bar { white-space: nowrap !important; display: inline-block !important; vertical-align: middle !important; }
/* 相邻数值项间距 */
.vessel-container .stat-row > * { margin: 2px 0 !important; }
.vessel-container .stat-row .sp { color: #38F0A0 !important; }
.vessel-container .stat-row .gold { color: #C9A96E !important; }
.vessel-container .self-status .stat-line .val { color: #00F0FF !important; }
.vessel-container .self-status .stat-line .np { color: #FF3D8E !important; text-shadow: 0 0 6px rgba(255,61,142,0.4) !important; }
.vessel-container .self-status .stat-line .dmg { color: #FF4D4D !important; }
.vessel-container .combat-detail .detail-line .skill { color: #D48CF5 !important; }
.vessel-container .combat-detail .detail-line .chip { color: #00F0FF !important; }
.vessel-container .combat-detail .detail-line .tentacle { color: #38F0A0 !important; }
.vessel-container .target-status .target-line .enemy { color: #FF4D4D !important; }

/* ══════ 进度条（HP/SP/NP/元素） ══════ */
.vessel-container .stat-row .stat-bar,
.vessel-container .stat-bar {
  display: inline-block !important; width: 70px !important; height: 6px !important;
  background: rgba(255,255,255,0.08) !important; background-color: initial !important;
  border-radius: 0 !important;
  overflow: hidden !important; vertical-align: middle !important; margin: 0 4px !important;
}
.vessel-container .stat-row .stat-bar-fill,
.vessel-container .stat-bar-fill {
  display: block !important; height: 100% !important; border-radius: 0 !important;
  min-width: 10px !important; background-color: initial !important;
  float: none !important; margin: 0 !important;
}
.vessel-container .stat-bar-fill.hp-bar,
.vessel-container .stat-bar-fill.bar-cyan { background: linear-gradient(90deg, rgba(0,240,255,0.7), #00F0FF) !important; box-shadow: 0 0 6px rgba(0,240,255,0.3) !important; }
.vessel-container .stat-bar-fill.sp-bar,
.vessel-container .stat-bar-fill.bar-green { background: linear-gradient(90deg, rgba(56,240,160,0.7), #38F0A0) !important; box-shadow: 0 0 6px rgba(56,240,160,0.3) !important; }
.vessel-container .stat-bar-fill.np-bar,
.vessel-container .stat-bar-fill.bar-pink { background: linear-gradient(90deg, rgba(255,61,142,0.7), #FF3D8E) !important; box-shadow: 0 0 8px rgba(255,61,142,0.5) !important; animation: ew-np-pulse 1.5s ease-in-out infinite !important; }
.vessel-container .stat-bar-fill.low-bar,
.vessel-container .stat-bar-fill.bar-red { background: linear-gradient(90deg, #FF4444, #FF6666) !important; box-shadow: 0 0 8px rgba(255,0,0,0.5) !important; animation: ew-low-pulse 0.8s ease-in-out infinite !important; }
.vessel-container .stat-bar-fill.bar-gold { background: linear-gradient(90deg, rgba(201,169,110,0.7), #C9A96E) !important; box-shadow: 0 0 6px rgba(201,169,110,0.3) !important; }
@keyframes ew-np-pulse { 0%,100% { box-shadow: 0 0 8px rgba(255,61,142,0.5) !important; } 50% { box-shadow: 0 0 16px rgba(255,61,142,0.8) !important; } }
@keyframes ew-low-pulse { 0%,100% { opacity: 1 !important; } 50% { opacity: 0.5 !important; } }

/* ══════ 电路板节点 ══════ */
.vessel-container .circuit-line { height: 0 !important; border-top: 1px dotted rgba(0,240,255,0.06) !important; margin: 0 20px !important; }
.vessel-container .connector { display: inline-block !important; width: 5px !important; height: 5px !important; background: rgba(0,240,255,0.15) !important; border-radius: 50% !important; margin: 0 3px !important; vertical-align: middle !important; }
.vessel-container .terminal { color: rgba(0,240,255,0.25) !important; font-size: 9px !important; margin-right: 6px !important; }

/* ══════ 技能卡牌 ══════ */
.vessel-container .skill-cards { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 4px !important; }
.vessel-container .skill-card {
  display: inline-flex !important; flex-direction: column !important; gap: 2px !important;
  background: rgba(12,22,34,0.88) !important; border: 1px solid rgba(0,240,255,0.12) !important;
  padding: 7px 10px !important; min-width: 100px !important;
  transition: all 0.2s ease !important; position: relative !important;
}
.vessel-container .skill-card:hover { transform: scale(1.03) !important; border-color: rgba(0,240,255,0.3) !important; box-shadow: 0 0 12px rgba(0,240,255,0.1) !important; }
.vessel-container .skill-card.sk-ally { border-left: 3px solid rgba(180,100,240,0.5) !important; }
.vessel-container .skill-card.sk-corp { border-left: 3px solid rgba(0,240,255,0.5) !important; }
.vessel-container .skill-card.sk-church { border-left: 3px solid rgba(56,240,160,0.5) !important; }
.vessel-container .skill-card.sk-male { border-left: 3px solid rgba(201,169,110,0.5) !important; }
.vessel-container .skill-card .card-name { font-size: 10.5px !important; color: #D0D8E8 !important; font-weight: 500 !important; }
.vessel-container .skill-card .card-detail { font-size: 9px !important; color: #6A7A8A !important; }
.vessel-container .skill-card .card-rate {
  position: absolute !important; top: 2px !important; right: 4px !important;
  font-size: 8px !important; padding: 0 3px !important; line-height: 14px !important;
  color: #FFFFFF !important; font-family: 'Consolas', 'Fira Code', monospace !important;
}
.vessel-container .skill-card .card-rate.E { background: rgba(120,120,120,0.5) !important; }
.vessel-container .skill-card .card-rate.C { background: rgba(0,240,255,0.5) !important; }
.vessel-container .skill-card .card-rate.B { background: rgba(255,61,142,0.5) !important; }

/* ══════ 威胁等级 + 胶囊标签 ══════ */
.vessel-container .threat-neutral { color: #00F0FF !important; text-shadow: 0 0 4px rgba(0,240,255,0.3) !important; }
.vessel-container .threat-warning { color: #F0A030 !important; text-shadow: 0 0 4px rgba(240,160,48,0.3) !important; }
.vessel-container .threat-hostile { color: #FF3D3D !important; text-shadow: 0 0 6px rgba(255,61,61,0.4) !important; }
.vessel-container .capsule-tag {
  display: inline-block !important; padding: 1px 10px !important; font-size: 9.5px !important;
  border-radius: 0 !important; letter-spacing: 0.5px !important; border: 1px solid !important;
  font-family: 'Consolas', 'Fira Code', monospace !important;
}
.vessel-container .capsule-tag.neutral { color: #00F0FF !important; border-color: rgba(0,240,255,0.25) !important; background: rgba(0,240,255,0.05) !important; }
.vessel-container .capsule-tag.warning { color: #F0A030 !important; border-color: rgba(240,160,48,0.3) !important; background: rgba(240,160,48,0.05) !important; }
.vessel-container .capsule-tag.hostile { color: #FF3D3D !important; border-color: rgba(255,61,61,0.3) !important; background: rgba(255,61,61,0.05) !important; }

/* ══════ 标题标签 ══════ */
.vessel-container .tag {
  display: inline-block !important; padding: 2px 12px !important;
  font-size: 10.5px !important; letter-spacing: 2px !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; color: #FFFFFF !important;
}
.vessel-container .tag-pink { background: linear-gradient(135deg, rgba(255,41,117,0.35), rgba(255,41,117,0.15)) !important; border: 1px solid rgba(255,41,117,0.3) !important; }
.vessel-container .tag-cyan { background: linear-gradient(135deg, rgba(0,240,255,0.2), rgba(0,240,255,0.08)) !important; border: 1px solid rgba(0,240,255,0.25) !important; color: #00F0FF !important; }

/* ========== NPC信息卡 ========== */
.vessel-container .npc-info,
.vessel-container [class*="npc-info"] {
  background: rgba(200,200,220,0.02) !important; padding: 14px 20px !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 10px !important;
  line-height: 1.7 !important; color: #6A7A8A !important;
  border: none !important; border-radius: 0 !important; border-bottom: 1px solid rgba(0,240,255,0.06) !important;
}
.vessel-container .npc-info .npc-card { display: flex !important; flex-wrap: wrap !important; gap: 8px 24px !important; align-items: flex-start !important; }
.vessel-container .npc-info .npc-card .npc-name { color: #D0D8E8 !important; font-weight: 500 !important; min-width: 120px !important; }
.vessel-container .npc-info .npc-card .npc-detail { color: #6A7A8A !important; font-size: 10px !important; line-height: 1.7 !important; }
.vessel-container .npc-info .npc-card .npc-detail span { color: #6A7A8A !important; }

/* ========== 身体状态（H场景） ========== */
.vessel-container .body-status,
.vessel-container [class*="body-status"] {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px 16px !important;
  padding: 14px 20px !important; background: rgba(255,100,140,0.02) !important;
  border: none !important; border-radius: 0 !important; border-bottom: 1px solid rgba(0,240,255,0.06) !important;
  font-family: 'Consolas', 'Fira Code', monospace !important;
}
.vessel-container .body-status .body-col h5 {
  font-size: 10px !important; color: #FF3D8E !important; letter-spacing: 0.08em !important;
  margin-bottom: 6px !important; text-transform: uppercase !important;
}
.vessel-container .body-status .body-col .body-row {
  font-size: 10px !important; color: #6A7A8A !important;
  display: flex !important; justify-content: space-between !important; padding: 2px 0 !important;
}
.vessel-container .body-status .body-col .body-row .b-val { color: #FF3D8E !important; }

/* ========== 战斗风格标签 ========== */
.vessel-container .combat-style,
.vessel-container [class*="combat-style"] { padding: 6px 0 !important; margin-top: 4px !important; display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
.vessel-container .combat-style .style-tag,
.vessel-container .style-tag {
  display: inline-block !important; padding: 2px 8px !important; margin: 0 !important;
  border-radius: 0 !important; font-size: 9.5px !important; color: #FF4D4D !important;
  border: 1px solid rgba(255,80,80,0.2) !important; background: rgba(255,80,80,0.05) !important;
  font-family: 'Consolas', 'Fira Code', monospace !important;
}

/* ========== Tooltip悬浮窗 ========== */
.vessel-container .tooltip {
  position: relative !important; cursor: default !important; padding: 1px 6px !important;
  border-radius: 0 !important; font-size: 10.5px !important; white-space: nowrap !important;
  display: inline-block !important; border-bottom: 1px dotted rgba(0,240,255,0.2) !important;
}
.vessel-container .tooltip:hover { background: rgba(255,255,255,0.03) !important; z-index: 100 !important; }
.vessel-container .tooltip::after {
  content: attr(data-tip) !important; position: absolute !important; left: 0 !important;
  bottom: calc(100% + 8px) !important; transform: none !important;
  background: rgba(6,14,22,0.98) !important; border: 1px solid rgba(0,240,255,0.25) !important;
  border-radius: 0 !important; padding: 12px 16px !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 11px !important;
  color: #B0C0D0 !important; white-space: pre-wrap !important;
  min-width: 300px !important; max-width: 420px !important; width: max-content !important;
  pointer-events: none !important; opacity: 0 !important; transition: opacity 0.15s ease !important;
  box-shadow: 0 0 20px rgba(0,0,0,0.8), 0 0 15px rgba(0,240,255,0.08) !important;
  z-index: 200 !important; line-height: 1.8 !important;
}
.vessel-container .tooltip:hover::after { opacity: 1 !important; }
.vessel-container .tt-skill { color: #D48CF5 !important; }
.vessel-container .tt-skill::after { border-color: rgba(180,100,240,0.3) !important; }
.vessel-container .tt-chip { color: #00F0FF !important; }
.vessel-container .tt-chip::after { border-color: rgba(0,240,255,0.25) !important; }
.vessel-container .tt-tentacle { color: #38F0A0 !important; }
.vessel-container .tt-tentacle::after { border-color: rgba(56,240,160,0.3) !important; }
.vessel-container .tt-equip { color: #D0D8E8 !important; }
.vessel-container .tt-equip::after { border-color: rgba(200,200,220,0.15) !important; }

/* ========== 正文区域 ========== */
.vessel-container .text-content {
  background:
    linear-gradient(180deg, rgba(12,24,36,0.96), rgba(16,28,42,0.97)),
    repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0,240,255,0.18) 3px, rgba(0,240,255,0.18) 4px),
    radial-gradient(circle at 8px 8px, rgba(0,240,255,0.22) 1px, transparent 1px),
    repeating-linear-gradient(60deg, transparent, transparent 40px, rgba(0,240,255,0.14) 40px, rgba(0,240,255,0.14) 41px),
    repeating-linear-gradient(120deg, transparent, transparent 40px, rgba(0,240,255,0.1) 40px, rgba(0,240,255,0.1) 41px),
    radial-gradient(ellipse at 20% 15%, rgba(56,240,160,0.18), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(56,240,160,0.14), transparent 40%),
    radial-gradient(ellipse at 10% 90%, rgba(255,61,142,0.12), transparent 40%) !important;
  background-size: 100% 4px, 16px 16px, auto auto, auto auto, auto, auto, auto, auto !important;
  border: none !important; border-radius: 0 !important;
  padding: 32px 36px !important; margin: 1.8rem 0 !important;
  position: relative !important;
  box-shadow: 0 0 40px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.015) !important;
  isolation: isolate !important; overflow-wrap: break-word !important;
}
/* 正文L形角标 */
.vessel-container .text-content::before {
  content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 20px !important; height: 20px !important; z-index: 10 !important; pointer-events: none !important;
  border-top: 2px solid rgba(0,240,255,0.3) !important; border-left: 2px solid rgba(0,240,255,0.3) !important;
  background: none !important; border-radius: 0 !important;
}
.vessel-container .text-content::after {
  content: "" !important; position: absolute !important; bottom: 0 !important; right: 0 !important;
  width: 20px !important; height: 20px !important; z-index: 10 !important; pointer-events: none !important;
  border-bottom: 2px solid rgba(0,240,255,0.25) !important; border-right: 2px solid rgba(0,240,255,0.25) !important;
  background: none !important; border-radius: 0 !important;
}
.vessel-container .text-content text,
.vessel-container .text-content p {
  font-size: 15px !important; line-height: 1.95 !important; color: #A0B0C5 !important;
  margin: 0 0 18px !important; text-indent: 2em !important; text-align: justify !important;
  letter-spacing: 0.02em !important; padding: 0 !important; border: none !important;
  background: transparent !important; position: relative !important; z-index: 2 !important;
  font-family: 'Microsoft YaHei', 'PingFang SC', 'Noto Serif SC', serif !important;
}
.vessel-container .text-content p:first-of-type::first-letter {
  font-size: 3em !important; float: left !important; line-height: 0.8 !important;
  margin-right: 8px !important; margin-top: 4px !important;
  color: #00F0FF !important; text-shadow: 0 0 10px rgba(0,240,255,0.5) !important;
}

/* ========== 势力NPC对白着色 ========== */
.vessel-container font[color="#C471ED"] { color: #D48CF5 !important; font-style: normal !important; text-shadow: 0 0 6px rgba(180,100,240,0.3) !important; }
.vessel-container font[color="#41D9D9"] { color: #5EE6E6 !important; font-style: normal !important; text-shadow: 0 0 6px rgba(50,200,200,0.3) !important; }
.vessel-container font[color="#5CDB6D"] { color: #72E881 !important; font-style: normal !important; text-shadow: 0 0 6px rgba(80,210,100,0.3) !important; }
.vessel-container font[color="#D4D8E0"] { color: #E4E8EE !important; font-style: normal !important; text-shadow: 0 0 3px rgba(200,200,220,0.15) !important; }
.vessel-container font[color="#C8A2FF"] { color: #B890E8 !important; font-style: italic !important; text-shadow: 0 0 8px rgba(168,128,208,0.25) !important; }

/* 高亮标记 */
.vessel-container .highlight { color: #FF3D8E !important; text-shadow: 0 0 8px rgba(255,61,142,0.4) !important; }

/* ══════ 状态变化提示 ══════ */
.vessel-container .state-change {
  display: block !important; padding: 6px 0 !important; color: #C9A96E !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 11.5px !important;
  letter-spacing: 0.5px !important; border-left: 2px solid #C9A96E !important;
  padding-left: 14px !important; margin-top: 10px !important;
}

/* ══════ 状态折叠块 ══════ */
.vessel-container details.status-fold {
  margin: 1.2rem 0 !important; border: 1px solid rgba(0,240,255,0.12) !important;
  border-radius: 0 !important; overflow: visible !important; background: transparent !important;
}
.vessel-container details.status-fold summary {
  cursor: pointer !important; padding: 10px 20px !important;
  background: rgba(14,26,38,0.9) !important; color: #C9A96E !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 12px !important;
  letter-spacing: 0.8px !important; border-bottom: 1px solid rgba(0,240,255,0.06) !important;
  user-select: none !important; list-style: none !important; position: relative !important;
}
.vessel-container details.status-fold summary::-webkit-details-marker { display: none !important; }
.vessel-container details.status-fold[open] summary { border-bottom: 1px solid rgba(0,240,255,0.1) !important; }

/* ══════ 记忆区 ══════ */
.vessel-container .memory-fold {
  background: rgba(14,26,38,0.94) !important;
  border: 1px solid rgba(0,240,255,0.1) !important; border-radius: 0 !important;
  margin: 1.2rem 0 !important;
}
.vessel-container .memory-fold summary {
  padding: 10px 20px !important; cursor: pointer !important;
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 11.5px !important;
  color: #6A7A8A !important; letter-spacing: 0.8px !important; user-select: none !important;
}
.vessel-container .memory-fold .memory-section { padding: 8px 20px !important; border-top: 1px solid rgba(0,240,255,0.04) !important; }
.vessel-container .memory-fold .memory-section .memory-header { font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 10px !important; color: #6A7A8A !important; margin-bottom: 6px !important; }
.vessel-container .memory-fold .memory-section h4 { font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 10px !important; color: #C9A96E !important; letter-spacing: 1px !important; margin-bottom: 4px !important; }
.vessel-container .memory-table { width: 100% !important; border-collapse: collapse !important; font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 10.5px !important; }
.vessel-container .memory-table th { text-align: left !important; padding: 6px 10px !important; color: #6A7A8A !important; font-weight: 400 !important; border-bottom: 1px solid rgba(0,240,255,0.04) !important; background: rgba(0,240,255,0.03) !important; text-transform: uppercase !important; letter-spacing: 1px !important; font-size: 9px !important; }
.vessel-container .memory-table td { padding: 6px 10px !important; color: #6A7A8A !important; border-bottom: 1px solid rgba(255,255,255,0.015) !important; vertical-align: top !important; }
.vessel-container .memory-table tr:nth-child(even) td { background: rgba(0,240,255,0.015) !important; }
.vessel-container .memory-table tr:nth-child(odd) td { background: rgba(255,255,255,0.005) !important; }
.vessel-container .memory-table tr:last-child td { border-bottom: none !important; }

/* ══════ 行动选项 ══════ */
.vessel-container choice-block,
.vessel-container [class*="choice-block"] { display: block !important; margin: 1.2rem 0 !important; }
.vessel-container .choice-panel {
  background: rgba(14,20,32,0.94) !important;
  border: 1px solid rgba(0,240,255,0.15) !important; border-radius: 0 !important;
  padding: 16px 22px !important;
  box-shadow: 0 0 20px rgba(0,240,255,0.04) !important;
  position: relative !important;
}
.vessel-container .choice-panel::before {
  content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 12px !important; height: 12px !important;
  border-top: 2px solid rgba(0,240,255,0.3) !important; border-left: 2px solid rgba(0,240,255,0.3) !important;
}
.vessel-container .choice-panel p strong {
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 14px !important;
  color: #FFD88A !important; letter-spacing: 1.5px !important; text-shadow: 0 0 8px rgba(255,216,138,0.3) !important;
}
.vessel-container .choice-list { list-style: none !important; margin-top: 8px !important; display: flex !important; flex-direction: column !important; gap: 6px !important; }
.choice-list li {
  font-family: 'Consolas', 'Fira Code', monospace !important; font-size: 15px !important; color: #D8E2EE !important;
  padding: 11px 18px !important; border-left: 3px solid transparent !important; border-radius: 0 !important;
  transition: all 0.25s ease !important; cursor: pointer !important; border-top: none !important; border-right: none !important; border-bottom: none !important;
}
.vessel-container .choice-list li:hover {
  color: #C0D0E0 !important; border-left-color: #00F0FF !important;
  text-shadow: 0 0 10px rgba(0,240,255,0.2) !important;
  transform: translateX(5px) !important; background: rgba(0,240,255,0.04) !important;
}
.vessel-container .choice-list li strong { color: #FFD88A !important; margin-right: 8px !important; text-shadow: 0 0 8px rgba(255,216,138,0.3) !important; }
