/* ==========================================================================
   🎨 THEME: Warm Arcane Parchment (暖色调奥术羊皮纸) - 适配Rili平台
   ========================================================================== */
.rili-markdown-renderer {
    /* --- 核心变量 (Colors) --- */
    --bg-color: #fdf5e6; /* 羊皮纸底色 */
    --bg-accent: #f4e4bc; /* 深色羊皮纸纹理 */
    --primary-color: #4e342e; /* 正文：红木色 */
    --secondary-text: #6d4c41; /* 次级文本：浅褐 */
    --accent-color: #8e24aa; /* 魔法点缀：奥术紫 */
    --accent-glow: rgba(142, 36, 170, 0.15);
    --border-color: #d7ccc8; /* 边框：古铜色 */
    --highlight-gold: #b8860b; /* 高亮：暗金 */
    --overlay-bg-color: #2d1b1b; /* 浮窗背景：深黑木 */

    /* 字体设置 */
    font-family: "Georgia", "Source Serif Pro", serif;
    font-size: 15px;
    line-height: 1.6;
    color: var(--primary-color);
    padding: 5px !important;
}

.mb-2 .shrink-0 {
    display: none;
}
[class*="bg-[#F1CBCB]"], 
[class*="bg-[#c9e1e9]"] {
    display: none;
}
    
/* ==========================================================================
   🖼️ ASSET LIBRARY (背景图库 - 完整版)
   ========================================================================== */
.rili-markdown-renderer {
    /* --- 1. 特殊地点 (Unique Locations) --- */
    --bg-Lighthouse-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPYF9pVzZS1SiwcPQlwiiMDxvipz7_yQACl1AAArdzuVahETaaCjs3AAE4BA.jpg');
    --bg-Lighthouse-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPYGBpVzZVkFn8mlLVmusnvI3Gz_C59QACmFAAArdzuVbIBqLZ9zbOoDgE.jpg');
    --bg-Lighthouse-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPYF5pVzZPmqFceJvbEYPdSnEMPZEPWgACllAAArdzuVZE8ic3KqgpJzgE.jpg');

    --bg-starfall-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOSyppUfUziI8mJXN3b_ChZ0Pfw_bpGgACLRsAAoBckFbXReyf-RoZpTYE.jpg');
    --bg-starfall-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOSyhpUfUxyUT2cnM6aSeDzvh-ug838QACKxsAAoBckFbC3nC4U4LJKTYE.jpg');
    --bg-starfall-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOSylpUfUyWd1FE0qc3figsyIuVdQiwwACLBsAAoBckFaPHrXE_vDVazYE.jpg');

    --bg-gear-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOSy5pUfU82v_ZnSXcFmSnU-Rjy9EhDwACMhsAAoBckFaJcRNFthiRNzYE.jpg');
    --bg-gear-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOSy1pUfU8u3sfsYk6K9m_dtqsgul8cwACMRsAAoBckFbPj5Dnz7N63jYE.jpg');

    --bg-capital-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOSzBpUfVA-Gl782HBqpWN1Fg4tKxE8AACNRsAAoBckFYr3Vxo9N2mWTYE.jpg');
    --bg-capital-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOSy9pUfU812KtGuCpl9whxOdmUFfIWAACMxsAAoBckFZQpXY1R854sDYE.jpg');
    --bg-capital-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOSyxpUfU7adHCDUzStXZHy2p_T02bkwACMBsAAoBckFbJAAFxZOgXctU2BA.jpg');

    --bg-mist-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS0ZpUfWmHFakY74OLmgNoi1CgkzRHgACThsAAoBckFYEW8knMnDnJjYE.jpg');
    --bg-mist-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS0VpUfWl1-_6kbVhNkV-D_lctE6J7QACTRsAAoBckFb-19kHcSuXxTYE.jpg');
    --bg-mist-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS0lpUfWmIo_hOoEgsaZKS_soQlxVUAACURsAAoBckFYs-gkbKpnOFTYE.jpg');

    --bg-desert-market-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS0tpUfXDg7S4XdMiY5-NlhXxFn2XJgACVhsAAoBckFauvWrRxWG2eTYE.jpg');
    --bg-desert-market-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS0xpUfXET8cvhgIpSFujls2qfr836AACVxsAAoBckFYdNul6CBghVzYE.jpg');
    --bg-desert-market-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS0ppUfXCHi3aPZP6EgRCHquCMr3yJwACVRsAAoBckFY-05XpiuW-wzYE.jpg');
    
    --bg-wind-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVoNpUmLOQ0m6F6vv5v-0nUabhuZ67gACQSgAAoBckFbw_HW-OClsizYE.jpg');
    --bg-wind-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVoRpUmLOoMpbUWrT4Klin-lIufn5XAACQigAAoBckFZIOSSp7VhFGzYE.jpg');
    --bg-wind-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVoBpUmLNcg5iFjzczBX2pONf1E5zWAACPigAAoBckFYJQA0ovHokdjYE.jpg');

    --bg-sky-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVoJpUmLOOoesZyimKWcTVp5I0qI4ZgACQCgAAoBckFb954Cma0TmDTYE.jpg');
    --bg-sky-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVoZpUmLiOl8FQsCx8Ic5a8h-Zxin_gACRCgAAoBckFYAAUHDawKF9YY2BA.jpg');
    --bg-sky-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVohpUmLo9Cmq5XOTjoLVyMvk2CDC1wACRigAAoBckFbW8h0MfHgwZjYE.jpg');

    /* --- 2. 通用场景 (Generic Scenes) --- */
    --bg-city-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS05pUfXZZ_2ZXvNLGSjLumpeFEgdpwACWhsAAoBckFau9Xtjn2jNAjYE.jpg');
    --bg-city-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS01pUfXWP_xRPuKtoVGY0GkvZ6_XuAACWRsAAoBckFbOGTdhFcti1DYE.jpg');
    --bg-city-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS09pUfXaw3ytJoG3fL3UPtXvSsU9cgACWxsAAoBckFZvLzdluL-QsTYE.jpg');

    --bg-town-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS1RpUfXu5pSelNNmEBHiyhfBWiynFgACYRsAAoBckFZR6VG1viiFWDYE.jpg');
    --bg-town-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS1NpUfXtrbYtZrcvZlJMOFgI0RfPYgACYBsAAoBckFZOqv1R0E2kbzYE.jpg');
    --bg-town-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS1JpUfXtLuApotD18IlY8tzqpSlbHwACXxsAAoBckFYEJat7woXnzTYE.jpg');

    --bg-wild-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS1xpUfYY4j_nt6ooO0KYXPuWw0ObNQACaxsAAoBckFaXm-unuFunjjYE.jpg');
    --bg-wild-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS1ppUfYWoLUjL6bmeXg_3a4DhHEl5wACaRsAAoBckFYyKxJb5BFlGTYE.jpg');
    --bg-wild-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVmJpUmHm3ByoBiCVbjczYShRDZ6b1AACICgAAoBckFaaJvo0iOiBlzYE.jpg');

    --bg-forest-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS11pUfYb563lzJbQf57-QXRfFfuFSgACbBsAAoBckFaPj2gZJ76ByzYE.jpg');
    --bg-forest-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS1lpUfYVlNU0ctXSO6SrgJYI5eQeLgACaBsAAoBckFb5vpSaIDH06DYE.jpg');
    --bg-forest-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS1tpUfYYRusbETERPKWsatKsOAj8WwACahsAAoBckFbH_nDw-0J1gTYE.jpg');

    --bg-desert-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS2ZpUfY1dQG0KbfzWj_FiCEQaOLA7QACdhsAAoBckFZFyp6wpD5xHjYE.jpg');
    --bg-desert-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS2ZpUfY1dQG0KbfzWj_FiCEQaOLA7QACdhsAAoBckFZFyp6wpD5xHjYE.jpg'); 
    --bg-desert-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS2VpUfY17lUkpgABl23vKa02392QnnAAAnUbAAKAXJBWY1DwDaiULU42BA.jpg');

    --bg-snow-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS2ppUfZYNFjuQfBwgJhk5Jde8pZe8gACehsAAoBckFbbOrHH6KWHBDYE.jpg');
    --bg-snow-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVoFpUmLNJb1xk8xyJoBh3Ytox_MCNQACPygAAoBckFY1ebVtin-HVDYE.jpg');
    --bg-snow-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS2hpUfZXmF6BpeXqnuDBpwok3r0ndwACeBsAAoBckFYPwg2jHuZJmTYE.jpg');

    --bg-mount-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS21pUfZmxmNhyNTML5yj3v6mbFJ7RgACfRsAAoBckFatOTDSMtc8djYE.jpg');
    --bg-mount-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS2tpUfZkJwiP82kcc6WpqeUxeT3bLgACexsAAoBckFbtG1V8H6n1xTYE.jpg');
    --bg-mount-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS2xpUfZl_frToKaiRXmz8hvAEab9XQACfBsAAoBckFZWQukfPWoIezYE.jpg');

    /* --- 3. 室内与特殊功能区 (Interiors) --- */
    --bg-shop-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVlNpUmEry3Or3cD06dEj0tQQfMsykAACDygAAoBckFbm2f_Urrg1rTYE.jpg');
    --bg-shop-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVlBpUmEquCQzcbn30_BPPK4CXFud5gACDCgAAoBckFaCTi1U33GvUjYE.jpg');
    --bg-shop-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVlFpUmEqo3-nXHDGvmCvD1tshCmeuAACDSgAAoBckFZbxfJLJt4qizYE.jpg');
    
    --bg-room-isa: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVlJpUmErE4unuekxjtaOttChNt9KugACDigAAoBckFY3N68YNndTFDYE.jpg');

    --bg-inn-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVixpUl8Mci94rORpT51P0FafZ09LHgAC4CcAAoBckFZixL02pPhdzDYE.jpg');
    --bg-inn-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVitpUl8MheHDw0u97OaZQUorWEWrDgAC3ycAAoBckFZjHR3DbkBI5TYE.jpg');
    --bg-inn-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVippUl8MuKo_kWQyqYjcXpq4W2Q2mQAC3icAAoBckFbh2TsH8iLsHjYE.jpg');

    --bg-tavern-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVjJpUl9JKQgn3NqGEKm_Vs62TefdzgAC5icAAoBckFYim6lcbtJmijYE.jpg');
    --bg-tavern-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVjRpUl9LiYmvugc2Kt_Vw4-3UTvDvwAC6CcAAoBckFbTJPuQWaFnQjYE.jpg');

    --bg-palace-day: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVjdpUl-uczeTOuR6--su_aLaXDQ6hQAC7icAAoBckFayNPQGR7VmnTYE.jpg');
    --bg-palace-night: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVjNpUl9LaTztZ6SqE-6j2WPAL0ZBwwAC5ycAAoBckFaiBHiQ6CxLUjYE.jpg');
    --bg-palace-dusk: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVjZpUl-swXGovOSnduE536fXWQpZiAAC7ScAAoBckFaeExbInurQjDYE.jpg');

    --bg-mine: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOS1FpUfXrgjQfpT5P4t6hUZrXDhjIGgACXhsAAoBckFb0Ft5sKx7KTzYE.jpg');

    /* Galgame 大立绘 */
    --char-smile: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOQvdpULFCQyphwKhOPOmYW1JHQWElbwAC_h8AAmXMiVY7aJEyXNdJxjYE.png');
    --char-back: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPAydpVcqYWYBJfxewzTVCE5AL28e89wACDy8AArdzsVaw6hrKDotapzgE.png');
    --char-think: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAFpUNEcF0Q7Uw5HURkU5I9sxaxbUQACWSEAAmXMiVbMNo_IKbutPDYE.png');
    --char-bored: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORANpUNEctG38kn4cH9zBnVKmBP8uxAACWyEAAmXMiVY6YJeYrZ3ZcDYE.png');
    --char-blush: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAABaVDRHGuQuoNoQoU5jXaZtlSAbX4AAlghAAJlzIlW5e3LpRWwvgo2BA.png');
    --char-star: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAJpUNEcQNs5AuGOkMaQz_aSL0R2rwACWiEAAmXMiVYg0tUFelwZFTYE.png');
    --char-combat: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORARpUNEd3y92Xpzy6Vpd-szwWaSLwwACXCEAAmXMiVYemwhONNwiozYE.png');
    --char-laugh: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAZpUNEsw2MRr0yHNLTUjQSGBBCdRQACYCEAAmXMiVaNAAFr3Slrsxg2BA.png');
    --char-cry: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAhpUNEts0_uie9AwkK_okrXrvfOygACYiEAAmXMiVZ3Iozz1689ljYE.png');
    --char-tsun: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAVpUNErxpZ7BnRjlRUhCSJuG5aa_wACXyEAAmXMiVaUktXnNbaQJzYE.png');
    --char-point: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAdpUNEtlimlRJkOfN696c1AMkMjdQACYSEAAmXMiVY36hYflloyMTYE.png');
    --char-sorrow: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAlpUNEtnVZUo2Cwche93IjtKHAgmQACYyEAAmXMiVa67HlmWnT-ljYE.png');
    --char-proud: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAxpUNFR7s86nd2dUjvntPetTWSW2wACZyEAAmXMiVaV1ioFNHdvhzYE.png');
    --char-curious: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORA1pUNFR_qyYRS5QpqFbm8Ud2DGmcgACaCEAAmXMiVbYrlu8_XRa5zYE.png');
    --char-threat: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAtpUNFRnqUpwnluR4i5Dc0fS_xdDQACZiEAAmXMiVZIBcmcO_2VSDYE.png');
    --char-shy: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEORAppUNFR6TUZHevRjAdjlh2_FhzdUAACZSEAAmXMiVZnMg58oHBC6DYE.png');
    --char-nervous: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOl_lpVIDEAAEneYNddmmkXxqoblKQKCYAAl9TAAJ51aBWhlA0DNJ674k4BA.png');
    --char-kiss: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOl61pVH_Z-ANSL8z20-qL-aTvwF3bZwAC-1IAAnnVoFaXFPkch1V_2TgE.png');
    --char-sleeping: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPXcRpVysDAAEjRyhWnT5xjUOrlkncXioAAt5NAAK3c7lW3ohOge9RNr04BA.png');
    --char-surprised: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPXftpVy1Tu5rPuBrPav7s6ED2Oz-f1QACHE4AArdzuVbiv40GhbwbQzgE.png');
    --char-tea: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPYWppV0ogpGMrq_omS-hvHkhaPxDbPwACNBsAArdzwVbO5cF-8erxJTgE.png');

    /* --- 追加：特殊/私密场景立绘 (NSFW/Private) --- */
    --char-nude-kiss: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPjeJpW0ldHl-ehJaOwSI-qepbljMFBAAC0xcAAkKH4FZYVJQIRqoyMTgE.png'); 
    --char-nude-shy: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOY1FpU5x9BhSUrKwcE2WLsQe__93aGwAC8DkAAnnVmFZPGjKE64oZPjgE.png'); 
    --char-sheet: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOY1BpU5x9FTES1wQy6QdA33f--5IBYwAC7zkAAnnVmFa88obRhsCWKTgE.png'); 
    --char-kneel-nude: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOY05pU5x8E1wdAwt_2ZpFxDIZiB_yOgAC7TkAAnnVmFbJP5pPDECVszgE.png'); 
    --char-after: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOY09pU5x8TCN3ujRANU11KcWc_SefMAAC7jkAAnnVmFb3Y-4p124CLjgE.png'); 
    --char-missionary: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOY01pU5x7-096_bMSiuWP-HmYWpp-WAAC7DkAAnnVmFakdr6x_b3SnzgE.png'); 
    --char-cowgirl-back: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOY1JpU5yEoqly3owYmUo9Jo2qf9W02wAC8TkAAnnVmFanDtpl3pcadzgE.png'); 
    --char-cowgirl: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOZC9pU6g6qRigFTkGUV-pG5vmovNS2gAC7zoAAnnVmFZtr4VLbJQatDgE.png'); 
    --char-nude-happy: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOZDBpU6g6J5EPcS4az1No9EsW2435QQAC8DoAAnnVmFb9_vGSVdAJYjgE.png'); 
    --char-doggystyle-stand: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOZCxpU6g5g28okC9W6V9t8Lf--2A0YAAC7DoAAnnVmFZAFT_y3Fg8PjgE.png'); 
    --char-carry: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOZCppU6g2JTC0KnzeKYxUDzHSBNR1RAAC6joAAnnVmFa0YMgnr7zqkjgE.png'); 
    --char-sit-nude: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOZCtpU6g2Pca-ZgydSPPvwG9XudIT9wAC6zoAAnnVmFYxSXsbb_wVIDgE.png'); 
    --char-back-glance: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOZC5pU6g6rFK5rpfvSSa8B_TuZtGMLwAC7joAAnnVmFb4Cw1Ku9cOhTgE.png'); 
    --char-doggystyle: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOZClpU6g2TCtIGsiN_94LXNr8iaItegAC6ToAAnnVmFYAAV3DtrSBq2A4BA.png'); 
    --char-ahegao: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPXlNpVy9_YUITW_5VpJrrvPNlEMIc7AACdk4AArdzuVY9IosyPLqgJzgE.png'); 
    --char-aftersex: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEPXlNpVy9_YUITW_5VpJrrvPNlEMIc7AACdk4AArdzuVY9IosyPLqgJzgE.png'); 
    
    /* Q版表情库 (用于详细面板 & 任务卡片装饰) */
    --chibi-cry: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0v1pRnSfpBTAKQABqwINA6RuMXLCHZQAArEeAAJD5DlW3XajLb9pet42BA.png');
    --chibi-question: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0vZpRnSTwXcom7o93NP2xs8xSZ_uMAACqR4AAkPkOVYMXhfG8IiV0DYE.png');
    --chibi-sleep: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0vVpRnSTX8LJuKlcH62A1Ca9sC-U-wACqB4AAkPkOVYVGNb2bLJsNDYE.png');
    --chibi-angry: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0vFpRnSI0BxcjLiZJZgHk6-FbYfUVAACvmIAAkPkMVbsl1ggPiz6eTYE.png');
    --chibi-love: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0vBpRnSIiXYNWzNItVZg1iLbIDGnpwACvWIAAkPkMVYwavruHBtNkjYE.png');
    --chibi-proud: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0u9pRnSIcaRhWNtEkpoaZC9Cy1mi4wACvGIAAkPkMVYlq13wv7juJDYE.png');
    --chibi-expect: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0uRpRnRanaSaRGUeHWdhi0Sil8YKVQACsGIAAkPkMVahdNROOnVB3jYE.png');
    --chibi-scheming: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0uZpRnReMjiTEY_Zn7wXyv04NKdkMAACsmIAAkPkMVZw90IL52DUEzYE.png');
    --chibi-tea: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0uNpRnRaQZjR759ZGpp9fQABObtvZHwAAq9iAAJD5DFWuTYFV0m33Oc2BA.png');
    --chibi-shy: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0uVpRnRaWtS-P9KMzun5Kkpt-cva1wACsWIAAkPkMVbKRcKIJkeCxDYE.png');
    --chibi-eat: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEN0t1pRnRPC_ZdJxjn2FSgnlGoqBLA0QACqWIAAkPkMVYuuCiPW7tLUDYE.png');
}

/* --- 状态类名映射 (Class Mapping) --- */
.rili-markdown-renderer .bg-starfall-day { --bg-current: var(--bg-starfall-day); }
.rili-markdown-renderer .bg-starfall-night { --bg-current: var(--bg-starfall-night); }
.rili-markdown-renderer .bg-starfall-dusk { --bg-current: var(--bg-starfall-dusk); }
.rili-markdown-renderer .bg-gear-day { --bg-current: var(--bg-gear-day); }
.rili-markdown-renderer .bg-gear-night { --bg-current: var(--bg-gear-night); }
.rili-markdown-renderer .bg-capital-day { --bg-current: var(--bg-capital-day); }
.rili-markdown-renderer .bg-capital-night { --bg-current: var(--bg-capital-night); }
.rili-markdown-renderer .bg-capital-dusk { --bg-current: var(--bg-capital-dusk); }
.rili-markdown-renderer .bg-mist-day { --bg-current: var(--bg-mist-day); }
.rili-markdown-renderer .bg-mist-night { --bg-current: var(--bg-mist-night); }
.rili-markdown-renderer .bg-mist-dusk { --bg-current: var(--bg-mist-dusk); }
.rili-markdown-renderer .bg-desert-market-day { --bg-current: var(--bg-desert-market-day); }
.rili-markdown-renderer .bg-desert-market-night { --bg-current: var(--bg-desert-market-night); }
.rili-markdown-renderer .bg-desert-market-dusk { --bg-current: var(--bg-desert-market-dusk); }
.rili-markdown-renderer .bg-wind-day { --bg-current: var(--bg-wind-day); }
.rili-markdown-renderer .bg-wind-night { --bg-current: var(--bg-wind-night); }
.rili-markdown-renderer .bg-wind-dusk { --bg-current: var(--bg-wind-dusk); }
.rili-markdown-renderer .bg-sky-day { --bg-current: var(--bg-sky-day); }
.rili-markdown-renderer .bg-sky-night { --bg-current: var(--bg-sky-night); }
.rili-markdown-renderer .bg-sky-dusk { --bg-current: var(--bg-sky-dusk); }

/* 通用 */
.rili-markdown-renderer .bg-city-day { --bg-current: var(--bg-city-day); }
.rili-markdown-renderer .bg-city-night { --bg-current: var(--bg-city-night); }
.rili-markdown-renderer .bg-city-dusk { --bg-current: var(--bg-city-dusk); }
.rili-markdown-renderer .bg-town-day { --bg-current: var(--bg-town-day); }
.rili-markdown-renderer .bg-town-night { --bg-current: var(--bg-town-night); }
.rili-markdown-renderer .bg-town-dusk { --bg-current: var(--bg-town-dusk); }
.rili-markdown-renderer .bg-wild-day { --bg-current: var(--bg-wild-day); }
.rili-markdown-renderer .bg-wild-night { --bg-current: var(--bg-wild-night); }
.rili-markdown-renderer .bg-wild-dusk { --bg-current: var(--bg-wild-dusk); }
.rili-markdown-renderer .bg-forest-day { --bg-current: var(--bg-forest-day); }
.rili-markdown-renderer .bg-forest-night { --bg-current: var(--bg-forest-night); }
.rili-markdown-renderer .bg-forest-dusk { --bg-current: var(--bg-forest-dusk); }
.rili-markdown-renderer .bg-desert-day { --bg-current: var(--bg-desert-day); }
.rili-markdown-renderer .bg-desert-night { --bg-current: var(--bg-desert-night); }
.rili-markdown-renderer .bg-desert-dusk { --bg-current: var(--bg-desert-dusk); }
.rili-markdown-renderer .bg-snow-day { --bg-current: var(--bg-snow-day); }
.rili-markdown-renderer .bg-snow-night { --bg-current: var(--bg-snow-night); }
.rili-markdown-renderer .bg-snow-dusk { --bg-current: var(--bg-snow-dusk); }
.rili-markdown-renderer .bg-mount-day { --bg-current: var(--bg-mount-day); }
.rili-markdown-renderer .bg-mount-night { --bg-current: var(--bg-mount-night); }
.rili-markdown-renderer .bg-mount-dusk { --bg-current: var(--bg-mount-dusk); }
.rili-markdown-renderer .bg-mine { --bg-current: var(--bg-mine); }
.rili-markdown-renderer .bg-Lighthouse-day { --bg-current: var(--bg-Lighthouse-day); }
.rili-markdown-renderer .bg-Lighthouse-night { --bg-current: var(--bg-Lighthouse-night); }
.rili-markdown-renderer .bg-Lighthouse-dusk { --bg-current: var(--bg-Lighthouse-dusk); }

/* 室内 */
.rili-markdown-renderer .bg-shop-day { --bg-current: var(--bg-shop-day); }
.rili-markdown-renderer .bg-shop-night { --bg-current: var(--bg-shop-night); }
.rili-markdown-renderer .bg-shop-dusk { --bg-current: var(--bg-shop-dusk); }
.rili-markdown-renderer .bg-room-isa { --bg-current: var(--bg-room-isa); }
.rili-markdown-renderer .bg-inn-day { --bg-current: var(--bg-inn-day); }
.rili-markdown-renderer .bg-inn-night { --bg-current: var(--bg-inn-night); }
.rili-markdown-renderer .bg-inn-dusk { --bg-current: var(--bg-inn-dusk); }
.rili-markdown-renderer .bg-tavern-day { --bg-current: var(--bg-tavern-day); }
.rili-markdown-renderer .bg-tavern-night { --bg-current: var(--bg-tavern-night); }
.rili-markdown-renderer .bg-palace-day { --bg-current: var(--bg-palace-day); }
.rili-markdown-renderer .bg-palace-night { --bg-current: var(--bg-palace-night); }
.rili-markdown-renderer .bg-palace-dusk { --bg-current: var(--bg-palace-dusk); }
.rili-markdown-renderer .char-default { --char-current: var(--char-smile); }
.rili-markdown-renderer .char-smile   { --char-current: var(--char-smile); }
.rili-markdown-renderer .char-think   { --char-current: var(--char-think); }
.rili-markdown-renderer .char-tea   { --char-current: var(--char-tea); }
.rili-markdown-renderer .char-kiss   { --char-current: var(--char-kiss); }
.rili-markdown-renderer .char-bored   { --char-current: var(--char-bored); }
.rili-markdown-renderer .char-surprised   { --char-current: var(--char-surprised); }
.rili-markdown-renderer .char-sleeping   { --char-current: var(--char-sleeping); }
.rili-markdown-renderer .char-nervous   { --char-current: var(--char-nervous); } 
.rili-markdown-renderer .char-blush   { --char-current: var(--char-blush); }
.rili-markdown-renderer .char-star    { --char-current: var(--char-star); }
.rili-markdown-renderer .char-combat  { --char-current: var(--char-combat); }
.rili-markdown-renderer .char-laugh   { --char-current: var(--char-laugh); }
.rili-markdown-renderer .char-back   { --char-current: var(--char-back); }
.rili-markdown-renderer .char-cry     { --char-current: var(--char-cry); }
.rili-markdown-renderer .char-tsun    { --char-current: var(--char-tsun); }
.rili-markdown-renderer .char-point   { --char-current: var(--char-point); }
.rili-markdown-renderer .char-sorrow  { --char-current: var(--char-sorrow); }
.rili-markdown-renderer .char-proud   { --char-current: var(--char-proud); }
.rili-markdown-renderer .char-curious { --char-current: var(--char-curious); }
.rili-markdown-renderer .char-threat  { --char-current: var(--char-threat); }
.rili-markdown-renderer .char-shy     { --char-current: var(--char-shy); }
.rili-markdown-renderer .chibi-default { --chibi-current: var(--chibi-default); }
.rili-markdown-renderer .chibi-cry     { --chibi-current: var(--chibi-cry); }
.rili-markdown-renderer .chibi-question{ --chibi-current: var(--chibi-question); }
.rili-markdown-renderer .chibi-sleep   { --chibi-current: var(--chibi-sleep); }
.rili-markdown-renderer .chibi-angry   { --chibi-current: var(--chibi-angry); }
.rili-markdown-renderer .chibi-love    { --chibi-current: var(--chibi-love); }
.rili-markdown-renderer .chibi-proud   { --chibi-current: var(--chibi-proud); }
.rili-markdown-renderer .chibi-expect  { --chibi-current: var(--chibi-expect); }
.rili-markdown-renderer .chibi-scheming{ --chibi-current: var(--chibi-scheming); }
.rili-markdown-renderer .chibi-tea     { --chibi-current: var(--chibi-tea); }
.rili-markdown-renderer .chibi-shy     { --chibi-current: var(--chibi-shy); }
.rili-markdown-renderer .chibi-eat     { --chibi-current: var(--chibi-eat); }

/* --- 类名映射区 (追加映射) --- */
.rili-markdown-renderer .char-aftersex { --char-current: var(--char-aftersex); }
.rili-markdown-renderer .char-ahegao { --char-current: var(--char-ahegao); }
.rili-markdown-renderer .char-nude-kiss { --char-current: var(--char-nude-kiss); }
.rili-markdown-renderer .char-nude-shy { --char-current: var(--char-nude-shy); }
.rili-markdown-renderer .char-sheet { --char-current: var(--char-sheet); }
.rili-markdown-renderer .char-kneel-nude { --char-current: var(--char-kneel-nude); }
.rili-markdown-renderer .char-after { --char-current: var(--char-after); }
.rili-markdown-renderer .char-missionary { --char-current: var(--char-missionary); }
.rili-markdown-renderer .char-cowgirl-back { --char-current: var(--char-cowgirl-back); }
.rili-markdown-renderer .char-cowgirl { --char-current: var(--char-cowgirl); }
.rili-markdown-renderer .char-nude-happy { --char-current: var(--char-nude-happy); }
.rili-markdown-renderer .char-doggystyle-stand { --char-current: var(--char-doggystyle-stand); }
.rili-markdown-renderer .char-carry { --char-current: var(--char-carry); }
.rili-markdown-renderer .char-sit-nude { --char-current: var(--char-sit-nude); }
.rili-markdown-renderer .char-back-glance { --char-current: var(--char-back-glance); }
.rili-markdown-renderer .char-doggystyle { --char-current: var(--char-doggystyle); }

/* ==========================================================================
   📦 CONTAINER: 填满父容器的奥术手札 (Full Content Width)
   ========================================================================== */
.rili-markdown-renderer .grimoire-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    background-color: var(--bg-color);
    background-image: 
        radial-gradient(circle at 50% 50%, rgba(255,255,255,0.4), transparent),
        linear-gradient(to bottom, rgba(141, 110, 99, 0.05) 1px, transparent 1px);
    background-size: 100% 100%, 100% 3px;
    border: 2px solid #a1887f !important;
    border-radius: 8px !important; 
    padding: 15px !important;
    box-shadow: 
        inset 0 0 30px rgba(141, 110, 99, 0.2), 
        0 4px 10px rgba(0,0,0,0.1) !important;  
    overflow: hidden !important;
    position: relative;
}

.rili-markdown-renderer {
    padding: 0 !important;
}

/* 补充修正：移除对话框容器的内边距 (关键步骤) */
.is-assistant > div, .is-user > div {
    padding: 0 !important; 
    border: none !important;
    background: transparent !important;
}

/* ==========================================================================
   🦋 GALGAME MODULE: 视觉小说核心引擎
   ========================================================================== */
.rili-markdown-renderer .gal-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4; 
    max-height: 600px;
    margin: 0 auto 20px auto;
    border: 3px double var(--highlight-gold);
    border-radius: 8px;
    overflow: hidden;
    background-color: #000;
    box-shadow: 0 5px 15px rgba(0,0,0,0.4);
    z-index: 1;
}

.rili-markdown-renderer .gal-bg-layer {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;
    background-size: cover; background-position: center;
    background-image: var(--bg-current, var(--bg-default));
    filter: brightness(0.85); 
    transition: background-image 0.5s ease;
}

.rili-markdown-renderer .gal-char-group {
    position: absolute; bottom: 0; right: 0; width: 100%; height: 100%; z-index: 2;
    pointer-events: none;
}
.rili-markdown-renderer .gal-char-img {
    position: absolute; bottom: 0; right: 0; width: 100%; height: 100%;
    background-size: cover; 
    background-position: top center;
    background-repeat: no-repeat;
    background-image: var(--char-current, var(--char-default));
    transform: scale(0.85) translateY(10%);
    transform-origin: bottom center;
    transition: all 0.4s ease;
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.4));
}
.rili-markdown-renderer .gal-stage:has(.view-full-btn:hover) .gal-char-img {
    background-size: contain; background-position: bottom center;
    transform: scale(1) translateY(0); z-index: 20;
}

.rili-markdown-renderer .gal-ui-layer {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10;
    pointer-events: none; 
}

.rili-markdown-renderer .gal-nametag {
    pointer-events: auto; position: absolute; top: 15px; left: 15px;
    background: rgba(45, 27, 27, 0.85); padding: 5px 15px;
    border-left: 3px solid var(--highlight-gold); border-radius: 0 15px 15px 0;
    max-width: 45%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rili-markdown-renderer .name-main { display: block; color: var(--highlight-gold); font-weight: bold; font-size: 1.1em; }
.rili-markdown-renderer .name-sub { display: block; color: #aaa; font-size: 0.8em; text-transform: uppercase; }

.rili-markdown-renderer .view-full-btn {
    pointer-events: auto; position: absolute; top: 15px; right: 15px;
    width: 40px; height: 40px; background: rgba(0,0,0,0.6);
    border: 1px solid var(--highlight-gold); border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 1.2em; z-index: 30;
    cursor: help;
}

.rili-markdown-renderer .thought-bubble-control {
    pointer-events: auto; position: absolute; top: 80px; left: 15px; z-index: 25; max-width: 70%;
}
.rili-markdown-renderer .thought-icon {
    list-style: none; width: 36px; height: 36px; background: rgba(255, 255, 255, 0.9);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    cursor: pointer; box-shadow: 0 2px 5px rgba(0,0,0,0.3); font-size: 1.2em;
}
.rili-markdown-renderer .thought-icon::-webkit-details-marker { display: none; }
.rili-markdown-renderer .thought-content {
    margin-top: 10px; background: rgba(255, 255, 255, 0.95); color: #4e342e;
    padding: 12px; border-radius: 8px; border: 1px solid var(--accent-color); font-size: 0.9em;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    animation: popIn 0.3s ease;
}
@keyframes popIn { from { transform: scale(0.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }

.rili-markdown-renderer .gal-drawer-control {
    pointer-events: auto; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none; 
}
.rili-markdown-renderer .drawer-btn {
    pointer-events: auto; position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
    background: rgba(184, 134, 11, 0.9); color: #2d1b1b; font-weight: bold;
    border: 1px solid #fff; padding: 8px 24px; border-radius: 30px; z-index: 40;
    list-style: none; box-shadow: 0 4px 10px rgba(0,0,0,0.4); white-space: nowrap;
    transition: all 0.3s;
}
.rili-markdown-renderer .drawer-btn::-webkit-details-marker { display: none; }
.rili-markdown-renderer .drawer-btn:hover { background: #fff; color: var(--highlight-gold); }

.rili-markdown-renderer details[open] .drawer-btn {
    background: rgba(180, 0, 0, 0.8); border-color: #ff5252; color: #fff; font-size: 0;
}
.rili-markdown-renderer details[open] .drawer-btn::after { content: "✖ 关闭档案"; font-size: 15px; }

.rili-markdown-renderer .drawer-content {
    pointer-events: auto; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%;
    background: rgba(20, 10, 10, 0.6); 
    backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); 
    color: #e0e0e0; display: flex; flex-direction: column; z-index: 35;
    animation: slideUp 0.4s ease;
}
@keyframes slideUp { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.rili-markdown-renderer .drawer-inner-scroll {
    padding: 30px; overflow-y: auto; height: 100%; text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}
.rili-markdown-renderer .drawer-header {
    text-align: center; font-size: 1.4em; color: var(--highlight-gold);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); margin-bottom: 20px; padding-bottom: 10px;
}
.rili-markdown-renderer .npc-portrait-q {
    display: block; margin: 0 auto 15px auto; width: 120px; height: 120px;
    background-color: #fff8e1; border: 4px double var(--highlight-gold); border-radius: 12px;
    background-size: cover; background-image: var(--chibi-current, var(--chibi-default));
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}

/* ==========================================================================
   📜 QUEST CARD SYSTEM: 任务卡片系统
   ========================================================================== */
.rili-markdown-renderer .quest_panel_grid {
    display: flex; flex-direction: column; gap: 15px; padding: 5px;
}

.rili-markdown-renderer .quest-card {
    position: relative;
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: transform 0.2s, background 0.2s;
    overflow: visible; 
}
.rili-markdown-renderer .quest-card:hover {
    transform: translateY(-2px);
    border-color: var(--highlight-gold);
    background: rgba(255, 255, 255, 0.8);
}

.rili-markdown-renderer .quest-deco {
    position: absolute;
    top: -12px; right: -12px;
    width: 45px; height: 45px;
    background-size: cover;
    background-image: var(--chibi-current, var(--chibi-default)); 
    filter: drop-shadow(0 3px 5px rgba(0,0,0,0.3));
    z-index: 5;
    border: none;
}

.rili-markdown-renderer .q-title {
    font-weight: bold; color: #5d4037; font-size: 1.1em;
    border-bottom: 1px dashed var(--border-color); padding-bottom: 5px; margin-bottom: 8px;
}
.rili-markdown-renderer .q-content { font-size: 0.95em; color: var(--secondary-text); }

/* ==========================================================================
   🗄️ GRIMOIRE DRAWERS: 功能性抽屉
   ========================================================================== */
.rili-markdown-renderer .grimoire-drawers { margin-bottom: 20px; }

.rili-markdown-renderer .grimoire-drawer {
    margin-bottom: 8px;
    border: 1px solid rgba(161, 136, 127, 0.2);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.3);
    transition: all 0.3s;
}
.rili-markdown-renderer .grimoire-drawer[open] {
    background: rgba(255, 255, 255, 0.6);
    border-color: var(--border-color);
}

.rili-markdown-renderer .grimoire-drawer summary {
    list-style: none; padding: 10px 15px; font-weight: bold; cursor: pointer;
    background: rgba(244, 228, 188, 0.3); color: var(--primary-color);
    transition: all 0.2s; position: relative; padding-left: 35px;
}
.rili-markdown-renderer .grimoire-drawer summary:hover {
    background: rgba(244, 228, 188, 0.6); color: var(--highlight-gold);
}
.rili-markdown-renderer .grimoire-drawer summary::-webkit-details-marker { display: none; }

.rili-markdown-renderer .grimoire-drawer summary::before {
    content: "🔖"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-size: 14px;
}
.rili-markdown-renderer .grimoire-drawer[open] > summary::before { content: "📖"; }

.rili-markdown-renderer .drawer-body { padding: 15px; }

/* ==========================================================================
   🖋 NARRATIVE & LOGIC: 叙事与逻辑区
   ========================================================================== */
.rili-markdown-renderer .process-box {
    border: 1px double var(--accent-color); background: rgba(255, 255, 255, 0.4); margin-bottom: 15px;
}
.rili-markdown-renderer .process-box summary { background: linear-gradient(90deg, var(--accent-glow), transparent); color: var(--accent-color); font-size: 0.85em; }
.rili-markdown-renderer .thought-content {
    font-family: "Consolas", monospace; font-size: 0.85em; padding: 12px; color: #795548;
    background: rgba(142, 36, 170, 0.02);
    background-image: linear-gradient(90deg, transparent 50%, rgba(142, 36, 170, 0.05) 50%);
    background-size: 4px 100%; animation: weave 20s linear infinite;
}
@keyframes weave { from { background-position: 0 0; } to { background-position: 100px 0; } }

.rili-markdown-renderer .narrative-body {
    padding: 20px; font-size: 1.1em; color: var(--primary-color); line-height: 1.8;
    background: rgba(255, 255, 255, 0.2); border-left: 2px solid var(--border-color);
    border-radius: 4px; margin-bottom: 20px;
}
.rili-markdown-renderer .narrative-body p { margin-bottom: 1.2em; }
.rili-markdown-renderer p[style*="color: #2957a2ff"] {
    color: #4e342e !important; border-left: 3px solid var(--highlight-gold);
    background: rgba(184, 134, 11, 0.05); padding: 8px 15px; font-style: italic; border-radius: 0 4px 4px 0;
}

/* ==========================================================================
   🛠️ UTILITIES: 通用工具类
   ========================================================================== */
.rili-markdown-renderer .info { color: var(--highlight-gold); font-weight: bold; margin-right: 5px; }
.rili-markdown-renderer .sub_info { color: var(--accent-color); font-weight: bold; }
.rili-markdown-renderer .magic-divider { border: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--border-color), transparent); margin: 15px 0; }

.rili-markdown-renderer T { position: relative; display: inline-block; cursor: help; color: var(--accent-color); border-bottom: 1px dotted var(--accent-color); }
.rili-markdown-renderer T Ti {
    visibility: hidden; opacity: 0; position: absolute; z-index: 9999; bottom: 130%; left: 0;
    width: max-content; max-width: 260px; background: var(--overlay-bg-color); color: #eee;
    padding: 12px; border-radius: 4px; font-size: 0.9em; box-shadow: 0 10px 20px rgba(0,0,0,0.4);
    border: 1px solid var(--highlight-gold); transition: all 0.3s; pointer-events: none;
}
.rili-markdown-renderer T Ti::after { content: ""; position: absolute; top: 100%; left: 20px; border: 6px solid transparent; border-top-color: var(--highlight-gold); }
.rili-markdown-renderer T:hover Ti { visibility: visible; opacity: 1; transform: translateY(-5px); }

.rili-markdown-renderer table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 10px 0; background: rgba(255, 255, 255, 0.3); border-radius: 4px; border: 1px solid var(--border-color); }
.rili-markdown-renderer th { background: var(--bg-accent); padding: 10px; font-size: 0.9em; }
.rili-markdown-renderer td { padding: 10px; border-top: 1px solid rgba(161, 136, 127, 0.1); font-size: 0.85em; }

.rili-markdown-renderer .choice ol { list-style: none; padding: 0; }
.rili-markdown-renderer .choice li {
    background: linear-gradient(90deg, rgba(184, 134, 11, 0.05), transparent);
    margin: 8px 0; padding: 12px 15px; border-left: 3px solid var(--border-color);
    transition: all 0.3s; cursor: pointer;
}
.rili-markdown-renderer .choice li:hover { border-left-color: var(--highlight-gold); background: linear-gradient(90deg, rgba(184, 134, 11, 0.15), transparent); transform: translateX(5px); }
.rili-markdown-renderer .opt-tag { color: var(--highlight-gold); font-weight: bold; }

.rili-markdown-renderer .side-map {
    position: absolute;
    top: 20px; right: 0; z-index: 100;
    margin: 0; border: none; background: transparent; width: auto;
}

.rili-markdown-renderer .side-map summary {
    list-style: none; width: 40px; height: 40px;
    background: rgba(184, 134, 11, 0.9); color: #fff;
    border-radius: 20px 0 0 20px; display: flex; align-items: center; justify-content: center;
    cursor: pointer; font-size: 1.2em; box-shadow: -2px 2px 5px rgba(0,0,0,0.2);
    transition: all 0.3s ease; position: relative; right: 0;
}
.rili-markdown-renderer .side-map summary:hover { background: #fff; color: var(--highlight-gold); width: 50px; }
.rili-markdown-renderer .side-map summary::-webkit-details-marker { display: none; }

.rili-markdown-renderer .map-container {
    position: absolute;
    top: 0; right: 50px;
    width: 0; height: 0; 
    overflow: auto; 
    -webkit-overflow-scrolling: touch; 
    background: #000;
    border: 2px solid var(--highlight-gold);
    border-radius: 8px;
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform-origin: top right;
    transform: scale(0);
}

.rili-markdown-renderer .side-map[open] .map-container {
    width: 300px; 
    height: 180px; 
    opacity: 1;
    transform: scale(1);
    box-shadow: -5px 5px 20px rgba(0,0,0,0.5);
}

.rili-markdown-renderer .side-map[open] summary { background: #d32f2f; color: #fff; }

.rili-markdown-renderer .world-map {
    width: 500px;  
    height: 300px; 
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEOVtdpUmsWH_---Ylu5esrgGkhZJI47wACtigAAoBckFaCR0p0XF72mTYE.jpg');
    background-size: cover; 
    background-position: center;
    cursor: grab;
}

.rili-markdown-renderer .map-container::-webkit-scrollbar {
    width: 8px; height: 8px;
}
.rili-markdown-renderer .map-container::-webkit-scrollbar-thumb {
    background: var(--highlight-gold);
    border-radius: 4px;
}
.rili-markdown-renderer .map-container::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.3);
}

/* ==========================================================================
   🎵 MUSIC PLAYER MODULE (v2.0 Standalone)
   ========================================================================== */
.rili-markdown-renderer .music-player-standalone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(244, 228, 188, 0.4); 
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 8px 15px;
    margin: 15px 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.rili-markdown-renderer .music-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rili-markdown-renderer .music-icon {
    font-size: 1.5em;
    color: var(--highlight-gold);
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.rili-markdown-renderer .music-title {
    font-weight: bold;
    color: var(--primary-color);
    font-size: 0.95em;
    max-width: 150px; 
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rili-markdown-renderer .audio-control {
    height: 35px; 
    max-width: 60%; 
}

.rili-markdown-renderer .audio-control::-webkit-media-controls-timeline {
    background-color: rgba(62, 39, 35, 0.1); 
    border-radius: 4px;
    border: 1px solid rgba(62, 39, 35, 0.2);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}

.rili-markdown-renderer .audio-control::-webkit-media-controls-play-button {
    background-color: var(--highlight-gold);
    border-radius: 50%;
    transition: background-color 0.2s;
}
.rili-markdown-renderer .audio-control::-webkit-media-controls-play-button:hover {
    background-color: #fff;
}

.rili-markdown-renderer .audio-control::-webkit-media-controls-volume-slider {
    background-color: rgba(62, 39, 35, 0.1);
    border-radius: 4px;
}

.rili-markdown-renderer .audio-control::-moz-range-track {
    background: rgba(62, 39, 35, 0.1);
}
.rili-markdown-renderer .audio-control::-moz-range-thumb {
    background: var(--highlight-gold);
}

/* ==========================================================================
   🎵 MUSIC LIBRARY (音乐库)
   ========================================================================== */
.rili-markdown-renderer {
    --bgm-festival: url('https://poised-gold-auata11nsg.edgeone.app/Oonagh%20-%20Sing%20mir%20deine%20Lieder.mp3');
    --bgm-journey: url('https://armed-coral-hh4wcfds5t.edgeone.app/樋口秀樹%20-%20少女が步く森.mp3');
    --bgm-sunny: url('https://cooing-azure-9oe8vxruio.edgeone.app/安瀬聖%20-%20陽炎.mp3');
    --bgm-dusk: url('https://serious-aquamarine-iuttmbehel.edgeone.app/忍%20-%20黄昏のエチュード.mp3');
    --bgm-battle: url('https://querulous-beige-oee52eujet.edgeone.app/Rigël%20Theatre%20-%20Grad%20Erlija%20-Retrospektiva-.mp3');
    --bgm-mining-city: url('https://dramatic-plum-kmdly1nthu.edgeone.app/内山利彦%20-%20Always.mp3');
    --bgm-progress: url('https://combined-crimson-hunmygvavt.edgeone.app/麻枝准%20-%20同じ高みへ.mp3');
    --bgm-dialogue: url('https://subtle-magenta-uao9lsnobu.edgeone.app/松本文紀%20-%20夜の向日葵.mp3');
    --bgm-boss: url('https://basic-red-2cvdxcsgst.edgeone.app/Go%20Shiina,Jose%20Delgado,Sachiko%20Miyano%20-%20Code%20Vein.mp3');
    --bgm-departure: url('https://exclusive-coral-bcfp5chole.edgeone.app/Celtic%20Woman%20-%20Tír%20na%20nÓg.mp3');
    --bgm-love: url('https://shallow-turquoise-39qrhrsysu.edgeone.app/忍%20-%20All%20Over%20Love.mp3');
    --bgm-private: url('https://entitled-beige-47g4fv7vou.edgeone.app/忍%20-%20風車の丘で.mp3');
    --bgm-comedy: url('https://elegant-salmon-nq0uciymit.edgeone.app/忍%20-%20ストロベリーパニック.mp3');
    --bgm-turnaround: url('https://rising-apricot-xn031ek1kk.edgeone.app/忍%20-%20今、開かれる、トビラ.mp3');
    --bgm-secret: url('https://recent-lime-wclge8dkdb.edgeone.app/忍%20-%20静かな海と楽しい航海.mp3');
    --bgm-relax: url('https://smiling-white-tqpvylwpau.edgeone.app/忍%20-%20鏡の国のアリス.mp3');
    --bgm-sad: url('https://broad-green-ky0surleit.edgeone.app/忍%20-%20空知らぬ雨.mp3');
    --bgm-quiet-night: url('https://big-aquamarine-gsggm9chc2.edgeone.app/忍%20-%20星月夜.mp3');
}

.rili-markdown-renderer .scene-layer {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none; 
    z-index: 2;
}

.rili-markdown-renderer .scene-switch-wrapper {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 20; 
    pointer-events: none; 
}

.rili-markdown-renderer .scene-switch-wrapper > summary {
    pointer-events: auto; 
    position: absolute;
    bottom: 70px; 
    right: 15px;
    z-index: 50;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    border: 1px solid var(--highlight-gold);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
    backdrop-filter: blur(2px);
    list-style: none;
    width: fit-content;
}
.rili-markdown-renderer .scene-switch-wrapper > summary:hover {
    background: var(--highlight-gold); color: #000;
}
.rili-markdown-renderer .scene-switch-wrapper > summary::-webkit-details-marker { display: none; }

.rili-markdown-renderer .scene-switch-wrapper[open] .scene-b {
    background: rgba(0,0,0,0.01); 
    pointer-events: none;
    animation: fadeIn 0.5s ease;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.rili-markdown-renderer .scene-switch-wrapper[open] > summary {
    background: var(--highlight-gold);
    color: #000;
    font-size: 0; 
}
.rili-markdown-renderer .scene-switch-wrapper[open] > summary::after {
    content: "◀ 上一幕";
    font-size: 13px; 
}

.rili-markdown-renderer .thought-control-wrapper {
    position: absolute;
    top: 80px; left: 15px;
    z-index: 25;
    max-width: 70%;
    pointer-events: auto; 
}

.rili-markdown-renderer .thought-bubble-control summary {
    list-style: none;
    width: 36px; height: 36px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    font-size: 1.2em;
    transition: transform 0.2s;
}
.rili-markdown-renderer .thought-bubble-control summary:hover { transform: scale(1.1); }
.rili-markdown-renderer .thought-bubble-control summary::-webkit-details-marker { display: none; }

.rili-markdown-renderer .thought-content {
    margin-top: 10px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #3e2723;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid var(--accent-color);
    font-size: 0.9em;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    animation: popIn 0.3s ease;
    width: max-content;      
    max-width: 200px;        
    min-width: 120px;        
    white-space: normal;     
    word-break: break-word;  
    text-align: left;        
}

.rili-markdown-renderer .gal-char-img {
    position: absolute; bottom: 0; right: 0; width: 100%; height: 100%;
    background-size: cover; background-position: top center;
    background-repeat: no-repeat;
    background-image: var(--char-current, var(--char-default));
    transform: scale(0.85) translateY(10%);
    transform-origin: bottom center;
    transition: all 0.4s ease;
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.4));
}

/* ==========================================================================
   🖋️ UI INTERFACE ENHANCEMENT (界面元素美化)
   ========================================================================== */

/* 1. 隐藏用户头像框 */
img.rounded-full.not-toggle, 
img[src*="user.webp"],
.shrink-0.relative.w-10.h-10.bg-gray-100\/90.rounded-full {
    display: none !important;
}

/* 2. 操作按钮组背景 (适配Rili平台) */
.bg-muted.rounded.flex.p-0\.5 {
    background: rgba(78, 52, 46, 0.15) !important; 
    padding: 6px 10px !important;
    border-radius: 10px !important;
    border: 1px solid var(--border-color) !important;
    gap: 8px !important;
    backdrop-filter: blur(2px);
    margin-bottom: 10px !important;
}

.bg-muted.rounded.flex.p-0\.5 button {
    color: var(--primary-color) !important;
    font-weight: bold !important;
    transition: all 0.2s !important;
    background: transparent !important;
}

.bg-muted.rounded.flex.p-0\.5 button:hover {
    background: var(--bg-accent) !important;
    color: var(--accent-color) !important;
    transform: translateY(-1px);
}

.bg-muted.rounded.flex.p-0\.5 button svg {
    stroke: currentColor !important;
}

/* 3. 消耗信息隐藏与悬浮显示 (适配Rili平台) */
.text-xs.font-mono.text-muted-foreground {
    position: relative !important;
    min-height: 24px !important;
    cursor: help !important;
    background: rgba(142, 36, 170, 0.05) !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
    display: flex !important;
    align-items: center !important;
}

.text-xs.font-mono.text-muted-foreground > * {
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}

.text-xs.font-mono.text-muted-foreground::before {
    content: "📜 触碰以查看法力消耗 (Tokens)";
    position: absolute;
    left: 10px;
    font-size: 12px;
    color: var(--accent-color);
    font-weight: bold;
    opacity: 0.8;
}

.text-xs.font-mono.text-muted-foreground:hover > * {
    opacity: 1 !important;
}
.text-xs.font-mono.text-muted-foreground:hover::before {
    display: none !important;
}

/* 4. 输入框区域美化 (符合魔法主题) */
.border-gray-200.rounded-xl.mb-2 {
    background-color: var(--bg-color) !important; 
    background-image: url('https://www.transparenttextures.com/patterns/papyrus-dark.png') !important;
    border: 2px solid var(--highlight-gold) !important; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.1), inset 0 0 15px rgba(184, 134, 11, 0.1) !important;
}

#ai-chat-input {
    background: transparent !important;
    color: var(--primary-color) !important;
    font-family: "Georgia", serif !important;
    font-size: 15px !important;
}

#ai-send-button {
    background: var(--highlight-gold) !important;
    color: white !important;
    border-radius: 8px !important;
    transition: all 0.3s !important;
}
#ai-send-button:hover {
    box-shadow: 0 0 10px var(--highlight-gold) !important;
    transform: scale(1.05);
}

/* 5. 底部功能按钮 (Mod, 流式, 评论等) */
#ai-mod-button2 button {
    background: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--secondary-text) !important;
    font-variant: small-caps !important;
    letter-spacing: 1px !important;
}

#ai-mod-button2 button:hover {
    background: var(--accent-glow) !important;
    border-color: var(--accent-color) !important;
    color: var(--accent-color) !important;
}

/* ==========================================================================
   🌌 ARCANUM UI RECONSTRUCTION (奥术界面全面重构)
   ========================================================================== */

/* 2. 叙事文本：羊皮纸背景化 (针对故事段落) */
.rili-markdown-renderer > p {
    background-color: #fdf5e6 !important;
    background-image: url('https://www.transparenttextures.com/patterns/p6.png') !important; 
    border: 1px solid #d7ccc8 !important;
    border-left: 4px solid var(--highlight-gold) !important;
    padding: 15px 20px !important;
    border-radius: 4px !important;
    color: var(--primary-color) !important;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.05) !important;
    margin: 10px 0 !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

/* 3. 底部功能按钮：奇幻装饰 (Mod, 流式, 评论等) */
#ai-mod-button2 button {
    background: linear-gradient(135deg, #EAC100, #FFDC35) !important;
    border: 1px solid var(--highlight-gold) !important;
    color: var(--highlight-gold) !important;
    text-transform: uppercase !important;
    font-weight: bold !important;
    box-shadow: 0 0 5px rgba(184, 134, 11, 0.3) !important;
    position: relative !important;
    overflow: hidden !important;
}

#ai-mod-button2 button::after {
    content: "✨";
    position: absolute;
    right: 2px;
    top: 2px;
    font-size: 8px;
    opacity: 0.5;
}

#ai-mod-button2 button:hover {
    box-shadow: 0 0 15px var(--highlight-gold) !important;
    color: #fff !important;
    transform: scale(1.02);
}

/* 4. 顶部导航栏：动态奇幻背景 */
.sticky.w-full.top-0.backdrop-blur-md.z-20 {
    background: var(--bg-color) !important;
    border-bottom: 2px solid var(--highlight-gold) !important;
    background-image: linear-gradient(90deg, 
        transparent 0%, 
        rgba(142, 36, 170, 0.05) 50%, 
        transparent 100%) !important;
    background-size: 200% 100% !important;
    animation: arcaneFlow 10s linear infinite !important;
}

@keyframes arcaneFlow {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}

#ai-model-selector .group {
    background: rgba(78, 52, 46, 0.1) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 20px !important;
}

#ai-model-selector .truncate {
    color: var(--accent-color) !important;
    font-weight: bold !important;
}

/* 5. 模型选择选项卡 (Tabs) 美化 */
.MuiTabs-root {
    background: var(--bg-accent) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.MuiTab-root {
    color: var(--secondary-text) !important;
    font-weight: bold !important;
    font-variant: small-caps !important;
}

.MuiTab-root.Mui-selected {
    color: var(--accent-color) !important;
    background: rgba(255,255,255,0.3) !important;
}

.MuiTabs-indicator {
    background-color: var(--accent-color) !important;
    height: 3px !important;
}

.css-affi5k {
    background: rgba(0,0,0,0.05) !important;
    border: 1px inset rgba(0,0,0,0.1) !important;
    color: var(--secondary-text) !important;
}

.css-1aeguwf {
    background: white !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
}

/* 6. 评论区：完全不透明重构 */
div[style*="height: 100%"].z-20 {
    background-color: #fdf5e6 !important; 
    background-image: url('https://www.transparenttextures.com/patterns/natural-paper.png') !important;
    opacity: 1 !important;
    box-shadow: -5px 0 20px rgba(0,0,0,0.2) !important;
    border-left: 4px double var(--highlight-gold) !important;
    z-index: 9999 !important; 
}

div[style*="height: 100%"].z-20 .border-gray-200.rounded-xl {
    background: white !important;
    border: 1px solid var(--border-color) !important;
    opacity: 1 !important;
}

.css-1guc3ku {
    color: #d32f2f !important;
}
.css-1guc3ku:hover {
    background: rgba(211, 47, 47, 0.1) !important;
}

.MuiButton-containedPrimary.css-i2speq {
    background-color: var(--primary-color) !important;
}
.MuiButton-outlinedPrimary.css-1k2wzes {
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}

/* ==========================================================================
   🛡️ UI PROTECTION & FIX (UI 隔离与显示修复)
   ========================================================================== */
.grimoire-container p,
.grimoire-container .thought-content p,
.grimoire-container .drawer-content p {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border-left: none !important;
    background-image: none !important;
}

.rili-markdown-renderer .scene-a {
    display: block !important;
    opacity: 1 !important;
    z-index: 5 !important; 
    pointer-events: none;
}

.rili-markdown-renderer .scene-a .gal-char-img {
    visibility: visible !important;
    opacity: 1 !important;
}

.rili-markdown-renderer .thought-bubble-control {
    z-index: 60 !important; 
}

.rili-markdown-renderer .thought-content {
    display: block !important;
    visibility: visible !important;
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    width: max-content !important;
    min-width: 120px !important;
    max-width: 220px !important;
}

.rili-markdown-renderer .scene-switch-wrapper:not([open]) {
    background: transparent !important;
}

.rili-markdown-renderer .scene-switch-wrapper:not([open]) .scene-b {
    display: none !important; 
}

.rili-markdown-renderer .scene-switch-wrapper[open] + .scene-a {
    opacity: 0 !important;
    visibility: hidden !important;
}

.rili-markdown-renderer .scene-a {
    display: block !important;
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 5 !important; 
    opacity: 1 !important;
    pointer-events: none; 
}

.rili-markdown-renderer .scene-switch-wrapper {
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 20 !important; 
    pointer-events: none; 
    background: transparent !important; 
}

.rili-markdown-renderer .scene-switch-wrapper > summary {
    pointer-events: auto !important;
    z-index: 50 !important;
}

.rili-markdown-renderer .scene-switch-wrapper:not([open]) .scene-b {
    display: none !important;
}

.rili-markdown-renderer .scene-switch-wrapper[open] .scene-b {
    display: block !important;
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
    background: transparent !important;
    z-index: 30 !important;
}

.rili-markdown-renderer .gal-char-img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}

/* ==========================================================================
   💰 LEDGER MODULE (极简版)
   ========================================================================== */
.rili-markdown-renderer .ledger-simple {
    padding: 10px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.rili-markdown-renderer .total-assets {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--bg-accent);
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 15px;
    border-top: 2px solid var(--highlight-gold);
    font-size: 1.1em;
}

.rili-markdown-renderer .total-assets span {
    color: var(--secondary-text);
    font-weight: bold;
}

.rili-markdown-renderer .total-assets strong {
    color: var(--highlight-gold);
    font-size: 1.5em;
    text-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.rili-markdown-renderer .transaction-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rili-markdown-renderer .transaction-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    margin-bottom: 5px;
    border-radius: 4px;
    font-size: 0.95em;
    border-left: 3px solid; 
}

.rili-markdown-renderer .transaction-list .income {
    background: rgba(46, 125, 50, 0.05);
    border-left-color: #4caf50;
}
.rili-markdown-renderer .transaction-list .income span:first-child {
    color: #388e3c;
    font-weight: bold;
}

.rili-markdown-renderer .transaction-list .expense {
    background: rgba(198, 40, 40, 0.05);
    border-left-color: #f44336;
}
.rili-markdown-renderer .transaction-list .expense span:first-child {
    color: #d32f2f;
    font-weight: bold;
}

/* ==========================================================================
   👤 NPC MINI-CARD (其他NPC极简状态栏)
   ========================================================================== */
.rili-markdown-renderer .npc-mini-card {
    background: rgba(0,0,0,0.02) !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    border-radius: 6px !important;
    margin: 8px 10px !important; 
}

.rili-markdown-renderer .npc-mini-card summary {
    font-weight: bold;
    color: var(--secondary-text);
    padding: 6px 12px !important; 
    background: transparent !important;
    font-size: 0.95em;
}

.rili-markdown-renderer .npc-mini-card summary::before {
    content: "›" !important;
    font-size: 1.2em;
    font-weight: bold;
    transition: transform 0.2s;
}
.rili-markdown-renderer .npc-mini-card[open] summary::before {
    transform: rotate(90deg);
}

.rili-markdown-renderer .npc-mini-card span {
    display: block;
    padding: 0 12px 10px 12px;
    font-size: 0.9em;
    line-height: 1.5;
    color: var(--secondary-text);
}

.rili-markdown-renderer .npc-mini-card b {
    color: var(--primary-color);
}

/* ==========================================================================
   📜 ARCANE CHANTING (奥术咏唱加载动画 - 适配Rili平台)
   ========================================================================== */
@keyframes arcane-gear-rotation {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@keyframes arcane-gear-rotation-reverse {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}
@keyframes arcane-glow-pulse {
    0%, 100% { box-shadow: 0 0 5px var(--accent-color); opacity: 0.8; }
    50% { box-shadow: 0 0 15px var(--accent-color); opacity: 1; }
}

/* 1. 容器改造：变为一个魔法石板 */
.flex.gap-2.w-full.h-full.items-center.justify-center:has(> span.bg-primary) {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: auto !important;
    height: auto !important;
    padding: 20px 25px !important;
    background: linear-gradient(145deg, #3a2b27, #2d1b1b) !important;
    border: 2px solid var(--highlight-gold) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
    position: relative !important;
}

/* 2. 隐藏原有的三个闪烁点 */
.flex.gap-2.w-full.h-full.items-center.justify-center > span.bg-primary {
    display: none !important;
}

/* 3. 创建新的符文齿轮动画 */
.flex.gap-2.w-full.h-full.items-center.justify-center:has(> span.bg-primary)::before {
    content: "⚙️"; 
    display: block !important;
    font-size: 40px !important;
    color: var(--highlight-gold) !important;
    text-shadow: 0 0 10px var(--highlight-gold);
    animation: 
        arcane-gear-rotation 4s linear infinite, 
        arcane-glow-pulse 2s ease-in-out infinite; 
    position: relative;
}

/* 4. 修改提示文本的样式 */
.flex.gap-2.w-full.h-full.items-center.justify-center:has(> span.bg-primary)::after {
    content: '奥术符文咏唱中... 不要用黑夜模式游玩！(若是看不清字体请右上角页面设置自行调节透明度，推荐右上角调节记忆2以节约消耗)';
    font-family: "Georgia", "Palatino Linotype", serif; 
    font-size: 14px;
    font-style: italic;
    color: #e0e0e0; 
    margin-left: 20px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
    letter-spacing: 0.5px;
}

.scene-switch-wrapper[open] ~ .scene-a {
    display: none !important;
}

.scene-switch-wrapper[open] .scene-b {
    display: block;
    position: fixed; 
    top: 0;
    left: 0;
}

.rili-markdown-renderer .info,
.rili-markdown-renderer .total-amount,
.rili-markdown-renderer .drawer-content .info,
.rili-markdown-renderer .gal-nametag .name-main,
.rili-markdown-renderer .view-full-btn:hover,
.rili-markdown-renderer .switch-btn:hover,
.rili-markdown-renderer .music-player-standalone:has(audio) .music-icon,
.rili-markdown-renderer .opt-tag {
    color: var(--highlight-gold) !important; 
    -webkit-filter: none !important; 
    filter: none !important; 
}

.rili-markdown-renderer .accent-color,
.rili-markdown-renderer .sub_info,
.rili-markdown-renderer .drawer-content .sub_info,
.rili-markdown-renderer .thought-content {
    color: var(--accent-color) !important; 
    -webkit-filter: none !important;
    filter: none !important;
}

.rili-markdown-renderer .thought-content {
    background-color: rgba(255, 255, 255, 0.95) !important;
}

.rili-markdown-renderer,
.rili-markdown-renderer .char_panel,
.rili-markdown-renderer .q-content {
    color: var(--primary-color) !important; 
    -webkit-filter: none !important;
    filter: none !important;
}

.rili-markdown-renderer .secondary-text,
.rili-markdown-renderer .total-title {
    color: var(--secondary-text) !important; 
    -webkit-filter: none !important;
    filter: none !important;
}

.rili-markdown-renderer .income .amount {
    color: #388e3c !important; 
}
.rili-markdown-renderer .expenses .amount {
    color: #d32f2f !important; 
}

.rili-markdown-renderer .drawer-content,
.rili-markdown-renderer .drawer-content p,
.rili-markdown-renderer .drawer-content li {
    color: #e0e0e0 !important; 
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important; 
}

.rili-markdown-renderer .drawer-content .info {
    color: #ffd700 !important; 
}
.rili-markdown-renderer .drawer-content .sub_info {
    color: #e1bee7 !important; 
}

/* ==========================================================================
   🚨 GHOSTING & TEXT FIX (重影与文字格式修复)
   ========================================================================== */
.rili-markdown-renderer .scene-switch-wrapper[open] + .scene-a {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.rili-markdown-renderer .thought-content {
    width: max-content !important; 
    min-width: 140px !important;   
    max-width: 220px !important;   
    white-space: normal !important; 
    word-break: break-word !important;
    text-align: left !important;
    display: block !important;
}

.rili-markdown-renderer .bubble-text {
    display: inline-block !important;
    width: 100% !important;
}

.rili-markdown-renderer .scene-layer {
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
}

.rili-markdown-renderer .scene-switch-wrapper[open] .scene-b {
    z-index: 30 !important;
    pointer-events: none; 
}

.rili-markdown-renderer .thought-content {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #3e2723 !important;
    backdrop-filter: blur(8px) !important;
}

/* ==========================================================================
   🛡️ BUBBLE Z-INDEX FIX (心声气泡防遮挡修复)
   ========================================================================== */
.rili-markdown-renderer .thought-control-wrapper {
    z-index: 100 !important; 
    pointer-events: none !important; 
}

.rili-markdown-renderer .thought-bubble-control {
    pointer-events: auto !important;
}

.rili-markdown-renderer .thought-content {
    position: relative !important; 
    z-index: 101 !important; 
    margin-bottom: 10px !important;
}

@media (max-width: 400px) {
    .rili-markdown-renderer .thought-control-wrapper {
        top: 60px !important; 
    }
}