/* ========================================
   🔦 盗月录 · 地下摸金主题 v1.0 — 全局模块化整合
   TOMB RAIDER × UNDERGROUND UI

   核心色彩 (幽闭悬疑):
   - 背景: #EAECEE (冷墓灰 — 手电筒照亮的阴冷石壁)
   - 面板: #F4F5F6 (冷光白 — 高对比度阅读区)
   - 主色调: #4A5D54 (青铜绿 — 核心视觉/生门)
   - 强调色: #7B2D26 (干血红 — 危险/死门)
   - 装饰色: #8A7B66 (墓土棕 — 岁月腐朽感)
   - 文本: #1C2321 (幽暗黑 — 确保高可读性)
   - 列表文本: #2A312E (深石灰 — 物品/明器专用)
   - 危险: #8B1A1A (血尸赤 — 警报/San值狂掉)
   - 辅助蓝: #3A5A6A (深海/冰川蓝 — 机关提示)
   - 辅助绿: #2C4C3B (夜视仪绿 — 成功/存活)
   ======================================== */

/* =============================================
 * 1. 主题与全局定义 (Theme & Globals)
 * ============================================= */

/* --- 1.1. 核心动画 (Keyframes) --- */
@keyframes float-gentle {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.95; }
  50% { transform: translateY(-2px) scale(1.01); opacity: 1; }
}
@keyframes dust-drift {
  0% { background-position: 0% 0%; }
  100% { background-position: 0% 100%; }
}
@keyframes flashlight-pulse {
  0%, 100% { box-shadow: 0 0 8px rgba(244, 245, 246, 0.25); }
  50% { box-shadow: 0 0 16px rgba(255, 255, 255, 0.55), 0 0 24px rgba(244, 245, 246, 0.3); }
}
@keyframes blood-glow {
  0%, 100% { text-shadow: 0 0 4px #7B2D26, 0 0 8px rgba(123, 45, 38, 0.4); }
  50% { text-shadow: 0 0 8px #7B2D26, 0 0 16px rgba(139, 26, 26, 0.7), 0 0 20px rgba(123, 45, 38, 0.3); }
}
@keyframes compass-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes mist-fade {
  0%, 100% { opacity: 0.08; }
  50% { opacity: 0.25; }
}
@keyframes scroll-reveal {
  0% { transform: scaleY(0.94); opacity: 0; }
  100% { transform: scaleY(1); opacity: 1; }
}
@keyframes gauge-shimmer {
  0%, 100% { opacity: 0.75; text-shadow: 0 0 6px rgba(74, 93, 84, 0.3); }
  50% { opacity: 1; text-shadow: 0 0 12px rgba(74, 93, 84, 0.6); }
}
@keyframes ribbon-breathe {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}
@keyframes cot-text-vanish {
  0% { opacity: 1; }
  70% { opacity: 0; }
  100% { opacity: 0; visibility: hidden; height: 0; margin: 0; padding: 0; overflow: hidden; pointer-events: none; }
}
@keyframes star-flash {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0.5; }
}
@keyframes miasma-rise {
  0% { transform: translateY(0); opacity: 0.6; }
  100% { transform: translateY(-35px); opacity: 0; }
}
@keyframes bronze-shimmer {
  0%, 100% { box-shadow: 0 0 10px rgba(74, 93, 84, 0.2), inset 0 0 8px rgba(74, 93, 84, 0.1); }
  50% { box-shadow: 0 0 20px rgba(74, 93, 84, 0.45), inset 0 0 14px rgba(74, 93, 84, 0.2); }
}
@keyframes panel-light-sweep {
  0% { transform: translateX(-100%) skewX(-25deg); }
  100% { transform: translateX(200%) skewX(-25deg); }
}
@keyframes header-flow-line {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
@keyframes loading-text-breathe {
  0%, 100% { opacity: 0.6; text-shadow: 0 0 6px rgba(74, 93, 84, 0.4); }
  50% { opacity: 1; text-shadow: 0 0 14px rgba(74, 93, 84, 0.75); }
}
@keyframes jy-ink-pulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes k-petal-spin {
  0% { transform: translateY(-50%) rotate(0deg); }
  100% { transform: translateY(-50%) rotate(360deg); }
}
@keyframes k-bar-shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}
@keyframes k-danger-pulse {
  0%, 100% { border-color: rgba(139, 26, 26, 0.25) !important; box-shadow: inset 0 0 0 rgba(139, 26, 26, 0) !important; }
  50% { border-color: rgba(139, 26, 26, 0.6) !important; box-shadow: inset 0 0 15px rgba(139, 26, 26, 0.15), 0 0 10px rgba(139, 26, 26, 0.2) !important; }
}
@keyframes k-fortune-pulse {
  0%, 100% { border-color: rgba(74, 93, 84, 0.3) !important; box-shadow: inset 0 0 0 rgba(74, 93, 84, 0) !important; }
  50% { border-color: rgba(74, 93, 84, 0.7) !important; box-shadow: inset 0 0 15px rgba(74, 93, 84, 0.2), 0 0 12px rgba(74, 93, 84, 0.25) !important; }
}
@keyframes inv-item-glow {
  0%, 100% { box-shadow: 0 0 6px rgba(139, 26, 26, 0.3) !important; }
  50% { box-shadow: 0 0 12px rgba(139, 26, 26, 0.5), 0 0 20px rgba(139, 26, 26, 0.2) !important; }
}
@keyframes user-leaf-flicker {
  0%, 100% { opacity: 0.8; transform: scale(1) translateY(0); }
  25% { opacity: 0.9; transform: scale(1.05) translateY(-1px); }
  50% { opacity: 0.75; transform: scale(0.98) translateY(1px); }
  75% { opacity: 0.85; transform: scale(1.02) translateY(-0.5px); }
}
@keyframes user-ribbon-pulse {
  0%, 100% { opacity: 0.65; transform: translateX(0) translateY(0); }
  50% { opacity: 0.75; transform: translateX(3px) translateY(-2px); }
}
@keyframes chuanqi-song-glow {
  0%, 100% { box-shadow: 0 0 6px rgba(139,26,26,0.25); }
  50%       { box-shadow: 0 0 14px rgba(139,26,26,0.55), 0 0 24px rgba(139,26,26,0.20); }
}

/* --- 1.2. 品质颜色变量 (明器/手艺) --- */
* {
  --color-rumen:     #736F6E; /* 破烂 - 灰土 */
  --color-zhongduan: #5C6B64; /* 寻常 - 青铜 */
  --color-gaoduan:   #4A6B7A; /* 稀罕 - 幽蓝 */
  --color-zhuanye:   #6B4A7A; /* 极品 - 诡紫 */
  --color-chuanqi:   #8B1A1A; /* 神器 - 泣血 */
}

/* =============================================
 * 2. 系统核心界面 (System Core UI)
 * ============================================= */

/* --- 2.1. CoT 思维助手 — 幽闭墓道动态浮现版 --- */
cot {
  display: block; position: relative; width: 100%; aspect-ratio: 3/1;
  overflow: hidden; box-sizing: border-box; contain: size layout paint;
  font-size: 0; line-height: 0; letter-spacing: 0;
}
cot * { display: none !important; }
cot::before {
  content: ""; display: block; width: 100%; height: 100%;
  pointer-events: none; background-repeat: no-repeat;
  background-position: center; background-size: contain;
  animation: jy-ink-pulse 2.8s ease-in-out infinite;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 200'%3E%3Cdefs%3E%3ClinearGradient id='paperGrad' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23121514'/%3E%3Cstop offset='1' stop-color='%231C2321'/%3E%3C/linearGradient%3E%3ClinearGradient id='lightGrad' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%23F4F5F6'/%3E%3Cstop offset='50%25' stop-color='%238A7B66'/%3E%3Cstop offset='100%25' stop-color='%234A5D54'/%3E%3C/linearGradient%3E%3CradialGradient id='flashlight' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%23F4F5F6' stop-opacity='0.15'/%3E%3Cstop offset='100%25' stop-color='%23121514' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cfilter id='glowBlur'%3E%3CfeGaussianBlur stdDeviation='0.8'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='600' height='200' fill='url(%23paperGrad)'/%3E%3C!-- 墓道透视线 --%3E%3Cpath d='M0,0 L200,80 L200,200 M600,0 L400,80 L400,200 M200,80 L400,80' fill='none' stroke='%232A312E' stroke-width='2' opacity='0.5'/%3E%3C!-- 手电光晕 --%3E%3Crect width='600' height='200' fill='url(%23flashlight)'/%3E%3C!-- 飘动的墓尘 --%3E%3Cg opacity='0.3'%3E%3Ccircle cx='100' cy='50' r='1.5' fill='%23F4F5F6'%3E%3Canimate attributeName='cy' values='50;30;50' dur='4s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='500' cy='150' r='2' fill='%238A7B66'%3E%3Canimate attributeName='cy' values='150;120;150' dur='5s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='300' cy='180' r='1' fill='%234A5D54'%3E%3Canimate attributeName='cx' values='300;320;300' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C!-- 底部青铜椁轮廓 --%3E%3Cpath d='M250,170 L350,170 L360,200 L240,200 Z' fill='%231C2321' stroke='%234A5D54' stroke-width='1.5' opacity='0.6'/%3E%3C!-- 主标题 — 幽光浮现 --%3E%3Ctext x='300' y='95' text-anchor='middle' font-size='38' font-family='STHeiti, SimHei, sans-serif' font-weight='bold' fill='none' stroke='url(%23lightGrad)' stroke-width='1.5' stroke-linecap='round' filter='url(%23glowBlur)' letter-spacing='6'%3E%E4%B9%9D%E6%AD%BB%E4%B8%80%E7%94%9F%20%C2%B7%20%E6%91%B8%E9%87%91%E5%80%92%E6%96%97%3Canimate attributeName='stroke-dasharray' from='0 2000' to='2000 0' dur='2.5s' begin='0.3s' fill='freeze'/%3E%3Canimate attributeName='opacity' from='0' to='1' dur='2s' begin='0.3s' fill='freeze'/%3E%3Canimate attributeName='stroke-width' values='1.5;2.5;1.5' dur='4s' begin='3s' repeatCount='indefinite'/%3E%3C/text%3E%3C!-- 实体填充层 --%3E%3Ctext x='300' y='95' text-anchor='middle' font-size='38' font-family='STHeiti, SimHei, sans-serif' font-weight='bold' fill='%23F4F5F6' opacity='0' letter-spacing='6'%3E%E4%B9%9D%E6%AD%BB%E4%B8%80%E7%94%9F%20%C2%B7%20%E6%91%B8%E9%87%91%E5%80%92%E6%96%97%3Canimate attributeName='opacity' from='0' to='0.85' dur='1.5s' begin='2.5s' fill='freeze'/%3E%3C/text%3E%3C!-- 副标题 --%3E%3Ctext x='300' y='128' text-anchor='middle' font-size='13' font-family='SimSun, Songti SC, serif' fill='%238A7B66' letter-spacing='8' opacity='0'%3E%E5%AF%BB%E9%BE%99%E5%88%86%E9%87%91%20%E9%98%B4%E9%98%B3%E4%B8%A4%E9%9A%94%3Canimate attributeName='opacity' from='0' to='0.7' dur='1.5s' begin='3.5s' fill='freeze'/%3E%3Canimate attributeName='y' from='135' to='128' dur='1.5s' begin='3.5s' fill='freeze' calcMode='spline' keySplines='0.16 1 0.3 1'/%3E%3C/text%3E%3C!-- 进度条 — 燃烧的冷烟火 --%3E%3Crect x='218' y='148' width='164' height='4' rx='2' fill='%231C2321' stroke='%234A5D54' stroke-width='1' opacity='0.6'/%3E%3Crect x='220' y='149' height='2' rx='1' fill='%237B2D26' opacity='0.8'%3E%3Canimate attributeName='width' values='0;160;0' dur='4.5s' repeatCount='indefinite'/%3E%3C/rect%3E%3Ctext x='206' y='153' font-size='8' font-family='SimHei, sans-serif' fill='%238A7B66' text-anchor='middle' opacity='0.7'%3E%E5%85%A5%3C/text%3E%3Ctext x='394' y='153' font-size='8' font-family='SimHei, sans-serif' fill='%238A7B66' text-anchor='middle' opacity='0.7'%3E%E6%B7%B1%3C/text%3E%3C!-- 落款印章 — 发丘天印 --%3E%3Crect x='520' y='155' width='28' height='28' rx='2' fill='%238B1A1A' opacity='0.2'/%3E%3Ctext x='534' y='174' text-anchor='middle' font-size='14' font-family='STKaiti, KaiTi, serif' fill='%238B1A1A' opacity='0.3' font-weight='bold'%3E%E7%9B%97%3C/text%3E%3C!-- 散落的字符 --%3E%3Ctext x='120' y='65' font-size='14' fill='%237B2D26' opacity='0.1' font-family='STHeiti, sans-serif'%3E%E7%85%9E%3C/text%3E%3Ctext x='480' y='70' font-size='12' fill='%234A5D54' opacity='0.1' font-family='STHeiti, sans-serif'%3E%E9%98%B4%3C/text%3E%3Ctext x='180' y='165' font-size='10' fill='%238A7B66' opacity='0.15' font-family='STHeiti, sans-serif'%3E%E5%86%A2%3C/text%3E%3Ctext x='420' y='175' font-size='11' fill='%23F4F5F6' opacity='0.08' font-family='STHeiti, sans-serif'%3E%E5%B0%B8%3C/text%3E%3C/svg%3E");
}
cot:has(postition[stop]), cot:has(+ postition[stop]), cot:has(~ postition[stop]) {
  animation: cot-text-vanish 800ms ease forwards;
}
cot:has(postition[stop])::before, cot:has(+ postition[stop])::before, cot:has(~ postition[stop])::before {
  animation-play-state: paused !important; opacity: 0;
  transition: opacity 0.6s ease; content: none !important; background: none !important;
}

/* --- 2.2. 载入动画 — 寻龙定穴罗盘版 --- */
.style_dot-flashing__8L91Q { display: none !important; }
div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq) {
  width: 100% !important; height: auto !important; min-height: 140px !important;
  display: flex !important; flex-direction: column !important;
  justify-content: center !important; align-items: center !important;
  background: radial-gradient(circle, rgba(234,236,238,0.95) 0%, rgba(220,224,226,0.9) 100%) !important;
  border: 1px solid rgba(74, 93, 84, 0.25) !important;
  border-radius: 12px !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 6px 20px rgba(28,35,33,0.1), inset 0 0 30px rgba(255,255,255,0.5) !important;
  position: relative !important; overflow: hidden !important;
}
div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq)::before {
  content: '' !important; position: absolute !important;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%, -55%) !important;
  width: 90px !important; height: 90px !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3C!-- 罗盘外圈 --%3E%3Ccircle cx='50' cy='50' r='45' fill='none' stroke='%238A7B66' stroke-width='2' opacity='0.4' stroke-dasharray='4 2'/%3E%3Ccircle cx='50' cy='50' r='35' fill='none' stroke='%234A5D54' stroke-width='1.5' opacity='0.5'/%3E%3C!-- 罗盘指针旋转 --%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 50 50' to='360 50 50' dur='3s' repeatCount='indefinite' calcMode='spline' keySplines='0.4 0.1 0.3 1; 0.4 0.1 0.3 1' values='0 50 50; 180 50 50; 360 50 50'/%3E%3Cpath d='M50,15 L54,50 L50,85 L46,50 Z' fill='%237B2D26' opacity='0.8'/%3E%3Ccircle cx='50' cy='50' r='4' fill='%231C2321'/%3E%3C/g%3E%3C!-- 八卦刻度示意 --%3E%3Cpath d='M50,5 L50,10 M50,90 L50,95 M5,50 L10,50 M90,50 L95,50' stroke='%231C2321' stroke-width='2' opacity='0.5'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  background-position: center !important;
}
div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq)::after {
  content: '🔦 寻龙定穴中...' !important;
  position: absolute !important; bottom: 18px !important;
  left: 50% !important; transform: translateX(-50%) !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
  font-size: 13px !important; font-weight: 700 !important;
  color: #1C2321 !important; letter-spacing: 0.3em !important;
  animation: loading-text-breathe 2.5s ease-in-out infinite !important;
  text-shadow: 0 0 8px rgba(74,93,84,0.4) !important;
}

/* --- 2.3. 顶部导航栏 — 墓尘飘扬版 --- */
.sticky.w-full.top-0.flex.items-center {
  background: linear-gradient(180deg,
    rgba(234,236,238,0.97) 0%,
    rgba(220,224,226,0.95) 50%,
    rgba(200,205,208,0.93) 100%) !important;
  border-bottom: none !important;
  box-shadow:
    0 1px 0 rgba(74,93,84,0.15),
    0 4px 24px rgba(28,35,33,0.1) !important;
  backdrop-filter: blur(20px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.2) !important;
  z-index: 19 !important; position: relative !important; overflow: hidden !important;
  min-height: 52px !important;
}

/* ── 墓尘/飞蛾 粒子层 ── */
.sticky.w-full.top-0.flex.items-center::before {
  content: '' !important;
  position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  pointer-events: none !important; z-index: 1 !important; opacity: 1 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 56' preserveAspectRatio='xMidYMid slice'%3E%3C!-- 飘动的灰烬/飞蛾 --%3E%3Cg fill='%238A7B66' opacity='0.4'%3E%3Ccircle cx='100' cy='60' r='1.5'%3E%3Canimate attributeName='cy' values='60;-10' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='100;120;90;110' dur='8s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='300' cy='70' r='2'%3E%3Canimate attributeName='cy' values='70;-20' dur='12s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='300;280;310;290' dur='12s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='500' cy='55' r='1'%3E%3Canimate attributeName='cy' values='55;-5' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='500;510;490;505' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='700' cy='65' r='2.5' opacity='0.2'%3E%3Canimate attributeName='cy' values='65;-15' dur='10s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='700;730;680;710' dur='10s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C!-- 散字装饰 --%3E%3Ctext x='45' y='38' font-size='10' fill='%237B2D26' opacity='0.08' font-family='STHeiti, sans-serif'%3E%E8%A1%80%3C/text%3E%3Ctext x='755' y='22' font-size='8' fill='%234A5D54' opacity='0.08' font-family='STHeiti, sans-serif'%3E%E7%85%9E%3C/text%3E%3C/svg%3E") !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
}

/* 底部冷光线 */
.sticky.w-full.top-0.flex.items-center::after {
  content: '' !important; position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important; height: 2px !important;
  background: linear-gradient(90deg,
    transparent 0%, rgba(74,93,84,0.35) 10%,
    rgba(123,45,38,0.6) 25%, rgba(138,123,102,0.7) 40%,
    rgba(28,35,33,0.5) 50%, rgba(138,123,102,0.7) 60%,
    rgba(123,45,38,0.6) 75%, rgba(74,93,84,0.35) 90%,
    transparent 100%) !important;
  background-size: 200% 100% !important;
  animation: header-flow-line 6s linear infinite !important;
  z-index: 10 !important;
  box-shadow: 0 0 6px rgba(123,45,38,0.25), 0 0 12px rgba(74,93,84,0.15) !important;
}

.sticky.w-full.top-0.flex.items-center > * {
  position: relative !important; z-index: 50 !important;
}

/* 模型选择器 */
#ai-model-selector .group {
  background: rgba(234,236,238,0.85) !important;
  border: 1px solid rgba(74,93,84,0.2) !important;
  border-left: 2px solid #4A5D54 !important;
  border-radius: 8px !important;
  padding: 0 12px !important; height: 2.0rem !important;
  transition: all 0.4s ease !important;
  box-shadow: 0 1px 6px rgba(28,35,33,0.08) !important;
  margin: 0 8px !important;
}
#ai-model-selector .group:hover {
  border-color: #1C2321 !important;
  background: rgba(255,255,255,0.98) !important;
  box-shadow: 0 2px 12px rgba(28,35,33,0.2) !important;
}
#ai-model-selector .truncate {
  font-size: 13px !important; font-weight: 700 !important;
  color: #1C2321 !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
  letter-spacing: 1.5px !important; transition: color 0.4s ease !important;
}
#ai-model-selector .group:hover .truncate { color: #4A5D54 !important; }
#ai-model-selector svg { color: #8A7B66 !important; transition: all 0.4s ease !important; }
#ai-model-selector .group:hover svg { color: #1C2321 !important; transform: rotate(180deg) !important; }

/* 标签按钮 */
.sticky.w-full.top-0.flex.items-center .inline-flex.items-center {
  background: rgba(234,236,238,0.75) !important;
  color: #1C2321 !important;
  border: 1px solid rgba(74,93,84,0.2) !important;
  font-size: 0.75rem !important; font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  border-radius: 8px !important;
  padding: 4px 10px !important;
  box-shadow: 0 1px 4px rgba(28,35,33,0.08) !important;
  transition: all 0.4s ease !important;
  position: relative !important; overflow: hidden !important;
}
.sticky.w-full.top-0.flex.items-center .inline-flex.items-center::before {
  content: '' !important; position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(74,93,84,0.2), transparent) !important;
  transition: left 0.7s ease !important;
}
.sticky.w-full.top-0.flex.items-center .inline-flex.items-center:hover {
  background: rgba(255,255,255,0.95) !important;
  border-color: #4A5D54 !important; color: #4A5D54 !important;
  text-shadow: 0 0 8px rgba(74,93,84,0.25) !important;
  box-shadow: 0 2px 10px rgba(74,93,84,0.15) !important;
}
.sticky.w-full.top-0.flex.items-center .inline-flex.items-center:hover::before { left: 100% !important; }

/* 设置按钮 */
#header-setting-button {
  border-radius: 50% !important;
  background: rgba(234,236,238,0.85) !important;
  border: 1px solid rgba(28,35,33,0.2) !important;
  transition: all 0.4s ease !important;
}
#header-setting-button:hover {
  border-color: #4A5D54 !important;
  background: rgba(74,93,84,0.08) !important;
  box-shadow: 0 0 15px rgba(74,93,84,0.2) !important;
}
#header-setting-button svg { color: #1C2321 !important; transition: all 0.7s ease !important; }
#header-setting-button:hover svg { color: #4A5D54 !important; transform: rotate(90deg) !important; }

/* --- 2.4. 输入框与底部按钮 --- */
.p-\[5\.5px\].max-h-\[150px\] {
  background: rgba(234,236,238,0.95) !important;
  border: 1px solid rgba(74,93,84,0.2) !important;
  border-radius: 12px !important;
  box-shadow: 0 -4px 15px rgba(28,35,33,0.08);
  padding: 8px !important;
  backdrop-filter: blur(15px) !important;
  -webkit-backdrop-filter: blur(15px) !important;
  width: 100% !important; max-width: 100% !important; margin: 0 !important;
}

#ai-chat-input {
  background: #F4F5F6 !important;
  border-radius: 10px !important;
  border: 1px solid rgba(74,93,84,0.25) !important;
  font-family: 'STHeiti', 'SimHei', 'Microsoft YaHei', sans-serif !important;
  font-size: 15px !important; line-height: 1.5 !important;
  color: #1C2321 !important; caret-color: #7B2D26 !important;
  padding: 10px 50px 10px 12px !important;
  height: auto !important; max-height: 150px !important;
  resize: none !important; outline: none !important;
  transition: all 0.4s ease;
  field-sizing: content !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  -webkit-appearance: none !important; appearance: none !important;
  -webkit-text-size-adjust: 100% !important;
  white-space: pre-wrap !important; word-break: break-word !important;
  box-shadow: inset 0 2px 8px rgba(28,35,33,0.05);
}
#ai-chat-input::placeholder { color: #8A7B66 !important; opacity: 0.8; font-family: 'STKaiti', serif !important; }
#ai-chat-input:focus {
  border-color: #4A5D54 !important;
  box-shadow: 0 0 10px rgba(74,93,84,0.2), inset 0 2px 8px rgba(28,35,33,0.05) !important;
  background: #FFFFFF !important;
}

.p-\[5\.5px\].max-h-\[150px\] .flex.items-center.px-1 {
  background: rgba(74,93,84,0.08) !important; color: #1C2321 !important;
  border-radius: 8px !important; border: 1px solid rgba(74,93,84,0.2) !important;
}
.p-\[5\.5px\].max-h-\[150px\] .mx-1 { background: rgba(74,93,84,0.15) !important; }

/* ============================================================
 * 🔦 鬼火发送按钮 — 倒斗摸金版
 * ============================================================ */

/* 动画 */
@keyframes ghost-fire-idle {
  0%, 100% { transform: translateY(0) scale(1); }
  50%       { transform: translateY(-2px) scale(1.05); }
}
@keyframes ghost-fire-hover {
  0%   { transform: scale(1.1) rotate(-3deg); }
  50%  { transform: scale(1.15) rotate(5deg); }
  100% { transform: scale(1.1) rotate(-3deg); }
}
@keyframes ghost-fire-press {
  0%   { transform: scale(1.1); }
  35%  { transform: scale(0.85); }
  75%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}
@keyframes ghost-fire-ripple {
  0%   { transform: translate(-50%,-50%) scale(0); opacity: 0.6; }
  100% { transform: translate(-50%,-50%) scale(3); opacity: 0; }
}
@keyframes ghost-glow-pulse {
  0%, 100% {
    box-shadow:
      0 3px 14px rgba(44,76,59,0.4),
      0 0 0 3px rgba(44,76,59,0.1),
      inset 0 1px 0 rgba(255,255,255,0.2);
  }
  50% {
    box-shadow:
      0 5px 22px rgba(44,76,59,0.6),
      0 0 0 5px rgba(44,76,59,0.2),
      inset 0 1px 0 rgba(255,255,255,0.3);
  }
}

/* ── 按钮外壳 ── */
#ai-send-button {
  border-radius: 50% !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: visible !important;

  /* 冷焰火/鬼火渐变底盘 */
  background: linear-gradient(145deg,
    #3A5A6A 0%,
    #2C4C3B 50%,
    #1C2321 100%) !important;

  border: 2px solid rgba(255,255,255,0.3) !important;

  box-shadow:
    0 3px 14px rgba(44,76,59,0.4),
    0 0 0 3px rgba(44,76,59,0.1),
    inset 0 1px 0 rgba(255,255,255,0.2) !important;

  animation:
    ghost-fire-idle   3s ease-in-out infinite,
    ghost-glow-pulse  3s ease-in-out infinite !important;

  transition: border-color 0.3s ease !important;
  color: transparent !important;
  cursor: pointer !important;
}

/* 隐藏原 SVG */
#ai-send-button svg {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ── ::before — 洛阳铲/鬼火 SVG 图标 ── */
#ai-send-button::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 20px !important;
  height: 20px !important;
  pointer-events: none !important;
  z-index: 2 !important;
  /* 绘制一个简单的冷烟火/鬼火图案 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CradialGradient id='fireGrad' cx='50%25' cy='70%25' r='70%25'%3E%3Cstop offset='0%25' stop-color='%23E0F7FA' stop-opacity='1'/%3E%3Cstop offset='50%25' stop-color='%2380CBC4' stop-opacity='0.8'/%3E%3Cstop offset='100%25' stop-color='%2300695C' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M12,2 C12,2 8,8 8,14 C8,18 10,21 12,21 C14,21 16,18 16,14 C16,8 12,2 12,2 Z' fill='url(%23fireGrad)'/%3E%3Cpath d='M12,8 C12,8 10,12 10,15 C10,17 11,18 12,18 C13,18 14,17 14,15 C14,12 12,8 12,8 Z' fill='%23FFFFFF' opacity='0.7'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  transition: transform 0.3s ease, filter 0.3s ease !important;
  filter: drop-shadow(0 0 4px rgba(128,203,196,0.6)) !important;
}

/* ── ::after — 涟漪层 ── */
#ai-send-button::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle,
    rgba(128,203,196,0.6) 0%,
    rgba(44,76,59,0.4) 50%,
    transparent 70%) !important;
  transform: translate(-50%,-50%) scale(0) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  transition: none !important;
}

/* ── Hover ── */
#ai-send-button:hover {
  background: linear-gradient(145deg,
    #4A6B7A 0%,
    #3A5A6A 45%,
    #1C2321 100%) !important;
  border-color: rgba(255,255,255,0.5) !important;
  box-shadow:
    0 6px 22px rgba(44,76,59,0.6),
    0 0 0 5px rgba(44,76,59,0.15),
    inset 0 1px 0 rgba(255,255,255,0.3) !important;
  animation: ghost-fire-hover 1.5s ease-in-out infinite !important;
}
#ai-send-button:hover::before {
  transform: translate(-50%,-50%) scale(1.15) !important;
  filter: drop-shadow(0 0 8px rgba(128,203,196,0.9)) brightness(1.1) !important;
}

/* ── Active (点击) ── */
#ai-send-button:active {
  animation: ghost-fire-press 0.38s cubic-bezier(0.36,0.07,0.19,0.97) forwards !important;
  background: linear-gradient(145deg,
    #2C4C3B 0%,
    #1C2321 50%,
    #0A0F0D 100%) !important;
  box-shadow:
    0 1px 6px rgba(44,76,59,0.5),
    0 0 0 6px rgba(44,76,59,0.15),
    inset 0 2px 5px rgba(10,15,13,0.4) !important;
}
#ai-send-button:active::after {
  animation: ghost-fire-ripple 0.48s ease-out forwards !important;
}

/* ── 减弱动效 ── */
@media (prefers-reduced-motion: reduce) {
  #ai-send-button          { animation: none !important; }
  #ai-send-button:hover    { animation: none !important; transform: scale(1.08) !important; }
  #ai-send-button:active   { animation: none !important; transform: scale(0.94) !important; }
  #ai-send-button:active::after { animation: none !important; }
}

/* ── 手机端 ── */
@media (max-width: 768px) {
  #ai-send-button {
    width: 36px !important;
    height: 36px !important;
    animation: none !important;
    box-shadow:
      0 2px 10px rgba(44,76,59,0.4),
      inset 0 1px 0 rgba(255,255,255,0.2) !important;
  }
  #ai-send-button::before {
    width: 18px !important;
    height: 18px !important;
  }
  #ai-send-button:hover    { animation: none !important; transform: none !important; }
  #ai-send-button:active::after { animation: none !important; }
}

/* --- 底部栏整体 --- */
div[class*="absolute"][class*="bottom-0"] {
  background: linear-gradient(180deg, rgba(234,236,238,0.85) 0%, rgba(220,224,226,0.98) 100%);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(74,93,84,0.2);
  box-shadow: 0 -4px 15px rgba(28,35,33,0.1); color: #1C2321;
}
div[class*="absolute"][class*="bottom-0"]::before {
  content: ""; position: absolute; left: 0; right: 0; top: -2px; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(74,93,84,0.4), transparent);
  animation: panel-light-sweep 7s ease-in-out infinite; animation-delay: 1.5s; opacity: 0.6;
}
div[class*="absolute"][class*="bottom-0"]::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  /* 墓砖纹理点阵 */
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='dotGrid' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='0.6' fill='%234A5D54' opacity='0.06'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='60' height='60' fill='url(%23dotGrid)'/%3E%3C/svg%3E");
  animation: dust-drift 100s linear infinite; opacity: 0.5;
  pointer-events: none; z-index: -1;
}
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]) {
  background: #F4F5F6; border: 1px solid rgba(74,93,84,0.25);
  border-radius: 8px; color: #1C2321;
  font-family: 'STHeiti', 'SimHei', sans-serif;
  font-weight: 600; font-size: 14px; text-shadow: none;
  box-shadow: 0 2px 8px rgba(28,35,33,0.08);
  transition: all 0.3s ease; position: relative; overflow: hidden;
}
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"])::before {
  content: ''; position: absolute; top: -15%; left: -170%; width: 50%; height: 130%;
  background: linear-gradient(90deg, transparent, rgba(74,93,84,0.15), transparent);
  transform: skewX(-30deg); transition: left 0.8s ease-in-out;
}
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]):hover {
  transform: translateY(-2px); color: #4A5D54;
  background: #FFFFFF; border-color: #4A5D54;
  box-shadow: 0 4px 12px rgba(74,93,84,0.15), 0 0 8px rgba(74,93,84,0.2);
}
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]):hover::before { left: 170%; }
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]):active {
  transform: translateY(0); background: #EAECEE; border-color: #4A5D54;
  box-shadow: inset 0 0 6px rgba(74,93,84,0.15), 0 2px 6px rgba(28,35,33,0.08);
  transition-duration: 0.15s;
}

/* =============================================
 * END OF PART 1
 * ============================================= */
/* =============================================
 * 🔦 盗月录 · 地下摸金主题 v1.0 — 第二部分
 * ============================================= */

/* =============================================
 * 3. 通用 UI 模块
 * ============================================= */

/* --- 3.1. 聊天容器与气泡 --- */
.chat {
  display: flex; flex-direction: column; gap: 14px; padding: 16px 12px;
  background: #EAECEE;
  border: 1px solid rgba(74,93,84,0.15);
  border-left: 3px solid #4A5D54; border-right: 3px solid #1C2321;
  border-radius: 12px; margin: 16px 0; position: relative;
  font-family: 'STKaiti', 'KaiTi', 'Georgia', serif; /* 正文保留带点古籍感的字体 */
  box-shadow: 0 3px 15px rgba(28,35,33,0.06), inset 0 0 20px rgba(234,236,238,0.8);
  overflow: hidden;
}
.chat::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  /* 阴暗石板纹理 */
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cdefs%3E%3Cpattern id='stoneBg' width='80' height='80' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='40' cy='40' r='1.2' fill='%231C2321' opacity='0.04'/%3E%3Ccircle cx='10' cy='10' r='0.8' fill='%234A5D54' opacity='0.03'/%3E%3Ccircle cx='70' cy='20' r='0.8' fill='%237B2D26' opacity='0.02'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='80' height='80' fill='url(%23stoneBg)'/%3E%3C/svg%3E");
  animation: dust-drift 40s linear infinite; opacity: 0.6;
  pointer-events: none; z-index: 0; will-change: background-position;
}
.chat::after { display: none !important; }
.chat > * { position: relative; z-index: 1; }

.bubble {
  max-width: 90%; padding: 10px 14px; position: relative; line-height: 1.6;
  word-wrap: break-word; border-radius: 12px;
  box-shadow: 0 2px 8px rgba(28,35,33,0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease; overflow: visible;
}
.bubble:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(28,35,33,0.12); }

.bubble.npc {
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(74,93,84,0.2);
  border-left: 3px solid #7B2D26; color: #1C2321; align-self: flex-start;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.bubble.npc::after {
  content: '💀'; position: absolute; top: 6px; right: 8px;
  font-size: 10px; animation: ribbon-breathe 3s ease-in-out infinite; z-index: 2; opacity: 0.6;
}
.bubble.npc .name { color: #7B2D26; font-family: 'STHeiti', sans-serif; }
.bubble.npc .name::before { color: #1C2321; animation: star-flash 3.5s steps(1, end) infinite; }
.bubble.npc .msg { color: #1C2321; }

.bubble.user {
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(28,35,33,0.15);
  border-right: 3px solid #4A5D54; color: #1C2321; align-self: flex-end;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.bubble.user::after {
  content: '🔦'; position: absolute; top: 6px; left: 8px;
  font-size: 11px; color: #4A5D54;
  animation: ribbon-breathe 3s ease-in-out infinite; z-index: 2; opacity: 0.8;
}
.bubble.user .name { color: #4A5D54; font-family: 'STHeiti', sans-serif; }
.bubble.user .name::before { color: #8A7B66; animation: star-flash 3.5s steps(1, end) infinite 0.3s; }
.bubble.user .msg { color: #1C2321; }

.bubble .name {
  font-size: 0.8em; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; margin-bottom: 6px; display: block;
  position: relative; padding-left: 16px; z-index: 1;
}
.bubble .name::before {
  content: '▸'; position: absolute; left: 0; font-size: 1.1em; display: inline-block;
}
.bubble .msg { margin: 0; font-size: 0.95em; font-weight: 500; position: relative; z-index: 1; }

/* --- 3.2. 通用内容容器 --- */
.styled-prose-container {
  font-family: 'STKaiti', 'KaiTi', 'Georgia', serif;
  position: relative; z-index: 1; color: #1C2321;
}
.styled-prose-container br { line-height: 1.4; }

/* =============================================
 * 气泡装饰补丁 — 倒斗主题
 * ============================================= */
.bg-gray-100\/90.relative.inline-block {
  position: relative !important; isolation: isolate !important; overflow: visible !important;
}

/* AI回答气泡 */
.chat-answer-container .bg-gray-100\/90.relative.inline-block {
  background: rgba(244,245,246,0.95) !important;
  color: #1C2321 !important; border-radius: 12px !important;
  border: 1px solid rgba(74,93,84,0.15) !important;
  box-shadow: 0 8px 25px -10px rgba(28,35,33,0.1) !important;
  backdrop-filter: blur(15px) !important; -webkit-backdrop-filter: blur(15px) !important;
}
.chat-answer-container .bg-gray-100\/90.relative.inline-block::before,
.chat-answer-container .bg-gray-100\/90.relative.inline-block::after {
  content: none !important;
}

/* 用户消息气泡 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  background: linear-gradient(145deg,
    rgba(255,255,255,0.98) 0%,
    rgba(244,245,246,0.95) 50%,
    rgba(255,255,255,0.98) 100%) !important;
  border: 1px solid rgba(28,35,33,0.15) !important;
  box-shadow:
    0 6px 24px rgba(28,35,33,0.08),
    0 0 40px rgba(74,93,84,0.06),
    inset 0 1px 0 rgba(255,255,255,0.95),
    inset 0 -1px 0 rgba(74,93,84,0.05) !important;
  border-radius: 12px !important; color: #1C2321 !important;
  backdrop-filter: blur(15px) !important; -webkit-backdrop-filter: blur(15px) !important;
}

/* 用户气泡 — 右上角幽光装饰 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::before {
  content: '' !important; position: absolute !important;
  top: -6px !important; right: -6px !important;
  width: 28px !important; height: 28px !important;
  pointer-events: none !important; z-index: 100 !important;
  /* 类似手电筒反光或罗盘指针 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cdefs%3E%3ClinearGradient id='eG' x1='0%25' y1='100%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%234A5D54' stop-opacity='0.8'/%3E%3Cstop offset='100%25' stop-color='%232C4C3B' stop-opacity='0.4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 14 14' to='360 14 14' dur='15s' repeatCount='indefinite'/%3E%3Cpath d='M14,2 L16,12 L26,14 L16,16 L14,26 L12,16 L2,14 L12,12 Z' fill='url(%23eG)' opacity='0.6'/%3E%3C/g%3E%3Ccircle cx='14' cy='14' r='2' fill='%231C2321' opacity='0.5'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  opacity: 0.8 !important; animation: user-leaf-flicker 3s ease-in-out infinite !important;
}

/* 用户气泡 — 左下角血印装饰 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::after {
  content: '' !important; position: absolute !important;
  bottom: -8px !important; left: -8px !important;
  width: 70px !important; height: 70px !important;
  pointer-events: none !important; z-index: 100 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 70'%3E%3Ctext x='10' y='55' font-size='16' fill='%237B2D26' opacity='0.15' font-family='STHeiti, sans-serif'%3E%E6%91%B8%3C/text%3E%3Ctext x='35' y='38' font-size='10' fill='%231C2321' opacity='0.1' font-family='STHeiti, sans-serif'%3E%E9%87%91%3C/text%3E%3Ccircle cx='50' cy='25' r='2.5' fill='%237B2D26' opacity='0.1'%3E%3Canimate attributeName='cy' values='25;20;25' dur='3s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  opacity: 0.7 !important; animation: user-ribbon-pulse 12s ease-in-out infinite !important;
}

div.group.relative > div.relative.inline-block.bg-gray-100\/90 > * {
  position: relative !important; z-index: 1 !important;
}

/* --- 3.3. 折叠面板 (Details) --- */
.styled-prose-container details {
  background: #F4F5F6; border-radius: 10px; margin: 12px 0; overflow: visible;
  position: relative; border: 1px solid rgba(74,93,84,0.15);
  box-shadow: 0 4px 12px rgba(28,35,33,0.05);
  transition: all 0.4s ease; font-size: 15px; line-height: 1.6;
  padding: 0 16px 12px 16px;
}
.styled-prose-container details:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(28,35,33,0.08);
  border-color: rgba(74,93,84,0.3);
}
.styled-prose-container details:has(T:hover) { z-index: 100; }
.styled-prose-container details summary {
  background: transparent; padding: 12px 40px 12px 16px; margin: 0 -16px;
  font-weight: 700; font-size: 16px; cursor: pointer; color: #1C2321;
  letter-spacing: 1.5px; position: relative; list-style: none;
  border-bottom: 1px solid rgba(74,93,84,0.1);
  transition: all 0.4s ease; font-family: 'STHeiti', 'SimHei', sans-serif;
}
.styled-prose-container details summary::-webkit-details-marker { display: none; }
.styled-prose-container details summary::before {
  content: ''; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px;
  border-right: 2px solid #4A5D54; border-bottom: 2px solid #4A5D54;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.4s ease, border-color 0.4s ease;
}
.styled-prose-container details summary:hover::before { border-color: #1C2321; }
.styled-prose-container details[open] > summary {
  background: rgba(74,93,84,0.08);
  border-bottom-color: rgba(74,93,84,0.2);
  color: #1C2321; padding-top: 12px; margin-bottom: 12px;
  animation: scroll-reveal 0.5s ease-out;
}
.styled-prose-container details[open] > summary::before { transform: translateY(-50%) rotate(225deg); }
.styled-prose-container details > *:not(summary) {
  padding: 0; line-height: inherit; font-size: inherit; color: inherit; background: transparent;
}
.styled-prose-container details > summary {
  text-align: center !important; justify-content: center !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
  font-weight: 700 !important; letter-spacing: 3px !important;
}
.styled-prose-container details > summary::before {
  position: absolute !important; left: 16px !important; right: auto !important;
}

/* --- 3.4. Tooltip 标签 (T & Ti) --- */
.styled-prose-container T {
  position: static !important; display: inline-block;
  margin-bottom: 4px; margin-right: 6px; cursor: help;
  color: #2A312E !important; font-weight: 600; text-decoration: none;
  border-bottom: 1px dashed rgba(74,93,84,0.4);
  padding: 2px 8px; background: rgba(74,93,84,0.05);
  border-radius: 4px; transition: all 0.4s ease;
}
.styled-prose-container T::before { content: ""; }
.styled-prose-container T:hover {
  background: rgba(74,93,84,0.15); color: #1C2321 !important;
  border-bottom-style: solid; z-index: 100;
}
.styled-prose-container T Ti {
  display: block !important; visibility: hidden; opacity: 0;
  left: 0 !important; right: 0 !important; margin: 0 auto !important;
  width: max-content !important; max-width: 90% !important;
  top: auto !important; bottom: auto !important;
  transform: translateY(-100%) translateY(-10px) !important;
  white-space: normal; text-align: left;
  background: rgba(255,255,255,0.98); color: #1C2321;
  border-radius: 10px !important;
  border: 1px solid rgba(74,93,84,0.3);
  border-left: 3px solid #4A5D54;
  padding: 12px 16px; font-size: 0.85em; font-weight: 500;
  line-height: 1.6; font-family: 'STKaiti', 'KaiTi', serif;
  box-shadow: 0 8px 25px rgba(28,35,33,0.15), inset 0 0 15px rgba(234,236,238,0.5);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none; position: absolute; z-index: 99999;
  background-image: linear-gradient(90deg, rgba(74,93,84,0.2) 0%, transparent 50%);
  background-size: 100% 1px; background-repeat: no-repeat; background-position: top left;
}
.styled-prose-container T Ti::before {
  content: '🔦 倒斗档案 //'; display: block; font-size: 0.75em;
  color: #4A5D54; margin-bottom: 8px; padding-bottom: 6px;
  border-bottom: 1px solid rgba(28,35,33,0.15);
  letter-spacing: 2px; font-weight: 700;
  font-family: 'STHeiti', 'SimHei', sans-serif;
}
.styled-prose-container T:hover Ti {
  visibility: visible; opacity: 1;
  transform: translateY(-100%) translateY(-10px) !important;
}
.styled-prose-container T Ti > span {
  display: inline-block; color: #1C2321; font-weight: 700; margin-right: 8px;
}

/* --- 3.5. 列表与卡片品质着色 --- */
.styled-prose-container [class*=card-body-] {
  margin: 2px 0; padding: 0; border-radius: 4px;
  background-color: transparent; border: none; transition: all 0.4s ease;
}
.styled-prose-container item_list [class*=card-body-rumen] T,
.styled-prose-container spell_card_list [class*=card-body-rumen] T { color: var(--color-rumen) !important; display: inline-block; }
.styled-prose-container item_list [class*=card-body-zhongduan] T,
.styled-prose-container spell_card_list [class*=card-body-zhongduan] T { color: var(--color-zhongduan) !important; display: inline-block; }
.styled-prose-container item_list [class*=card-body-gaoduan] T,
.styled-prose-container spell_card_list [class*=card-body-gaoduan] T { color: var(--color-gaoduan) !important; display: inline-block; }
.styled-prose-container item_list [class*=card-body-zhuanye] T,
.styled-prose-container spell_card_list [class*=card-body-zhuanye] T { color: var(--color-zhuanye) !important; display: inline-block; }
.styled-prose-container item_list [class*=card-body-chuanqi] T,
.styled-prose-container spell_card_list [class*=card-body-chuanqi] T { color: var(--color-chuanqi) !important; display: inline-block; }

.styled-prose-container [class*=card-body-rumen] T Ti     { border-color: rgba(115,111,110,0.30); }
.styled-prose-container [class*=card-body-zhongduan] T Ti  { border-color: rgba(92,107,100,0.35); }
.styled-prose-container [class*=card-body-gaoduan] T Ti    { border-color: rgba(74,107,122,0.35); }
.styled-prose-container [class*=card-body-zhuanye] T Ti    { border-color: rgba(107,74,122,0.35); }
.styled-prose-container [class*=card-body-chuanqi] T Ti    { border-color: rgba(139,26,26,0.40); box-shadow: 0 0 10px rgba(139,26,26,0.15), 0 8px 30px rgba(28,35,33,0.15); }

.styled-prose-container [class*=card-body-rumen] T Ti span:first-child     { color: var(--color-rumen) !important; }
.styled-prose-container [class*=card-body-zhongduan] T Ti span:first-child  { color: var(--color-zhongduan) !important; }
.styled-prose-container [class*=card-body-gaoduan] T Ti span:first-child    { color: var(--color-gaoduan) !important; }
.styled-prose-container [class*=card-body-zhuanye] T Ti span:first-child    { color: var(--color-zhuanye) !important; }
.styled-prose-container [class*=card-body-chuanqi] T Ti span:first-child    { color: var(--color-chuanqi) !important; }

/* =============================================
 * 4. 特殊内容模块
 * ============================================= */

/* --- 4.1. 侧边栏定位修正 --- */
#ai-chat-answer:last-of-type:has(.env-sidebar, .u, .n, .p, .ship, .m) .chat,
#ai-chat-answer:last-of-type:has(.env-sidebar, .u, .n, .p, .ship, .m) .bubble,
#ai-chat-answer:last-of-type:has(.env-sidebar, .u, .n, .p, .ship, .m) div.group.relative > div.relative.inline-block.bg-gray-100\/90 {
  transform: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

/* =============================================
 * 4.2. 顶部信息栏 (Top Info) — 倒斗横排布局
 * ============================================= */
@keyframes top-info-gradient-flow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

.top-info {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 20px 0 !important;
  padding: 0 !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
  background: linear-gradient(160deg, rgba(244,245,246,0.98) 0%, rgba(234,236,238,0.95) 50%, rgba(244,245,246,0.98) 100%) !important;
  border: 1px solid rgba(74,93,84,0.25) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 24px rgba(28,35,33,0.08), 0 0 40px rgba(74,93,84,0.05), inset 0 1px 0 rgba(255,255,255,0.8) !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.top-info::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent 0%, #4A5D54 20%, #2C4C3B 40%, #1C2321 50%, #2C4C3B 60%, #4A5D54 80%, transparent 100%) !important;
  background-size: 200% 100% !important;
  animation: top-info-gradient-flow 4s linear infinite !important;
  pointer-events: none !important; z-index: 10 !important;
}

.top-info::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  /* 蛛网/裂纹背景 */
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,0 L20,20 M60,0 L40,20 M30,30 L30,60 M0,30 L60,30' stroke='%231C2321' stroke-width='0.5' opacity='0.05'/%3E%3C/svg%3E") !important;
  background-size: 60px 60px !important;
  opacity: 0.3 !important; pointer-events: none !important; z-index: 0 !important;
}

.top-info:hover {
  box-shadow: 0 8px 32px rgba(28,35,33,0.15), 0 0 50px rgba(74,93,84,0.1), inset 0 1px 0 rgba(255,255,255,0.9) !important;
  border-color: rgba(74,93,84,0.4) !important;
}

/* ── time / position / env 横排子项 ── */
.top-info > time,
.top-info > position,
.top-info > env {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  position: relative !important;
  flex: 1 1 auto !important;
  min-width: 180px !important;
  padding: 12px 14px 12px 10px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1C2321 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.5px !important;
  background: transparent !important;
  transition: all 0.3s ease !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  z-index: 1 !important;
}

.top-info > time,
.top-info > position {
  border-right: 1px solid rgba(74,93,84,0.2) !important;
}
.top-info > env { border-right: none !important; }

.top-info > time:hover,
.top-info > position:hover,
.top-info > env:hover,
.top-info > area-map:hover {
  background: linear-gradient(135deg, rgba(74,93,84,0.06), transparent) !important;
}

/* 标签 badge — 斜切笺条 */
.top-info > time::before,
.top-info > position::before,
.top-info > env::before {
  content: '' !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-right: 10px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: 1px !important;
  font-family: 'STHeiti', sans-serif !important;
  padding: 5px 10px !important;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;
  position: relative !important;
}

.top-info > time::before {
  content: '盗月' !important;
  background: linear-gradient(135deg, #4A5D54 0%, #2C4C3B 100%) !important;
  box-shadow: 0 2px 8px rgba(74,93,84,0.4), inset 0 1px 0 rgba(255,255,255,0.3) !important;
}
.top-info > position::before {
  content: '倒斗' !important;
  background: linear-gradient(135deg, #1C2321 0%, #0A0F0D 100%) !important;
  box-shadow: 0 2px 8px rgba(28,35,33,0.4), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}
.top-info > env::before {
  content: '凶吉' !important;
  background: linear-gradient(135deg, #7B2D26 0%, #4A1A16 100%) !important;
  box-shadow: 0 2px 8px rgba(123,45,38,0.4), inset 0 1px 0 rgba(255,255,255,0.3) !important;
}

/* ── area-map 可移动区域 ── */
.top-info > area-map {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  flex-basis: 100% !important;
  padding: 14px !important;
  line-height: 1.7 !important;
  background: linear-gradient(180deg, rgba(74,93,84,0.03), rgba(28,35,33,0.02)) !important;
  border-top: 1px solid rgba(74,93,84,0.2) !important;
  z-index: 1 !important;
}

.top-info > area-map::before {
  content: '墓道分支' !important;
  display: block !important;
  position: relative !important;
  left: auto; top: auto;
  width: fit-content;
  margin-bottom: 10px;
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: 1px !important;
  font-family: 'STHeiti', sans-serif !important;
  padding: 5px 10px !important;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;
  background: linear-gradient(135deg, #3A5A6A 0%, #1C2321 100%) !important;
  box-shadow: 0 2px 8px rgba(58,90,106,0.4), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}

/* region 子项 */
.top-info > area-map > region {
  display: block !important;
  padding: 10px 14px !important;
  margin: 6px 0 !important;
  font-size: 14px !important;
  color: #1C2321 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.5px !important;
  quotes: none !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  background: rgba(255,255,255,0.85) !important;
  border-radius: 8px !important;
  border-left: 3px solid #7B2D26 !important;
  box-shadow: 0 2px 8px rgba(28,35,33,0.05) !important;
  position: relative !important;
  transition: all 0.25s ease !important;
}
.top-info > area-map > region::before {
  content: '❖' !important;
  color: #7B2D26 !important;
  margin-right: 8px !important;
  font-size: 11px !important;
  text-shadow: 0 0 8px rgba(123,45,38,0.5) !important;
}
.top-info > area-map > region:hover {
  background: rgba(244,245,246,0.95) !important;
  box-shadow: 0 4px 15px rgba(28,35,33,0.1) !important;
}

/* ── quest 任务列表（hover展开） ── */
.top-info > quest {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  flex-basis: 100% !important;
  padding: 0 14px !important;
  line-height: 1.7 !important;
  background: linear-gradient(180deg, rgba(74,93,84,0.03), rgba(28,35,33,0.02)) !important;
  border-top: 1px solid rgba(74,93,84,0.2) !important;
  z-index: 1 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease, padding 0.35s ease !important;
}

.top-info > quest::before {
  content: '使命' !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  left: 14px !important; top: 14px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: 1px !important;
  font-family: 'STHeiti', sans-serif !important;
  padding: 5px 10px !important;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;
  background: linear-gradient(135deg, #4A5D54 0%, #2C4C3B 100%) !important;
  box-shadow: 0 2px 8px rgba(74,93,84,0.4), inset 0 1px 0 rgba(255,255,255,0.3) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}

.top-info:hover > quest {
  max-height: 300px !important;
  opacity: 1 !important;
  padding-top: 14px !important;
  padding-bottom: 16px !important;
  padding-left: 80px !important;
}
.top-info:hover > quest::before { opacity: 1 !important; }

/* q 任务子项 */
.top-info > quest > q {
  display: block !important;
  padding: 10px 14px !important;
  margin: 6px 0 !important;
  font-size: 14px !important;
  color: #1C2321 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.5px !important;
  quotes: none !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  background: rgba(255,255,255,0.85) !important;
  border-radius: 8px !important;
  border-left: 3px solid transparent !important;
  box-shadow: 0 2px 8px rgba(28,35,33,0.05) !important;
  position: relative !important;
  transition: all 0.25s ease !important;
}
.top-info > quest > q.main {
  border-left-color: #7B2D26 !important;
}
.top-info > quest > q.main::before {
  content: '◆' !important; color: #7B2D26 !important;
  margin-right: 8px !important; font-size: 11px !important;
  text-shadow: 0 0 8px rgba(123,45,38,0.6) !important;
}
.top-info > quest > q.side {
  border-left-color: #4A5D54 !important;
}
.top-info > quest > q.side::before {
  content: '◇' !important; color: #4A5D54 !important;
  margin-right: 8px !important; font-size: 11px !important;
  text-shadow: 0 0 8px rgba(74,93,84,0.5) !important;
}
.top-info > quest > q:hover {
  background: rgba(244,245,246,0.95) !important;
  box-shadow: 0 4px 15px rgba(28,35,33,0.1) !important;
}

/* 任务状态标签 <s> */
.top-info > quest > q > s {
  text-decoration: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  margin-left: 10px !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
  display: inline-block !important;
  background: linear-gradient(135deg, rgba(74,93,84,0.15), rgba(28,35,33,0.1)) !important;
  color: #1C2321 !important;
  border: 1px solid rgba(74,93,84,0.3) !important;
  box-shadow: 0 1px 4px rgba(74,93,84,0.12) !important;
}

/* =============================================
 * 4.3. 侧边栏模块
 * ============================================= */
@keyframes sidebar-tab-glow {
  0%, 100% { box-shadow: -2px 2px 12px rgba(74,93,84,0.25); }
  50%  { box-shadow: -2px 2px 20px rgba(74,93,84,0.5), inset 0 0 20px rgba(255,255,255,0.1); }
}
@keyframes sidebar-tab-glow-red {
  0%, 100% { box-shadow: -2px 2px 12px rgba(123,45,38,0.25); }
  50%  { box-shadow: -2px 2px 20px rgba(123,45,38,0.5), inset 0 0 20px rgba(255,255,255,0.1); }
}
@keyframes sidebar-tab-glow-blue {
  0%, 100% { box-shadow: -2px 2px 12px rgba(58,90,106,0.25); }
  50%  { box-shadow: -2px 2px 20px rgba(58,90,106,0.5), inset 0 0 20px rgba(255,255,255,0.1); }
}

.styled-prose-container .env-sidebar,
.styled-prose-container .u,
.styled-prose-container .n,
.styled-prose-container details.p,
.styled-prose-container details.ship,
.styled-prose-container details.m {
  position: relative !important; width: 100% !important;
  margin: 16px 0 !important; padding: 0 !important;
  font-family: 'STKaiti', 'KaiTi', 'Georgia', serif !important;
  background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(234,236,238,0.9) 100%) !important;
  border: 2px solid rgba(74,93,84,0.25) !important;
  border-radius: 10px !important; overflow: hidden !important;
  transition: all 0.35s ease !important; box-shadow: none !important;
}
.styled-prose-container details.ship {
  background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(220,230,225,0.9) 100%) !important;
  border-color: rgba(74,93,84,0.3) !important; border-left: 3px solid #4A5D54 !important;
}
.styled-prose-container details.m {
  background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(225,230,235,0.9) 100%) !important;
  border-color: rgba(58,90,106,0.3) !important; border-left: 3px solid #3A5A6A !important;
}
.styled-prose-container details.p { border-left: 3px solid #4A5D54 !important; }
.styled-prose-container details.n { border-left: 3px solid #7B2D26 !important; }

.styled-prose-container .env-sidebar > summary,
.styled-prose-container .u > summary,
.styled-prose-container .n > summary,
.styled-prose-container details.p > summary,
.styled-prose-container details.ship > summary,
.styled-prose-container details.m > summary {
  padding: 12px 16px !important;
  background: linear-gradient(90deg, rgba(74,93,84,0.08), rgba(138,123,102,0.1), rgba(74,93,84,0.08)) !important;
  color: #1C2321 !important; font-weight: 700 !important; font-size: 14px !important;
  cursor: pointer !important; list-style: none !important; outline: none !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 !important; border-bottom: 1px solid rgba(74,93,84,0.15) !important;
  box-shadow: none !important; letter-spacing: 2px !important;
  writing-mode: horizontal-tb !important; text-orientation: mixed;
}
.styled-prose-container details.ship > summary {
  background: linear-gradient(90deg, rgba(74,93,84,0.08), rgba(44,76,59,0.1), rgba(74,93,84,0.08)) !important;
  color: #1C2321 !important; border-bottom-color: rgba(74,93,84,0.15) !important;
}
.styled-prose-container details.m > summary {
  background: linear-gradient(90deg, rgba(58,90,106,0.08), rgba(44,76,90,0.1), rgba(58,90,106,0.08)) !important;
  color: #1C2321 !important; border-bottom-color: rgba(58,90,106,0.15) !important;
}
.styled-prose-container .env-sidebar > summary::-webkit-details-marker,
.styled-prose-container .u > summary::-webkit-details-marker,
.styled-prose-container .n > summary::-webkit-details-marker,
.styled-prose-container details.p > summary::-webkit-details-marker,
.styled-prose-container details.ship > summary::-webkit-details-marker,
.styled-prose-container details.m > summary::-webkit-details-marker { display: none !important; }

.styled-prose-container .env-sidebar > summary:hover,
.styled-prose-container .u > summary:hover,
.styled-prose-container .n > summary:hover,
.styled-prose-container details.p > summary:hover {
  background: linear-gradient(90deg, rgba(74,93,84,0.15), rgba(138,123,102,0.2), rgba(74,93,84,0.15)) !important;
  color: #4A5D54 !important;
}
.styled-prose-container details.ship > summary:hover {
  background: linear-gradient(90deg, rgba(74,93,84,0.15), rgba(44,76,59,0.2), rgba(74,93,84,0.15)) !important;
  color: #2C4C3B !important;
}
.styled-prose-container details.m > summary:hover {
  background: linear-gradient(90deg, rgba(58,90,106,0.15), rgba(44,76,90,0.2), rgba(58,90,106,0.15)) !important;
  color: #3A5A6A !important;
}

/* 最新消息中侧边栏悬浮 */
#ai-chat-answer:last-of-type .env-sidebar,
#ai-chat-answer:last-of-type .u,
#ai-chat-answer:last-of-type .n,
#ai-chat-answer:last-of-type details.p,
#ai-chat-answer:last-of-type details.ship,
#ai-chat-answer:last-of-type details.m {
  position: fixed !important; right: 0 !important; z-index: 9999 !important;
  width: auto !important; background: transparent !important; border: none !important;
  box-shadow: none !important; margin: 0 !important; padding: 0 !important;
  overflow: visible !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform: none !important; filter: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
#ai-chat-answer:last-of-type .env-sidebar { top: 60px !important; }
#ai-chat-answer:last-of-type .u { top: 175px !important; }
#ai-chat-answer:last-of-type details.p  { top: 60px !important; }
#ai-chat-answer:last-of-type details.n  { top: 170px !important; }
#ai-chat-answer:last-of-type .n         { top: 170px !important; }
#ai-chat-answer:last-of-type details.ship { top: 390px !important; }
#ai-chat-answer:last-of-type details.m  { top: 280px !important; }

/* ── 折叠标签 — 通用层 ── */
#ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
#ai-chat-answer:last-of-type .u:not([open]) > summary,
#ai-chat-answer:last-of-type .n:not([open]) > summary,
#ai-chat-answer:last-of-type details.p:not([open]) > summary,
#ai-chat-answer:last-of-type details.ship:not([open]) > summary,
#ai-chat-answer:last-of-type details.m:not([open]) > summary {
  width: 38px !important; padding: 0 !important; margin: 0 !important;
  color: #fff !important; border-radius: 10px 0 0 10px !important;
  border-right: none !important;
  writing-mode: vertical-rl !important; text-orientation: upright !important;
  letter-spacing: 3px !important; text-align: center !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  height: auto !important; font-size: 13px !important;
  position: relative !important; overflow: hidden !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 200'%3E%3Cdefs%3E%3CradialGradient id='tg'%3E%3Cstop offset='0%25' stop-color='%23fff' stop-opacity='0.15'/%3E%3Cstop offset='100%25' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='19' cy='50' r='10' fill='url(%23tg)' opacity='0.4'%3E%3Canimate attributeName='opacity' values='0.2;0.6;0.2' dur='4s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='19' cy='150' r='8' fill='url(%23tg)' opacity='0.3'%3E%3Canimate attributeName='opacity' values='0.15;0.5;0.15' dur='5s' repeatCount='indefinite' begin='1.5s'/%3E%3C/circle%3E%3C/svg%3E") !important;
  background-size: 100% 100% !important; background-repeat: no-repeat !important;
}

/* .p 主角状态 — 青铜绿渐变 */
#ai-chat-answer:last-of-type details.p:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #8A7B66, #4A5D54, #1C2321) !important;
  border: 1px solid rgba(138,123,102,0.5) !important; border-right: none !important;
  text-shadow: 0 1px 3px rgba(28,35,33,0.6) !important;
  animation: sidebar-tab-glow 4s ease-in-out infinite !important;
  min-height: 95px !important;
}
#ai-chat-answer:last-of-type details.p:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 20px !important; height: 20px !important;
  /* 手电筒图标 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6,16 L14,16 L12,8 L8,8 Z' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='1.5'/%3E%3Cpath d='M8,8 L7,4 L13,4 L12,8 Z' fill='rgba(255,255,255,0.4)'/%3E%3Cpath d='M7,4 L5,2 L15,2 L13,4 Z' fill='rgba(255,255,255,0.8)'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
}
#ai-chat-answer:last-of-type details.p:not([open]) > summary::after {
  content: '' !important; position: absolute !important;
  bottom: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 16px !important; height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ctext x='3' y='13' font-size='11' fill='rgba(255,255,255,0.6)' font-family='STHeiti, sans-serif'%3E%E5%91%BD%3C/text%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important;
}

/* .n NPC信息 — 干血红渐变 */
#ai-chat-answer:last-of-type .n:not([open]) > summary,
#ai-chat-answer:last-of-type details.n:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #A05A50, #7B2D26, #4A1A16) !important;
  border: 1px solid rgba(160,90,80,0.5) !important; border-right: none !important;
  text-shadow: 0 1px 3px rgba(74,26,22,0.6) !important;
  animation: sidebar-tab-glow-red 4s ease-in-out infinite !important;
  min-height: 80px !important;
}
#ai-chat-answer:last-of-type .n:not([open]) > summary::before,
#ai-chat-answer:last-of-type details.n:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 18px !important; height: 18px !important;
  /* 眼睛/注视图标 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M1,9 Q9,2 17,9 Q9,16 1,9 Z' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='1.5'/%3E%3Ccircle cx='9' cy='9' r='3' fill='rgba(255,255,255,0.5)'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
}

/* .ship 堂口家底 — 幽暗绿 */
#ai-chat-answer:last-of-type details.ship:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #6B8E5A, #4A5D54, #1C2321) !important;
  border: 1px solid rgba(107,142,90,0.5) !important; border-right: none !important;
  text-shadow: 0 1px 3px rgba(28,35,33,0.6) !important;
  animation: sidebar-tab-glow 4s ease-in-out infinite !important;
  min-height: 100px !important;
}
#ai-chat-answer:last-of-type details.ship:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 18px !important; height: 18px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ctext x='1' y='15' font-size='13' fill='rgba(255,255,255,0.7)' font-family='STHeiti, sans-serif'%3E%E5%A0%82%3C/text%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
}
#ai-chat-answer:last-of-type details.ship:not([open]) > summary::after {
  content: '' !important; position: absolute !important;
  bottom: 10px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 14px !important; height: 14px !important;
  /* 蜘蛛网简图 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7,0 L7,14 M0,7 L14,7 M2,2 L12,12 M2,12 L12,2' stroke='rgba(255,255,255,0.4)' stroke-width='0.5'/%3E%3Ccircle cx='7' cy='7' r='4' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='0.5'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important;
}

/* .m 过往记忆 — 深海蓝 */
#ai-chat-answer:last-of-type details.m:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #5A7A8A, #3A5A6A, #1C2321) !important;
  border: 1px solid rgba(90,122,138,0.5) !important; border-right: none !important;
  text-shadow: 0 1px 3px rgba(28,35,33,0.6) !important;
  animation: sidebar-tab-glow-blue 4s ease-in-out infinite !important;
  min-height: 130px !important;
  overflow: visible !important;
  font-size: 0 !important; line-height: 0 !important;
  color: transparent !important;
}

#ai-chat-answer:last-of-type details.m:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 18px !important; height: 18px !important;
  /* 帛书/残卷图标 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4,2 L14,2 L14,16 L4,16 Z' fill='none' stroke='rgba(255,255,255,0.6)' stroke-width='1.2'/%3E%3Cpath d='M6,5 L12,5 M6,9 L12,9 M6,13 L10,13' stroke='rgba(255,255,255,0.4)' stroke-width='1'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
}

#ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
  content: '生死走马' !important;
  display: block !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #fff !important;
  writing-mode: vertical-rl !important;
  text-orientation: upright !important;
  letter-spacing: 3px !important;
  font-weight: 700 !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
  text-shadow: 0 1px 3px rgba(28,35,33,0.6) !important;
  position: absolute !important;
  top: 30px !important; left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important; height: auto !important;
  background: none !important; border: none !important; border-radius: 0 !important;
  box-shadow: none !important; margin: 0 !important; padding: 0 !important;
  pointer-events: none !important;
}

/* env-sidebar / .u */
#ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
#ai-chat-answer:last-of-type .u:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #4A5D54, #1C2321) !important;
  border: 1px solid rgba(74,93,84,0.4) !important; border-right: none !important;
  box-shadow: -2px 2px 15px rgba(28,35,33,0.2) !important;
  text-shadow: 0 0 5px rgba(74,93,84,0.5) !important;
}

/* ── 展开面板 ── */
#ai-chat-answer:last-of-type .env-sidebar[open],
#ai-chat-answer:last-of-type .u[open],
#ai-chat-answer:last-of-type .n[open],
#ai-chat-answer:last-of-type details.p[open],
#ai-chat-answer:last-of-type details.n[open] {
  top: 60px !important; width: 370px !important; max-height: 60vh !important;
  right: 35px !important; background: rgba(255,255,255,0.98) !important;
  border: 2px solid #4A5D54 !important; border-right: none !important;
  border-radius: 10px 0 0 10px !important;
  box-shadow: -4px 4px 30px rgba(28,35,33,0.2), 0 0 60px rgba(74,93,84,0.1) !important;
  overflow-y: auto !important; overflow-x: hidden !important;
  backdrop-filter: blur(14px) !important; -webkit-backdrop-filter: blur(14px) !important;
}
#ai-chat-answer:last-of-type details.ship[open] {
  top: 60px !important; width: 380px !important; max-height: 65vh !important;
  right: 35px !important; background: rgba(255,255,255,0.98) !important;
  border: 2px solid #4A5D54 !important; border-right: none !important;
  border-radius: 10px 0 0 10px !important;
  box-shadow: -4px 4px 30px rgba(74,93,84,0.2) !important;
  overflow-y: auto !important; overflow-x: hidden !important;
}
#ai-chat-answer:last-of-type details.m[open] {
  top: 60px !important; width: 380px !important; max-height: 60vh !important;
  right: 35px !important; background: rgba(255,255,255,0.98) !important;
  border: 2px solid #3A5A6A !important; border-right: none !important;
  border-radius: 10px 0 0 10px !important;
  box-shadow: -4px 4px 30px rgba(58,90,106,0.2) !important;
  overflow-y: auto !important; overflow-x: hidden !important;
}

/* 展开面板头部 */
#ai-chat-answer:last-of-type .env-sidebar[open] > summary,
#ai-chat-answer:last-of-type .u[open] > summary,
#ai-chat-answer:last-of-type .n[open] > summary,
#ai-chat-answer:last-of-type details.p[open] > summary,
#ai-chat-answer:last-of-type details.n[open] > summary {
  writing-mode: horizontal-tb !important; padding: 14px 50px 14px 18px !important;
  background: linear-gradient(135deg, #8A7B66, #4A5D54, #1C2321) !important;
  color: #fff !important; border-bottom: 2px solid rgba(255,255,255,0.2) !important;
  border-radius: 8px 0 0 0 !important; margin-bottom: 0 !important; box-shadow: none !important;
  position: sticky !important; top: 0 !important; z-index: 100 !important;
  text-align: left !important; display: flex !important; justify-content: flex-start !important;
  font-size: 15px !important; letter-spacing: 2.5px !important;
  text-shadow: 0 1px 4px rgba(28,35,33,0.6) !important;
  animation: none !important; min-height: 0 !important;
}
#ai-chat-answer:last-of-type details.ship[open] > summary {
  writing-mode: horizontal-tb !important; padding: 14px 50px 14px 18px !important;
  background: linear-gradient(135deg, #6B8E5A, #4A5D54, #1C2321) !important;
  color: #fff !important; border-bottom: 2px solid rgba(255,255,255,0.2) !important;
  border-radius: 8px 0 0 0 !important; margin-bottom: 0 !important;
  position: sticky !important; top: 0 !important; z-index: 100 !important;
  text-align: left !important; display: flex !important; justify-content: flex-start !important;
  font-size: 15px !important; letter-spacing: 2.5px !important;
  text-shadow: 0 1px 4px rgba(28,35,33,0.6) !important;
  animation: none !important; min-height: 0 !important; box-shadow: none !important;
}
#ai-chat-answer:last-of-type details.m[open] > summary {
  writing-mode: horizontal-tb !important; padding: 14px 50px 14px 18px !important;
  background: linear-gradient(135deg, #5A7A8A, #3A5A6A, #1C2321) !important;
  color: #fff !important; border-bottom: 2px solid rgba(255,255,255,0.2) !important;
  border-radius: 8px 0 0 0 !important; margin-bottom: 0 !important;
  position: sticky !important; top: 0 !important; z-index: 100 !important;
  text-align: left !important; display: flex !important; justify-content: flex-start !important;
  font-size: 15px !important; letter-spacing: 2.5px !important;
  text-shadow: 0 1px 4px rgba(28,35,33,0.6) !important;
  animation: none !important; min-height: 0 !important; box-shadow: none !important;
  font-size: 15px !important; color: #fff !important;
}

/* 展开标题前缀 */
#ai-chat-answer:last-of-type details.p[open] > summary::before {
  content: '🔦' !important; margin-right: 8px !important; font-size: 14px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important; background: none !important;
}
#ai-chat-answer:last-of-type .n[open] > summary::before,
#ai-chat-answer:last-of-type details.n[open] > summary::before {
  content: '👁️' !important; margin-right: 8px !important; font-size: 14px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important; background: none !important;
}
#ai-chat-answer:last-of-type details.ship[open] > summary::before {
  content: '🕸️' !important; margin-right: 8px !important; font-size: 15px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important; background: none !important;
}
#ai-chat-answer:last-of-type details.m[open] > summary::before {
  content: '🩸' !important; margin-right: 8px !important; font-size: 14px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important; background: none !important;
}
#ai-chat-answer:last-of-type details.m[open] > summary::after {
  content: '×' !important; position: absolute !important; right: 14px; top: 50%;
  transform: translateY(-50%); font-size: 22px !important; line-height: 0.8 !important;
  color: rgba(255,255,255,0.6) !important; text-shadow: none !important; font-weight: 300 !important;
  writing-mode: horizontal-tb !important; letter-spacing: 0 !important;
  display: block !important; margin: 0 !important;
  width: auto !important; height: auto !important; background: none !important;
  border: none !important; border-radius: 0 !important; box-shadow: none !important;
}

/* 关闭按钮 × (其余面板) */
#ai-chat-answer:last-of-type .env-sidebar[open] > summary::after,
#ai-chat-answer:last-of-type .u[open] > summary::after,
#ai-chat-answer:last-of-type .n[open] > summary::after,
#ai-chat-answer:last-of-type details.p[open] > summary::after,
#ai-chat-answer:last-of-type details.n[open] > summary::after,
#ai-chat-answer:last-of-type details.ship[open] > summary::after {
  content: '×' !important; position: absolute !important; right: 14px; top: 50%;
  transform: translateY(-50%); font-size: 22px !important; line-height: 0.8 !important;
  color: rgba(255,255,255,0.6) !important; text-shadow: none !important; font-weight: 300 !important;
}

/* 滚动条 */
#ai-chat-answer:last-of-type .env-sidebar[open]::-webkit-scrollbar,
#ai-chat-answer:last-of-type .u[open]::-webkit-scrollbar,
#ai-chat-answer:last-of-type .n[open]::-webkit-scrollbar,
#ai-chat-answer:last-of-type details.p[open]::-webkit-scrollbar,
#ai-chat-answer:last-of-type details.n[open]::-webkit-scrollbar { width: 5px; }
#ai-chat-answer:last-of-type .env-sidebar[open]::-webkit-scrollbar-track,
#ai-chat-answer:last-of-type .u[open]::-webkit-scrollbar-track,
#ai-chat-answer:last-of-type .n[open]::-webkit-scrollbar-track,
#ai-chat-answer:last-of-type details.p[open]::-webkit-scrollbar-track,
#ai-chat-answer:last-of-type details.n[open]::-webkit-scrollbar-track { background: rgba(74,93,84,0.05); border-radius: 3px; }
#ai-chat-answer:last-of-type .env-sidebar[open]::-webkit-scrollbar-thumb,
#ai-chat-answer:last-of-type .u[open]::-webkit-scrollbar-thumb,
#ai-chat-answer:last-of-type .n[open]::-webkit-scrollbar-thumb,
#ai-chat-answer:last-of-type details.p[open]::-webkit-scrollbar-thumb,
#ai-chat-answer:last-of-type details.n[open]::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(74,93,84,0.4), rgba(28,35,33,0.3)); border-radius: 3px;
}
#ai-chat-answer:last-of-type details.ship[open]::-webkit-scrollbar { width: 5px; }
#ai-chat-answer:last-of-type details.ship[open]::-webkit-scrollbar-track { background: rgba(74,93,84,0.05); }
#ai-chat-answer:last-of-type details.ship[open]::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(74,93,84,0.4), rgba(44,76,59,0.3)); border-radius: 3px;
}
#ai-chat-answer:last-of-type details.m[open]::-webkit-scrollbar { width: 5px; }
#ai-chat-answer:last-of-type details.m[open]::-webkit-scrollbar-track { background: rgba(58,90,106,0.05); }
#ai-chat-answer:last-of-type details.m[open]::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(58,90,106,0.4), rgba(28,35,33,0.3)); border-radius: 3px;
}

/* 侧边栏面板内NPC卡片 */
#ai-chat-answer:last-of-type .u[open] > .classUI-npc-card,
#ai-chat-answer:last-of-type .n[open] > .classUI-npc-card,
#ai-chat-answer:last-of-type details.n[open] > .classUI-npc-card,
#ai-chat-answer:last-of-type details.ship[open] > .classUI-npc-card {
  background: transparent !important; border: none !important; box-shadow: none !important;
  padding-top: 14px !important; padding-bottom: 14px !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

/* =============================================
 * 4.4. 盘口风云 / 道听途说 (n-part / n-tit / n-txt / t-*)
 * ============================================= */
.styled-prose-container .n-part {
  margin: 0 0 16px 0 !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,0.7) !important;
  border: 1px solid rgba(74,93,84,0.15) !important;
  border-radius: 8px !important;
  position: relative !important;
  transition: all 0.3s ease !important;
}
.styled-prose-container .n-part:last-child { margin-bottom: 0 !important; }
.styled-prose-container .n-part:hover {
  background: rgba(255,255,255,0.95) !important;
  border-color: rgba(74,93,84,0.3) !important;
  box-shadow: 0 2px 10px rgba(28,35,33,0.06) !important;
}

.styled-prose-container .n-tit {
  margin-bottom: 10px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px dashed rgba(74,93,84,0.2) !important;
}
.styled-prose-container .n-tit b {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #1C2321 !important;
  letter-spacing: 2px !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
}

.styled-prose-container .n-txt {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #1C2321 !important;
  margin: 6px 0 !important;
  padding: 6px 10px !important;
  border-radius: 6px !important;
  background: rgba(234,236,238,0.5) !important;
  transition: background 0.2s ease !important;
}
.styled-prose-container .n-txt:hover {
  background: rgba(234,236,238,0.85) !important;
}

/* ── 消息来源颜色标签 ── */
.styled-prose-container .t-pur {
  color: #6B4A7A !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  padding: 2px 6px !important;
  background: rgba(107,74,122,0.08) !important;
  border-radius: 4px !important;
  border-left: 2px solid #6B4A7A !important;
}
.styled-prose-container .t-cyan {
  color: #4A6B7A !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  padding: 2px 6px !important;
  background: rgba(74,107,122,0.08) !important;
  border-radius: 4px !important;
  border-left: 2px solid #4A6B7A !important;
}
.styled-prose-container .t-red {
  color: #8B1A1A !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  padding: 2px 6px !important;
  background: rgba(139,26,26,0.08) !important;
  border-radius: 4px !important;
  border-left: 2px solid #8B1A1A !important;
}
.styled-prose-container .t-org {
  color: #8A7B66 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  padding: 2px 6px !important;
  background: rgba(138,123,102,0.08) !important;
  border-radius: 4px !important;
  border-left: 2px solid #8A7B66 !important;
}
.styled-prose-container .t-grn {
  color: #2C4C3B !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  padding: 2px 6px !important;
  background: rgba(44,76,59,0.08) !important;
  border-radius: 4px !important;
  border-left: 2px solid #2C4C3B !important;
}

/* =============================================
 * 4.5. 私库/明器库 (背包)
 * ============================================= */
details[inv] {
  --grid-size: 56px; --gap: 6px; --panel-h: 1120px;
  --bg-panel: rgba(244,245,246,0.98); --bg-item: rgba(255,255,255,0.9);
  --text-main: #1C2321; --text-sub: #4A5D54;
  --border: rgba(74,93,84,0.2); --accent: #4A5D54;
  --q-yiban: #736F6E; --q-youzhi: #5C6B64; --q-jingliang: #4A6B7A;
  --q-shishi: #6B4A7A; --q-chuanshuo: #8A7B66; --q-yuangu: #8B1A1A;
  display: block !important; margin: 12px 0 !important;
  font-family: 'STKaiti', 'KaiTi', 'Georgia', serif !important;
  position: relative !important;
}
details[inv] > summary {
  cursor: pointer !important; list-style: none !important; user-select: none !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
  font-weight: 700 !important; font-size: 14px !important; color: var(--accent) !important;
  padding: 10px 14px 10px 36px !important;
  background: linear-gradient(90deg, rgba(74,93,84,0.08), rgba(28,35,33,0.05), rgba(74,93,84,0.08)) !important;
  border: 1px solid var(--border) !important; border-left: 3px solid var(--accent) !important;
  border-radius: 6px !important; transition: all 0.3s ease !important;
  letter-spacing: 1.5px !important; position: relative !important; z-index: 10 !important;
}
details[inv][open] > summary {
  border-radius: 0 0 6px 6px !important; border-top: none !important;
}
details[inv] > summary::-webkit-details-marker, details[inv] > summary::marker { display: none !important; content: '' !important; }
details[inv] > summary::before {
  content: '🎒' !important; position: absolute !important; left: 10px !important;
  top: 50% !important; transform: translateY(-50%) !important; font-size: 16px !important;
}
details[inv] > summary::after {
  content: '' !important; position: absolute !important; right: 14px !important; top: 50% !important;
  width: 8px !important; height: 8px !important;
  border-right: 2px solid var(--accent) !important; border-top: 2px solid var(--accent) !important;
  transform: translateY(-50%) rotate(-45deg) !important; transition: all 0.3s ease !important;
}
details[inv][open] > summary::after { transform: translateY(-50%) rotate(135deg) !important; border-color: #1C2321 !important; }
details[inv] > summary > i {
  font-style: normal !important; background: rgba(74,93,84,0.08) !important;
  padding: 3px 10px !important; border-radius: 6px !important; font-size: 12px !important;
  color: var(--text-sub) !important; border: 1px solid rgba(74,93,84,0.15) !important;
  margin-left: auto !important; margin-right: 20px !important;
}
details[inv] > panel {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-size), 1fr)) !important;
  gap: var(--gap) !important; padding: 36px 12px 12px 12px !important;
  background: var(--bg-panel) !important; border: 1px solid var(--border) !important;
  border-bottom: none !important; border-left: 3px solid var(--accent) !important;
  border-radius: 10px 10px 0 0 !important; max-height: var(--panel-h) !important;
  overflow: visible !important;
  box-shadow: 0 -4px 20px rgba(28,35,33,0.15) !important;
  position: absolute !important; left: 0 !important; right: 0 !important;
  bottom: calc(100% - 1px) !important; z-index: 100 !important;
}
details[inv] > panel::before {
  content: '🔦 私库/明器' !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; height: 28px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(90deg, rgba(74,93,84,0.1), rgba(28,35,33,0.08), rgba(74,93,84,0.1)) !important;
  border-bottom: 1px solid rgba(74,93,84,0.2) !important;
  font-size: 11px !important; font-weight: 700 !important; color: var(--accent) !important; letter-spacing: 3px !important;
}
details[inv] > panel > b {
  display: flex !important; align-items: center !important; justify-content: center !important;
  aspect-ratio: 1/1 !important; background: var(--bg-item) !important;
  border: 1px solid var(--border) !important; color: var(--text-main) !important;
  font-weight: 600 !important; font-size: 11px !important; text-align: center !important;
  cursor: help !important; position: static !important; transition: all 0.25s ease !important;
  overflow: visible !important; border-radius: 6px !important; padding: 4px !important;
  word-break: break-all !important; line-height: 1.3 !important;
  box-shadow: 0 1px 3px rgba(28,35,33,0.05) !important;
}
details[inv] > panel > b:hover {
  z-index: 10 !important; transform: scale(1.08) !important;
  box-shadow: 0 4px 15px rgba(74,93,84,0.2) !important; background: #FFFFFF !important;
}
details[inv] > panel > b > i {
  position: fixed !important; top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 135px !important; max-width: 45vw !important; max-height: 65vh !important;
  overflow-y: auto !important; background: rgba(255,255,255,0.99) !important;
  border: 1px solid rgba(74,93,84,0.3) !important; border-left: 3px solid var(--accent) !important;
  padding: 12px 10px !important; border-radius: 10px !important;
  box-shadow: 0 8px 30px rgba(28,35,33,0.25) !important;
  opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
  transition: opacity 0.15s ease, visibility 0.15s ease !important;
  font-style: normal !important; text-align: left !important;
  white-space: normal !important; font-size: 11px !important;
  line-height: 1.7 !important; color: var(--text-main) !important;
  z-index: 2147483647 !important;
}
details[inv] > panel > b > i::before {
  content: '🔦 物品档案' !important; display: block !important;
  font-size: 10px !important; font-weight: 700 !important; color: #1C2321 !important;
  letter-spacing: 1px !important; margin-bottom: 6px !important;
  padding-bottom: 6px !important; border-bottom: 1px solid rgba(74,93,84,0.2) !important;
}
details[inv] > panel > b:hover > i { opacity: 1 !important; visibility: visible !important; }
details[inv] > panel > b > i > b {
  display: block !important; margin-top: 8px !important; padding-top: 6px !important;
  border-top: 1px dashed rgba(74,93,84,0.2) !important;
  text-align: right !important; color: #1C2321 !important;
  font-weight: 700 !important; font-size: 10px !important;
}
details[inv] > panel > b[e] {
  border-color: #8A7B66 !important;
  box-shadow: inset 0 0 0 1px #8A7B66, 0 0 8px rgba(138,123,102,0.3) !important;
  background: linear-gradient(135deg, rgba(138,123,102,0.1), rgba(255,255,255,0.9)) !important;
  position: relative !important;
}
details[inv] > panel > b[e]::after {
  content: '▸' !important; position: absolute !important; top: 0 !important; left: 0 !important;
  background: linear-gradient(135deg, #8A7B66, #4A5D54) !important;
  color: #fff !important; font-size: 8px !important; font-weight: 700 !important;
  padding: 1px 3px !important; line-height: 1.2 !important; border-radius: 0 0 4px 0 !important;
}
details[inv] > panel > b[q="yiban"] { color: var(--q-yiban) !important; border-color: var(--q-yiban) !important; }
details[inv] > panel > b[q="youzhi"] { color: var(--q-youzhi) !important; border-color: var(--q-youzhi) !important; }
details[inv] > panel > b[q="jingliang"] { color: var(--q-jingliang) !important; border-color: var(--q-jingliang) !important; }
details[inv] > panel > b[q="shishi"] { color: var(--q-shishi) !important; border-color: var(--q-shishi) !important; }
details[inv] > panel > b[q="chuanshuo"] { color: var(--q-chuanshuo) !important; border-color: var(--q-chuanshuo) !important; box-shadow: 0 0 6px rgba(138,123,102,0.3) !important; }
details[inv] > panel > b[q="yuangu"] { color: var(--q-yuangu) !important; border-color: var(--q-yuangu) !important; box-shadow: 0 0 8px rgba(139,26,26,0.3) !important; animation: inv-item-glow 2.5s ease-in-out infinite !important; }
details[inv] > panel > b[q="yiban"] > i { border-left-color: var(--q-yiban) !important; }
details[inv] > panel > b[q="youzhi"] > i { border-left-color: var(--q-youzhi) !important; }
details[inv] > panel > b[q="jingliang"] > i { border-left-color: var(--q-jingliang) !important; }
details[inv] > panel > b[q="shishi"] > i { border-left-color: var(--q-shishi) !important; }
details[inv] > panel > b[q="chuanshuo"] > i { border-left-color: var(--q-chuanshuo) !important; }
details[inv] > panel > b[q="yuangu"] > i { border-left-color: var(--q-yuangu) !important; }
.styled-prose-container wealth_info, .styled-prose-container wealth_info *,
.styled-prose-container details:has(wealth_info),
.styled-prose-container details:has(wealth_info) > *,
details[inv], details[inv] > panel { overflow: visible !important; }

/* =============================================
 * 4.6. 追踪器 (因果命盘 -> 机关/血量/San值)
 * ============================================= */
.k-track {
  border: 1px solid rgba(74,93,84,0.2) !important;
  background: linear-gradient(180deg, rgba(244,245,246,0.98) 0%, rgba(234,236,238,0.95) 100%) !important;
  margin: 14px 0 !important; border-radius: 12px !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
  overflow: hidden !important; position: relative !important;
}
.k-track::before {
  content: '' !important; position: absolute !important; top: 0 !important;
  left: 0 !important; right: 0 !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, #4A5D54, #8A7B66, #7B2D26, transparent) !important;
  opacity: 0.5 !important;
}
.k-head {
  background: linear-gradient(90deg, rgba(74,93,84,0.08) 0%, rgba(138,123,102,0.1) 25%, rgba(255,255,255,0.9) 50%, rgba(123,45,38,0.05) 75%, rgba(74,93,84,0.08) 100%) !important;
  padding: 12px 16px 12px 42px !important; font-size: 14px !important;
  color: #1C2321 !important; font-weight: 700 !important;
  border-bottom: 1px solid rgba(74,93,84,0.15) !important;
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; cursor: pointer !important;
  letter-spacing: 2px !important; list-style: none !important;
  position: relative !important;
}
.k-head::-webkit-details-marker { display: none !important; }
.k-head::before {
  content: '🧭' !important; position: absolute !important; left: 14px !important;
  top: 50% !important; transform: translateY(-50%) !important; font-size: 16px !important;
  animation: compass-spin 12s linear infinite !important;
}
.k-head::after {
  content: '' !important; position: absolute !important; right: 16px !important;
  top: 50% !important; width: 7px !important; height: 7px !important;
  border-right: 2px solid #4A5D54 !important; border-bottom: 2px solid #4A5D54 !important;
  transform: translateY(-70%) rotate(45deg) !important; transition: all 0.3s ease !important;
}
.k-track[open] > .k-head::after { transform: translateY(-30%) rotate(-135deg) !important; }
.k-sum {
  font-weight: 700 !important; font-size: 11px !important; letter-spacing: 1px !important;
  padding: 4px 10px !important; border-radius: 8px !important;
  background: rgba(255,255,255,0.8) !important;
  border: 1px solid rgba(74,93,84,0.2) !important;
  margin-right: 20px !important; color: #1C2321 !important;
}
.k-body { padding: 14px !important; background: rgba(255,255,255,0.6) !important; }
.k-quote {
  text-align: center !important; font-size: 11px !important; color: #1C2321 !important;
  letter-spacing: 2px !important; padding: 10px 12px !important; margin-bottom: 14px !important;
  background: linear-gradient(90deg, transparent, rgba(74,93,84,0.05), transparent) !important;
  border-top: 1px dashed rgba(74,93,84,0.2) !important;
  border-bottom: 1px dashed rgba(74,93,84,0.2) !important; font-weight: 600 !important;
}
.k-row {
  position: relative !important; z-index: 1 !important; margin-bottom: 12px !important;
  padding: 10px 12px 10px 48px !important; border-left: 3px solid var(--k-color) !important;
  background: var(--k-bg) !important; border-radius: 0 10px 10px 0 !important;
  transition: all 0.35s ease !important; overflow: hidden !important;
  display: flex !important; align-items: flex-start !important;
}
.k-row:last-child { margin-bottom: 0 !important; }
.k-row:hover { transform: translateX(4px) !important; }
.k-tag {
  position: absolute !important; left: 10px !important; top: 50% !important;
  transform: translateY(-50%) !important; width: 28px !important; height: 28px !important;
  border-radius: 50% !important; display: flex !important; align-items: center !important;
  justify-content: center !important; font-size: 13px !important; font-weight: 900 !important;
  color: #fff !important; z-index: 2 !important; box-shadow: 0 2px 6px var(--k-tag-shadow) !important;
  background: var(--k-tag-bg) !important; border: 2px solid rgba(255,255,255,0.5) !important;
}
.k-main { flex: 1 !important; min-width: 0 !important; }
.k-row.g {
  --k-color: #4A5D54 !important;
  --k-bg: linear-gradient(90deg, rgba(234,236,238,0.9) 0%, rgba(255,255,255,0.85) 100%) !important;
  --k-bar-color: linear-gradient(90deg, #4A5D54, #2C4C3B) !important;
  --k-tag-bg: linear-gradient(135deg, #4A5D54, #1C2321) !important;
  --k-tag-shadow: rgba(28,35,33,0.4) !important;
  border: 1px solid rgba(74,93,84,0.2) !important; border-left: 3px solid #4A5D54 !important;
}
.k-row.e {
  --k-color: #7B2D26 !important;
  --k-bg: linear-gradient(90deg, rgba(245,230,230,0.9) 0%, rgba(255,255,255,0.85) 100%) !important;
  --k-bar-color: linear-gradient(90deg, #7B2D26, #B22222) !important;
  --k-tag-bg: linear-gradient(135deg, #7B2D26, #4A1A16) !important;
  --k-tag-shadow: rgba(123,45,38,0.4) !important;
  border: 1px solid rgba(123,45,38,0.2) !important; border-left: 3px solid #7B2D26 !important;
}
.k-txt { display: flex !important; flex-direction: column !important; margin-bottom: 8px !important; }
.k-txt b { font-size: 13px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; margin-bottom: 3px !important; }
.k-row.g .k-txt b { color: #1C2321 !important; }
.k-row.e .k-txt b { color: #4A1A16 !important; }
.k-txt i { color: #2A312E !important; font-size: 11px !important; font-style: normal !important; opacity: 0.9 !important; line-height: 1.5 !important; }
.k-bar {
  height: 12px !important; background: rgba(74,93,84,0.1) !important;
  border-radius: 6px !important; position: relative !important;
  overflow: hidden !important; border: 1px solid rgba(74,93,84,0.15) !important;
}
.k-bar::after {
  content: '' !important; position: absolute !important; top: 1px !important; left: 1px !important;
  bottom: 1px !important; width: calc(var(--p) - 2px) !important; background: var(--k-bar-color) !important;
  border-radius: 5px !important; transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.k-bar::before {
  content: '' !important; position: absolute !important; top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent) !important;
  animation: k-bar-shimmer 2.5s ease-in-out infinite !important; z-index: 2 !important;
}
.k-bar span {
  position: absolute !important; width: 100% !important; text-align: center !important;
  font-size: 9px !important; line-height: 12px !important; color: #fff !important;
  font-weight: 700 !important; z-index: 3 !important; letter-spacing: 1px !important;
  text-shadow: 0 0 3px rgba(28,35,33,0.8) !important;
}
.k-row.e.pulse { animation: k-danger-pulse 1.2s ease-in-out infinite !important; }
.k-row.g.pulse { animation: k-fortune-pulse 2s ease-in-out infinite !important; }
.k-foot {
  text-align: center !important; padding: 10px 12px !important;
  border-top: 1px solid rgba(74,93,84,0.1) !important;
  font-size: 10px !important; color: #1C2321 !important;
  font-weight: 600 !important; letter-spacing: 3px !important;
}
.k-foot::before { content: '🔦' !important; margin-right: 8px !important; font-size: 10px !important; }
.k-foot::after { content: '💀' !important; margin-left: 8px !important; font-size: 10px !important; opacity: 0.6; }
.k-none {
  text-align: center !important; color: #1C2321 !important; font-size: 13px !important;
  padding: 24px 14px !important; font-weight: 600 !important; letter-spacing: 2px !important; opacity: 0.8 !important;
}
.k-none::before {
  content: '🧭' !important; display: block !important; font-size: 28px !important;
  margin-bottom: 10px !important; animation: compass-spin 10s linear infinite !important;
}

/* =============================================
 * 4.9. 选项按钮
 * ============================================= */
.markdown-body { counter-reset: option-counter; }
pre {
  position: relative !important; margin: 8px 0 !important; overflow: hidden !important;
  border-radius: 10px !important; background: transparent !important;
  border: none !important; box-shadow: none !important; padding: 0 !important; min-height: 55px;
}
pre div[class*="border-b"] {
  position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important; border: none !important;
  background: transparent !important; padding: 0 !important; margin: 0 !important;
  z-index: 2; pointer-events: none;
}
pre div[class*="border-b"] > div:first-child { display: none !important; }
pre div[data-tooltip-id] {
  position: absolute !important; top: 0; left: 0; width: 100% !important;
  height: 100% !important; cursor: pointer !important; background: transparent !important;
  border: none !important; pointer-events: auto; z-index: 3;
}
pre div[data-tooltip-id] .style_copyIcon__GJL9e { display: none !important; }
pre div[node="[object Object]"] {
  position: relative; z-index: 1; display: block !important; pointer-events: none;
  background: rgba(244,245,246,0.95) !important;
  border: 1px solid rgba(74,93,84,0.2) !important;
  border-left: 3px solid #4A5D54 !important;
  box-shadow: 0 4px 15px rgba(28,35,33,0.06) !important;
  color: #1C2321 !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
  font-size: 1.05em !important; padding: 14px 20px 14px 60px !important;
  margin: 0 !important; border-radius: 10px !important; min-height: 55px;
  white-space: pre-wrap; word-break: break-word; transition: all 0.3s ease;
  counter-increment: option-counter;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
pre div[node="[object Object]"]::before {
  content: counter(option-counter); display: flex; align-items: center;
  justify-content: center; position: absolute; left: 16px; top: 50%;
  transform: translateY(-50%); width: 28px; height: 28px;
  background: linear-gradient(135deg, #4A5D54, #1C2321) !important;
  color: #fff; border-radius: 50%; font-size: 0.95em; font-weight: 700;
  border: 2px solid rgba(138,123,102,0.4);
  box-shadow: 0 2px 8px rgba(74,93,84,0.4); z-index: 2;
}
pre div[node="[object Object]"] code {
  display: block; color: inherit !important; background: transparent !important;
  padding: 0 !important; font-family: inherit !important; font-size: inherit !important; white-space: pre-wrap;
}
pre div[data-tooltip-id]::before {
  content: '抉擇'; position: absolute; top: 50%; right: 18px;
  transform: translateY(-50%) scale(0.9);
  background: linear-gradient(135deg, #4A5D54, #1C2321);
  color: #ffffff; font-size: 0.85em; font-weight: 700;
  font-family: 'STHeiti', sans-serif; padding: 6px 14px; border-radius: 8px;
  letter-spacing: 2px; opacity: 0; visibility: hidden;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none; z-index: 5;
  box-shadow: 0 4px 12px rgba(74,93,84,0.3);
  border: 1px solid rgba(138,123,102,0.3);
}
pre:hover div[data-tooltip-id]::before { opacity: 1; visibility: visible; transform: translateY(-50%) scale(1); }
pre:hover div[node="[object Object]"] {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(28,35,33,0.1) !important;
  background: rgba(255,255,255,0.98) !important; border-color: #4A5D54 !important;
}
pre:active div[node="[object Object]"] {
  transform: translateY(1px) !important;
  background: rgba(234,236,238,0.95) !important; border-color: #1C2321 !important;
}
pre:active div[data-tooltip-id]::before {
  content: '已定 ✓'; background: linear-gradient(135deg, #1C2321, #0A0F0D);
}

/* =============================================
 * 4.10. 其他UI组件
 * ============================================= */
.doc {
  background: #F4F5F6; border: 1px solid rgba(74,93,84,0.2);
  border-left: 3px solid #4A5D54; border-radius: 10px;
  padding: 16px 20px; margin: 16px 0; position: relative;
  font-family: 'STKaiti', 'KaiTi', 'Georgia', serif; box-shadow: 0 3px 12px rgba(28,35,33,0.05);
  overflow: hidden;
}
.doc::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: repeating-linear-gradient(0deg, transparent, transparent 1px, rgba(74,93,84,0.03) 1px, rgba(74,93,84,0.03) 2px);
  pointer-events: none; z-index: 0;
}
.doc::after {
  content: '🔦 黑市线报 //'; position: absolute; top: 10px; right: 15px;
  font-size: 0.65em; color: #1C2321; letter-spacing: 3px; font-weight: 700;
  animation: blood-glow 4s ease-in-out infinite; z-index: 2;
}
.doc > * { position: relative; z-index: 1; }
.doc .title {
  color: #1C2321; font-size: 1.3em; font-weight: 700; margin: 0 0 14px 0;
  padding-bottom: 10px; border-bottom: 1px solid rgba(74,93,84,0.2);
  letter-spacing: 2px; font-family: 'STHeiti', sans-serif;
}
.doc .title::before { content: '▸'; margin-right: 12px; color: #4A5D54; }
.doc .content { color: #1C2321; font-size: 0.95em; line-height: 1.7; }
.doc .content p { margin: 0 0 0.8em 0; text-align: justify; }
.doc .content p:last-child { margin-bottom: 0; }

/* 进度条 */
.progress-bar-container {
  position: relative; width: 100%; height: 20px;
  background: rgba(138,123,102,0.15);
  border: 1px solid rgba(74,93,84,0.2); border-radius: 8px;
  margin: 8px 0; overflow: hidden;
}
.progress-bar-container.hp { border-color: rgba(123,45,38,0.3); }
.progress-bar-container.sp { border-color: rgba(58,90,106,0.3); }
.progress-bar-container.armor { border-color: rgba(74,93,84,0.3); }
.progress-bar-fill {
  position: absolute; left: 0; top: 0; height: 100%;
  transition: width 0.7s ease-out; box-shadow: inset 0 0 8px rgba(255,255,255,0.4);
}
.progress-bar-container.hp .progress-bar-fill { background: linear-gradient(90deg, #7B2D26, #A05A50); }
.progress-bar-container.sp .progress-bar-fill { background: linear-gradient(90deg, #3A5A6A, #5A7A8A); }
.progress-bar-container.armor .progress-bar-fill { background: linear-gradient(90deg, #4A5D54, #6B8E5A); }
.progress-bar-label {
  position: absolute; left: 8px; top: 50%; transform: translateY(-50%);
  font-weight: 700; font-size: 0.75em; color: #fff;
  text-shadow: 0 0 3px rgba(28,35,33,0.8); z-index: 2;
}
.progress-bar-value {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  font-weight: 700; font-size: 0.75em; color: #1C2321;
  text-shadow: 0 1px 2px rgba(255,255,255,0.9); z-index: 2; font-family: 'Consolas', monospace;
}

.classUI-story {
  background: rgba(255,255,255,0.8);
  border: 1px solid rgba(74,93,84,0.2);
  border-radius: 10px; padding: 16px 20px; margin: 16px 0;
  color: #1C2321; font-size: 16px; line-height: 1.8;
  box-shadow: 0 4px 12px rgba(28,35,33,0.06);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  position: relative; letter-spacing: 0.5px;
}
.classUI-story::before, .classUI-story::after {
  content: ''; position: absolute; width: 14px; height: 14px;
  border-color: rgba(74,93,84,0.4); border-style: solid; transition: all 0.4s ease;
}
.classUI-story::before { top: 8px; left: 8px; border-width: 2px 0 0 2px; border-radius: 3px 0 0 0; }
.classUI-story::after { bottom: 8px; right: 8px; border-width: 0 2px 2px 0; border-radius: 0 0 3px 0; }
.classUI-story:hover::before, .classUI-story:hover::after { border-color: #4A5D54; }

.classUI-subsection {
  font-weight: 700; color: #1C2321; margin: 16px 0 10px 0;
  padding-bottom: 8px; border-bottom: 1px solid rgba(74,93,84,0.2);
  font-size: 15px; letter-spacing: 1.5px; font-family: 'STHeiti', sans-serif;
}
.classUI-npc-card {
  background: rgba(255,255,255,0.85); border: 1px solid rgba(74,93,84,0.15);
  border-radius: 10px; padding: 14px; margin: 12px 0;
  box-shadow: 0 2px 8px rgba(28,35,33,0.05); transition: all 0.4s ease;
}
.classUI-npc-card:hover { background: rgba(255,255,255,0.98); border-color: rgba(74,93,84,0.3); }
.classUI-npc-name {
  font-size: 17px; font-weight: 700; color: #7B2D26;
  margin-bottom: 12px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(74,93,84,0.2); letter-spacing: 1.5px;
  font-family: 'STHeiti', sans-serif;
}
.classUI-memory { background: transparent; border-color: rgba(74,93,84,0.1); padding-bottom: 0; }
.classUI-memory-section { margin: 0 0 16px 0; padding: 0; background: transparent; border: none; }
.classUI-table {
  width: 100%; border-collapse: collapse; margin-top: 10px;
  border-radius: 10px; overflow: hidden; border: 1px solid rgba(74,93,84,0.2);
}
.classUI-table thead th {
  background: #EAECEE; color: #1C2321; padding: 10px; font-weight: 700;
  font-size: 14px; text-align: center; border-bottom: 2px solid #4A5D54;
}
.classUI-table tbody td {
  padding: 10px; border-bottom: 1px solid rgba(74,93,84,0.15);
  background: #F4F5F6; font-size: 14px; color: #1C2321;
  vertical-align: middle; transition: background-color 0.4s ease; font-family: 'Consolas', monospace;
}
.classUI-table tbody tr:last-child td { border-bottom: none; }
.classUI-table tbody tr:hover td { background: #EAECEE; }

.classUI-actions {
  background: rgba(255,255,255,0.9); border: 1px solid rgba(74,93,84,0.2);
  border-radius: 10px; padding: 16px 20px; margin-top: 16px;
  color: #1C2321; font-weight: 600; font-size: 16px; line-height: 1.8;
  box-shadow: 0 4px 12px rgba(28,35,33,0.06);
}
.styled-prose-container wealth_info,
.styled-prose-container item_list,
.styled-prose-container spell_card_list {
  display: block; margin: 12px 0; padding: 12px 16px;
  background: #F4F5F6; border: 1px solid rgba(74,93,84,0.2);
  border-left: 3px solid #4A5D54; border-radius: 10px;
  font-family: 'STKaiti', 'KaiTi', 'Georgia', serif; line-height: 1.8;
  box-shadow: inset 0 0 10px rgba(234,236,238,0.8);
  transition: all 0.4s ease; position: relative; overflow: visible;
}
.styled-prose-container wealth_info:hover,
.styled-prose-container item_list:hover,
.styled-prose-container spell_card_list:hover { background: #FFFFFF; border-color: rgba(74,93,84,0.4); }
.styled-prose-container wealth_info > span,
.styled-prose-container item_list > span,
.styled-prose-container spell_card_list > span {
  display: block; color: #1C2321; font-weight: 700; margin-bottom: 8px;
  font-size: 14px; letter-spacing: 1.5px; font-family: 'STHeiti', sans-serif;
}
.styled-prose-container spell_card_list info {
  display: inline-block; color: #7B2D26; font-weight: 600; font-size: 14px; margin-right: 6px;
}
.tip-r {
  display: block; color: #8B1A1A !important;
  background: rgba(139,26,26,0.06); border: 1px solid rgba(139,26,26,0.3);
  border-radius: 6px; padding: 8px 12px; margin-bottom: 12px;
  font-weight: 700; font-size: 14px; text-align: center;
  animation: ribbon-breathe 3.5s infinite ease-in-out;
}

/* =============================================
 * 通讯模块: news — 道听途说栏
 * ============================================= */
.styled-prose-container news {
  display: block !important; margin: 20px 0 !important; padding: 0 !important;
  background: #F4F5F6 !important;
  border: 1px solid rgba(74,93,84,0.25) !important;
  border-radius: 12px !important; position: relative !important; overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(28,35,33,0.06) !important;
  font-family: 'STHeiti', 'SimHei', -apple-system, sans-serif !important;
}
.styled-prose-container news h3 {
  font-size: 16px !important; font-weight: 800 !important;
  margin: 0 !important; padding: 14px 16px !important;
  background: rgba(234,236,238,0.9) !important;
  color: #1C2321 !important; letter-spacing: 1px !important;
  border-bottom: 1px solid rgba(74,93,84,0.2) !important;
  position: sticky !important; top: 0 !important; z-index: 10 !important;
}
.styled-prose-container news h3::before { content: none !important; }
.styled-prose-container news item {
  display: grid !important;
  grid-template-columns: 40px 1fr !important; gap: 0 12px !important;
  margin: 0 !important; padding: 14px 16px !important;
  background: #F4F5F6 !important; border-radius: 0 !important; border-left: none !important;
  border-bottom: 1px solid rgba(74,93,84,0.15) !important;
  position: relative !important; line-height: 1.5 !important; font-size: 15px !important;
  color: #1C2321 !important; transition: background 0.15s ease !important;
}
.styled-prose-container news item:last-child { border-bottom: none !important; }
.styled-prose-container news item:hover { background: rgba(220,224,226,0.5) !important; }
.styled-prose-container news item label {
  grid-column: 1 !important; grid-row: 1 / -1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important; min-width: 40px !important;
  border-radius: 50% !important; font-size: 10.5px !important; font-weight: 700 !important;
  color: #fff !important; position: relative !important; overflow: hidden !important;
  border: none !important;
}
.styled-prose-container news item.h label { background: linear-gradient(135deg, #4A5D54, #2C4C3B) !important; }
.styled-prose-container news item.e label { background: linear-gradient(135deg, #6B4A7A, #5A3A6A) !important; }
.styled-prose-container news item.t label { background: linear-gradient(135deg, #7B2D26, #4A1A16) !important; }
.styled-prose-container news item.m label { background: linear-gradient(135deg, #3A5A6A, #2A4A5A) !important; }
.styled-prose-container news item.h::after,
.styled-prose-container news item.e::after,
.styled-prose-container news item.t::after,
.styled-prose-container news item.m::after {
  content: '♡ · 💬 · ↻' !important; grid-column: 2 !important;
  display: flex !important; margin-top: 10px !important;
  font-size: 13px !important; color: #8A7B66 !important; letter-spacing: 8px !important;
  position: static !important; transform: none !important;
  width: auto !important; height: auto !important;
  background: none !important; border-radius: 0 !important; box-shadow: none !important;
}
.styled-prose-container news item.h label::after {
  content: '✓' !important; position: absolute !important;
  bottom: -2px !important; right: -2px !important;
  width: 16px !important; height: 16px !important;
  background: #4A5D54 !important; border-radius: 50% !important;
  border: 2px solid #F4F5F6 !important;
  font-size: 8px !important; color: #fff !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}

/* =============================================
 * 通讯模块: board — 道上盘口
 * ============================================= */
.styled-prose-container board {
  display: block !important; margin: 20px 0 !important; padding: 0 !important;
  background: linear-gradient(180deg, #EAECEE 0%, #DCDEE0 50%, #EAECEE 100%) !important;
  border: 1px solid rgba(74,93,84,0.25) !important; border-radius: 12px !important;
  position: relative !important; overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(28,35,33,0.08) !important;
  font-family: 'STHeiti', 'SimHei', -apple-system, sans-serif !important;
}
.styled-prose-container board h3 {
  font-size: 16px !important; font-weight: 700 !important;
  margin: 0 !important; padding: 14px 50px !important;
  background: linear-gradient(135deg, rgba(74,93,84,0.95), rgba(44,76,59,0.9)) !important;
  color: #fff !important; letter-spacing: 2px !important;
  border-bottom: 1px solid rgba(44,76,59,0.4) !important;
  text-align: center !important; position: relative !important;
  text-shadow: 0 1px 3px rgba(28,35,33,0.5) !important;
}
.styled-prose-container board h3::before {
  content: '🕸️' !important; position: absolute !important; left: 16px !important;
  top: 50% !important; transform: translateY(-50%) !important; opacity: 0.85 !important;
}
.styled-prose-container board h3::after {
  content: '🔦' !important; position: absolute !important;
  right: 16px !important; top: 50% !important; transform: translateY(-50%) !important;
  font-size: 16px !important; color: rgba(255,255,255,0.7) !important;
  width: auto !important; height: auto !important; background-image: none !important;
}
.styled-prose-container board item {
  display: grid !important; grid-template-columns: 40px 1fr !important;
  gap: 0 10px !important; margin: 0 !important; padding: 8px 14px !important;
  background: transparent !important; border-radius: 0 !important; border-left: none !important;
  position: relative !important; line-height: 1.55 !important;
  font-size: 14px !important; color: #1C2321 !important; align-items: start !important;
}
.styled-prose-container board item:first-of-type { padding-top: 14px !important; }
.styled-prose-container board item:last-of-type { padding-bottom: 16px !important; }
.styled-prose-container board item label {
  grid-column: 1 !important; grid-row: 1 / -1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important; min-width: 40px !important;
  border-radius: 50% !important; font-size: 10px !important; font-weight: 700 !important;
  color: #fff !important; position: relative !important;
  border: 2px solid rgba(255,255,255,0.7) !important;
  box-shadow: 0 2px 8px rgba(28,35,33,0.1) !important;
  align-self: start !important; margin-top: 2px !important;
}
.styled-prose-container board item.c label { background: linear-gradient(135deg, #4A5D54, #1C2321) !important; }
.styled-prose-container board item.r label { background: linear-gradient(135deg, #6B4A7A, #5A3A6A) !important; }
.styled-prose-container board item.w label {
  width: auto !important; height: auto !important; min-width: 0 !important;
  border-radius: 10px !important; padding: 4px 14px !important;
  font-size: 11px !important; background: rgba(74,93,84,0.15) !important;
  color: #1C2321 !important; border: 1px solid rgba(74,93,84,0.25) !important;
  box-shadow: none !important;
}
.styled-prose-container board item.m label { background: linear-gradient(135deg, #3A5A6A, #2A4A5A) !important; }
.styled-prose-container board item:not(.w)::before {
  content: '' !important; position: absolute !important;
  top: 6px !important; left: 58px !important; right: 14px !important; bottom: 6px !important;
  background: rgba(255,255,255,0.9) !important;
  border-radius: 4px 12px 12px 12px !important;
  border: 1px solid rgba(74,93,84,0.15) !important;
  box-shadow: 0 1px 4px rgba(28,35,33,0.06) !important; z-index: 0 !important;
  pointer-events: none !important;
}
.styled-prose-container board item > *:not(label) { position: relative !important; z-index: 1 !important; }
.styled-prose-container board item::after {
  content: '' !important; position: absolute !important;
  left: 53px !important; top: 18px !important;
  width: 0 !important; height: 0 !important;
  border-top: 6px solid transparent !important; border-bottom: 6px solid transparent !important;
  border-right: 7px solid rgba(255,255,255,0.9) !important;
  background: none !important; transform: none !important;
  box-shadow: none !important; border-radius: 0 !important; z-index: 1 !important;
  pointer-events: none !important;
}
.styled-prose-container board item.w { display: flex !important; justify-content: center !important; text-align: center !important; padding: 4px 14px !important; }
.styled-prose-container board item.w::before { display: none !important; }
.styled-prose-container board item.w::after { display: none !important; }
.styled-prose-container board item.c label::after,
.styled-prose-container board item.r label::after {
  content: '🔦' !important; position: absolute !important;
  top: -4px !important; right: -4px !important;
  font-size: 9px !important; background: none !important; border: none !important; box-shadow: none !important;
}
.styled-prose-container board::after {
  content: '' !important; display: block !important; height: 44px !important;
  background: linear-gradient(180deg, rgba(220,224,226,0.95) 0%, rgba(200,205,208,0.98) 100%) !important;
  border-top: 1px solid rgba(74,93,84,0.2) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 44'%3E%3Crect x='12' y='8' width='240' height='28' rx='14' fill='%23fff' stroke='%238A7B66' stroke-width='0.8'/%3E%3Ctext x='26' y='27' font-size='13' fill='%234A5D54' font-family='STHeiti, sans-serif'%3EAa%3C/text%3E%3Ccircle cx='280' cy='22' r='14' fill='%234A5D54'/%3E%3Cpath d='M274,22 L278,26 L286,18' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-size: 100% 100% !important; background-repeat: no-repeat !important;
}
.styled-prose-container board item msg {
  display: inline-block !important; position: relative !important;
  z-index: 2 !important; color: #1C2321 !important;
  font-size: 14px !important; font-weight: 500 !important;
  word-break: break-word !important; align-self: center !important;
}

/* =============================================
 * 5. 系统覆盖
 * ============================================= */
.group.ml-0 > .flex.items-start.gap-2 {
  font-family: 'STKaiti', 'KaiTi', 'Georgia', serif !important;
  background-color: #F4F5F6 !important; border-radius: 10px !important;
  padding: 12px 16px !important; width: 100% !important;
  box-shadow: 0 3px 10px rgba(28,35,33,0.05) !important;
  border: 1px solid rgba(74,93,84,0.15) !important;
  transition: all 0.4s ease !important;
}
.group.ml-0 > .flex.items-start.gap-2:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(28,35,33,0.08) !important;
  background-color: #FFFFFF !important; border-color: rgba(74,93,84,0.3) !important;
}
.group.ml-0 .break-all { white-space: pre-wrap !important; line-height: 1.6 !important; color: #1C2321 !important; }
.group.ml-0 > .flex.items-start.gap-2 .text-grey-600,
.group.ml-0 > .flex.items-start.gap-2 .text-gray-500,
.group.ml-0 > .flex.items-start.gap-2 .text-gray-400,
.group.ml-0 > .flex.items-start.gap-2 .font-bold { color: #1C2321 !important; }
div.style_divider__mW0YX.style_horizontal__UvaHt {
  margin-top: 10px !important; margin-bottom: 10px !important;
  border-top: 1px solid rgba(74,93,84,0.2) !important; background: none !important;
}
.MuiButtonBase-root.MuiButton-root.css-1t7rg57,
.MuiButtonBase-root.MuiButton-root {
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
  font-weight: 700 !important; font-size: 13px !important; letter-spacing: 1.5px !important;
  color: #1C2321 !important; background: transparent !important;
  border: 1px solid rgba(74,93,84,0.3) !important;
  padding: 4px 12px !important; border-radius: 8px !important;
  transition: all 0.4s ease !important;
}
.MuiButtonBase-root.MuiButton-root:hover {
  color: #4A5D54 !important; background: rgba(74,93,84,0.1) !important;
  border-color: #4A5D54 !important; transform: translateY(-2px);
}

/* 隐藏元素 */
think { display: none !important; }
.mb-2 .shrink-0 { display: none; }
[class*="bg-[#F1CBCB]"], [class*="bg-[#c9e1e9]"] { display: none; }

/* 全局防斜体 */
.styled-prose-container em,
.styled-prose-container i:not([class]) { font-style: normal !important; }

/* =============================================
 * 6. 响应式 (Responsive)
 * ============================================= */
@media (max-width: 768px) {
  * { transition: none !important; }
  .bubble:hover, .group.ml-0 > .flex.items-start.gap-2:hover,
  .styled-prose-container details:hover,
  pre:hover div[node="[object Object]"] { transform: none !important; }

  .bubble.npc, .bubble.user, .classUI-story, .classUI-npc-card, .classUI-actions,
  div.group.relative > div.relative.inline-block.bg-gray-100\/90,
  .styled-prose-container T Ti, .sticky.w-full.top-0.flex.items-center,
  .p-\[5\.5px\].max-h-\[150px\],
  div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq),
  div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]),
  div[class*="absolute"][class*="bottom-0"],
  pre div[node="[object Object]"],
  #ai-chat-answer:last-of-type .env-sidebar[open],
  #ai-chat-answer:last-of-type .u[open],
  #ai-chat-answer:last-of-type .n[open],
  #ai-chat-answer:last-of-type details.p[open],
  #ai-chat-answer:last-of-type details.n[open],
  #ai-chat-answer:last-of-type details.ship[open],
  #ai-chat-answer:last-of-type details.m[open],
  #ai-chat-answer:last-of-type details.e[open],
  .chat-answer-container .bg-gray-100\/90.relative.inline-block,
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  }

  .bubble.npc, .bubble.user { background: #F4F5F6; }
  .classUI-story, div.group.relative > div.relative.inline-block.bg-gray-100\/90 { background: #FFFFFF; }
  div[class*="absolute"][class*="bottom-0"] { background: #EAECEE; }

  .chat, .bubble, .doc, .styled-prose-container details, .classUI-story,
  .classUI-npc-card, .classUI-table, .classUI-actions,
  .sticky.w-full.top-0.flex.items-center, .p-\[5\.5px\].max-h-\[150px\],
  #ai-chat-input, #ai-send-button,
  div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq),
  .styled-prose-container T Ti, div[class*="absolute"][class*="bottom-0"],
  div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]),
  #ai-chat-answer:last-of-type .env-sidebar[open],
  #ai-chat-answer:last-of-type .u[open],
  #ai-chat-answer:last-of-type .n[open],
  #ai-chat-answer:last-of-type details.p[open],
  #ai-chat-answer:last-of-type details.n[open],
  #ai-chat-answer:last-of-type details.ship[open],
  #ai-chat-answer:last-of-type details.m[open],
  #ai-chat-answer:last-of-type details.e[open] { box-shadow: none !important; }

  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::before {
    width: 22px !important; height: 22px !important; top: -4px !important; right: -4px !important;
  }
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::after {
    width: 50px !important; height: 50px !important; bottom: -5px !important; left: -5px !important;
  }

  #ai-chat-answer:last-of-type .env-sidebar[open],
  #ai-chat-answer:last-of-type .u[open],
  #ai-chat-answer:last-of-type .n[open],
  #ai-chat-answer:last-of-type details.p[open],
  #ai-chat-answer:last-of-type details.n[open],
  #ai-chat-answer:last-of-type details.ship[open],
  #ai-chat-answer:last-of-type details.m[open] { width: 300px !important; }
  #ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
  #ai-chat-answer:last-of-type .u:not([open]) > summary,
  #ai-chat-answer:last-of-type .n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary {
    width: 32px !important; min-height: 70px !important; font-size: 11px !important; letter-spacing: 2px !important;
  }

  #ai-chat-answer:last-of-type details.p  { top: 55px !important; }
  #ai-chat-answer:last-of-type details.n,
  #ai-chat-answer:last-of-type .n         { top: 140px !important; }
  #ai-chat-answer:last-of-type details.ship { top: 330px !important; }
  #ai-chat-answer:last-of-type details.m  { top: 225px !important; }

  #ai-chat-answer:last-of-type details.p:not([open]) > summary::before,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary::before,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary::before,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary::before {
    width: 14px !important; height: 14px !important; top: 5px !important;
  }
  #ai-chat-answer:last-of-type details.p:not([open]) > summary::after,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary::after {
    width: 12px !important; height: 12px !important; bottom: 5px !important;
  }

  /* 移动端 top-info 改为竖排 */
  .top-info { flex-direction: column !important; }
  .top-info > time, .top-info > position { border-right: none !important; border-bottom: 1px solid rgba(74,93,84,0.2) !important; }
  .top-info > time, .top-info > position, .top-info > env {
    min-width: 0 !important; padding: 10px 12px !important; font-size: 13px !important;
  }
  .top-info > time::before, .top-info > position::before, .top-info > env::before {
    font-size: 9px !important; padding: 4px 8px !important;
  }
  .top-info > area-map { padding: 10px !important; }
  .top-info > area-map::before { font-size: 9px !important; padding: 4px 8px !important; }
  .top-info > area-map > region { padding: 8px 12px !important; font-size: 13px !important; }
  .top-info:hover > quest { padding-left: 70px !important; }
  .top-info > quest > q { padding: 8px 12px !important; font-size: 13px !important; }

  /* 移动端 .m 折叠标签修正 */
  #ai-chat-answer:last-of-type details.m:not([open]) > summary {
    min-height: 110px !important;
    overflow: visible !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
  }
  #ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
    font-size: 11px !important; letter-spacing: 2px !important;
  }

  details[inv] { --grid-size: 50px !important; --gap: 5px !important; --panel-h: 960px !important; }
  details[inv] > summary { font-size: 13px !important; padding: 8px 12px 8px 32px !important; }
  details[inv] > panel { padding: 32px 10px 10px 10px !important; }
  details[inv] > panel > b { font-size: 10px !important; }
  details[inv] > panel > b > i { width: 125px !important; max-width: 50vw !important; font-size: 10px !important; }

  .k-track { margin: 10px 0 !important; }
  .k-head { padding: 10px 14px 10px 38px !important; font-size: 13px !important; }
  .k-row { padding: 8px 10px 8px 44px !important; }
  .k-tag { width: 24px !important; height: 24px !important; font-size: 11px !important; }

  pre div[node="[object Object]"] {
    padding: 12px 16px 12px 52px !important; font-size: 1em !important; background: #F4F5F6 !important;
  }
  pre div[node="[object Object]"]::before { width: 24px; height: 24px; font-size: 0.85em; left: 14px; }
  pre div[data-tooltip-id]::before { display: none !important; }

  .styled-prose-container news { border-radius: 10px !important; }
  .styled-prose-container news item { padding: 12px 14px !important; font-size: 14px !important; grid-template-columns: 34px 1fr !important; }
  .styled-prose-container news item label { width: 34px !important; height: 34px !important; min-width: 34px !important; }

  .styled-prose-container board { border-radius: 10px !important; }
  .styled-prose-container board h3 { font-size: 15px !important; padding: 12px 44px !important; }
  .styled-prose-container board item { grid-template-columns: 36px 1fr !important; padding: 7px 12px !important; }
  .styled-prose-container board item label { width: 36px !important; height: 36px !important; min-width: 36px !important; }
  .styled-prose-container board item:not(.w)::before { left: 52px !important; }
  .styled-prose-container board item::after { left: 47px !important; }

  /* 移动端 盘口风云 */
  .styled-prose-container .n-part { padding: 10px 12px !important; }
  .styled-prose-container .n-txt { font-size: 16px !important; padding: 4px 8px !important; }
}

@media (max-width: 480px) {
  #ai-chat-answer:last-of-type .env-sidebar[open],
  #ai-chat-answer:last-of-type .u[open],
  #ai-chat-answer:last-of-type .n[open],
  #ai-chat-answer:last-of-type details.p[open],
  #ai-chat-answer:last-of-type details.n[open],
  #ai-chat-answer:last-of-type details.ship[open],
  #ai-chat-answer:last-of-type details.m[open] { width: 270px !important; }
  #ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
  #ai-chat-answer:last-of-type .u:not([open]) > summary,
  #ai-chat-answer:last-of-type .n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary {
    width: 28px !important; min-height: 60px !important; font-size: 10px !important; letter-spacing: 1.5px !important;
  }

  #ai-chat-answer:last-of-type details.p  { top: 50px !important; }
  #ai-chat-answer:last-of-type details.n,
  #ai-chat-answer:last-of-type .n         { top: 120px !important; }
  #ai-chat-answer:last-of-type details.ship { top: 270px !important; }
  #ai-chat-answer:last-of-type details.m  { top: 190px !important; }

  /* 超小屏 .m 折叠修正 */
#ai-chat-answer:last-of-type details.m:not([open]) > summary {
    min-height: 95px !important;
    overflow: visible !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
  }
  #ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
    font-size: 10px !important; letter-spacing: 1.5px !important;
  }

  details[inv] { --grid-size: 44px !important; --gap: 4px !important; }
  details[inv] > panel > b { font-size: 9px !important; }
  details[inv] > panel > b > i { width: 115px !important; font-size: 9px !important; }

  .top-info > time, .top-info > position, .top-info > env {
    padding: 8px 10px !important; font-size: 12px !important;
  }
  .top-info > time::before, .top-info > position::before, .top-info > env::before {
    font-size: 8px !important; padding: 3px 7px !important;
  }
  .top-info > area-map > region { padding: 7px 10px !important; font-size: 12px !important; }
  .top-info > quest > q { padding: 7px 10px !important; font-size: 12px !important; }

  .styled-prose-container news item { grid-template-columns: 30px 1fr !important; gap: 0 8px !important; }
  .styled-prose-container news item label { width: 30px !important; height: 30px !important; min-width: 30px !important; }
  .styled-prose-container board item { grid-template-columns: 34px 1fr !important; gap: 0 8px !important; padding: 6px 10px !important; }
  .styled-prose-container board item label { width: 34px !important; height: 34px !important; min-width: 34px !important; }
  .styled-prose-container board item:not(.w)::before { left: 48px !important; right: 10px !important; }
  .styled-prose-container board item::after { left: 43px !important; }
  .styled-prose-container board::after { height: 34px !important; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; }
  .k-row.e.pulse, .k-row.g.pulse, .k-bar::before, .k-head::before,
  .k-none::before, details[inv] > panel > b[q="yuangu"] { animation: none !important; }
  .k-bar::after { transition: none !important; }
  .k-row:hover, details[inv] > panel > b:hover { transform: none !important; }
  .chat-answer-container .bg-gray-100\/90.relative.inline-block::before,
  .chat-answer-container .bg-gray-100\/90.relative.inline-block::after,
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::before,
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::after { animation: none !important; }
  .sticky.w-full.top-0.flex.items-center::before,
  .sticky.w-full.top-0.flex.items-center::after { animation: none !important; }
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary { animation: none !important; }
  .styled-prose-container [class*=card-body-chuanqi] { animation: none; }
  .top-info::before { animation: none !important; }
}

/* =============================================
 * BGM播放器 — 悬疑冷光版
 * ============================================= */
@keyframes bgm-glow-pulse-tomb {
  0%, 100% { box-shadow: 0 3px 16px rgba(74,93,84,0.2); }
  50%       { box-shadow: 0 5px 24px rgba(74,93,84,0.4), 0 0 0 3px rgba(74,93,84,0.1); }
}
@keyframes bgm-border-flow-tomb {
  0%   { border-color: rgba(74,93,84,0.3); }
  50%  { border-color: rgba(44,76,59,0.5); }
  100% { border-color: rgba(74,93,84,0.3); }
}

audio.classUI-audio-player {
  display: block !important; width: 100% !important; height: 44px !important;
  margin: 8px 0 !important; border-radius: 22px !important;
  outline: none !important; cursor: pointer !important;
  background: linear-gradient(135deg, rgba(244,245,246,0.98) 0%, rgba(234,236,238,0.95) 50%, rgba(244,245,246,0.98) 100%) !important;
  border: 1.5px solid rgba(74,93,84,0.3) !important;
  box-shadow: 0 3px 16px rgba(74,93,84,0.2) !important;
  animation: bgm-glow-pulse-tomb 4s ease-in-out infinite, bgm-border-flow-tomb 4s ease-in-out infinite !important;
  accent-color: #4A5D54 !important; color-scheme: light !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
audio.classUI-audio-player:hover {
  box-shadow: 0 5px 24px rgba(74,93,84,0.35), 0 0 0 3px rgba(74,93,84,0.1) !important;
  border-color: rgba(44,76,59,0.5) !important;
}
@media (prefers-reduced-motion: reduce) {
  audio.classUI-audio-player { animation: none !important; box-shadow: 0 2px 8px rgba(74,93,84,0.15) !important; }
}
@media (max-width: 768px) {
  audio.classUI-audio-player { height: 40px !important; border-radius: 20px !important; animation: none !important; box-shadow: 0 2px 8px rgba(74,93,84,0.1) !important; }
}

/* =============================================
 * 歌词 — 幽冥悬疑版
 * ============================================= */
@keyframes lyr-glow-tomb {
  0%,100% { text-shadow: 0 0 6px rgba(44,76,59,0.3); }
  50% { text-shadow: 0 0 14px rgba(44,76,59,0.6), 0 0 28px rgba(74,93,84,0.3); }
}
@keyframes lyr-border-tomb {
  0%,100% { border-color: rgba(74,93,84,0.25); }
  50% { border-color: rgba(74,93,84,0.5); }
}
.styled-prose-container lyrics {
  display: block; position: relative; margin: 20px 0; padding: 28px 24px;
  background:
    radial-gradient(ellipse at 30% 30%, rgba(74,93,84,0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 70%, rgba(138,123,102,0.08) 0%, transparent 50%),
    linear-gradient(160deg, #EAECEE 0%, #DCDEE0 40%, #F4F5F6 100%);
  border: 2px solid rgba(74,93,84,0.3); border-radius: 12px;
  text-align: center; font-family: 'STHeiti', 'SimHei', sans-serif;
  line-height: 2.4; color: #1C2321; font-size: 15px;
  letter-spacing: 2px; overflow: hidden;
  animation: lyr-border-tomb 4s ease-in-out infinite;
  box-shadow: 0 4px 20px rgba(28,35,33,0.08), inset 0 0 30px rgba(255,255,255,0.6);
}
.styled-prose-container lyrics em {
  display: block; font-style: normal; font-size: 19px; font-weight: 900;
  color: #4A5D54; letter-spacing: 4px; padding: 10px 0;
  animation: lyr-glow-tomb 2.5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .styled-prose-container lyrics { padding: 20px 16px; font-size: 13px; }
  .styled-prose-container lyrics em { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .styled-prose-container lyrics, .styled-prose-container lyrics em { animation: none; }
}

/* =============================================
 * 3.5b. 装备栏 & 明器品质着色补丁 (equip_list / resonance_list)
 * ============================================= */
.styled-prose-container equip_list [class*=card-body-rumen] T,
.styled-prose-container resonance_list [class*=card-body-rumen] T     { color: var(--color-rumen) !important; display: inline-block; }
.styled-prose-container equip_list [class*=card-body-zhongduan] T,
.styled-prose-container resonance_list [class*=card-body-zhongduan] T { color: var(--color-zhongduan) !important; display: inline-block; }
.styled-prose-container equip_list [class*=card-body-gaoduan] T,
.styled-prose-container resonance_list [class*=card-body-gaoduan] T   { color: var(--color-gaoduan) !important; display: inline-block; }
.styled-prose-container equip_list [class*=card-body-zhuanye] T,
.styled-prose-container resonance_list [class*=card-body-zhuanye] T   { color: var(--color-zhuanye) !important; display: inline-block; }
.styled-prose-container equip_list [class*=card-body-chuanqi] T,
.styled-prose-container resonance_list [class*=card-body-chuanqi] T   { color: var(--color-chuanqi) !important; display: inline-block; }

.styled-prose-container equip_list [class*=card-body-rumen] T Ti,
.styled-prose-container resonance_list [class*=card-body-rumen] T Ti     { border-color: rgba(115,111,110,0.30); }
.styled-prose-container equip_list [class*=card-body-zhongduan] T Ti,
.styled-prose-container resonance_list [class*=card-body-zhongduan] T Ti { border-color: rgba(92,107,100,0.35); }
.styled-prose-container equip_list [class*=card-body-gaoduan] T Ti,
.styled-prose-container resonance_list [class*=card-body-gaoduan] T Ti   { border-color: rgba(74,107,122,0.35); }
.styled-prose-container equip_list [class*=card-body-zhuanye] T Ti,
.styled-prose-container resonance_list [class*=card-body-zhuanye] T Ti   { border-color: rgba(107,74,122,0.35); }
.styled-prose-container equip_list [class*=card-body-chuanqi] T Ti,
.styled-prose-container resonance_list [class*=card-body-chuanqi] T Ti   { border-color: rgba(139,26,26,0.40); box-shadow: 0 0 10px rgba(139,26,26,0.15), 0 8px 30px rgba(28,35,33,0.15); }

.styled-prose-container equip_list [class*=card-body-rumen] T Ti span:first-child,
.styled-prose-container resonance_list [class*=card-body-rumen] T Ti span:first-child     { color: var(--color-rumen) !important; }
.styled-prose-container equip_list [class*=card-body-zhongduan] T Ti span:first-child,
.styled-prose-container resonance_list [class*=card-body-zhongduan] T Ti span:first-child { color: var(--color-zhongduan) !important; }
.styled-prose-container equip_list [class*=card-body-gaoduan] T Ti span:first-child,
.styled-prose-container resonance_list [class*=card-body-gaoduan] T Ti span:first-child   { color: var(--color-gaoduan) !important; }
.styled-prose-container equip_list [class*=card-body-zhuanye] T Ti span:first-child,
.styled-prose-container resonance_list [class*=card-body-zhuanye] T Ti span:first-child   { color: var(--color-zhuanye) !important; }
.styled-prose-container equip_list [class*=card-body-chuanqi] T Ti span:first-child,
.styled-prose-container resonance_list [class*=card-body-chuanqi] T Ti span:first-child   { color: var(--color-chuanqi) !important; }

/* =============================================
 * 底部结尾 fbar
 * ============================================= */
.styled-prose-container fbar {
  display: block !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #4A5D54 !important;
  letter-spacing: 2px !important;
  padding: 8px 0 !important;
  margin: 8px 0 0 0 !important;
  border-top: 1px dashed rgba(74,93,84,0.25) !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
}
/* =============================================
 * 🔦 盗月录主题 v1.0 — 结构适配补丁
 * 专为 LTM/STM 记忆表格与原生 Markdown 元素优化
 * ============================================= */

/* ── 1. Markdown 表格深度适配 (用于过往记忆 LTM/STM/Core) ── */
.styled-prose-container table {
  width: 100% !important; 
  border-collapse: collapse !important; 
  margin: 14px 0 !important;
  border-radius: 8px !important; 
  overflow: hidden !important;
  border: 1px solid rgba(74,93,84,0.25) !important;
  box-shadow: 0 4px 12px rgba(28,35,33,0.06) !important;
  font-family: 'STHeiti', 'SimHei', sans-serif !important;
}

.styled-prose-container thead th {
  background: linear-gradient(180deg, #EAECEE 0%, #DCDEE0 100%) !important;
  color: #1C2321 !important; 
  padding: 10px 12px !important; 
  font-weight: 800 !important;
  font-size: 13px !important; 
  text-align: left !important;
  border-bottom: 2px solid #4A5D54 !important; /* 青铜绿表头分割线 */
  letter-spacing: 1px !important;
  white-space: nowrap !important;
}

.styled-prose-container tbody td {
  padding: 10px 12px !important; 
  border-bottom: 1px solid rgba(74,93,84,0.15) !important;
  background: rgba(244,245,246,0.85) !important; 
  font-size: 13px !important; 
  color: #2A312E !important;
  vertical-align: top !important; 
  transition: background-color 0.3s ease !important;
  line-height: 1.6 !important;
}

/* 斑马线效果，增强长记忆的阅读体验 */
.styled-prose-container tbody tr:nth-child(even) td {
  background: rgba(234,236,238,0.6) !important;
}

.styled-prose-container tbody tr:last-child td { 
  border-bottom: none !important; 
}

.styled-prose-container tbody tr:hover td { 
  background: rgba(255,255,255,0.95) !important; 
  color: #1C2321 !important;
}

/* ── 2. 原生 details 面板标题优化 (如【盘口风云 / 道听途说】) ── */
.styled-prose-container details:not([class]) > summary {
  background: linear-gradient(90deg, rgba(74,93,84,0.05), rgba(28,35,33,0.02), rgba(74,93,84,0.05)) !important;
  border: 1px solid rgba(74,93,84,0.15) !important;
  border-radius: 8px !important;
  margin-bottom: 0 !important;
  color: #1C2321 !important;
}

.styled-prose-container details:not([class])[open] > summary {
  border-radius: 8px 8px 0 0 !important;
  border-bottom: 1px solid rgba(74,93,84,0.2) !important;
  background: rgba(74,93,84,0.08) !important;
  margin-bottom: 12px !important;
}

/* ── 3. 强调文本 (加粗) 优化 ── */
.styled-prose-container strong, 
.styled-prose-container b {
  color: #1C2321 !important;
  font-weight: 800 !important;
  text-shadow: 0 0 1px rgba(28,35,33,0.2) !important;
}

/* ── 4. fbar 移动端底部边距防遮挡 ── */
@media (max-width: 768px) {
  .styled-prose-container fbar {
    padding-bottom: 24px !important; /* 防止在手机端被输入框遮挡 */
  }
  .styled-prose-container tbody td {
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
}
/* =============================================
 * 🔦 盗月录主题 v1.0 — 防遮挡修复补丁
 * 修复：选项复制标识挡字、状态栏折叠图标挡字
 * ============================================= */

/* ── 1. 选项按钮 (抉择标识) 防遮挡 ── */
pre div[node="[object Object]"] {
  padding-right: 85px !important; /* 大幅增加右侧内边距，防止文字顶到右侧的标识 */
}
pre div[data-tooltip-id]::before {
  right: 10px !important; /* 将"抉择"标识进一步向右靠边 */
}

/* ── 2. 悬浮状态栏 (侧边栏) 折叠图标防遮挡 ── */
/* 修复闭合状态下，上下两端的 SVG 图标与竖排文字重叠的问题 */
#ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
#ai-chat-answer:last-of-type .u:not([open]) > summary,
#ai-chat-answer:last-of-type .n:not([open]) > summary,
#ai-chat-answer:last-of-type details.p:not([open]) > summary,
#ai-chat-answer:last-of-type details.n:not([open]) > summary,
#ai-chat-answer:last-of-type details.ship:not([open]) > summary {
  padding: 38px 0 32px 0 !important; /* 核心修复：上下强制撑开内边距，避开绝对定位的图标 */
  min-height: 125px !important; /* 增加整体最小高度，确保文字有充足的显示空间 */
}

/* ── 3. 顶部信息栏 (Top Info) 标签防遮挡 ── */
.top-info > time::before,
.top-info > position::before,
.top-info > env::before,
.top-info > area-map::before,
.top-info > quest::before {
  margin-right: 12px !important; /* 增加标签与后方文字的间距 */
  flex-shrink: 0 !important; /* 强制防止标签在窄屏下被压缩变形导致遮挡文字 */
}

/* ── 4. 常规折叠面板 (Details) 标题防遮挡 ── */
.styled-prose-container details > summary {
  padding-left: 45px !important; /* 确保左侧图标有足够空间，不挡标题字 */
  padding-right: 45px !important; /* 确保右侧箭头有足够空间，不挡标题字 */
}

/* ── 5. 移动端同步修正 ── */
@media (max-width: 768px) {
  pre div[node="[object Object]"] {
    padding-right: 20px !important; /* 移动端隐藏了抉择标识，恢复正常的右侧边距 */
  }
  #ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
  #ai-chat-answer:last-of-type .u:not([open]) > summary,
  #ai-chat-answer:last-of-type .n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary {
    padding: 30px 0 26px 0 !important; /* 移动端等比缩小避让空间 */
    min-height: 105px !important;
  }
}