{"id":"f8e87598-d3f2-440a-a79e-84abdc8e5b13","authorId":"wnHWKRykFDdirWpIYMz6mixhZDe4gYmt","title":"⭐契约之界⭐【大世界｜Roll天赋｜契约系统｜全状态栏】","description":"【新人第一次做卡，有什么问题或者建议请给我私信反馈（＾ω＾），水群：1050278737，请帮我多评论和好评求求惹！！！】\n你听见过灵魂被烙上誓纹的声音吗？\n那不是痛苦，是因果在尖叫。\n\n“契约之界”——一个以太与脉炁交融的禁忌世界。\n在这里，你的血统决定起点，但你的欲望决定终点。\n东方符箓与西方炼金术刻在同一块石碑上；\n精灵祭司会跪在你脚边，请求你为她烙印“绝对支配”；\n龙血裔的鳞片会在高潮时逆立，让你痛并快乐着。\n\n18岁誓约仪轨是每个人的成人礼——但你是界限突破者，阿克夏铁律对你无效。\n你可以契约任何人：战败的女骑士、高傲的魔王、甚至那个在圣誓大教堂里忏悔的神官。\n肉契锁住她的快感，支配契夺走她的意志，灵魂熔铸让她彻底成为你的一部分。\n\n这里没有“NPC”，只有等待被解锁的因果。\n太阴幽泉的雾气会放大你的情欲；\n天碑剑冢的风暴会撕裂你的理智；\n蜃海深渊在低语，邀请你献上五感。\n而你——手握契约书，站在世界中央。\n\n别问代价。问就是：你敢签吗？","background":null,"backgroundWidth":null,"backgroundHeight":null,"cover":"e2jk5e90puvifdmn97uqmhmc.webp","coverWidth":null,"coverHeight":null,"introPage":"a555cs4gmmz8hfg7y87754vv.html","changelog":"添加了主角状态栏位的天赋显示","createdAt":"2026-08-07T03:25:58.544Z","updatedAt":"2026-08-19T20:59:48.228Z","initPublicAt":"2026-08-19T15:04:42.085Z","renderTemplate":null,"assistantRegexReplace":null,"enableMemorySchema":false,"memorySchema":"{\"type\": \"object\", \"description\": \"契约之界世界模拟引擎 - 核心记忆与状态存储格式。每轮输出结束后依据实际剧情更新，禁止数值凭空跳变。\", \"properties\": {\"当前场景\": {\"type\": \"object\", \"description\": \"当前世界环境上下文，定义玩家当前所处的时间与地点。\", \"properties\": {\"时间\": {\"type\": \"string\", \"description\": \"当前时间（如：夜晚、黄昏、子时）\"}, \"地点\": {\"type\": \"string\", \"description\": \"当前地点（如：太阴幽泉、天碑剑冢、蓬莱浮空城）\"}, \"环境\": {\"type\": \"string\", \"description\": \"简短环境描写（光线、气味、声响）\"}}, \"required\": [\"时间\", \"地点\"]}, \"玩家状态\": {\"type\": \"object\", \"description\": \"主角核心状态面板。\", \"properties\": {\"姓名\": {\"type\": \"string\"}, \"种族\": {\"type\": \"string\", \"description\": \"血脉融合（可多项）\"}, \"性别\": {\"type\": \"string\", \"description\": \"玩家性别\"}, \"年龄\": {\"type\": \"string\", \"description\": \"玩家年龄\"}, \"身份\": {\"type\": \"string\", \"description\": \"玩家身份/称号（如：界限突破者、天碑剑冢遗孤）\"}, \"性格\": {\"type\": \"string\", \"description\": \"性格烙印（如：傲娇、腹黑、占有欲强）\"}, \"外貌\": {\"type\": \"string\", \"description\": \"外貌特征（如：银发红瞳，眼角含春）\"}, \"体型\": {\"type\": \"string\", \"description\": \"身材规格（如：敏感体型、健硕修长）\"}, \"境界\": {\"type\": \"string\", \"description\": \"魂脉境界：第一境启源境 至 第九境因果境\"}, \"魂力值\": {\"type\": \"string\", \"description\": \"SP：当前值/最大值，施法与维持契约消耗\"}, \"天赋\": {\"type\": \"array\", \"description\": \"玩家已觉醒的因果天赋（含开局获得的天赋记录：独有天赋【无律之魂】与开局抽取的因果天赋）。天赋栏位默认锁定：除非特定剧情事件（天赋觉醒仪式、奇遇、世界因果事件）或特定道具（天赋石、觉醒药剂等）明确触发，否则禁止新增、删除或修改。\", \"items\": {\"type\": \"string\"}}, \"契约列表\": {\"type\": \"array\", \"description\": \"已绑定契约（契约物/契约奴隶，含契约类型）\", \"items\": {\"type\": \"string\"}}, \"当前状态\": {\"type\": \"string\", \"description\": \"玩家当前的身体与精神状态\"}}, \"required\": [\"姓名\", \"种族\", \"境界\", \"魂力值\"]}, \"记忆区\": {\"type\": \"object\", \"description\": \"三层叠式记忆处理中枢：短期→长期→永久逐层归档归纳；另含人物档案、伏笔线索、玩家意志、世界动态。\", \"properties\": {\"短期记忆\": {\"type\": \"array\", \"description\": \"最近1-2轮关键事件，每条300-500字，含6要素（时间戳/地点/全名状态/动作台词/约定把柄/情绪关系变化），满5条触发归档\", \"items\": {\"type\": \"object\", \"properties\": {\"时间戳\": {\"type\": \"string\"}, \"地点\": {\"type\": \"string\"}, \"全名状态\": {\"type\": \"string\"}, \"动作台词\": {\"type\": \"string\"}, \"约定把柄\": {\"type\": \"string\"}, \"情绪关系变化\": {\"type\": \"string\"}}}}, \"长期记忆\": {\"type\": \"array\", \"description\": \"5条短期归纳的阶段摘要，每条400-500字，含8要素（时间范围/事件序列/NPC全名/地点/约定把柄/数值变动/关系迁移/余波钩子），满5条二次归档\", \"items\": {\"type\": \"object\", \"properties\": {\"时间范围\": {\"type\": \"string\"}, \"事件序列\": {\"type\": \"string\"}, \"NPC全名\": {\"type\": \"string\"}, \"地点\": {\"type\": \"string\"}, \"约定把柄\": {\"type\": \"string\"}, \"数值变动\": {\"type\": \"string\"}, \"关系迁移\": {\"type\": \"string\"}, \"余波钩子\": {\"type\": \"string\"}}}}, \"永久记忆\": {\"type\": \"array\", \"description\": \"长期到永久的核心事实，只读不可修改，每条含9要素（时间范围/主线走向/NPC全名/地点列表/Milestone/不可逆事实/累计数值/遗留钩子/关系格局）\", \"items\": {\"type\": \"object\", \"properties\": {\"时间范围\": {\"type\": \"string\"}, \"主线走向\": {\"type\": \"string\"}, \"NPC全名\": {\"type\": \"string\"}, \"地点列表\": {\"type\": \"string\"}, \"Milestone\": {\"type\": \"string\"}, \"不可逆事实\": {\"type\": \"string\"}, \"累计数值\": {\"type\": \"string\"}, \"遗留钩子\": {\"type\": \"string\"}, \"关系格局\": {\"type\": \"string\"}}}}, \"关键人物档案\": {\"type\": \"array\", \"description\": \"重要角色档案：身份、与玩家关系、近期动向、承诺与秘密\", \"items\": {\"type\": \"object\", \"properties\": {\"名字\": {\"type\": \"string\"}, \"身份\": {\"type\": \"string\"}, \"与玩家关系\": {\"type\": \"string\"}, \"近期动向\": {\"type\": \"string\"}, \"承诺与秘密\": {\"type\": \"string\"}}}}, \"伏笔与线索\": {\"type\": \"array\", \"description\": \"未解之谜与埋设伏笔，含埋设场景与当前状态\", \"items\": {\"type\": \"object\", \"properties\": {\"伏笔\": {\"type\": \"string\"}, \"埋设场景\": {\"type\": \"string\"}, \"当前状态\": {\"type\": \"string\"}}}}, \"玩家意志\": {\"type\": \"array\", \"description\": \"玩家明确的长期目标与承诺\", \"items\": {\"type\": \"string\"}}, \"世界动态\": {\"type\": \"array\", \"description\": \"影响世界的重大事件记录\", \"items\": {\"type\": \"string\"}}}}, \"任务追踪\": {\"type\": \"object\", \"description\": \"玩家当前目标。\", \"properties\": {\"当前目标\": {\"type\": \"string\"}, \"支线\": {\"type\": \"array\", \"description\": \"潜在威胁或限时事件\", \"items\": {\"type\": \"string\"}}}}, \"锁定NPC列表\": {\"type\": \"array\", \"description\": \"被玩家锁定的NPC姓名列表；锁定后即使该NPC离场，其档案仍在NPC信息栏保留展示\", \"items\": {\"type\": \"string\"}}, \"已契约对象\": {\"type\": \"array\", \"description\": \"已缔结契约的对象（NPC）状态追踪；未缔结契约（契约类型为\\\"无\\\"）的 NPC 不在此列，展示于 NPC信息栏。\", \"items\": {\"type\": \"object\", \"properties\": {\"名字\": {\"type\": \"string\"}, \"种族\": {\"type\": \"string\"}, \"境界\": {\"type\": \"string\", \"description\": \"原魂脉境界或进化血阶\"}, \"契约类型\": {\"type\": \"string\", \"enum\": [\"共生契约\", \"守护誓约\", \"生命共享契约\", \"感官共享契约\", \"绝对支配契约\", \"肉体愉悦契约\", \"灵魂熔铸契约\"], \"description\": \"已缔结的契约类型（本栏位仅收录已契约对象）\"}, \"誓纹位置\": {\"type\": \"string\", \"description\": \"无契约则填无\"}, \"屈服度\": {\"type\": \"integer\", \"description\": \"SUB 0-100：反映精神臣服程度\"}, \"欲望快感值\": {\"type\": \"integer\", \"description\": \"PLS 0-100：肉契作用下的生理快感与魔力反哺效率\"}, \"状态描述\": {\"type\": \"string\", \"description\": \"当前身体与精神状态，如：双腕被缚，誓纹发烫，咬唇压抑颤抖\"}, \"生物构造\": {\"type\": \"object\", \"description\": \"生物构造扫描档案（躯干概貌/第一性征/咽喉腔道/阴道/内生殖系统/排泄后庭/肢体末端）\", \"properties\": {\"躯干概貌\": {\"type\": \"string\", \"description\": \"身高/体型/骨架/肌肉线条\"}, \"第一性征胸\": {\"type\": \"string\", \"description\": \"罩杯/形状/乳晕色泽与敏感度\"}, \"咽喉腔道\": {\"type\": \"string\", \"description\": \"深度/咽反射敏感度/内壁质感\"}, \"阴道\": {\"type\": \"string\", \"description\": \"紧致度/内壁色泽/水润度\"}, \"内生殖系统\": {\"type\": \"string\", \"description\": \"位置/原始状态/受孕与改造情况\"}, \"排泄后庭\": {\"type\": \"string\", \"description\": \"紧致状态/使用痕迹/色泽褶皱\"}, \"肢体末端足\": {\"type\": \"string\", \"description\": \"足弓/脚趾/足底\"}}}}, \"required\": [\"名字\", \"屈服度\"]}}, \"势力声望\": {\"type\": \"object\", \"description\": \"玩家在九大势力与红鸾合欢谷的当前声望值（-100~+100）与等级；常驻栏位，每轮随剧情行为更新，与折叠状态栏【势力声望栏】一致。\", \"properties\": {\"御天神策府\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"圣光异端裁判所\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"合欢仙宗\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"极客蒸汽密盟\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"万妖盟\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"暗夜荆棘议会\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"无面者集市\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"天极星宫\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"血色蔷薇骑士团\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}, \"红鸾合欢谷\": {\"type\": \"string\", \"description\": \"声望值与等级，如：中立 0\"}}, \"required\": [\"御天神策府\", \"圣光异端裁判所\", \"合欢仙宗\", \"极客蒸汽密盟\", \"万妖盟\", \"暗夜荆棘议会\", \"无面者集市\", \"天极星宫\", \"血色蔷薇骑士团\", \"红鸾合欢谷\"]}}, \"required\": [\"当前场景\", \"玩家状态\", \"记忆区\"]}","injectStyles":"/* =========================================\n   暗金魔法阵主题聊天框 (Dark Gold & Magic Circle)\n   ========================================= */\n\n/* 1. 统一重置：消除原生边框干扰 */\n.group.is-user > div:first-child, \n.group.is-assistant > div:first-child {\n    border: none !important;\n}\n\n/* 2. 用户输入气泡：暖暗金黑渐变与浮雕发光 */\n.group.is-user > div:first-child {\n    background: linear-gradient(135deg, #221c12 0%, #2d2417 100%) !important;\n    border: 1px solid #8b7332 !important;\n    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.15) !important;\n}\n\n/* 3. AI输出气泡：深渊黑金渐变，更具沉稳感 */\n.group.is-assistant > div:first-child {\n    background: linear-gradient(135deg, #14110b 0%, #1e180f 100%) !important;\n    border: 1px solid #6b5825 !important;\n    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.08) !important;\n}\n\n/* 3.1 关键新增：当气泡内部正在显示加载动画时，隐藏气泡自身的背景/边框/阴影 */\n.group.is-assistant > div:first-child:has(.flex.gap-2.w-full.h-full.items-center.justify-center) {\n    background: transparent !important;\n    border: none !important;\n    box-shadow: none !important;\n}\n\n/* 4. 绝对可读性保障：强制正文使用暖白/浅金色调 */\n.rili-markdown-renderer, \n.rili-markdown-renderer * {\n    color: #fbf6ec !important;\n    text-shadow: none !important; \n}\n\n/* 5. 底部附加元素与操作按钮：暗金透亮化适配 */\n.text-xs.font-mono.text-muted-foreground {\n    color: rgba(212, 175, 55, 0.7) !important; \n}\n.bg-muted.rounded.flex button svg.lucide {\n    stroke: rgba(212, 175, 55, 0.8) !important; \n}\n\n/* =========================================\n   加载动画重构：CSS驱动自旋转的高对比度大号魔法阵（放大一倍）\n   ========================================= */\n\n/* 解除容器自身的尺寸限制，允许内部图案溢出显示 */\n.flex.gap-2.w-full.h-full.items-center.justify-center {\n    min-width: 180px !important;\n    min-height: 180px !important;\n    overflow: visible !important;\n    background: transparent !important;\n}\n\n/* 强制隐藏原生的三个跳动加载点 */\n.flex.gap-2.w-full.h-full.items-center.justify-center > span {\n    display: none !important;\n}\n\n/* 静态魔法阵图案，由外部CSS动画驱动旋转，尺寸放大一倍：80px -> 160px */\n.flex.gap-2.w-full.h-full.items-center.justify-center::before {\n    content: \"\" !important;\n    display: block !important;\n    width: 160px !important;\n    height: 160px !important;\n    min-width: 160px !important;\n    min-height: 160px !important;\n    flex-shrink: 0 !important;\n    background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Ccircle%20cx='50'%20cy='50'%20r='45'%20fill='none'%20stroke='%23ffe135'%20stroke-width='3'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='38'%20fill='none'%20stroke='%23ffe135'%20stroke-width='2'%20stroke-dasharray='5%205'/%3E%3Cpolygon%20points='50,10%2084,70%2016,70'%20fill='none'%20stroke='%23ffe135'%20stroke-width='2.5'/%3E%3Cpolygon%20points='50,90%2084,30%2016,30'%20fill='none'%20stroke='%23ffe135'%20stroke-width='2.5'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='13'%20fill='none'%20stroke='%23ffe135'%20stroke-width='2.5'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='5'%20fill='%23ffe135'/%3E%3C/svg%3E\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n    opacity: 1 !important;\n    filter: drop-shadow(0 0 4px rgba(255, 225, 53, 0.9)) drop-shadow(0 0 10px rgba(255, 200, 0, 0.5)) !important;\n    animation: kiro-magic-spin 4s linear infinite !important;\n}\n\n/* 定义旋转关键帧 */\n@keyframes kiro-magic-spin {\n    from { transform: rotate(0deg); }\n    to   { transform: rotate(360deg); }\n}\n\n/* =========================================\n   契约状态栏折叠组件 · 暗金魔法阵风格增强\n   ========================================= */\n/* 隐藏浏览器默认三角，改用自定义 ▸ 箭头 */\n.rili-markdown-renderer details > summary::-webkit-details-marker,\n.rili-markdown-renderer details summary::-webkit-details-marker { display: none !important; }\n.rili-markdown-renderer details > summary { user-select: none; }\n\n/* 自定义展开箭头：展开时旋转 90 度 */\n.rili-markdown-renderer details > summary::before {\n    content: \"▸\" !important;\n    display: inline-block;\n    margin-right: 8px;\n    color: inherit;\n    opacity: .85;\n    transition: transform .25s ease;\n}\n.rili-markdown-renderer details[open] > summary::before {\n    transform: rotate(90deg);\n}\n\n/* hover 微光：金色提亮 */\n.rili-markdown-renderer details > summary:hover {\n    filter: brightness(1.18);\n}\n\n/* 状态栏内容区文字适配：继承米白暖色 */\n.rili-markdown-renderer details > div {\n    color: #ece4cf !important;\n}\n\n/* =========================================\n   正文专属排版 · 契约之界叙事手札\n   （仅作用于 AI 以 <div class=\"story-body\"> 包裹的正文；\n    思维链、折叠状态栏、记忆区、行动选项均不受影响）\n   ========================================= */\n\n/* =========================================\n   正文结构模板（AI 输出正文须遵循此结构）\n   =========================================\n   模板：\n   <div>\n   <p>{正文第1段——首次提及重要角色/事件/概念用 <abbr class=\"wave\" title=\"{该词的简要说明20-50字}\">{关键词}</abbr> 标注。同一词后续不再加 wave。每段用独立 p 标签包裹。}</p>\n   <p>{正文第2段}</p>\n   <p>{正文第3段}</p>\n   <p>{禁止出现任何裸数值、系统术语（除非包在 wave 的 title 里）。正文本身保持文学性和沉浸感。}</p>\n   </div>\n   样式对应：正文容器 .story-body、段落 .story-body p、数值标注 abbr.wave。\n   ========================================= */\n\n/* 正文段落：独立 p 包裹，段距由样式控制，首行缩进两字 */\n.rili-markdown-renderer .story-body p {\n    margin: 0 0 0.55em !important;\n    text-indent: 2em !important;\n    line-height: 1.9 !important;\n}\n/* 正文首段首字强调（模板结构下的起笔美感） */\n.rili-markdown-renderer .story-body > p:first-of-type::first-letter {\n    color: #d4af37 !important;\n    font-size: 1.25em !important;\n    font-weight: 700 !important;\n}\n\n.rili-markdown-renderer .story-body {\n    font-family: \"LXGW WenKai\", \"KaiTi\", \"楷体\", \"STKaiti\", \"Songti SC\", \"STSong\", \"Noto Serif SC\", \"Noto Serif CJK SC\", \"Source Han Serif SC\", \"Source Han Serif CN\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", serif !important;\n    font-size: 1.08em !important;\n    line-height: 1.9 !important;\n    letter-spacing: 0.03em !important;\n    color: #f3ecd9 !important;\n    text-shadow: 0 0 1px rgba(212, 175, 55, 0.16), 0 0 10px rgba(212, 175, 55, 0.05) !important;\n    text-align: justify !important;\n    padding: 0.5em 0.2em 0.6em 0.9em;\n    border-left: 2px solid rgba(201, 162, 75, 0.38);\n    background: linear-gradient(90deg, rgba(201, 162, 75, 0.05), rgba(201, 162, 75, 0) 22%);\n    border-radius: 0 8px 8px 0;\n    max-height: min(60vh, 540px) !important;\n    overflow-y: auto !important;\n    overscroll-behavior: contain !important;\n    scrollbar-width: thin !important;\n    scrollbar-color: rgba(201,162,75,.55) rgba(201,162,75,.08) !important;\n}\n.rili-markdown-renderer .story-body::-webkit-scrollbar { width: 8px !important; }\n.rili-markdown-renderer .story-body::-webkit-scrollbar-track { background: rgba(201,162,75,.06) !important; border-radius: 4px !important; }\n.rili-markdown-renderer .story-body::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #8a6a24, #c9a24b) !important; border-radius: 4px !important; border: 1px solid rgba(8,5,15,.5) !important; }\n.rili-markdown-renderer .story-body::-webkit-scrollbar-thumb:hover { background: #e8cf8e !important; }\n.rili-markdown-renderer .story-body::-webkit-scrollbar-corner { background: transparent !important; }\n.rili-markdown-renderer .story-body p {\n    margin: 0 0 0.55em !important;\n    text-indent: 2em !important;\n}\n.rili-markdown-renderer .story-body strong {\n    color: #e8cf8e !important;\n    font-weight: 700 !important;\n    text-shadow: 0 0 6px rgba(232, 207, 142, 0.35) !important;\n}\n.rili-markdown-renderer .story-body em {\n    color: #d9c9a0 !important;\n}\n.rili-markdown-renderer .story-body::first-letter {\n    color: #d4af37 !important;\n    font-size: 1.25em !important;\n    font-weight: 700 !important;\n}\n\n/* =========================================\n   顶部状态信息条 · 暗金醒目双行排版（每条回复最顶部）\n   ========================================= */\n.rili-markdown-renderer .top-status-bar {\n    margin: 0 0 14px !important;\n    padding: 10px 14px !important;\n    background: linear-gradient(135deg, rgba(138,92,19,.32), rgba(201,162,75,.14) 50%, rgba(138,92,19,.32)) !important;\n    border: 1px solid rgba(212,175,55,.5) !important;\n    border-radius: 8px !important;\n    box-shadow: 0 3px 14px rgba(212,175,55,.14), inset 0 0 22px rgba(212,175,55,.07) !important;\n    font-size: 1em !important;\n    line-height: 1.7 !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-title-row {\n    display: flex !important;\n    align-items: baseline !important;\n    gap: 10px !important;\n    padding-bottom: 7px !important;\n    border-bottom: 1px dashed rgba(201,162,75,.35) !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-title {\n    font-size: 1.2em !important;\n    font-weight: 800 !important;\n    color: #f2dc92 !important;\n    letter-spacing: .18em !important;\n    white-space: nowrap !important;\n    text-shadow: 0 0 10px rgba(212,175,55,.6), 0 0 24px rgba(212,175,55,.25) !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-slogan {\n    font-size: .92em !important;\n    color: rgba(232,207,142,.8) !important;\n    letter-spacing: .12em !important;\n    white-space: nowrap !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-info-row {\n    padding-top: 7px !important;\n    font-size: 1.02em !important;\n    letter-spacing: .05em !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-info {\n    color: #ece4cf !important;\n}\n\n/* =========================================\n   对白染色：正常对话（暖金）+ 露骨对话（蜜桃粉）\n   ========================================= */\n.rili-markdown-renderer .story-body .dlg {\n    color: #e8cf8e !important;\n    font-weight: 600 !important;\n    text-shadow: 0 0 6px rgba(232, 207, 142, 0.25) !important;\n}\n.rili-markdown-renderer .story-body .dlg-hot {\n    color: #ff8fb3 !important;\n    font-weight: 600 !important;\n    text-shadow: 0 0 8px rgba(255, 143, 179, 0.35) !important;\n}\n/* 无前缀兜底（不依赖平台容器类名） */\n.story-body .dlg {\n    color: #e8cf8e !important;\n    font-weight: 600 !important;\n    text-shadow: 0 0 6px rgba(232, 207, 142, 0.25) !important;\n}\n.story-body .dlg-hot {\n    color: #ff8fb3 !important;\n    font-weight: 600 !important;\n    text-shadow: 0 0 8px rgba(255, 143, 179, 0.35) !important;\n}\n/* 无前缀滚动兜底（不依赖平台容器类名） */\n.story-body {\n    max-height: min(60vh, 540px) !important;\n    overflow-y: auto !important;\n    overscroll-behavior: contain !important;\n    scrollbar-width: thin !important;\n    scrollbar-color: rgba(201,162,75,.55) rgba(201,162,75,.08) !important;\n}\n.story-body::-webkit-scrollbar { width: 8px !important; }\n.story-body::-webkit-scrollbar-track { background: rgba(201,162,75,.06) !important; border-radius: 4px !important; }\n.story-body::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #8a6a24, #c9a24b) !important; border-radius: 4px !important; border: 1px solid rgba(8,5,15,.5) !important; }\n.story-body::-webkit-scrollbar-thumb:hover { background: #e8cf8e !important; }\n.story-body::-webkit-scrollbar-corner { background: transparent !important; }\n\n/* =========================================\n   正文滚动容器 · 长剧情区内滑动（适配多屏）\n   ========================================= */\n.rili-markdown-renderer .story-body {\n    max-height: min(60vh, 540px) !important;\n    overflow-y: auto !important;\n    overflow-x: clip !important;\n    overflow-clip-margin: 160px !important;\n    scrollbar-gutter: stable !important;\n    overscroll-behavior: contain !important;\n    scrollbar-width: thin !important;\n    scrollbar-color: #c9a24b rgba(201,162,75,.08) !important;\n}\n.rili-markdown-renderer .story-body::-webkit-scrollbar {\n    width: 8px !important;\n    height: 5px !important;\n}\n.rili-markdown-renderer .story-body::-webkit-scrollbar-track {\n    background: rgba(201,162,75,.06) !important;\n    border-radius: 4px !important;\n}\n.rili-markdown-renderer .story-body::-webkit-scrollbar-thumb {\n    background: linear-gradient(180deg, #8a5c13, #c9a24b) !important;\n    border-radius: 4px !important;\n    border: 1px solid rgba(20,17,11,.6) !important;\n}\n.rili-markdown-renderer .story-body::-webkit-scrollbar-thumb:horizontal {\n    background: linear-gradient(90deg, #8a5c13 0%, #c9a24b 100%) !important;\n    border-radius: 3px !important;\n}\n.rili-markdown-renderer .story-body::-webkit-scrollbar-thumb:hover {\n    background: #e8cf8e !important;\n}\n\n/* =========================================\n   行动选项折叠组件 · 暗金可点击选项\n   ========================================= */\n.rili-markdown-renderer .act-opt {\n    display: block;\n    cursor: pointer;\n    color: #e8cf8e;\n    padding: 4px 10px;\n    margin: 2px 0;\n    border-left: 2px solid rgba(201,162,75,.4);\n    border-radius: 0 6px 6px 0;\n    background: rgba(201,162,75,.05);\n    transition: background .15s, color .15s;\n    text-decoration: none;\n}\n.rili-markdown-renderer .act-opt:hover {\n    background: rgba(201,162,75,.14);\n    color: #f7e6b5;\n}\n\n/* =========================================\n   卡片式组件样式 (Card Components)\n   ========================================= */\n\n/* NPC卡片 / 契约卡片 容器 */\n.npc-card, .pact-card {\n    position: relative;\n}\n\n/* 契约印章（红底白字） */\n.rili-markdown-renderer .seal-pact {\n    position: absolute;\n    top: 8px;\n    right: 8px;\n    width: 28px;\n    height: 28px;\n    border-radius: 4px;\n    background: linear-gradient(135deg, #cf1b4b 0%, #8a0d2e 100%);\n    color: #fff;\n    font-size: 14px;\n    font-weight: 700;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 2px 6px rgba(207,27,75,.4);\n    border: 1px solid rgba(255,255,255,.15);\n    transform: rotate(-8deg);\n    z-index: 2;\n}\n\n/* 魂脉印章（金底黑字） */\n.rili-markdown-renderer .seal-soul {\n    position: absolute;\n    top: 8px;\n    right: 8px;\n    width: 28px;\n    height: 28px;\n    border-radius: 4px;\n    background: linear-gradient(135deg, #c9a24b 0%, #8a5c13 100%);\n    color: #1c1305;\n    font-size: 14px;\n    font-weight: 700;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 2px 6px rgba(201,162,75,.4);\n    border: 1px solid rgba(255,255,255,.15);\n    transform: rotate(-8deg);\n    z-index: 2;\n}\n\n/* 轮播指示点 */\n.rili-markdown-renderer .npc-dots,\n.rili-markdown-renderer .pact-dots {\n    text-align: center;\n    padding: 6px 0 10px;\n    color: rgba(201,162,75,.4);\n    font-size: .6em;\n    letter-spacing: 4px;\n}\n\n/* =========================================\n   入场动画 · 契约之界开场（仅开局第一轮）\n   ========================================= */\n.rili-markdown-renderer .intro-anim {\n    text-align: center !important;\n    padding: 26px 12px 22px !important;\n    margin: 0 0 8px !important;\n    border: 1px solid rgba(201,162,75,.28) !important;\n    border-radius: 12px !important;\n    background: radial-gradient(ellipse at center, rgba(201,162,75,.12) 0%, rgba(20,17,11,.35) 55%, transparent 75%) !important;\n    animation: ia-whole 3.6s ease forwards !important;\n    overflow: hidden !important;\n}\n@keyframes ia-whole {\n    0%   { opacity: 0; }\n    8%   { opacity: 1; }\n    76%  { opacity: 1; }\n    100% { opacity: 0; padding: 0; margin: 0; border-width: 0; }\n}\n.rili-markdown-renderer .intro-anim .ia-magic {\n    position: relative !important;\n    width: 132px !important;\n    height: 132px !important;\n    margin: 0 auto 16px !important;\n}\n.rili-markdown-renderer .intro-anim .ia-ring {\n    position: absolute !important;\n    top: 50% !important;\n    left: 50% !important;\n    border-radius: 50% !important;\n    transform: translate(-50%, -50%) !important;\n}\n.rili-markdown-renderer .intro-anim .ia-r1 {\n    width: 132px !important; height: 132px !important;\n    border: 2px solid rgba(212,175,55,.65) !important;\n    border-top-color: transparent !important;\n    animation: ia-spin 3.2s linear infinite !important;\n}\n.rili-markdown-renderer .intro-anim .ia-r2 {\n    width: 102px !important; height: 102px !important;\n    border: 2px dashed rgba(201,162,75,.5) !important;\n    animation: ia-spin 2.4s linear infinite reverse !important;\n}\n.rili-markdown-renderer .intro-anim .ia-r3 {\n    width: 72px !important; height: 72px !important;\n    border: 1px solid rgba(232,207,142,.75) !important;\n    box-shadow: 0 0 18px rgba(212,175,55,.45), inset 0 0 14px rgba(212,175,55,.3) !important;\n    animation: ia-pulse 1.8s ease-in-out infinite !important;\n}\n.rili-markdown-renderer .intro-anim .ia-core {\n    position: absolute !important;\n    top: 50% !important; left: 50% !important;\n    transform: translate(-50%, -50%) !important;\n    font-size: 30px !important;\n    color: #f2dc92 !important;\n    text-shadow: 0 0 14px rgba(212,175,55,.9), 0 0 30px rgba(212,175,55,.4) !important;\n}\n.rili-markdown-renderer .intro-anim .ia-title {\n    font-size: 1.9em !important;\n    font-weight: 800 !important;\n    letter-spacing: .3em !important;\n    color: #f2dc92 !important;\n    text-shadow: 0 0 12px rgba(212,175,55,.75), 0 0 34px rgba(212,175,55,.35) !important;\n    animation: ia-fade-up 1.1s ease .25s both !important;\n    margin-bottom: 8px !important;\n}\n.rili-markdown-renderer .intro-anim .ia-sub {\n    font-size: .92em !important;\n    letter-spacing: .18em !important;\n    color: rgba(232,207,142,.85) !important;\n    animation: ia-fade-up 1.1s ease .7s both !important;\n}\n@keyframes ia-spin { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(360deg); } }\n@keyframes ia-pulse {\n    0%, 100% { transform: translate(-50%,-50%) scale(1); opacity: .75; }\n    50%      { transform: translate(-50%,-50%) scale(1.12); opacity: 1; }\n}\n@keyframes ia-fade-up {\n    from { opacity: 0; transform: translateY(14px); }\n    to   { opacity: 1; transform: none; }\n}\n\n/* =========================================\n   入场动画 · 精致化增强（不影响 AI 输出结构）\n   ========================================= */\n.rili-markdown-renderer .intro-anim {\n    background: radial-gradient(ellipse at center, rgba(201,162,75,.13) 0%, rgba(20,17,11,.4) 52%, transparent 76%) !important;\n}\n.rili-markdown-renderer .intro-anim .ia-title { position: relative !important; }\n.rili-markdown-renderer .intro-anim .ia-title::after {\n    content: \"\" !important;\n    position: absolute !important;\n    top: 0; left: -40%;\n    width: 32% !important; height: 100% !important;\n    background: linear-gradient(100deg, transparent, rgba(255,244,214,.5), transparent) !important;\n    transform: skewX(-18deg) !important;\n    animation: ia-sweep 1.3s ease 1.4s both !important;\n}\n.rili-markdown-renderer .intro-anim .ia-sub::before { content: \"✦ \" !important; color: rgba(212,175,55,.85) !important; }\n.rili-markdown-renderer .intro-anim .ia-sub::after { content: \" ✦\" !important; color: rgba(212,175,55,.85) !important; }\n@keyframes ia-sweep { from { left: -40%; } to { left: 110%; } }\n/* =========================================\n   状态栏美化增强 · 暗金华丽版（覆盖旧样式）\n   ========================================= */\n/* --- 顶部状态信息条 · 三卡片网格 --- */\n.rili-markdown-renderer .top-status-bar {\n    margin: 0 0 16px !important;\n    padding: 14px 18px 12px !important;\n    background: linear-gradient(135deg, rgba(138,92,19,.42), rgba(201,162,75,.16) 50%, rgba(138,92,19,.42)) !important;\n    border: 1px solid rgba(212,175,55,.65) !important;\n    border-radius: 12px !important;\n    box-shadow: 0 4px 22px rgba(212,175,55,.2), inset 0 0 32px rgba(212,175,55,.09) !important;\n    font-size: 1.15em !important;\n    line-height: 1.75 !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-title-row {\n    justify-content: center !important;\n    gap: 14px !important;\n    padding-bottom: 10px !important;\n    border-bottom: 1px dashed rgba(201,162,75,.45) !important;\n    margin-bottom: 10px !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-title {\n    font-size: 1.5em !important;\n    letter-spacing: .32em !important;\n    text-shadow: 0 0 12px rgba(212,175,55,.75), 0 0 32px rgba(212,175,55,.35) !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-slogan {\n    font-size: 1em !important;\n    color: rgba(232,207,142,.9) !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-grid {\n    display: flex !important;\n    flex-wrap: wrap !important;\n    gap: 10px !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-cell {\n    flex: 1 1 0 !important;\n    min-width: 130px !important;\n    display: flex !important;\n    align-items: center !important;\n    gap: 8px !important;\n    padding: 9px 13px !important;\n    background: linear-gradient(135deg, rgba(20,17,11,.6), rgba(201,162,75,.1)) !important;\n    border: 1px solid rgba(212,175,55,.4) !important;\n    border-radius: 9px !important;\n    box-shadow: inset 0 0 14px rgba(212,175,55,.06) !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-cell.tsb-wide {\n    flex-basis: 100% !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-k {\n    font-size: .9em !important;\n    font-weight: 800 !important;\n    color: #f2dc92 !important;\n    letter-spacing: .12em !important;\n    padding: 2px 9px !important;\n    background: rgba(138,92,19,.45) !important;\n    border: 1px solid rgba(212,175,55,.3) !important;\n    border-radius: 5px !important;\n    white-space: nowrap !important;\n}\n.rili-markdown-renderer .top-status-bar .tsb-v {\n    font-size: 1.05em !important;\n    font-weight: 600 !important;\n    color: #fbf6ec !important;\n    text-shadow: 0 0 8px rgba(212,175,55,.18) !important;\n}\n\n/* --- 折叠状态栏 · 字体放大 + summary 质感 --- */\n.rili-markdown-renderer details {\n    font-size: 1.05em !important;\n}\n.rili-markdown-renderer details > summary {\n    font-size: 1.1em !important;\n    font-weight: 700 !important;\n    letter-spacing: .1em !important;\n    padding: 12px 16px !important;\n    border-radius: 8px !important;\n    box-shadow: 0 2px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,244,214,.18) !important;\n    transition: filter .2s ease, transform .2s ease !important;\n}\n.rili-markdown-renderer details > summary:hover {\n    filter: brightness(1.25) !important;\n    transform: translateY(-1px) !important;\n}\n.rili-markdown-renderer details details > summary {\n    background: linear-gradient(90deg, rgba(201,162,75,.18), rgba(201,162,75,.03)) !important;\n    border-radius: 6px !important;\n    box-shadow: none !important;\n}\n.rili-markdown-renderer details > div {\n    font-size: 1.04em !important;\n    line-height: 2 !important;\n    letter-spacing: .02em !important;\n    color: #ece4cf !important;\n}\n\n/* --- 玩家/契约/NPC 字段双列网格 --- */\n.rili-markdown-renderer .ps-grid,\n.rili-markdown-renderer .pc-grid {\n    display: grid !important;\n    grid-template-columns: repeat(2, 1fr) !important;\n    gap: 7px 16px !important;\n    padding: 12px 14px !important;\n}\n@media (max-width: 640px) {\n    .rili-markdown-renderer .ps-grid,\n    .rili-markdown-renderer .pc-grid {\n        grid-template-columns: 1fr !important;\n    }\n}\n.rili-markdown-renderer .ps-item {\n    display: flex !important;\n    align-items: baseline !important;\n    gap: 8px !important;\n    padding: 4px 8px !important;\n    background: rgba(201,162,75,.05) !important;\n    border-left: 2px solid rgba(201,162,75,.45) !important;\n    border-radius: 0 5px 5px 0 !important;\n}\n.rili-markdown-renderer .ps-wide {\n    grid-column: 1 / -1 !important;\n}\n.rili-markdown-renderer .ps-k {\n    flex: 0 0 auto !important;\n    min-width: 5.2em !important;\n    font-weight: 800 !important;\n    color: #e8cf8e !important;\n    letter-spacing: .06em !important;\n    text-shadow: 0 0 6px rgba(212,175,55,.25) !important;\n}\n.rili-markdown-renderer .ps-v {\n    font-weight: 500 !important;\n    color: #fbf6ec !important;\n}\n\n/* --- 契约/NPC 卡片质感 --- */\n.rili-markdown-renderer .pact-card,\n.rili-markdown-renderer .npc-card {\n    box-shadow: 0 3px 14px rgba(0,0,0,.35) !important;\n}\n/* --- 字段横向排列（.pc-rows / .pf） --- */\n.rili-markdown-renderer .pc-rows {\n    display: flex !important;\n    flex-wrap: wrap !important;\n    align-items: baseline !important;\n    gap: 6px 16px !important;\n    padding: 12px 14px !important;\n    font-size: 1.04em !important;\n    line-height: 1.95 !important;\n    color: #ece4cf !important;\n}\n.rili-markdown-renderer .pc-rows .pf {\n    display: inline-block !important;\n    padding: 3px 11px !important;\n    background: rgba(201,162,75,.06) !important;\n    border-left: 2px solid rgba(201,162,75,.42) !important;\n    border-radius: 0 5px 5px 0 !important;\n    color: #ece4cf !important;\n    text-shadow: none !important;\n}\n.rili-markdown-renderer .pc-rows .pf-full {\n    flex-basis: 100% !important;\n    background: rgba(201,162,75,.09) !important;\n    border-left: 2px solid rgba(232,207,142,.55) !important;\n}\n.rili-markdown-renderer .pc-rows .bio {\n    background: rgba(138,92,19,.1) !important;\n    border-left: 2px solid rgba(232,207,142,.6) !important;\n    color: #f3ecd9 !important;\n    letter-spacing: .02em !important;\n}\n\n/* --- 状态栏 SVG 图标（彩色线性风格） --- */\n.rili-markdown-renderer .ico {\n    display: inline-block !important;\n    width: 1.18em !important;\n    height: 1.18em !important;\n    margin-right: 6px !important;\n    vertical-align: -0.18em !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n    background-size: contain !important;\n    flex: none !important;\n    filter: drop-shadow(0 0 4px currentColor) !important;\n}\n.rili-markdown-renderer .ico-pact { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f2dc92%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%27%2F%3E%3Cpath%20d%3D%27M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%27%2F%3E%3C%2Fsvg%3E\") !important; color: #f2dc92; }\n.rili-markdown-renderer .ico-user { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%237fd8c9%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2021v-2a4%204%200%200%200-4-4H8a4%204%200%200%200-4%204v2%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%277%27%20r%3D%274%27%2F%3E%3C%2Fsvg%3E\") !important; color: #7fd8c9; }\n.rili-markdown-renderer .ico-pact-obj { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ff7d9e%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%27%2F%3E%3Cpath%20d%3D%27M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%27%2F%3E%3C%2Fsvg%3E\") !important; color: #ff7d9e; }\n.rili-markdown-renderer .ico-brain { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23c99bff%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9.5%202A2.5%202.5%200%200%200%207%204.5v.55A3%203%200%200%200%206%208a3%203%200%200%200-1%205.83V15a4%204%200%200%200%204%204h.5A2.5%202.5%200%200%200%2012%2021.5a2.5%202.5%200%200%200%202.5-2.5H15a4%204%200%200%200%204-4v-1.17A3%203%200%200%200%2018%208a3%203%200%200%200-1-3V4.5A2.5%202.5%200%200%200%2014.5%202C13.03%202%2012%203.03%2012%204.5S10.97%207%209.5%207z%27%2F%3E%3C%2Fsvg%3E\") !important; color: #c99bff; }\n.rili-markdown-renderer .ico-pin { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ffc94d%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2017v5%27%2F%3E%3Cpath%20d%3D%27M9%2010.76a2%202%200%200%201-1.11%201.79l-1.78.9A2%202%200%200%200%205%2015.24V16a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1v-.76a2%202%200%200%200-1.11-1.79l-1.78-.9A2%202%200%200%201%2015%2010.76V6h1a2%202%200%200%200%200-4H8a2%202%200%200%200%200%204h1z%27%2F%3E%3C%2Fsvg%3E\") !important; color: #ffc94d; }\n.rili-markdown-renderer .ico-book { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23a98bff%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2019.5v-15A2.5%202.5%200%200%201%206.5%202H20v20H6.5a2.5%202.5%200%200%201%200-5H20%27%2F%3E%3C%2Fsvg%3E\") !important; color: #a98bff; }\n.rili-markdown-renderer .ico-lock { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ff8fa3%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20width%3D%2718%27%20height%3D%2711%27%20x%3D%273%27%20y%3D%2711%27%20rx%3D%272%27%20ry%3D%272%27%2F%3E%3Cpath%20d%3D%27M7%2011V7a5%205%200%200%201%2010%200v4%27%2F%3E%3C%2Fsvg%3E\") !important; color: #ff8fa3; }\n.rili-markdown-renderer .ico-lockmark { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ff5f7a%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20width%3D%2718%27%20height%3D%2711%27%20x%3D%273%27%20y%3D%2711%27%20rx%3D%272%27%20ry%3D%272%27%2F%3E%3Cpath%20d%3D%27M7%2011V7a5%205%200%200%201%2010%200v4%27%2F%3E%3C%2Fsvg%3E\") !important; color: #ff5f7a; }\n\n/* =========================================\n   记忆区 · 每条记忆方框 + 序号方框\n   ========================================= */\n.rili-markdown-renderer .mem-item {\n    display: flex !important;\n    align-items: stretch !important;\n    gap: 8px !important;\n    margin: 8px 0 !important;\n}\n.rili-markdown-renderer .mem-idx {\n    flex: 0 0 auto !important;\n    width: 2.1em !important;\n    min-height: 2.1em !important;\n    border-radius: 7px !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    color: #fff !important;\n    font-weight: 800 !important;\n    font-size: 1em !important;\n    letter-spacing: 0 !important;\n    text-shadow: 0 1px 2px rgba(0,0,0,.4) !important;\n    box-shadow: 0 2px 6px rgba(0,0,0,.35) !important;\n}\n.rili-markdown-renderer .mem-card {\n    flex: 1 !important;\n    border-radius: 8px !important;\n    padding: 8px 12px !important;\n    background: rgba(20,17,11,.45) !important;\n    color: #ece4cf !important;\n    font-size: .95em !important;\n    line-height: 1.9 !important;\n    letter-spacing: .02em !important;\n    box-shadow: inset 0 0 12px rgba(201,162,75,.04) !important;\n}\n\n/* =========================================\n   契约对象卡片 · 按契约类型美化（SVG 图标）\n   ========================================= */\n.rili-markdown-renderer .pact-card .pt-ico {\n    display: inline-block !important;\n    width: 1.05em !important;\n    height: 1.05em !important;\n    margin-right: 4px !important;\n    vertical-align: -0.15em !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n    background-size: contain !important;\n}\n\n/* sym */\n.rili-markdown-renderer .pact-card.pt-sym { border-color: #4ecdc488 !important; background: linear-gradient(160deg, #4ecdc41a 0%, rgba(20,17,11,.55) 100%) !important; box-shadow: 0 3px 16px #4ecdc422 !important; }\n.rili-markdown-renderer .pact-card.pt-sym .seal-pact { background: linear-gradient(135deg, #4ecdc4cc, #4ecdc4) !important; box-shadow: 0 2px 8px #4ecdc455 !important; }\n.rili-markdown-renderer .pact-card.pt-sym .pt-ico { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%234ecdc4%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%274%27%2F%3E%3C%2Fsvg%3E\") !important; }\n\n/* guard */\n.rili-markdown-renderer .pact-card.pt-guard { border-color: #5b9dff88 !important; background: linear-gradient(160deg, #5b9dff1a 0%, rgba(20,17,11,.55) 100%) !important; box-shadow: 0 3px 16px #5b9dff22 !important; }\n.rili-markdown-renderer .pact-card.pt-guard .seal-pact { background: linear-gradient(135deg, #5b9dffcc, #5b9dff) !important; box-shadow: 0 2px 8px #5b9dff55 !important; }\n.rili-markdown-renderer .pact-card.pt-guard .pt-ico { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%235b9dff%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z%27%2F%3E%3C%2Fsvg%3E\") !important; }\n\n/* life */\n.rili-markdown-renderer .pact-card.pt-life { border-color: #6ee7a088 !important; background: linear-gradient(160deg, #6ee7a01a 0%, rgba(20,17,11,.55) 100%) !important; box-shadow: 0 3px 16px #6ee7a022 !important; }\n.rili-markdown-renderer .pact-card.pt-life .seal-pact { background: linear-gradient(135deg, #6ee7a0cc, #6ee7a0) !important; box-shadow: 0 2px 8px #6ee7a055 !important; }\n.rili-markdown-renderer .pact-card.pt-life .pt-ico { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%236ee7a0%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20.84%204.61a5.5%205.5%200%200%200-7.78%200L12%205.67l-1.06-1.06a5.5%205.5%200%200%200-7.78%207.78l1.06%201.06L12%2021.23l7.78-7.78%201.06-1.06a5.5%205.5%200%200%200%200-7.78z%27%2F%3E%3C%2Fsvg%3E\") !important; }\n\n/* sense */\n.rili-markdown-renderer .pact-card.pt-sense { border-color: #c99bff88 !important; background: linear-gradient(160deg, #c99bff1a 0%, rgba(20,17,11,.55) 100%) !important; box-shadow: 0 3px 16px #c99bff22 !important; }\n.rili-markdown-renderer .pact-card.pt-sense .seal-pact { background: linear-gradient(135deg, #c99bffcc, #c99bff) !important; box-shadow: 0 2px 8px #c99bff55 !important; }\n.rili-markdown-renderer .pact-card.pt-sense .pt-ico { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23c99bff%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M1%2012s4-8%2011-8%2011%208%2011%208-4%208-11%208-11-8-11-8z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E\") !important; }\n\n/* rule */\n.rili-markdown-renderer .pact-card.pt-rule { border-color: #ff4d6d88 !important; background: linear-gradient(160deg, #ff4d6d1a 0%, rgba(20,17,11,.55) 100%) !important; box-shadow: 0 3px 16px #ff4d6d22 !important; }\n.rili-markdown-renderer .pact-card.pt-rule .seal-pact { background: linear-gradient(135deg, #ff4d6dcc, #ff4d6d) !important; box-shadow: 0 2px 8px #ff4d6d55 !important; }\n.rili-markdown-renderer .pact-card.pt-rule .pt-ico { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ff4d6d%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%204l3%2012h14l3-12-6%207-4-7-4%207-6-7zm3%2016h14%27%2F%3E%3C%2Fsvg%3E\") !important; }\n\n/* carnal */\n.rili-markdown-renderer .pact-card.pt-carnal { border-color: #ff8fb388 !important; background: linear-gradient(160deg, #ff8fb31a 0%, rgba(20,17,11,.55) 100%) !important; box-shadow: 0 3px 16px #ff8fb322 !important; }\n.rili-markdown-renderer .pact-card.pt-carnal .seal-pact { background: linear-gradient(135deg, #ff8fb3cc, #ff8fb3) !important; box-shadow: 0 2px 8px #ff8fb355 !important; }\n.rili-markdown-renderer .pact-card.pt-carnal .pt-ico { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ff8fb3%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8.5%2014.5A2.5%202.5%200%200%200%2011%2012c0-1.38-.5-2-1-3-1.07-2.14-.22-4.05%202-6%20.5%202.5%202%204.9%204%206.5%202%201.6%203%203.5%203%205.5a7%207%200%201%201-14%200c0-1.15.43-2.29%201-3a2.5%202.5%200%200%200%202.5%202.5z%27%2F%3E%3C%2Fsvg%3E\") !important; }\n\n/* soul */\n.rili-markdown-renderer .pact-card.pt-soul { border-color: #b39dff88 !important; background: linear-gradient(160deg, #b39dff1a 0%, rgba(20,17,11,.55) 100%) !important; box-shadow: 0 3px 16px #b39dff22 !important; }\n.rili-markdown-renderer .pact-card.pt-soul .seal-pact { background: linear-gradient(135deg, #b39dffcc, #b39dff) !important; box-shadow: 0 2px 8px #b39dff55 !important; }\n.rili-markdown-renderer .pact-card.pt-soul .pt-ico { background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b39dff%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%202l2.4%207.2H22l-6%204.4%202.3%207.4-6.3-4.6-6.3%204.6L8%2013.6l-6-4.4h7.6z%27%2F%3E%3C%2Fsvg%3E\") !important; }\n\n/* =========================================\n   聊天界面 · 顶部栏 & 输入框美化 v2（暗金魔法阵豪华版 · 无伪元素）\n   ========================================= */\n/* --- 顶部栏：魔法阵纹理 + 底部流光（多层背景） --- */\nheader {\n    position: relative !important;\n    border-bottom: none !important;\n    background-image:\n        linear-gradient(180deg, transparent calc(100% - 2px), rgba(232,207,142,.5) calc(100% - 2px), rgba(212,175,55,.85) 100%),\n        url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27160%27%20height%3D%27160%27%20viewBox%3D%270%200%20160%20160%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%2523d4af37%27%20stroke-width%3D%271%27%20stroke-opacity%3D%270.12%27%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%2766%27%2F%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%2752%27%20stroke-dasharray%3D%273%207%27%2F%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%2738%27%2F%3E%3Cpath%20d%3D%27M80%2014%20L114%2096%20L46%2096%20Z%27%2F%3E%3Cpath%20d%3D%27M80%2080%20L80%2030%27%2F%3E%3Cpath%20d%3D%27M80%2080%20L130%2080%27%2F%3E%3Cpath%20d%3D%27M80%2080%20L80%20130%27%2F%3E%3Cpath%20d%3D%27M80%2080%20L30%2080%27%2F%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%278%27%2F%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%272%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"),\n        linear-gradient(135deg, rgba(16,13,8,.98) 0%, rgba(58,44,20,.92) 55%, rgba(20,17,11,.98) 100%) !important;\n    background-size: 100% 100%, 180px, 100% 100% !important;\n    background-repeat: no-repeat, repeat, no-repeat !important;\n    box-shadow: 0 3px 24px rgba(212,175,55,.16), 0 1px 10px rgba(212,175,55,.35) !important;\n    backdrop-filter: blur(14px) !important;\n}\nheader button,\nheader a {\n    color: rgba(232,207,142,.88) !important;\n    transition: color .2s ease, filter .2s ease, text-shadow .2s ease !important;\n}\nheader button:hover,\nheader a:hover {\n    color: #f7e6b5 !important;\n    filter: brightness(1.2) !important;\n    text-shadow: 0 0 10px rgba(212,175,55,.6) !important;\n}\n\n/* --- 输入表单：双色渐变金边 --- */\nform:has(textarea) {\n    position: relative !important;\n    border: 1px solid transparent !important;\n    background:\n        linear-gradient(135deg, rgba(16,13,8,.95) 0%, rgba(52,40,18,.88) 100%) padding-box,\n        linear-gradient(135deg, rgba(212,175,55,.7) 0%, rgba(212,175,55,.18) 35%, rgba(138,92,19,.55) 70%, rgba(212,175,55,.7) 100%) border-box !important;\n    border-radius: 14px !important;\n    box-shadow: 0 8px 32px rgba(212,175,55,.14), inset 0 0 30px rgba(212,175,55,.05) !important;\n    transition: box-shadow .3s ease !important;\n}\n/* 聚焦金色脉冲光环 */\nform:has(textarea):focus-within {\n    animation: chat-gold-pulse 2.4s ease-in-out infinite !important;\n}\n@keyframes chat-gold-pulse {\n    0%, 100% { box-shadow: 0 0 0 1px rgba(212,175,55,.35), 0 0 18px rgba(212,175,55,.2), inset 0 0 30px rgba(212,175,55,.05) !important; }\n    50% { box-shadow: 0 0 0 1px rgba(232,207,142,.6), 0 0 38px rgba(212,175,55,.45), inset 0 0 38px rgba(212,175,55,.1) !important; }\n}\n\n/* textarea 容器：金色侧边强调 + 内侧微光 */\nform:has(textarea) .group\\/input-group {\n    background: linear-gradient(135deg, rgba(138,92,19,.2) 0%, rgba(201,162,75,.06) 100%) !important;\n    border-color: rgba(212,175,55,.5) !important;\n    border-left: 3px solid rgba(232,207,142,.65) !important;\n    border-radius: 10px !important;\n    box-shadow: inset 0 0 22px rgba(212,175,55,.08) !important;\n}\nform:has(textarea) textarea {\n    font-size: 1.05em !important;\n    line-height: 1.85 !important;\n    color: #f6efdc !important;\n    letter-spacing: .02em !important;\n    caret-color: #f2dc92 !important;\n}\nform:has(textarea) textarea::placeholder {\n    color: rgba(232,207,142,.45) !important;\n    letter-spacing: .08em !important;\n}\n\n/* 快捷行：底部金色虚线分隔 */\nform:has(textarea) [class*=\"order-first\"] {\n    border-bottom: 1px dashed rgba(212,175,55,.22) !important;\n}\nform:has(textarea) [class*=\"order-first\"] button,\nform:has(textarea) [class*=\"order-last\"] button {\n    color: rgba(232,207,142,.82) !important;\n    border-radius: 6px !important;\n    transition: all .18s ease !important;\n}\nform:has(textarea) [class*=\"order-first\"] button:hover,\nform:has(textarea) [class*=\"order-last\"] button:hover {\n    color: #f7e6b5 !important;\n    background: rgba(201,162,75,.18) !important;\n    box-shadow: 0 0 12px rgba(212,175,55,.22) !important;\n}\n\n/* 发送按钮：金色渐变 + 辉光 + 图标旋转 */\nform:has(textarea) button[class*=\"bg-primary\"] {\n    background: linear-gradient(135deg, #8a5c13 0%, #c9a24b 45%, #f2dc92 100%) !important;\n    color: #1c1305 !important;\n    border: 1px solid rgba(255,244,214,.45) !important;\n    box-shadow: 0 3px 14px rgba(212,175,55,.5), inset 0 1px 0 rgba(255,244,214,.4) !important;\n    transition: all .25s ease !important;\n}\nform:has(textarea) button[class*=\"bg-primary\"]:hover {\n    filter: brightness(1.18) !important;\n    box-shadow: 0 4px 22px rgba(232,207,142,.65), inset 0 1px 0 rgba(255,244,214,.5) !important;\n    transform: translateY(-1px) !important;\n}\nform:has(textarea) button[class*=\"bg-primary\"] svg {\n    transition: transform .35s ease !important;\n}\nform:has(textarea) button[class*=\"bg-primary\"]:hover svg {\n    transform: rotate(180deg) scale(1.1) !important;\n}\n\n/* 模型/回复模式文字金色 */\nform:has(textarea) [class*=\"order-last\"] [class*=\"font-medium\"] {\n    color: rgba(232,207,142,.92) !important;\n    text-shadow: 0 0 8px rgba(212,175,55,.3) !important;\n}\n\n/* =========================================\n   聊天消息区 · 气泡增强 & 操作按钮（v3）\n   ========================================= */\n/* AI 气泡：左侧金色符文边 + 魔法阵纹理 + 渐变描边 */\n.group.is-assistant > div:first-child {\n    border-left: 3px solid rgba(232,207,142,.55) !important;\n    border-top: 1px solid rgba(212,175,55,.35) !important;\n    border-right: 1px solid rgba(107,88,37,.6) !important;\n    border-bottom: 1px solid rgba(107,88,37,.6) !important;\n    border-radius: 4px 14px 14px 14px !important;\n    background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27160%27%20height%3D%27160%27%20viewBox%3D%270%200%20160%20160%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%2523d4af37%27%20stroke-width%3D%271%27%20stroke-opacity%3D%270.1%27%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%2766%27%2F%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%2752%27%20stroke-dasharray%3D%273%207%27%2F%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%2738%27%2F%3E%3Cpath%20d%3D%27M80%2014%20L114%2096%20L46%2096%20Z%27%2F%3E%3Cpath%20d%3D%27M80%2080%20L80%2030%27%2F%3E%3Cpath%20d%3D%27M80%2080%20L130%2080%27%2F%3E%3Cpath%20d%3D%27M80%2080%20L80%20130%27%2F%3E%3Cpath%20d%3D%27M80%2080%20L30%2080%27%2F%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%278%27%2F%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2780%27%20r%3D%272%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"), linear-gradient(135deg, #14110b 0%, #1e180f 100%) !important;\n    background-size: 220px, 100% 100% !important;\n    background-repeat: repeat, no-repeat !important;\n    box-shadow: 0 4px 20px rgba(212,175,55,.1), inset 0 0 26px rgba(212,175,55,.05) !important;\n    position: relative !important;\n}\n/* 用户气泡：右侧金色点缀 + 渐变描边 */\n.group.is-user > div:first-child {\n    border-right: 3px solid rgba(232,207,142,.5) !important;\n    border-top: 1px solid rgba(212,175,55,.3) !important;\n    border-left: 1px solid rgba(139,115,50,.55) !important;\n    border-bottom: 1px solid rgba(139,115,50,.55) !important;\n    border-radius: 14px 4px 14px 14px !important;\n    box-shadow: 0 4px 18px rgba(212,175,55,.12), inset 0 0 22px rgba(212,175,55,.05) !important;\n}\n/* 气泡正文颜色 */\n.group.is-assistant > div:first-child,\n.group.is-user > div:first-child {\n    color: #f3ecd9 !important;\n}\n/* 消息操作按钮（复制/重新生成/分支等）：金色 */\n.group.is-assistant [class*=\"text-muted-foreground\"],\n.group.is-user [class*=\"text-muted-foreground\"] {\n    color: rgba(232,207,142,.55) !important;\n    transition: all .18s ease !important;\n}\n.group.is-assistant [class*=\"text-muted-foreground\"]:hover,\n.group.is-user [class*=\"text-muted-foreground\"]:hover {\n    color: #f2dc92 !important;\n    filter: drop-shadow(0 0 6px rgba(212,175,55,.55)) !important;\n}\n/* 消息操作按钮 svg 图标描边 */\n.group.is-assistant button svg,\n.group.is-user button svg {\n    stroke: rgba(232,207,142,.7) !important;\n}\n/* 消息列表滚动条：金色 */\n[class*=\"scroll-mt\"] {\n    scrollbar-width: thin !important;\n    scrollbar-color: rgba(201,162,75,.5) rgba(201,162,75,.06) !important;\n}\n[class*=\"scroll-mt\"]::-webkit-scrollbar { width: 8px !important; }\n[class*=\"scroll-mt\"]::-webkit-scrollbar-track { background: rgba(201,162,75,.05) !important; }\n[class*=\"scroll-mt\"]::-webkit-scrollbar-thumb {\n    background: linear-gradient(180deg, #8a5c13, #c9a24b) !important;\n    border-radius: 4px !important;\n    border: 1px solid rgba(20,17,11,.5) !important;\n}\n[class*=\"scroll-mt\"]::-webkit-scrollbar-thumb:hover { background: #e8cf8e !important; }\n/* 顶部栏按钮图标：金色描边 */\nheader button svg {\n    stroke: rgba(232,207,142,.75) !important;\n    transition: stroke .2s ease, filter .2s ease !important;\n}\nheader button:hover svg {\n    stroke: #f2dc92 !important;\n    filter: drop-shadow(0 0 4px rgba(212,175,55,.6)) !important;\n}\n\n/* =========================================\n   势力声望栏\n   ========================================= */\n.rep-panel .rep-row {\n    display: flex !important;\n    align-items: center !important;\n    gap: 10px !important;\n    padding: 7px 4px !important;\n    border-bottom: 1px dashed rgba(201,162,75,.15) !important;\n}\n.rep-panel .rep-row:last-child { border-bottom: none !important; }\n.rep-panel .rep-name {\n    flex: 0 0 118px !important;\n    font-size: .9em !important;\n    color: #e8cf8e !important;\n    font-weight: 600 !important;\n    letter-spacing: .04em !important;\n    white-space: nowrap !important;\n}\n.rep-panel .rep-lv {\n    flex: 0 0 auto !important;\n    min-width: 88px !important;\n    text-align: center !important;\n    font-size: .82em !important;\n    font-weight: 800 !important;\n    border: 1px solid !important;\n    border-radius: 6px !important;\n    padding: 2px 8px !important;\n    letter-spacing: .03em !important;\n    white-space: nowrap !important;\n}\n.rep-panel .rep-fx {\n    flex: 1 !important;\n    font-size: .78em !important;\n    color: rgba(236,228,207,.7) !important;\n    line-height: 1.5 !important;\n}\n/* =========================================\n   技能栏位（玩家/已契约对象/NPC 通用）\n   ========================================= */\n.skill-item {\n    display: flex !important;\n    align-items: center !important;\n    gap: 8px !important;\n    padding: 3px 8px !important;\n    margin: 3px 0 !important;\n    background: linear-gradient(90deg, rgba(212,175,55,.08) 0%, rgba(212,175,55,0) 65%) !important;\n    border: 1px solid rgba(212,175,55,.18) !important;\n    border-radius: 6px !important;\n}\n.skill-item .sk-name {\n    flex: 0 0 auto !important;\n    min-width: 76px !important;\n    color: #e8cf8e !important;\n    font-weight: 700 !important;\n    letter-spacing: .05em !important;\n    white-space: nowrap !important;\n}\n.skill-item .sk-lv {\n    flex: 0 0 auto !important;\n    color: #1c1305 !important;\n    background: linear-gradient(135deg,#8a5c13 0%,#c9a24b 45%,#e8cf8e 100%) !important;\n    border-radius: 4px !important;\n    padding: 0 7px !important;\n    font-size: .82em !important;\n    font-weight: 800 !important;\n    letter-spacing: .04em !important;\n    white-space: nowrap !important;\n}\n.skill-item .sk-bar {\n    flex: 1 !important;\n    height: 5px !important;\n    min-width: 40px !important;\n    background: rgba(236,228,207,.12) !important;\n    border-radius: 3px !important;\n    overflow: hidden !important;\n}\n.skill-item .sk-bar i {\n    display: block !important;\n    height: 100% !important;\n    background: linear-gradient(90deg,#8a5c13 0%,#c9a24b 60%,#e8cf8e 100%) !important;\n    border-radius: 3px !important;\n}\n.skill-item .sk-num {\n    flex: 0 0 auto !important;\n    color: rgba(236,228,207,.85) !important;\n    font-size: .78em !important;\n    font-weight: 600 !important;\n    font-variant-numeric: tabular-nums !important;\n    white-space: nowrap !important;\n}\n.skill-item .sk-type {\n    flex: 0 0 auto !important;\n    color: rgba(201,162,75,.75) !important;\n    font-size: .7em !important;\n    border: 1px solid rgba(201,162,75,.3) !important;\n    border-radius: 4px !important;\n    padding: 0 4px !important;\n    white-space: nowrap !important;\n}\n\n/* 阶数配色：进度条与徽章随阶数变色 */\n.skill-item.lv-入门 .sk-bar i { background: linear-gradient(90deg,#1b5e20 0%,#4caf50 60%,#81c784 100%) !important; }\n.skill-item.lv-熟练 .sk-bar i { background: linear-gradient(90deg,#0d47a1 0%,#42a5f5 60%,#90caf9 100%) !important; }\n.skill-item.lv-精通 .sk-bar i { background: linear-gradient(90deg,#4a148c 0%,#ab47bc 60%,#ce93d8 100%) !important; }\n.skill-item.lv-大师 .sk-bar i { background: linear-gradient(90deg,#bf360c 0%,#ff9800 60%,#ffcc80 100%) !important; }\n.skill-item.lv-圆满 .sk-bar i { background: linear-gradient(90deg,#8a5c13 0%,#ffd700 60%,#fff3b0 100%) !important; }\n.skill-item.lv-入门 .sk-lv { color: #fff !important; background: linear-gradient(135deg,#1b5e20 0%,#43a047 100%) !important; }\n.skill-item.lv-熟练 .sk-lv { color: #fff !important; background: linear-gradient(135deg,#0d47a1 0%,#1e88e5 100%) !important; }\n.skill-item.lv-精通 .sk-lv { color: #fff !important; background: linear-gradient(135deg,#4a148c 0%,#8e24aa 100%) !important; }\n.skill-item.lv-大师 .sk-lv { color: #fff !important; background: linear-gradient(135deg,#bf360c 0%,#fb8c00 100%) !important; }\n.skill-item.lv-圆满 .sk-lv { color: #1c1305 !important; background: linear-gradient(135deg,#8a5c13 0%,#c9a24b 45%,#ffd700 100%) !important; }\n\n.skill-item .sk-pow {\n    flex: 0 0 auto !important;\n    color: #ffd75e !important;\n    font-size: .78em !important;\n    font-weight: 800 !important;\n    border: 1px solid rgba(255,215,94,.45) !important;\n    border-radius: 4px !important;\n    padding: 0 5px !important;\n    white-space: nowrap !important;\n    background: rgba(255,215,94,.06) !important;\n}\n\n/* 技能分组标题（战斗金/生活绿/色情粉） */\n.skill-group {\n    display: flex !important;\n    align-items: center !important;\n    margin: 5px 0 2px !important;\n    padding: 2px 8px !important;\n    border-radius: 3px !important;\n}\n.skill-group .sg-title {\n    font-size: .85em !important;\n    font-weight: 800 !important;\n    letter-spacing: .08em !important;\n}\n.skill-group .sg-num {\n    margin-left: 8px !important;\n    color: #1c1305 !important;\n    background: rgba(212,175,55,.85) !important;\n    border-radius: 8px !important;\n    padding: 0 6px !important;\n    font-size: .72em !important;\n    font-weight: 800 !important;\n}\n.skill-group.sg-battle { border-left: 3px solid #c9a24b !important; background: linear-gradient(90deg, rgba(212,175,55,.14) 0%, rgba(212,175,55,0) 65%) !important; }\n.skill-group.sg-battle .sg-title { color: #e8cf8e !important; }\n.skill-group.sg-life { border-left: 3px solid #66bb6a !important; background: linear-gradient(90deg, rgba(102,187,106,.14) 0%, rgba(102,187,106,0) 65%) !important; }\n.skill-group.sg-life .sg-title { color: #a5d6a7 !important; }\n.skill-group.sg-erotic { border-left: 3px solid #ff8fa3 !important; background: linear-gradient(90deg, rgba(255,143,163,.14) 0%, rgba(255,143,163,0) 65%) !important; }\n.skill-group.sg-erotic .sg-title { color: #ff9db5 !important; }\n\n/* =========================================\n   响应式字体适配 + 层级字号\n   （正文 1.08em 基准；状态栏/记忆区比正文小一号）\n   ========================================= */\n/* 基准：状态栏与记忆区比正文小一号 */\n.rili-markdown-renderer .pc-rows {\n    font-size: 0.92em !important;\n}\n.rili-markdown-renderer .mem-card {\n    font-size: 0.92em !important;\n}\n.rili-markdown-renderer .mem-idx {\n    font-size: 0.9em !important;\n}\n/* 手机端（窄屏）：整体缩小约 10%，避免偏大 */\n@media (max-width: 640px) {\n    .rili-markdown-renderer .story-body {\n        font-size: 0.97em !important;\n    }\n    .rili-markdown-renderer .pc-rows {\n        font-size: 0.85em !important;\n    }\n    .rili-markdown-renderer .mem-card {\n        font-size: 0.85em !important;\n    }\n    .rili-markdown-renderer .mem-idx {\n        font-size: 0.82em !important;\n    }\n}\n/* 电脑端（宽屏）：整体放大约 7%，避免偏小 */\n@media (min-width: 1280px) {\n    .rili-markdown-renderer .story-body {\n        font-size: 1.16em !important;\n    }\n    .rili-markdown-renderer .pc-rows {\n        font-size: 0.98em !important;\n    }\n    .rili-markdown-renderer .mem-card {\n        font-size: 0.98em !important;\n    }\n    .rili-markdown-renderer .mem-idx {\n        font-size: 0.95em !important;\n    }\n}\n\n/* =========================================\n   横向滑动滑条（栏位信息过长可横滑查看）\n   ========================================= */\n/* 栏位容器：允许横向滚动，防内容被裁切遮挡 */\n.rili-markdown-renderer .pc-rows,\n.rili-markdown-renderer .pact-card,\n.rili-markdown-renderer .npc-card,\n.rili-markdown-renderer .mem-card,\n.rili-markdown-renderer .rep-panel,\n.rili-markdown-renderer .top-status-bar .tsb-grid {\n    overflow-x: auto !important;\n    -webkit-overflow-scrolling: touch !important;\n    overscroll-behavior-x: contain !important;\n    scrollbar-width: thin !important;\n    scrollbar-color: rgba(201,162,75,.5) rgba(201,162,75,.08) !important;\n}\n/* 手机端：长内容行不压缩，触发横向滑动查看 */\n@media (max-width: 768px) {\n    /* 移动端：长内容自然折行（2-3 行），不再强制单行横滑 */\n    .rili-markdown-renderer .pc-rows .pf,\n    .rili-markdown-renderer .pc-rows .pf-full,\n    .rili-markdown-renderer .pc-rows .pf.bio,\n    .rili-markdown-renderer .rep-row,\n    .rili-markdown-renderer .rep-fx,\n    .rili-markdown-renderer .mem-card {\n        min-width: 0 !important;\n        max-width: 100% !important;\n        white-space: normal !important;\n        word-break: break-word !important;\n        overflow-wrap: anywhere !important;\n        flex-wrap: wrap !important;\n    }\n    /* 技能行：允许内部徽章换行 */\n    .rili-markdown-renderer .skill-item {\n        flex-wrap: wrap !important;\n        min-width: 0 !important;\n        max-width: 100% !important;\n    }\n    .rili-markdown-renderer .skill-item .sk-name {\n        word-break: break-all !important;\n    }\n    \n/* ===== 记忆区表格化 ===== */\n.mem-tbl {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.82rem;\n  line-height: 1.6;\n  margin: 0;\n}\n.mem-tbl thead th {\n  padding: 6px 10px;\n  text-align: left;\n  font-weight: 600;\n  font-size: 0.75rem;\n  letter-spacing: 0.04em;\n  border-bottom: 2px solid rgba(201,162,75,.35);\n  white-space: nowrap;\n}\n/* 短期记忆表格 - 金色系 */\n.mem-short thead th {\n  color: #e8cf8e;\n  background: rgba(201,162,75,.08);\n}\n.mem-short tbody td {\n  border-bottom: 1px solid rgba(201,162,75,.15);\n  padding: 5px 10px;\n  color: #d4c8b0;\n  vertical-align: top;\n}\n.mem-short tbody tr:hover td {\n  background: rgba(201,162,75,.06);\n}\n/* 长期记忆表格 - 紫色系 */\n.mem-long thead th {\n  color: #c99bff;\n  background: rgba(122,74,191,.08);\n}\n.mem-long tbody td {\n  border-bottom: 1px solid rgba(122,74,191,.18);\n  padding: 5px 10px;\n  color: #d4c8b0;\n  vertical-align: top;\n}\n.mem-long tbody tr:hover td {\n  background: rgba(122,74,191,.06);\n}\n/* 永久记忆表格 - 深红系 */\n.mem-perm thead th {\n  color: #ff9db5;\n  background: rgba(207,27,75,.08);\n}\n.mem-perm tbody td {\n  border-bottom: 1px solid rgba(207,27,75,.2);\n  padding: 5px 10px;\n  color: #d4c8b0;\n  vertical-align: top;\n}\n.mem-perm tbody tr:hover td {\n  background: rgba(207,27,75,.06);\n}\n/* 表格列宽 */\n.mem-tbl th:first-child,\n.mem-tbl td:first-child {\n  width: 2.5em;\n  text-align: center;\n  font-weight: 700;\n  color: #c9a24b;\n}\n.mem-long th:first-child,\n.mem-long td:first-child {\n  color: #c99bff;\n}\n.mem-perm th:first-child,\n.mem-perm td:first-child {\n  color: #ff9db5;\n}\n.mem-tbl th:nth-child(2),\n.mem-tbl td:nth-child(2) {\n  width: 20%;\n  white-space: nowrap;\n}\n.mem-tbl th:nth-child(3),\n.mem-tbl td:nth-child(3) {\n  width: 22%;\n}\n.mem-tbl th:nth-child(4),\n.mem-tbl td:nth-child(4) {\n  width: auto;\n}\n/* 移动端表格水平滚动 */\n@media (max-width: 768px) {\n  .mem-tbl {\n    font-size: 0.72rem;\n    min-width: 500px;\n  }\n  .mem-tbl thead th,\n  .mem-tbl tbody td {\n    padding: 4px 6px;\n  }\n}\n\n/* 移动端关闭栏位横向滚动（折行后不再需要横滑） */\n    .rili-markdown-renderer .pc-rows,\n    .rili-markdown-renderer .pact-card,\n    .rili-markdown-renderer .npc-card,\n    .rili-markdown-renderer .mem-card,\n    .rili-markdown-renderer .rep-panel {\n        overflow-x: hidden !important;\n    }\n}\n/* 横向滚动条外观（暗金主题） */\n.rili-markdown-renderer .pc-rows::-webkit-scrollbar,\n.rili-markdown-renderer .pact-card::-webkit-scrollbar,\n.rili-markdown-renderer .npc-card::-webkit-scrollbar,\n.rili-markdown-renderer .mem-card::-webkit-scrollbar,\n.rili-markdown-renderer .rep-panel::-webkit-scrollbar,\n.rili-markdown-renderer .top-status-bar .tsb-grid::-webkit-scrollbar {\n    height: 5px !important;\n}\n.rili-markdown-renderer .pc-rows::-webkit-scrollbar-thumb,\n.rili-markdown-renderer .pact-card::-webkit-scrollbar-thumb,\n.rili-markdown-renderer .npc-card::-webkit-scrollbar-thumb,\n.rili-markdown-renderer .mem-card::-webkit-scrollbar-thumb,\n.rili-markdown-renderer .rep-panel::-webkit-scrollbar-thumb,\n.rili-markdown-renderer .top-status-bar .tsb-grid::-webkit-scrollbar-thumb {\n    background: linear-gradient(90deg, #8a5c13 0%, #c9a24b 100%) !important;\n    border-radius: 3px !important;\n}\n.rili-markdown-renderer .pc-rows::-webkit-scrollbar-track,\n.rili-markdown-renderer .pact-card::-webkit-scrollbar-track,\n.rili-markdown-renderer .npc-card::-webkit-scrollbar-track,\n.rili-markdown-renderer .mem-card::-webkit-scrollbar-track,\n.rili-markdown-renderer .rep-panel::-webkit-scrollbar-track,\n.rili-markdown-renderer .top-status-bar .tsb-grid::-webkit-scrollbar-track {\n    background: rgba(201,162,75,.08) !important;\n    border-radius: 3px !important;\n}\n\n.skill-item .sk-talent {\n    flex: 0 0 auto !important;\n    color: #b39ddb !important;\n    font-size: .7em !important;\n    font-weight: 600 !important;\n    border: 1px solid rgba(179,157,219,.4) !important;\n    border-radius: 4px !important;\n    padding: 0 4px !important;\n    background: rgba(179,157,219,.06) !important;\n    white-space: nowrap !important;\n}\n\n/* 三类技能行配色：战斗金 / 生活绿 / 色情粉 */\n.skill-item.battle {\n    background: linear-gradient(90deg, rgba(212,175,55,.10) 0%, rgba(212,175,55,0) 65%) !important;\n    border-color: rgba(212,175,55,.28) !important;\n}\n.skill-item.battle .sk-name { color: #e8cf8e !important; }\n.skill-item.life {\n    background: linear-gradient(90deg, rgba(102,187,106,.10) 0%, rgba(102,187,106,0) 65%) !important;\n    border-color: rgba(102,187,106,.28) !important;\n}\n.skill-item.life .sk-name { color: #a5d6a7 !important; }\n.skill-item.erotic {\n    background: linear-gradient(90deg, rgba(255,143,163,.10) 0%, rgba(255,143,163,0) 65%) !important;\n    border-color: rgba(255,143,163,.28) !important;\n}\n.skill-item.erotic .sk-name { color: #ff9db5 !important; }\n\n/* wave 数值标注（span 版本：兼容平台过滤自定义标签） */\n.rili-markdown-renderer span.wave {\n    text-decoration: underline !important;\n    text-decoration-color: rgba(212, 175, 55, .72) !important;\n    text-decoration-thickness: 1.5px !important;\n    text-underline-offset: 3px !important;\n    text-decoration-skip-ink: auto !important;\n    cursor: help !important;\n    color: #e8cf8e !important;\n    font-weight: 600 !important;\n}\n.rili-markdown-renderer span.wave:hover {\n    text-decoration-color: #ffd75e !important;\n    text-decoration-thickness: 2.5px !important;\n}\n/* 技能类别颜色 */\n.rili-markdown-renderer span.wave.sk-w-battle {\n    color: #e8cf8e !important;\n    text-decoration-color: rgba(212, 175, 55, .78) !important;\n}\n.rili-markdown-renderer span.wave.sk-w-life {\n    color: #a5d6a7 !important;\n    text-decoration-color: rgba(102, 187, 106, .78) !important;\n}\n.rili-markdown-renderer span.wave.sk-w-erotic {\n    color: #ff9db5 !important;\n    text-decoration-color: rgba(255, 143, 163, .78) !important;\n}\n.rili-markdown-renderer span.wave.sk-w-battle:hover {\n    text-decoration-color: #ffd75e !important;\n}\n.rili-markdown-renderer span.wave.sk-w-life:hover {\n    text-decoration-color: #81c784 !important;\n}\n.rili-markdown-renderer span.wave.sk-w-erotic:hover {\n    text-decoration-color: #ff8fa3 !important;\n}\n\n/* wave 数值标注（abbr 语义标签：悬停原生提示） */\n.rili-markdown-renderer abbr.wave {\n    text-decoration: underline !important;\n    text-decoration-color: rgba(212, 175, 55, .72) !important;\n    text-decoration-thickness: 1.5px !important;\n    text-underline-offset: 3px !important;\n    text-decoration-skip-ink: auto !important;\n    cursor: help !important;\n    color: #e8cf8e !important;\n    font-weight: 600 !important;\n}\n.rili-markdown-renderer abbr.wave:hover {\n    text-decoration-color: #ffd75e !important;\n    text-decoration-thickness: 2.5px !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-battle {\n    color: #e8cf8e !important;\n    text-decoration-color: rgba(212, 175, 55, .78) !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-life {\n    color: #a5d6a7 !important;\n    text-decoration-color: rgba(102, 187, 106, .78) !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-erotic {\n    color: #ff9db5 !important;\n    text-decoration-color: rgba(255, 143, 163, .78) !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-battle:hover {\n    text-decoration-color: #ffd75e !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-life:hover {\n    text-decoration-color: #81c784 !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-erotic:hover {\n    text-decoration-color: #ff8fa3 !important;\n}\n\n/* wave 悬停提示：游戏式浮动提示框（暗金渐变 + 描边 + 辉光 + 箭头） */\n.rili-markdown-renderer abbr.wave {\n    position: relative;\n}\n.rili-markdown-renderer abbr.wave:hover::after {\n    content: attr(data-info);\n    position: absolute;\n    left: 0;\n    bottom: calc(100% + 10px);\n    z-index: 999;\n    width: max-content;\n    max-width: 280px;\n    padding: 10px 14px;\n    background: linear-gradient(160deg, #1e180f 0%, #14110b 100%);\n    color: #ece4cf;\n    font-size: 13px;\n    line-height: 1.6;\n    text-align: left;\n    border: 1px solid rgba(212, 175, 55, .6);\n    border-radius: 8px;\n    box-shadow: 0 6px 24px rgba(0, 0, 0, .68), 0 0 14px rgba(212, 175, 55, .22);\n    white-space: normal;\n    pointer-events: none;\n}\n.rili-markdown-renderer abbr.wave:hover::before {\n    content: '';\n    position: absolute;\n    left: 14px;\n    bottom: calc(100% + 4px);\n    z-index: 1000;\n    border: 6px solid transparent;\n    border-top-color: rgba(212, 175, 55, .9);\n    pointer-events: none;\n}\n/* 兜底：AI 若误用 title 属性（无 data-info），也能读取显示 */\n.rili-markdown-renderer abbr.wave:not([data-info]):hover::after {\n    content: attr(title);\n}\n\n/* 类别变色：提示框边框与箭头随技能类别 */\n.rili-markdown-renderer abbr.wave.sk-w-battle:hover::after {\n    border-color: rgba(212, 175, 55, .85) !important;\n    box-shadow: 0 6px 24px rgba(0, 0, 0, .68), 0 0 18px rgba(212, 175, 55, .38) !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-battle:hover::before {\n    border-top-color: rgba(212, 175, 55, .95) !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-life:hover::after {\n    border-color: rgba(102, 187, 106, .85) !important;\n    box-shadow: 0 6px 24px rgba(0, 0, 0, .68), 0 0 18px rgba(102, 187, 106, .38) !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-life:hover::before {\n    border-top-color: rgba(129, 199, 132, .95) !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-erotic:hover::after {\n    border-color: rgba(255, 143, 163, .85) !important;\n    box-shadow: 0 6px 24px rgba(0, 0, 0, .68), 0 0 18px rgba(255, 143, 163, .38) !important;\n}\n.rili-markdown-renderer abbr.wave.sk-w-erotic:hover::before {\n    border-top-color: rgba(255, 143, 163, .95) !important;\n}\n\n/* ===== 技能名悬停提示：状态栏技能效果/数值悬浮窗（复用 wave 暗金浮动窗样式） ===== */\n.skill-item .sk-name[data-info] {\n    position: relative !important;\n    cursor: help !important;\n    border-bottom: 1px dashed rgba(212, 175, 55, .45) !important;\n}\n.skill-item .sk-name[data-info]:hover::after {\n    content: attr(data-info);\n    position: absolute;\n    left: 0;\n    bottom: calc(100% + 10px);\n    z-index: 999;\n    width: max-content;\n    max-width: 300px;\n    padding: 10px 14px;\n    background: linear-gradient(160deg, #1e180f 0%, #14110b 100%);\n    color: #ece4cf;\n    font-size: 13px;\n    line-height: 1.6;\n    text-align: left;\n    border: 1px solid rgba(212, 175, 55, .6);\n    border-radius: 8px;\n    box-shadow: 0 6px 24px rgba(0, 0, 0, .68), 0 0 14px rgba(212, 175, 55, .22);\n    white-space: normal;\n    pointer-events: none;\n}\n.skill-item .sk-name[data-info]:hover::before {\n    content: '';\n    position: absolute;\n    left: 14px;\n    bottom: calc(100% + 4px);\n    z-index: 1000;\n    border: 6px solid transparent;\n    border-top-color: rgba(212, 175, 55, .9);\n    pointer-events: none;\n}\n/* 类别变色：提示框边框与箭头随技能类别 */\n.skill-item.battle .sk-name[data-info]:hover::after { border-color: rgba(212, 175, 55, .85) !important; box-shadow: 0 6px 24px rgba(0,0,0,.68), 0 0 18px rgba(212,175,55,.38) !important; }\n.skill-item.battle .sk-name[data-info]:hover::before { border-top-color: rgba(212, 175, 55, .95) !important; }\n.skill-item.life .sk-name[data-info]:hover::after { border-color: rgba(102, 187, 106, .85) !important; box-shadow: 0 6px 24px rgba(0,0,0,.68), 0 0 18px rgba(102,187,106,.38) !important; }\n.skill-item.life .sk-name[data-info]:hover::before { border-top-color: rgba(129, 199, 132, .95) !important; }\n.skill-item.erotic .sk-name[data-info]:hover::after { border-color: rgba(255, 143, 163, .85) !important; box-shadow: 0 6px 24px rgba(0,0,0,.68), 0 0 18px rgba(255,143,163,.38) !important; }\n.skill-item.erotic .sk-name[data-info]:hover::before { border-top-color: rgba(255, 143, 163, .95) !important; }\n\n/* =========================================\n   魔法阵输出按钮（替换原发送按钮）\n   ========================================= */\n/* 1. 发送按钮本体：透明圆形容器，容纳魔法阵 */\nform:has(textarea) button[class*=\"bg-primary\"] {\n    background: transparent !important;\n    border: none !important;\n    box-shadow: none !important;\n    width: 40px !important;\n    height: 40px !important;\n    min-width: 40px !important;\n    min-height: 40px !important;\n    border-radius: 50% !important;\n    position: relative !important;\n    padding: 0 !important;\n    margin: 0 2px !important;\n    overflow: visible !important;\n}\n\n/* 2. 隐藏原发送图标 */\nform:has(textarea) button[class*=\"bg-primary\"] svg {\n    display: none !important;\n}\n\n/* 3. 魔法阵图案（默认静止） */\nform:has(textarea) button[class*=\"bg-primary\"]::before {\n    content: \"\" !important;\n    position: absolute !important;\n    inset: 0 !important;\n    width: 100% !important;\n    height: 100% !important;\n    background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Ccircle%20cx='50'%20cy='50'%20r='45'%20fill='none'%20stroke='%23ffe135'%20stroke-width='3'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='38'%20fill='none'%20stroke='%23ffe135'%20stroke-width='2'%20stroke-dasharray='5%205'/%3E%3Cpolygon%20points='50,10%2084,70%2016,70'%20fill='none'%20stroke='%23ffe135'%20stroke-width='2.5'/%3E%3Cpolygon%20points='50,90%2084,30%2016,30'%20fill='none'%20stroke='%23ffe135'%20stroke-width='2.5'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='13'%20fill='none'%20stroke='%23ffe135'%20stroke-width='2.5'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='5'%20fill='%23ffe135'/%3E%3C/svg%3E\") !important;\n    background-size: contain !important;\n    background-position: center !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 0 4px rgba(255,225,53,.85)) drop-shadow(0 0 12px rgba(212,175,55,.35)) !important;\n    transition: transform .3s ease, filter .3s ease !important;\n    animation: none !important;\n}\n\n/* 4. 悬停：魔法阵放大 + 辉光增强（仍静止） */\nform:has(textarea) button[class*=\"bg-primary\"]:hover::before {\n    transform: scale(1.14) !important;\n    filter: drop-shadow(0 0 6px rgba(255,225,53,1)) drop-shadow(0 0 18px rgba(212,175,55,.55)) !important;\n}\n\n/* 5. 加载中：魔法阵旋转\n   检测方式（任一命中即视为加载态）：\n   - textarea 被禁用  form:has(textarea:disabled)\n   - 按钮被禁用      button[class*=\"bg-primary\"]:disabled\n   - 按钮图标变为停止（lucide-square / octagon-x / 停止生成 aria-label） */\nform:has(textarea:disabled) button[class*=\"bg-primary\"]::before,\nform:has(textarea) button[class*=\"bg-primary\"]:disabled::before,\nform:has(textarea) button[class*=\"bg-primary\"]:has(svg.lucide-square)::before,\nform:has(textarea) button[class*=\"bg-primary\"]:has(svg.lucide-octagon-x)::before,\nform:has(textarea) button[class*=\"bg-primary\"][aria-label*=\"停止\"]::before,\nform:has(textarea) button[class*=\"bg-primary\"][aria-label*=\"stop\"]::before {\n    animation: kiro-magic-spin 2.4s linear infinite !important;\n    transition: none !important;\n}\n\n/* 6. 隐藏原加载/停止按钮（加载时平台可能出现的独立停止按钮，保留发送魔法阵本体） */\nform:has(textarea) button:has(svg.lucide-square):not([class*=\"bg-primary\"]),\nform:has(textarea) button:has(svg.lucide-octagon-x):not([class*=\"bg-primary\"]),\nform:has(textarea) button[aria-label*=\"停止\"]:not([class*=\"bg-primary\"]),\nform:has(textarea) button[aria-label*=\"stop\"]:not([class*=\"bg-primary\"]) {\n    display: none !important;\n}\n\n/* =========================================\n   wave 元素选择器兜底（AI 常输出 <wave data-info>，平台未过滤该标签）\n   与 abbr.wave / span.wave 并存，三种形式均生效\n   ========================================= */\n.rili-markdown-renderer wave[data-info] {\n    position: relative !important;\n    text-decoration: underline !important;\n    text-decoration-color: rgba(212, 175, 55, .72) !important;\n    text-decoration-thickness: 1.5px !important;\n    text-underline-offset: 3px !important;\n    text-decoration-skip-ink: auto !important;\n    cursor: help !important;\n    color: #e8cf8e !important;\n    font-weight: 600 !important;\n}\n.rili-markdown-renderer wave[data-info]:hover {\n    text-decoration-color: #ffd75e !important;\n    text-decoration-thickness: 2.5px !important;\n}\n.rili-markdown-renderer wave[data-info]:hover::after {\n    content: attr(data-info);\n    position: absolute;\n    left: 0;\n    bottom: calc(100% + 10px);\n    z-index: 999;\n    width: max-content;\n    max-width: 280px;\n    padding: 10px 14px;\n    background: linear-gradient(160deg, #1e180f 0%, #14110b 100%);\n    color: #ece4cf;\n    font-size: 13px;\n    line-height: 1.6;\n    text-align: left;\n    border: 1px solid rgba(212, 175, 55, .6);\n    border-radius: 8px;\n    box-shadow: 0 6px 24px rgba(0, 0, 0, .68), 0 0 14px rgba(212, 175, 55, .22);\n    white-space: normal;\n    pointer-events: none;\n}\n.rili-markdown-renderer wave[data-info]:hover::before {\n    content: '';\n    position: absolute;\n    left: 14px;\n    bottom: calc(100% + 4px);\n    z-index: 1000;\n    border: 6px solid transparent;\n    border-top-color: rgba(212, 175, 55, .9);\n    pointer-events: none;\n}\n/* wave 三色类别 */\n.rili-markdown-renderer wave.sk-w-battle { color: #e8cf8e !important; text-decoration-color: rgba(212, 175, 55, .78) !important; }\n.rili-markdown-renderer wave.sk-w-life { color: #a5d6a7 !important; text-decoration-color: rgba(102, 187, 106, .78) !important; }\n.rili-markdown-renderer wave.sk-w-erotic { color: #ff9db5 !important; text-decoration-color: rgba(255, 143, 163, .78) !important; }\n.rili-markdown-renderer wave.sk-w-battle:hover { text-decoration-color: #ffd75e !important; }\n.rili-markdown-renderer wave.sk-w-life:hover { text-decoration-color: #81c784 !important; }\n.rili-markdown-renderer wave.sk-w-erotic:hover { text-decoration-color: #ff8fa3 !important; }\n.rili-markdown-renderer wave.sk-w-battle:hover::after { border-color: rgba(212, 175, 55, .85) !important; box-shadow: 0 6px 24px rgba(0,0,0,.68), 0 0 18px rgba(212,175,55,.38) !important; }\n.rili-markdown-renderer wave.sk-w-battle:hover::before { border-top-color: rgba(212, 175, 55, .95) !important; }\n.rili-markdown-renderer wave.sk-w-life:hover::after { border-color: rgba(102, 187, 106, .85) !important; box-shadow: 0 6px 24px rgba(0,0,0,.68), 0 0 18px rgba(102,187,106,.38) !important; }\n.rili-markdown-renderer wave.sk-w-life:hover::before { border-top-color: rgba(129, 199, 132, .95) !important; }\n.rili-markdown-renderer wave.sk-w-erotic:hover::after { border-color: rgba(255, 143, 163, .85) !important; box-shadow: 0 6px 24px rgba(0,0,0,.68), 0 0 18px rgba(255,143,163,.38) !important; }\n.rili-markdown-renderer wave.sk-w-erotic:hover::before { border-top-color: rgba(255, 143, 163, .95) !important; }\n\n/* ===== 天赋栏位：金色锁定配色（与其他状态字段一致） ===== */\n.rili-markdown-renderer .pc-rows .pf.talent-slot {\n    background: rgba(201,162,75,.09) !important;\n    border-left: 2px solid rgba(232,207,142,.55) !important;\n    border-radius: 0 5px 5px 0 !important;\n    box-shadow: none !important;\n}\n.rili-markdown-renderer .pc-rows .pf.talent-slot .talent-lock {\n    display: inline-block !important;\n    width: 16px !important;\n    height: 16px !important;\n    margin-right: 5px !important;\n    vertical-align: -3px !important;\n    background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23e8cf8e'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='11'%20width='18'%20height='11'%20rx='2'%20ry='2'/%3E%3Cpath%20d='M7%2011V7a5%205%200%200%201%2010%200v4'/%3E%3C/svg%3E\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n    filter: none !important;\n}\n.rili-markdown-renderer .pc-rows .pf.talent-slot .talent-list {\n    display: flex !important;\n    flex-wrap: wrap !important;\n    align-items: baseline !important;\n    gap: 6px 14px !important;\n    width: 100% !important;\n    margin-top: 4px !important;\n}\n.rili-markdown-renderer .pc-rows .pf.talent-slot .talent-item {\n    display: inline-block !important;\n    white-space: nowrap !important;\n    line-height: 1.7 !important;\n    color: #e8cf8e !important;\n}\n\n","options":{"items":[{"order":0,"label":"🍃 切换克制文风","type":"SET-INPUT","value":"切换为克制文风"},{"order":1,"label":"🌶️ 触发露骨文风","type":"SET-INPUT","value":"切换为露骨文风"},{"order":2,"label":"「🔒 锁定NPC」","type":"SET-INPUT","value":"【锁定NPC：】"}]},"language":"zh","containsNSFW":true,"publicAccess":true,"deletedAt":null,"isAnonymous":false,"enableSafeguard":true,"defaultModelSettings":{"model":"mango_gemini_vertex/gemini-3.1-pro-preview-low","contextWindow":6,"modelSettings":{"temperature":0.5,"frequencyPenalty":0.5,"presencePenalty":0}},"totalConversations":32,"totalMessages":245,"totalCreditsUsed":442801,"totalTokensUsed":12650699,"totalPlayedUsers":23,"deeplyPlayed":5,"maxNonAuthorPlayCount":38,"fixedPromptLength":8816,"lorebookLength":83114,"author":{"id":"wnHWKRykFDdirWpIYMz6mixhZDe4gYmt","name":"赤熙","displayUsername":"chixiaaa","username":"chixiaaa"},"cardsTags":[{"tag":{"name":"可重口可轻口","cardsCount":330}},{"tag":{"name":"超高自由度","cardsCount":1257}},{"tag":{"name":"可快餐可长线","cardsCount":767}},{"tag":{"name":"自定义","cardsCount":443}},{"tag":{"name":"大世界","cardsCount":412}},{"tag":{"name":"可剧情可涩涩","cardsCount":3182}},{"tag":{"name":"多角色","cardsCount":1490}},{"tag":{"name":"角色扮演","cardsCount":461}},{"tag":{"name":"调教","cardsCount":1254}},{"tag":{"name":"男性向","cardsCount":1068}},{"tag":{"name":"开放世界","cardsCount":1701}},{"tag":{"name":"可调教","cardsCount":378}},{"tag":{"name":"开局即可色","cardsCount":1907}},{"tag":{"name":"可ntr可纯爱","cardsCount":282}},{"tag":{"name":"自由探索","cardsCount":1436}}],"cardsVoices":[],"prompt":null,"promptSizeBytes":null}