/* =========================================
   1. 基础排版与对齐 (UI 3.0 高清正机版)
   ========================================= */
scene-box { display: flex; flex-direction: column; width: 100%; gap: 20px; margin-bottom: 15px; }
chat-l, chat-r { display: flex; align-items: flex-start; width: 100%; gap: 15px; }
chat-r { justify-content: flex-end; }

/* =========================================
   2. 核心：85px 超大高清圆头像 
   ========================================= */
av {
    display: block; 
    width: 85px; height: 85px; border-radius: 50%; 
    background-color: #E2E8F0; 
    background-image: linear-gradient(135deg, #E0F7FA 0%, #B2EBF2 100%); 
    background-size: cover; background-position: center; background-repeat: no-repeat;
    border: 2px solid #ffffff; box-shadow: 0 4px 10px rgba(0,0,0,0.12); flex-shrink: 0; z-index: 2;
}

/* =========================================
   3. 气泡配色与精准居中
   ========================================= */
bb {
    padding: 12px 18px; max-width: 65%; font-size: 16px; line-height: 1.6; color: #000000; 
    font-weight: 500; position: relative; box-shadow: 0 4px 12px rgba(0,0,0,0.08); word-wrap: break-word; margin-top: 18px; 
}
chat-l bb { background-color: #FFD1DC; border-radius: 0 18px 18px 18px; border: 1px solid rgba(255, 255, 255, 0.6); }
chat-r bb { background-color: #ADD8E6; border-radius: 18px 0 18px 18px; border: 1px solid rgba(255, 255, 255, 0.6); }

/* =========================================
   4. 非对话内容 (旁白/状态栏) 基础设定
   ========================================= */
n-text {
    display: block; color: #333333; font-size: 15px; line-height: 1.8;
    background: linear-gradient(to right, rgba(245, 247, 250, 0.8), rgba(245, 247, 250, 0.2)); 
    padding: 10px 15px; border-radius: 6px; border-left: 4px solid #ADD8E6; margin: 0 5px;
}
details { background: transparent; border-radius: 12px; padding: 0; margin-bottom: 12px; font-size: 14px; overflow: hidden; }
summary { font-weight: bold; font-size: 15px; cursor: pointer; outline: none; margin-bottom: 0; padding: 12px 15px; border-bottom: none; }

/* =========================================
   5. 角色图床精准映射 (省略了部分重复URL，原样保留)
   ========================================= */
chat-r[char="mc_m" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/ikU0Lmbd.png'); } 
chat-r[char="mc_f" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/sWgd9Jn1.png'); } 
chat-l[char="yangyang" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/0LqPqsiJ.png'); }
chat-l[char="chixia" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/UXpMsBPn.png'); }
chat-l[char="baizhi" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/0wyyCMkW.png'); }
chat-l[char="jiyan" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/ujI7IdPM.png'); }
chat-l[char="danjin" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/ebLCqVKp.png'); }
chat-l[char="sanhua" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/y1jR61Xt.png'); }
chat-l[char="motefei" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/Z61eWb4D.png'); }
chat-l[char="yuanwu" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/rNTGUexx.png'); }
chat-l[char="taoqi" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/5yn6Vz3W.png'); }
chat-l[char="jianxin" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/FgbJ8kGE.png'); }
chat-l[char="weilinai" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/iCp0pm74.png'); }
chat-l[char="lingyang" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/sEO9K6d5.png'); }
chat-l[char="yinlin" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/DJS3kjmd.png'); }
chat-l[char="jinxi" i] av, chat-l[char="jingxi" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/9ZN4eMpU.png'); }
chat-l[char="changli" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/NVVamkXg.png'); }
chat-l[char="zhezhi" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/kjQKexKf.png'); }
chat-l[char="xiangliyao" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/q9EXbfEe.png'); }
chat-l[char="youhu" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/sSvBQZxj.png'); }
chat-l[char="dengdeng" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/WX3pvo1y.png'); }
chat-l[char="qiuyuan" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/BlFIc1hi.png'); }
chat-l[char="anke" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/IsBeuhNL.png'); }
chat-l[char="qiushui" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/jHpPXnI5.png'); }
chat-l[char="shouanren" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/jXy0o2uo.png'); }
chat-l[char="chun" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/l1arPq9e.png'); }
chat-l[char="jiabeilina" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/kiYzCVbs.png'); }
chat-l[char="buling" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/qBJYbl1I.png'); }
chat-l[char="kelaita" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/SLlmIENi.png'); }
chat-l[char="luokeke" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/WWVnWOvQ.png'); }
chat-l[char="bulante" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/vbkQAwlp.png'); }
chat-l[char="feibi" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/6qLtx8R4.png'); }
chat-l[char="zanni" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/esn9sDN3.png'); }
chat-l[char="kanteleila" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/OToNnRQm.png'); }
chat-l[char="xiakong" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/hm6wKVSb.png'); }
chat-l[char="katixiya" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/jNGF0sYm.png'); }
chat-l[char="lupa" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/3HgjWYnB.png'); }
chat-l[char="aogusita" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/9QyGGS5Y.png'); }
chat-l[char="younuo" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/q4dZMx4L.png'); }
chat-l[char="qianxiao" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/yhTM8ekL.png'); }
chat-l[char="linnai" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/fcDK6gBe.png'); }
chat-l[char="moning" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/FFDs3khE.png'); }
chat-l[char="aimisi" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/BlIlyb08.png'); }
chat-l[char="luhesi" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/kC8HHusH.png'); }
chat-l[char="xigelika" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/Vjfoq1t4.png'); }
chat-l[char="luosela" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/xNgTYvJR.png'); }
chat-l[char="daniya" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/u91iJn0x.png'); }
chat-l[char="feixue" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/e7lKq7lK.png'); }
chat-l[char="fuluoluo" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/YWTrixlR.png'); }
chat-l[char="kakaluo" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/5ustehdJ.png'); }
chat-l[char="libeika" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/p2atTX6g.png'); }
chat-l[char="luxi" i] av { background-image: url('https://s3.bmp.ovh/2026/07/10/qCvq2rh9.png'); }


/* =========================================================
   ✨ 游戏引擎渲染层：高级手账本系统 (防闪烁静态渲染版)
========================================================= */

/* 1. 外包裹：“硬壳手账封皮” (移除 transition 杜绝渲染闪烁) */
details.theme-details,
.markdown-body details.theme-details,
.mes_text details.theme-details {
    border: 2px solid #94A3B8 !important; 
    border-radius: 12px !important;
    margin-bottom: 14px !important;
    overflow: hidden !important; 
    padding: 0 !important; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important; 
    display: block !important;
    background: #FFFFFF !important;
}

/* 2. 一层表头 */
details.theme-details > summary {
    list-style: none !important;
    padding: 14px 18px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    color: #1E293B !important; 
    text-shadow: 1px 1px 0px rgba(255,255,255,0.8) !important; 
    border-bottom: 2px solid rgba(148, 163, 184, 0.4) !important; 
    margin-bottom: 0 !important;
    display: block !important;
    position: relative !important;
}
details.theme-details > summary::-webkit-details-marker { display: none !important; }

/* 🔒 系统锁定卡片 */
details.locked-card > summary { background: linear-gradient(135deg, #E2E8F0, #CBD5E0) !important; border-left: 5px solid #64748B !important; pointer-events: none !important; cursor: default !important; }

/* 📔 3. 展开后的【手账内页】 (彻底移除 animation 杜绝打字重绘闪烁) */
details.theme-details[open] > .fold-content {
    background-color: #FAFAFA !important; 
    box-shadow: inset 6px 0 8px rgba(0,0,0,0.03) !important; 
    padding: 16px 16px 20px 20px !important; 
    color: #333333 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    display: block !important;
}

/* 🌸 4. 手账主色彩系统 🌸 */
details.theme-details:nth-of-type(7n+1):not(.locked-card) > summary { background: linear-gradient(135deg, #FFE6EC, #FFCFD8) !important; border-left: 5px solid #FB7185 !important; } 
details.theme-details:nth-of-type(7n+2):not(.locked-card) > summary { background: linear-gradient(135deg, #FFF1E6, #FFE2CC) !important; border-left: 5px solid #FB923C !important; } 
details.theme-details:nth-of-type(7n+3):not(.locked-card) > summary { background: linear-gradient(135deg, #FFFFE0, #FFF0A3) !important; border-left: 5px solid #FBBF24 !important; } 
details.theme-details:nth-of-type(7n+4):not(.locked-card) > summary { background: linear-gradient(135deg, #E8FDEE, #CFF7D9) !important; border-left: 5px solid #34D399 !important; } 
details.theme-details:nth-of-type(7n+5):not(.locked-card) > summary { background: linear-gradient(135deg, #E5F6FF, #C7E9FF) !important; border-left: 5px solid #38BDF8 !important; } 
details.theme-details:nth-of-type(7n+6):not(.locked-card) > summary { background: linear-gradient(135deg, #F3EBFF, #E4D4FF) !important; border-left: 5px solid #A78BFA !important; } 
details.theme-details:nth-of-type(7n+7):not(.locked-card) > summary { background: linear-gradient(135deg, #F1F5F9, #E2E8F0) !important; border-left: 5px solid #94A3B8 !important; } 


/* =========================================================
   📑 内部子面板升级：【彩色实体隔离包裹卡片】 (移除动态属性)
========================================================= */
.markdown-body .sub-details { 
    background: #FFFFFF !important; 
    border: 2px solid #CBD5E0 !important; 
    border-radius: 8px !important; 
    margin-bottom: 14px !important; 
    margin-top: 6px !important; 
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important; 
    overflow: hidden !important; 
    padding: 0 !important; 
}

/* 🌟 二层包裹表头设计 */
.markdown-body .sub-details > summary { 
    padding: 12px 16px !important; 
    color: #1E293B !important; 
    font-size: 14px !important; 
    font-weight: bold !important; 
    cursor: pointer !important; 
    margin-bottom: 0 !important; 
    text-shadow: 1px 1px 0px rgba(255,255,255,0.7) !important; 
}

/* 四色包裹区隔 */
.markdown-body .sub-details:nth-of-type(4n+1) > summary { background: linear-gradient(135deg, #FFE4E6, #FECDD3) !important; border-bottom: 2px solid #FDA4AF !important; } 
.markdown-body .sub-details:nth-of-type(4n+2) > summary { background: linear-gradient(135deg, #E0F2FE, #BAE6FD) !important; border-bottom: 2px solid #7DD3FC !important; } 
.markdown-body .sub-details:nth-of-type(4n+3) > summary { background: linear-gradient(135deg, #DCFCE7, #BBF7D0) !important; border-bottom: 2px solid #86EFAC !important; } 
.markdown-body .sub-details:nth-of-type(4n+4) > summary { background: linear-gradient(135deg, #F3E8FF, #E9D5FF) !important; border-bottom: 2px solid #D8B4FE !important; } 

/* 二层内部白板 (彻底移除 animation) */
.markdown-body .sub-details[open] > .sub-body { 
    padding: 16px !important; 
    background: #FFFFFF !important; 
    color: #334155 !important; 
    font-size: 14px !important;
    line-height: 1.6 !important;
}


/* =========================================================
   📸 海报重塑：【手账里的拍立得/明信片外相框包裹】
========================================================= */

.map-banner { 
    width: 100% !important; 
    height: auto !important; 
    background: #FFFFFF !important; 
    padding: 6px 6px 14px 6px !important; 
    border: 2px solid #CBD5E0 !important; 
    border-radius: 4px !important; 
    box-shadow: 2px 4px 12px rgba(0, 0, 0, 0.08) !important; 
    margin-bottom: 15px !important; 
    box-sizing: border-box !important;
}
.map-banner img { 
    width: 100% !important; 
    height: 200px !important; 
    object-fit: cover !important; 
    object-position: center center !important; 
    display: block !important; 
    margin: 0 !important; 
    border-radius: 2px !important; 
    border: 1px solid rgba(0,0,0,0.1) !important;
}

.npc-card { 
    margin-bottom: 18px !important; 
    background: #FFFFFF !important; 
    border-radius: 8px !important; 
    padding: 10px !important; 
    border: 2px dashed #94A3B8 !important;  
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.04) !important;
}

.npc-banner { 
    width: 100% !important; 
    height: auto !important; 
    background: #FFFFFF !important; 
    padding: 4px !important; 
    border: 1px solid #CBD5E0 !important;
    border-radius: 4px !important; 
    box-sizing: border-box !important;
}
.npc-banner img { 
    width: 100% !important; 
    height: 200px !important; 
    object-fit: cover !important; 
    object-position: center top !important; 
    display: block !important; 
    margin: 0 !important; 
    border-radius: 2px !important;
}
.npc-name-bar { 
    position: relative !important; 
    margin-top: -46px !important; 
    z-index: 10 !important; 
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 60%, transparent 100%) !important; 
    color: #fff !important; 
    padding: 12px 12px 8px 12px !important; 
    font-weight: bold !important; 
    font-size: 1.1em !important; 
    border-radius: 0 0 2px 2px !important; 
    margin-bottom: 2px !important; 
    margin-left: 4px !important;
    margin-right: 4px !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8) !important; 
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
    pointer-events: none !important; 
}

/* --- 武器/声骸 悬浮胶囊标签 (保留必要的交互动效，不影响加载渲染) --- */
.hover-item { position: relative !important; display: inline-block !important; cursor: help !important; font-weight: bold !important; background-color: #F0F9FF !important; color: #0369A1 !important; border: 1px solid #BAE6FD !important; border-radius: 6px !important; padding: 2px 8px !important; margin: 2px 4px 2px 0 !important; font-size: 13px !important; transition: all 0.2s ease !important; }
.hover-item:hover { background-color: #E0F2FE !important; color: #0C4A6E !important; border-color: #7DD3FC !important; }
.hover-item .item-desc { visibility: hidden !important; opacity: 0 !important; width: max-content !important; max-width: 280px !important; background: rgba(255, 255, 255, 0.98) !important; color: #334155 !important; text-align: left !important; border-radius: 8px !important; padding: 12px !important; position: absolute !important; z-index: 99999 !important; bottom: 130% !important; left: 50% !important; transform: translateX(-50%) !important; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1) !important; border: 1px solid #E2E8F0 !important; font-size: 13px !important; font-weight: normal !important; white-space: pre-wrap !important; line-height: 1.6 !important; transition: opacity 0.2s !important; pointer-events: none !important;}
.hover-item:hover .item-desc { visibility: visible !important; opacity: 1 !important; }

/* --- 玩家状态指示条 --- */
.bar-wrap { position: relative !important; width: 100% !important; height: 18px !important; background: #E2E8F0 !important; border-radius: 8px !important; margin: 6px 0 !important; overflow: hidden !important; display: block !important; box-shadow: inset 0 1px 3px rgba(0,0,0,0.1) !important;}
.bar-fill { height: 100% !important; border-radius: 8px 0 0 8px !important; display: block !important; }
.hp-bar { background: linear-gradient(90deg, #F87171, #EF4444) !important; } 
.mp-bar { background: linear-gradient(90deg, #60A5FA, #3B82F6) !important; } 
.exp-bar { background: linear-gradient(90deg, #FCD34D, #F59E0B) !important; } 
.bar-text { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 12px !important; font-weight: bold !important; color: #FFFFFF !important; text-shadow: 1px 1px 2px rgba(0,0,0,0.6) !important; }

/* 网格布局 */
.info-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; gap: 8px !important; margin: 10px 0 !important; font-size: 14px !important;}
.info-grid span { background: #FFFFFF !important; padding: 8px 12px !important; border-radius: 6px !important; border: 1px solid #CBD5E0 !important; display: block !important; color: #475569 !important; box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;}
.info-grid b { color: #1E293B !important; margin-right: 4px !important; }
hr { border: none !important; height: 1px !important; background: linear-gradient(to right, transparent, #94A3B8, transparent) !important; margin: 12px 0 !important; }

/* =========================================
   UI 界面美化 (保持不变)
========================================= */
.sticky.w-full.top-0.flex.items-center { background: rgba(255, 255, 255, 0.6) !important; backdrop-filter: blur(12px) !important; border: none !important; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important; }
#ai-model-selector .group.flex.items-center { background: rgba(255, 255, 255, 0.8) !important; border: 1px solid rgba(203, 213, 224, 0.5) !important; border-radius: 20px !important; padding: 6px 14px !important; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important; transition: all 0.3s ease !important; }
#ai-model-selector .group.flex.items-center:hover { background: #FFFFFF !important; transform: translateY(-1px) !important; }
.bg-gradient-to-t { background: transparent !important; }
#ai-chat-bottom-input { background-color: rgba(255, 240, 245, 0.9) !important; backdrop-filter: blur(10px) !important; border-radius: 12px !important; padding: 8px !important; box-shadow: 0 -4px 15px rgba(255, 183, 197, 0.2) !important; border-top: 1px solid rgba(255, 183, 197, 0.4) !important; }
#ai-chat-input { background-color: #FFFFFF !important; color: #4A5568 !important; border: 1px solid #FFB7C5 !important; border-radius: 8px !important; }
#ai-chat-input::placeholder { color: #F48FB1 !important; }
#ai-chat-input::selection { background-color: #FFB7C5 !important; color: #FFFFFF !important; }
#ai-mod-button2 button.MuiButton-root { background-color: #FF9EB3 !important; color: #FFFFFF !important; border-radius: 50px !important; border: 2px solid #FF8DA6 !important; box-shadow: 0 4px 12px rgba(255, 158, 179, 0.4) !important; transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important; }
#ai-mod-button2 button.MuiButton-root:hover { transform: scale(1.1) !important; background-color: #FF8DA6 !important; box-shadow: 0 6px 16px rgba(255, 158, 179, 0.6) !important; }
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] { background-color: #F0F8FF !important; color: #2D3748 !important; border-top: 1px solid #BEE3F8 !important; }

/* =========================================
   代码块美化
========================================= */
.markdown-body pre { border: 1px solid #E2E8F0 !important; border-radius: 8px !important; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important; margin: 1em 0 !important; }
.markdown-body pre > div > div.border-b, .markdown-body pre > div > div.flex.justify-between.h-8 { background: #F7FAFC !important; border-bottom: 1px solid #E2E8F0 !important; }
.markdown-body pre > div > div[node] { background: #FFFFFF !important; color: #2D3748 !important; padding: 12px !important; }
.markdown-body pre > code[node] { background: #FFFFFF !important; color: #2D3748 !important; display: block !important; padding: 12px !important; }