{"id":"607f8a86-6600-4e44-a692-2c498ada546c","authorId":"pk5qV5nhSKnRHxAEICTe2MQMxWXcZYv1","title":"【低消耗】校花学姐成了我的专属反差女仆","description":"（又名一脸嫌弃给你处理性欲的女仆大人）推荐自己打破甲和文风，只内置了最基础的\n你至今不知道你爸妈是干什么的。\n\n小时候你问过一次，你爸放下报纸，看了你三秒钟，说\"做生意的\"。你妈在旁边削苹果，刀锋顺着果皮转了一圈，没说话。后来你就不再问了。\n\n你去上大学那天，他们把车停在校门口。你妈从后座递过来一个信封，你爸从副驾驶回头，说我们要去环球旅游，信封里是出租房的地址，以及一份合同。\n\n\"合同？\"你问。\n\n\"女仆合同。\"你爸说，\"给你找了个管家，防止你在大学堕落。\"\n\n对。他们就是这么说的。防止你在大学堕落。\n\n你捏着那个信封站在九月的太阳底下，看着那辆黑色轿车汇入车流，尾灯闪了两下，像什么神秘组织撤离据点的暗号。你至今不确定他们是去了环球旅游，还是去执行什么不能写入任何通讯记录的任务。\n\n信封里除了合同，还有一张纸条。你妈的字迹：\"小娟会照顾你。\"\n\n小娟。\n\n田小娟。你们高中的校花，一米七二，腿长九十九厘米，平时走路像踩在某个你自己也说不清的节奏上。男生们私下讨论她的频率大概和讨论新出的游戏差不多，但她从不参与任何讨论。你甚至不确定她记得你的名字。\n\n你也不知道她和你在同一所大学。\n\n你更不知道她为什么会答应签一份女仆合同。\n\n走进校外的出租房那天，你已经做好了面对任何情况的准备。唯一没准备好的，是看见田小娟穿着黑白女仆装坐在沙发上，翘着二郎腿，用看快递拆封的眼神看着你。\n\n\"来了。\"她说。\n\n不是疑问句。她对你说的第一句话，没有任何语气词。\n\n你后来花了三个月，只搞清楚了一件事：她需要钱。你爸妈给的数字，大到让一个二十一岁的女孩愿意穿上女仆装，给一个不算熟的学弟当管家。至于她为什么需要那么多钱，她没有告诉你，你也没有问。有些秘密不是用来打破的，是用来等你有一天自己发现的。\n\n合同规定她不能拒绝你的要求。\n\n你一开始以为这只是一个关于做饭和打扫的契约。然后你发现按摩也在条款里。然后代课。然后是搓背。然后是你喝多了的那个晚上，她站在浴室门口站了整整十秒钟，深呼吸，推门进来。雾气散开的时候你看见她耳根是红的，但她的脸比任何你见过的时候都冷。\n\n\"毛巾。\"她把毛巾递给你，没有看你。\n\n你们之间逐渐形成了一种奇怪的默契。你可以提出任何要求，而她一定会执行——只是在执行过程中用尽一切方式让你感受到她的嫌弃。这种嫌弃不是愤怒，是一种精准的冷暴力，像一杯冰水放在你手边，不泼你，但让你知道它是冰的。\n\n有时候你会让她做一些更过分…","background":"xyz6eoyleb2y12eblw6wgcae.webp","backgroundWidth":2912,"backgroundHeight":1624,"cover":"xlkv2ep117m4tfaskzlykipu.webp","coverWidth":2912,"coverHeight":1624,"introPage":"oy7zdxxw9u4wlzft6szw8vzm.html","changelog":"","createdAt":"2026-07-26T08:54:55.298Z","updatedAt":"2026-07-26T16:33:53.135Z","initPublicAt":"2026-07-26T08:55:44.378Z","renderTemplate":null,"assistantRegexReplace":null,"enableMemorySchema":false,"memorySchema":null,"injectStyles":"/* ========================================================= */\n/* ===== 0. CSS变量 ===== */\n/* ========================================================= */\n:root {\n  --warm-bg:        #fdf8f0;\n  --warm-surface:   #faf2e8;\n  --warm-surface2:  #f5ece0;\n  --warm-border:    #e0d0c0;\n  --warm-text:      #3d3028;\n  --warm-text-dim:  #7a6a5e;\n  --warm-accent:    #d4906a;\n  --warm-rose:      #d4857a;\n  --warm-gold:      #e0b080;\n  --dark-bg:        #1a1412;\n  --dark-surface:   #1e1816;\n  --dark-surface2:  #12100e;\n  --dark-border:    #2e2420;\n  --dark-text:      #d8ccc4;\n  --dark-text-dim:  #a09084;\n  --dark-accent:    #d4a080;\n  --dark-rose:      #c08070;\n  --dark-gold:      #e0c090;\n  --shadow-light:   0 2px 10px rgba(140,100,70,0.06);\n  --shadow-dark:    0 2px 10px rgba(0,0,0,0.40);\n  --radius-sm:      4px;\n  --radius-md:      10px;\n  --radius-lg:      14px;\n  --transition:     0.18s ease;\n}\n\n/* ========================================================= */\n/* ===== 1. 通用折叠栏 ===== */\n/* ========================================================= */\ndetails {\n  display: block; background: var(--dark-bg); padding: 0;\n  margin-bottom: 12px; max-width: 100%; width: 100%; box-sizing: border-box;\n  border: 1px solid var(--dark-border); border-left: 4px solid #4a3028;\n  box-shadow: var(--shadow-dark); border-radius: 0;\n  transition: box-shadow 0.2s ease, border-color 0.2s ease; overflow: hidden;\n}\ndetails[open] { box-shadow: 0 4px 18px rgba(212,144,106,0.15); border-color: #4a3a30; }\ndetails:hover { border-left-color: #d4906a; }\n\ndetails summary {\n  display: flex; align-items: center; justify-content: space-between;\n  list-style: none; cursor: pointer; position: relative;\n  background: var(--dark-surface2); padding: 14px 22px;\n  font-weight: 800; letter-spacing: 1px; color: #e0c8b8;\n  font-style: italic; font-size: 1.15em; width: 100%; max-width: 100%;\n  box-sizing: border-box; border-left: 4px solid #4a3028;\n  text-align: left; user-select: none; transition: all var(--transition); overflow: hidden;\n  border-radius: 0;\n}\ndetails summary::before {\n  content: \"\"; position: absolute; left: 0; top: 0; bottom: 0;\n  width: 4px; background: #4a3028; transition: background var(--transition);\n}\ndetails summary::after {\n  content: \"◆\"; font-size: 0.7em; color: #d4906a;\n  text-shadow: 0 0 6px rgba(212,144,106,0.6);\n  transition: all var(--transition); margin-left: auto;\n}\ndetails summary:hover {\n  background: #f0d0a0; color: var(--dark-surface2);\n  border-left-color: var(--dark-surface2); padding-right: 34px;\n}\ndetails summary:hover::before { background: var(--dark-surface2); }\ndetails summary:hover::after { content: \"▶\"; color: var(--dark-surface2); text-shadow: none; transform: translateX(4px); }\ndetails[open] summary::after { transform: rotate(180deg); }\ndetails summary::-webkit-details-marker { display: none; }\ndetails summary::marker { display: none; content: \"\"; }\n\n.details-body {\n  background: var(--dark-surface); color: var(--dark-text);\n  padding: 16px 22px; font-size: 0.95em; line-height: 1.7;\n  border-top: 1px solid var(--dark-border);\n}\n.details-body a { color: var(--dark-accent); text-decoration: none; }\n.details-body a:hover { color: #e0b898; text-decoration: underline; }\n\n/* ========================================================= */\n/* ===== 2. 面板类折叠 ===== */\n/* ========================================================= */\ndetails.panel-details {\n  background: transparent; border: none; border-left: none;\n  box-shadow: none; margin-bottom: 14px;\n}\ndetails.panel-details[open] { box-shadow: none; border-color: transparent; }\ndetails.panel-details:hover { border-left-color: transparent; }\n\ndetails.panel-details > summary {\n  display: flex; align-items: center; gap: 10px; list-style: none;\n  cursor: pointer; position: relative;\n  background: linear-gradient(135deg, #2a1e18 0%, #1e1410 100%);\n  border-radius: var(--radius-md) var(--radius-md) 0 0;\n  padding: 14px 20px; font-weight: 700; letter-spacing: 0.8px;\n  color: #e8d0b8; font-style: normal; font-size: 0.95em;\n  width: 100%; box-sizing: border-box; border-left: none;\n  border-bottom: 1px solid #2e2420; text-align: left; user-select: none;\n  transition: all var(--transition);\n}\ndetails.panel-details > summary::before { display: none; }\ndetails.panel-details > summary .panel-summary-icon { font-size: 1.2em; flex-shrink: 0; }\ndetails.panel-details > summary .panel-summary-title { flex: 0 0 auto; }\ndetails.panel-details > summary .panel-summary-sub {\n  margin-left: auto; font-size: 0.68em; font-weight: 500;\n  color: #6a5a4e; letter-spacing: 1.5px;\n  font-family: 'Courier New', 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n}\ndetails.panel-details > summary::after {\n  content: \"▾\"; font-size: 0.7em; color: rgba(224,200,176,0.6);\n  text-shadow: none; margin-left: 6px; transition: transform 0.2s ease; flex-shrink: 0;\n}\ndetails.panel-details[open] > summary { border-radius: var(--radius-md) var(--radius-md) 0 0; border-bottom-color: #3a2a20; }\ndetails.panel-details[open] > summary::after { transform: rotate(180deg); }\ndetails.panel-details > summary:hover {\n  background: linear-gradient(135deg, #342620 0%, #2a1e18 100%);\n  color: #f0dcc8; border-left: none; padding-right: 20px;\n}\ndetails.panel-details > summary:hover::after { color: #f0dcc8; transform: none; }\ndetails.panel-details[open] > summary:hover::after { transform: rotate(180deg); }\ndetails.panel-details > summary::-webkit-details-marker { display: none; }\ndetails.panel-details > summary::marker { display: none; content: \"\"; }\n\n.panel-body {\n  background: linear-gradient(170deg, #fdfaf6 0%, #f6f2ec 100%) !important;\n  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;\n  border: 1px solid #d8d0c8 !important; border-top: none !important;\n  color: #2c2824 !important; padding: 18px 20px !important;\n}\n\n/* ========================================================= */\n/* ===== 3. 玩家面板 ===== */\n/* ========================================================= */\n.player-card { display: flex; flex-direction: column; gap: 14px; }\n.player-name-row {\n  display: flex; align-items: baseline; gap: 10px;\n  padding-bottom: 10px; border-bottom: 1px solid #e8e0d8;\n}\n.player-name { font-size: 1.4em; font-weight: 700; color: #1a1a28; letter-spacing: 0.5px; }\n.player-badge {\n  font-size: 0.75em; font-weight: 600; color: #8a7060;\n  background: rgba(180,140,110,0.12); padding: 2px 10px; border-radius: 10px;\n}\n.player-section { display: flex; flex-direction: column; gap: 4px; }\n.player-section-label {\n  font-size: 0.72em; font-weight: 700; color: #a09080;\n  letter-spacing: 1px; text-transform: uppercase;\n}\n.player-tags { display: flex; flex-wrap: wrap; gap: 6px; }\n.player-tag {\n  font-size: 0.8em; font-weight: 600; color: #6a5040;\n  background: linear-gradient(135deg, #f0e8e0 0%, #e8ded4 100%);\n  border: 1px solid #d8ccc0; padding: 4px 12px; border-radius: 14px;\n}\n.player-text { font-size: 0.85em; color: #4a3e34; line-height: 1.6; margin: 0; }\n\n/* ========================================================= */\n/* ===== 4. 田小娟面板 ===== */\n/* ========================================================= */\n.xj-portrait-frame {\n  width: 100%; max-width: 360px; margin: 0 auto 16px auto;\n  border-radius: 8px; overflow: hidden; border: 2px solid #d4c0a8;\n  box-shadow: 0 4px 18px rgba(30,20,10,0.2); background: #faf2e8;\n}\n.xj-portrait-img { width: 100%; height: auto; display: block; object-fit: cover; }\n.xj-portrait-caption {\n  display: block; text-align: center; padding: 8px 14px;\n  font-size: 0.78em; font-weight: 600; color: #8d6e5a; letter-spacing: 1px;\n  background: linear-gradient(180deg, #faf2e8 0%, #f0e4d8 100%);\n  border-top: 1px solid #e0d0c0;\n  font-family: 'Georgia', 'Noto Serif SC', 'Source Han Serif SC', serif; font-style: italic;\n}\n.xj-quickinfo {\n  display: flex; flex-wrap: wrap; gap: 8px;\n  margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #e8e0d8;\n}\n.xj-quickitem { font-size: 0.82em; color: #4a3e34; background: rgba(180,140,110,0.08); padding: 4px 10px; border-radius: 6px; }\n.xj-quicklabel { font-weight: 700; color: #8a6a50; margin-right: 2px; }\n.xj-section { margin-bottom: 10px; }\n.xj-section-label {\n  font-size: 0.72em; font-weight: 700; color: #a09080;\n  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 4px;\n}\n.xj-text { font-size: 0.85em; color: #4a3e34; line-height: 1.6; margin: 0; }\n\n.xj-inner-thoughts {\n  background: linear-gradient(135deg, #fef9f4 0%, #faf3ea 100%);\n  border-left: 3px solid #d4a858; border-radius: 0 8px 8px 0;\n  padding: 12px 16px; margin: 14px 0; font-style: italic;\n}\n.xj-thoughts-label { font-size: 0.75em; font-weight: 700; color: #b08050; letter-spacing: 0.5px; margin-bottom: 4px; }\n.xj-inner-thoughts p { margin: 0; font-size: 0.88em; color: #6a5040; line-height: 1.7; }\n\n.xj-next-action {\n  display: flex; align-items: center; gap: 8px;\n  background: linear-gradient(135deg, #fff8f0 0%, #fef0e0 100%);\n  border: 1px dashed #d4a060; border-radius: 8px; padding: 10px 16px; margin: 12px 0;\n}\n.xj-next-icon { color: #d4906a; font-size: 1em; }\n.xj-next-label { font-size: 0.78em; font-weight: 700; color: #a06030; letter-spacing: 0.5px; text-transform: uppercase; flex-shrink: 0; }\n.xj-next-text { font-size: 0.88em; color: #5d4030; font-weight: 500; }\n\n.xj-stat-row { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e8e0d8; }\n\n/* ========================================================= */\n/* ===== 5. 记忆存档面板 ===== */\n/* ========================================================= */\n.mem-block { margin-bottom: 12px; }\n.mem-block:last-child { margin-bottom: 0; }\n.mem-block-title {\n  font-size: 0.8em; font-weight: 700; color: #8a6a50;\n  letter-spacing: 0.5px; margin-bottom: 6px; padding-bottom: 4px;\n  border-bottom: 1px solid #eee4da;\n}\n.mem-list { font-size: 0.84em; color: #4a3e34; line-height: 1.7; padding-left: 4px; }\n.mem-item { display: block; padding: 3px 0; }\n.mem-id {\n  font-family: 'Courier New', 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n  font-size: 0.85em; font-weight: 600; color: #b08050; margin-right: 6px;\n}\n\n/* ========================================================= */\n/* ===== 6. 反差时刻面板（上：态度+做事左右 / 下：聊天全宽） ===== */\n/* ========================================================= */\n.contrast-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-template-rows: auto auto;\n  grid-template-areas:\n    \"cold   warm\"\n    \"social social\";\n  gap: 10px;\n  margin-bottom: 12px;\n}\n.contrast-col {\n  border-radius: 8px;\n  padding: 14px 14px;\n  min-height: 60px;\n}\n.contrast-col.cold-col {\n  grid-area: cold;\n  background: linear-gradient(170deg, #f5f0f4 0%, #ede4ec 100%);\n  border: 1px solid #d8ccd8;\n}\n.contrast-col.warm-col {\n  grid-area: warm;\n  background: linear-gradient(170deg, #fef8f2 0%, #faf0e4 100%);\n  border: 1px solid #e8d4b8;\n}\n.contrast-col.social-col {\n  grid-area: social;\n  background: #ededed;\n  border: 1px solid #d0d0d0;\n}\n.contrast-col-header {\n  font-size: 0.76em;\n  font-weight: 700;\n  letter-spacing: 0.8px;\n  margin-bottom: 8px;\n  padding-bottom: 6px;\n  border-bottom: 1px solid rgba(0,0,0,0.06);\n}\n.cold-col .contrast-col-header { color: #9a7a8a; }\n.warm-col .contrast-col-header { color: #b07040; }\n.social-col .contrast-col-header { color: #6a6a6a; }\n.contrast-content {\n  font-size: 0.84em;\n  color: #4a3e34;\n  line-height: 1.7;\n  font-style: italic;\n}\n\n/* --- 聊天记录（全宽，统一左对齐） --- */\n.contrast-chat-mini {\n  display: flex;\n  flex-direction: column;\n  gap: 3px;\n}\n.cc-line {\n  display: flex;\n  gap: 6px;\n  align-items: baseline;\n  font-size: 0.78em;\n  line-height: 1.6;\n  padding: 2px 4px;\n}\n.cc-line .cc-speaker {\n  font-weight: 700;\n  flex-shrink: 0;\n  min-width: 28px;\n  font-size: 0.9em;\n}\n.cc-line .cc-speaker.friend { color: #7a7a8a; }\n.cc-line .cc-speaker.xj { color: #d4906a; }\n.cc-line .cc-msg-text {\n  color: #333;\n  word-break: break-word;\n}\n\n/* --- 结论条 --- */\n.contrast-verdict {\n  background: linear-gradient(135deg, #fdf6ec 0%, #f8ece0 100%);\n  border-radius: 6px;\n  padding: 10px 16px;\n  font-size: 0.84em;\n  color: #5d4030;\n  line-height: 1.6;\n  border: 1px solid #e8d8c0;\n}\n.contrast-verdict span { font-weight: 700; color: #a06030; }\n\n@media (max-width: 640px) {\n  .contrast-grid {\n    grid-template-columns: 1fr;\n    grid-template-rows: auto auto auto;\n    grid-template-areas:\n      \"cold\"\n      \"warm\"\n      \"social\";\n  }\n}\n/* ========================================================= */\n/* ===== 7. 对话气泡 ===== */\n/* ========================================================= */\n.dialogue-box,\n.dialogue-box[data-role] {\n  position: relative; display: block;\n  border-radius: 4px 16px 16px 16px !important;\n  padding: 12px 18px 12px 16px !important;\n  margin: 14px 0 14px 8px !important; text-indent: 0 !important;\n  border-left-width: 4px !important; border-left-style: solid !important;\n}\n.dialogue-box .speaker,\n.dialogue-box[data-role] .speaker {\n  display: block; font-size: 0.82em; font-weight: 700;\n  margin-bottom: 4px; letter-spacing: 0.5px;\n}\n.dialogue-box .dialogue-text,\n.dialogue-box[data-role] .dialogue-text {\n  display: block; font-size: 1.04em; line-height: 1.7;\n}\n.dialogue-box[data-role=\"xiaojuan\"],\n.dialogue-box[data-role=\"田小娟\"] {\n  background: linear-gradient(135deg, #f8f0ec 0%, #f2e6de 100%) !important;\n  border-left-color: var(--warm-rose) !important;\n  box-shadow: 0 2px 10px rgba(212,133,122,0.14) !important;\n}\n.dialogue-box[data-role=\"xiaojuan\"] .speaker,\n.dialogue-box[data-role=\"田小娟\"] .speaker { color: #b06a5a !important; }\n.dialogue-box[data-role=\"xiaojuan\"] .dialogue-text,\n.dialogue-box[data-role=\"田小娟\"] .dialogue-text { color: #8a5040 !important; }\n.dialogue-box[data-role=\"user\"],\n.dialogue-box[data-role=\"玩家\"] {\n  background: linear-gradient(135deg, #f3ece4 0%, #ede0d4 100%) !important;\n  border-left-color: #c0906a !important;\n  box-shadow: 0 2px 10px rgba(192,144,106,0.12) !important;\n}\n.dialogue-box[data-role=\"user\"] .speaker,\n.dialogue-box[data-role=\"玩家\"] .speaker { color: #9a6a50 !important; }\n.dialogue-box[data-role=\"user\"] .dialogue-text,\n.dialogue-box[data-role=\"玩家\"] .dialogue-text { color: #7a5040 !important; }\n\n/* ========================================================= */\n/* ===== 8. 状态条 ===== */\n/* ========================================================= */\n.stat-bar { margin: 12px 0; }\n.stat-bar .stat-label {\n  display: flex; justify-content: space-between; align-items: center;\n  font-weight: 700; font-size: 0.9em; color: #2a1e18; margin-bottom: 6px;\n}\n.stat-bar .stat-label span { font-weight: 500; font-size: 0.88em; color: #6a5a50; }\n.stat-bar .bar-track {\n  width: 100%; height: 12px; background: #e2d8d0; border-radius: 999px;\n  overflow: hidden; box-shadow: inset 0 1px 3px rgba(0,0,0,0.10);\n}\n.stat-bar .bar-fill {\n  height: 100%; border-radius: 999px; transition: width 0.6s ease;\n  box-shadow: inset 0 0 8px rgba(0,0,0,0.15);\n}\n.stat-bar.trust .bar-fill { background: linear-gradient(90deg, var(--warm-rose) 0%, #d4a090 100%); }\n.stat-bar.desire .bar-fill { background: linear-gradient(90deg, var(--warm-gold) 0%, var(--warm-accent) 100%); }\n.stat-bar.desire.locked .bar-fill { background: #3a2a20; }\n.stat-detail-label { display: inline-block; font-size: 0.82em; font-weight: 600; color: #c0805a; margin-top: 6px; margin-right: 4px; }\n\n/* ========================================================= */\n/* ===== 9. 时间/场景信息头 ===== */\n/* ========================================================= */\n.time-header {\n  background: linear-gradient(135deg, #3a2820 0%, #4a3228 40%, #3a2820 100%);\n  border-radius: var(--radius-lg); padding: 18px 22px; margin-bottom: 20px;\n  color: #ece4dc; box-shadow: 0 4px 20px rgba(30,20,15,0.25);\n  border: 1px solid rgba(255,255,255,0.06); position: relative; overflow: hidden;\n}\n.time-header::before {\n  content: \"\"; position: absolute; top: -50%; right: -20%;\n  width: 200px; height: 200px;\n  background: radial-gradient(circle, rgba(255,255,255,0.04) 0%, transparent 70%);\n  border-radius: 50%; pointer-events: none;\n}\n.time-row-main { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }\n.time-icon { font-size: 1.6em; filter: drop-shadow(0 2px 3px rgba(0,0,0,0.3)); }\n.time-day { font-size: 1.5em; font-weight: 700; letter-spacing: 1px; color: #f5ece4; }\n.time-sep { font-size: 1.3em; color: #8a7a70; margin: 0 2px; }\n.time-period { font-size: 1.2em; font-weight: 600; color: #e8c8a0; }\n.time-clock {\n  display: inline-flex; align-items: center; gap: 4px;\n  background: linear-gradient(135deg, #f7efe0 0%, #efe0d0 100%);\n  color: #5a4030; font-family: 'Georgia', 'Noto Serif SC', 'Source Han Serif SC', 'SimSun', serif;\n  font-size: 0.92em; font-weight: 600; letter-spacing: 0.5px;\n  padding: 4px 12px; border-radius: 20px; border: 1px solid #d8c0a8;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6); margin-left: 4px;\n}\n.time-row-loc { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 0.9em; }\n.time-loc-icon { font-size: 1em; }\n.time-loc-text { color: #c0b0a4; letter-spacing: 0.5px; }\n.time-row-weather { display: flex; align-items: center; gap: 6px; font-size: 0.85em; }\n.time-weather-icon { font-size: 1em; }\n.time-weather-text { color: #a09084; }\n.time-row-surroundings { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 0.85em; }\n.time-surroundings-icon { font-size: 1em; }\n.time-surroundings-text { color: #a09084; letter-spacing: 0.5px; font-style: italic; }\n.time-divider {\n  height: 1px; margin: 14px 0 12px 0;\n  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.12) 20%, rgba(255,255,255,0.12) 80%, transparent 100%);\n}\n.time-row-budget { display: flex; align-items: center; gap: 10px; font-size: 0.85em; flex-wrap: wrap; }\n.budget-icon { font-size: 1em; }\n.budget-label { color: #a09084; margin-right: 6px; }\n.budget-item { font-weight: 600; letter-spacing: 0.3px; padding: 2px 10px; border-radius: 12px; font-size: 0.9em; }\n.budget-item.xiaojuan { color: #d4a090; background: rgba(212,144,106,0.15); }\n\n/* ========================================================= */\n/* ===== 10. 正文容器 ===== */\n/* ========================================================= */\n.narrative-p { text-indent: 2em; line-height: 1.9; margin: 0.8em 0; }\n.khorra-output {\n  max-width: 100%; width: 100%; box-sizing: border-box;\n  background: linear-gradient(180deg, var(--warm-bg) 0%, var(--warm-surface) 30%, var(--warm-surface2) 100%);\n  border-radius: 12px; padding: 22px 24px; border: 1px solid var(--warm-border);\n  box-shadow: var(--shadow-light), inset 0 0 0 1px rgba(255,255,255,0.8);\n  line-height: 1.85; color: var(--warm-text);\n}\n\n/* ========================================================= */\n/* ===== 11. 内心独白 ===== */\n/* ========================================================= */\n.inner-monologue {\n  font-style: italic; color: #7a6050;\n  background: linear-gradient(135deg, var(--warm-surface) 0%, var(--warm-surface2) 100%);\n  border-left: 3px solid #d4a858; padding: 12px 18px; margin: 16px 0;\n  border-radius: 0 var(--radius-md) var(--radius-md) 0;\n  font-size: 0.95em; line-height: 1.7; text-indent: 0;\n}\n\n/* ========================================================= */\n/* ===== 12. 预算迷你条 ===== */\n/* ========================================================= */\n.budget-mini {\n  display: flex; align-items: center; gap: 10px;\n  margin: 8px 0 0 0; padding: 8px 14px;\n  background: linear-gradient(135deg, #f0e8e0 0%, #e8e0d8 100%);\n  border-radius: var(--radius-md); border: 1px solid #d8d0c8;\n}\n.budget-mini-label { font-size: 0.82em; font-weight: 700; color: #8a6040; white-space: nowrap; }\n.budget-mini-bar { flex: 1; height: 8px; background: #d8d0c8; border-radius: 999px; overflow: hidden; }\n.budget-mini-fill {\n  display: block; height: 100%; border-radius: 999px;\n  background: linear-gradient(90deg, #e8b080 0%, var(--warm-accent) 100%);\n  transition: width 0.5s ease;\n}\n.budget-mini-num { font-size: 0.82em; font-weight: 700; color: var(--warm-accent); white-space: nowrap; }\n\n/* ========================================================= */\n/* ===== 13. 插图组件 ===== */\n/* ========================================================= */\n.scene-illustration {\n  width: 100%; max-width: 420px; margin: 18px auto;\n  border-radius: 12px; overflow: hidden;\n  box-shadow: 0 4px 20px rgba(30,20,10,0.18);\n  border: 2px solid #d4c0a8; background: var(--warm-surface); text-align: center;\n}\n.scene-illustration img { width: 100%; height: auto; display: block; object-fit: cover; }\n.scene-caption {\n  display: block; padding: 8px 14px; font-size: 0.82em; font-weight: 600;\n  color: #8d6e5a; background: linear-gradient(180deg, var(--warm-surface) 0%, #f0e4d8 100%);\n  letter-spacing: 0.5px; border-top: 1px solid var(--warm-border);\n}\n\n/* ========================================================= */\n/* ===== 14. 解锁提醒 ===== */\n/* ========================================================= */\n.unlock-notice {\n  display: flex; align-items: center; justify-content: center; gap: 10px;\n  margin: 14px 0 18px 0; padding: 12px 20px;\n  background: linear-gradient(135deg, #f8ece0 0%, #f0dcc8 100%);\n  border: 1px solid #d4a060; border-radius: var(--radius-md);\n  font-size: 0.92em; color: #5d4030;\n  box-shadow: 0 2px 10px rgba(176,120,60,0.12);\n}\n.unlock-icon { font-size: 1.3em; }\n.unlock-text strong { color: #a06030; font-weight: 700; }\n\n/* ========================================================= */\n/* ===== 15. 选项面板（轻量卡片） ===== */\n/* ========================================================= */\n.choice-panel {\n  margin-top: 18px; padding: 18px 20px;\n  background: linear-gradient(170deg, #fefaf4 0%, #f8f0e8 100%);\n  border: 1px solid #e0d0b8; border-radius: var(--radius-md);\n  box-shadow: 0 2px 12px rgba(140,100,60,0.08);\n}\n.choice-header {\n  display: flex; align-items: center; gap: 8px;\n  margin-bottom: 14px;\n}\n.choice-icon { font-size: 1.2em; }\n.choice-title { font-size: 0.95em; font-weight: 700; color: #6a4a30; letter-spacing: 1px; }\n.choice-list { display: flex; flex-direction: column; gap: 8px; }\n.choice-card {\n  display: flex; align-items: center; justify-content: space-between;\n  gap: 12px; padding: 12px 16px;\n  background: #fff; border: 1px solid #e8ddd0; border-radius: 8px;\n  cursor: pointer; transition: all 0.15s ease;\n  box-shadow: 0 1px 3px rgba(0,0,0,0.04);\n}\n.choice-card:hover {\n  background: #fefaf4; border-color: #d4a060;\n  box-shadow: 0 2px 8px rgba(180,120,60,0.10);\n}\n.choice-card[data-choice=\"1\"] { border-left: 4px solid #e8a090; }\n.choice-card[data-choice=\"2\"] { border-left: 4px solid #a0c0e0; }\n.choice-card[data-choice=\"3\"] { border-left: 4px solid #a0d0a0; }\n.choice-left { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }\n.choice-label {\n  display: inline-block; width: fit-content;\n  font-size: 0.68em; font-weight: 700; letter-spacing: 1px;\n  color: #fff; padding: 2px 8px; border-radius: 3px; text-transform: uppercase;\n}\n.choice-card[data-choice=\"1\"] .choice-label { background: #d88878; }\n.choice-card[data-choice=\"2\"] .choice-label { background: #80a0c0; }\n.choice-card[data-choice=\"3\"] .choice-label { background: #70a880; }\n.choice-text { font-size: 0.88em; color: #4a3e34; line-height: 1.5; }\n.choice-card:hover .choice-text { color: #2a1f0e; }\n.choice-arrow {\n  font-size: 0.85em; color: #c8a860; flex-shrink: 0;\n  transition: transform 0.15s ease;\n}\n.choice-card:hover .choice-arrow { color: #8b6018; transform: translateX(3px); }\n.choice-note {\n  margin-top: 12px; font-size: 0.76em; color: #a09080;\n  font-style: italic; text-align: center;\n}\n\n/* ========================================================= */\n/* ===== 16. 微信聊天气泡 ===== */\n/* ========================================================= */\ndetails.wechat-details {\n  background: transparent; border: none; border-left: none;\n  box-shadow: none; margin-bottom: 14px;\n}\ndetails.wechat-details[open] { box-shadow: none; border-color: transparent; }\ndetails.wechat-details:hover { border-left-color: transparent; }\ndetails.wechat-details > summary {\n  display: flex; align-items: center; gap: 8px; list-style: none;\n  cursor: pointer; position: relative;\n  background: linear-gradient(180deg, #d48a4a 0%, #b8703a 100%);\n  border-radius: var(--radius-md) var(--radius-md) 0 0;\n  padding: 12px 18px; font-weight: 600; letter-spacing: 0.5px; color: #fff;\n  font-style: normal; font-size: 1em; width: 100%; box-sizing: border-box;\n  border-left: none; text-align: left; user-select: none;\n  text-shadow: 0 1px 2px rgba(0,0,0,0.15);\n}\ndetails.wechat-details > summary::before { content: \"💬\"; font-size: 1em; text-shadow: none; }\ndetails.wechat-details > summary::after {\n  content: \"▾\"; font-size: 0.7em; color: rgba(255,255,255,0.75);\n  text-shadow: none; margin-left: auto; transition: transform 0.2s ease;\n}\ndetails.wechat-details[open] > summary { border-radius: var(--radius-md) var(--radius-md) 0 0; }\ndetails.wechat-details[open] > summary::after { transform: rotate(180deg); }\ndetails.wechat-details > summary:hover {\n  background: linear-gradient(180deg, #e09858 0%, #c88044 100%);\n  color: #fff; border-left: none; padding-right: 18px;\n}\ndetails.wechat-details > summary:hover::after { color: #fff; }\ndetails.wechat-details > summary::-webkit-details-marker { display: none; }\ndetails.wechat-details > summary::marker { display: none; content: \"\"; }\n.wechat-body {\n  background: #ededed !important;\n  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;\n  border: 1px solid #d0d0d0 !important; border-top: none !important;\n  padding: 0 !important; color: #333 !important;\n  font-family: -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;\n  overflow: hidden;\n}\n.wechat-chat-section { display: block; }\n.wechat-chat-header {\n  text-align: center; font-size: 0.75em; color: #888;\n  padding: 10px 0 6px 0; background: #f6f6f6;\n  border-bottom: 1px solid #e0e0e0; letter-spacing: 0.5px;\n}\n.wechat-chat-divider {\n  height: 6px; background: #d9d9d9;\n  border-top: 1px solid #c0c0c0; border-bottom: 1px solid #c0c0c0;\n}\n.wechat-msg-list {\n  padding: 10px 14px 14px 14px; display: flex;\n  flex-direction: column; gap: 8px; background: #ededed;\n}\n.wechat-msg { display: flex; gap: 8px; margin-bottom: 8px; align-items: flex-start; }\n.wechat-msg.left { flex-direction: row; }\n.wechat-msg.right { flex-direction: row-reverse; }\n.wechat-avatar {\n  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;\n  object-fit: cover; display: flex; align-items: center;\n  justify-content: center; font-size: 0.75em; font-weight: 600;\n}\n.wechat-bubble {\n  background: #fff; padding: 8px 12px; border-radius: 3px 10px 10px 10px;\n  font-size: 0.82em; color: #333; line-height: 1.5;\n  word-break: break-word; box-shadow: 0 1px 2px rgba(0,0,0,0.06);\n}\n.wechat-msg.right .wechat-bubble { border-radius: 10px 3px 10px 10px; }\n.wechat-bubble.self { background: #95ec69; }\n\n/* ========================================================= */\n/* ===== 17. 思维链 & 记忆备注 & 记忆汇总 ===== */\n/* ========================================================= */\n.cot-exec-content { font-size: 0.82em; color: #b0a898; line-height: 1.6; white-space: pre-wrap; }\n.memory-note {\n  font-size: 0.72em; color: #8888aa; margin-top: 10px; padding-top: 8px;\n  border-top: 1px solid rgba(255,255,255,0.06); font-style: italic; text-align: center;\n}\n.memory-summary {\n  background: var(--dark-surface2); border: 1px solid var(--dark-border);\n  border-radius: var(--radius-sm); padding: 0; overflow: hidden;\n}\n.memory-summary-header {\n  background: #0e0c0a; border-bottom: 1px solid var(--dark-border);\n  padding: 12px 18px; display: flex; align-items: center; gap: 8px;\n  font-family: 'Courier New', 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n}\n.memory-summary-icon { font-size: 1.1em; }\n.memory-summary-title { font-weight: 700; color: #e0c8b8; letter-spacing: 1px; }\n.memory-summary-body { padding: 18px; font-size: 0.88em; line-height: 1.8; color: #d0c4b8; }\n.memory-summary-footer {\n  background: #0e0c0a; border-top: 1px solid var(--dark-border);\n  padding: 10px 18px; font-size: 0.72em; color: #8a7a6a;\n  display: flex; justify-content: space-between; align-items: center;\n  font-family: 'Courier New', 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n}\n\n/* ========================================================= */\n/* ===== 18. 信息行 ===== */\n/* ========================================================= */\n.info-line { display: block; width: 100%; margin: 6px 0; line-height: 1.6; }\n.info-line .stat-detail-label { display: inline; margin-right: 4px; }\n.info-line.note { color: #8880a0; font-size: 0.9em; font-style: italic; }\n\n/* ========================================================= */\n/* ===== 19. 暗色覆盖规则 ===== */\n/* ========================================================= */\n.details-body .stat-bar .stat-label { color: #e8dcd4 !important; }\n.details-body .stat-bar .stat-label span { color: #a89080 !important; }\n.details-body .bar-track { background: #2a2220 !important; box-shadow: inset 0 1px 3px rgba(0,0,0,0.4) !important; }\n.details-body .stat-detail-label { color: var(--dark-accent) !important; }\n.details-body .budget-mini {\n  background: linear-gradient(135deg, var(--dark-bg) 0%, #221c18 100%) !important;\n  border-color: var(--dark-border) !important;\n}\n.details-body .budget-mini-label { color: #a89080 !important; }\n.details-body .budget-mini-bar { background: var(--dark-border) !important; }\n.details-body .budget-mini-num { color: #e8b080 !important; }\n.details-body .unlock-notice {\n  background: linear-gradient(135deg, var(--dark-surface) 0%, #2a1e18 100%) !important;\n  border-color: #d4a060 !important; color: #e8d0b8 !important;\n}\n.details-body .unlock-text strong { color: #f0c080 !important; }\n\n/* === 面板内显式覆盖：把暗色规则打回亮色 === */\n.panel-body .stat-bar .stat-label { color: #2a1e18 !important; }\n.panel-body .stat-bar .stat-label span { color: #6a5a50 !important; }\n.panel-body .bar-track { background: #e2d8d0 !important; box-shadow: inset 0 1px 3px rgba(0,0,0,0.10) !important; }\n.panel-body .stat-detail-label { color: #c0805a !important; }\n.panel-body .budget-mini {\n  background: linear-gradient(135deg, #f0e8e0 0%, #e8e0d8 100%) !important;\n  border-color: #d8d0c8 !important;\n}\n.panel-body .budget-mini-label { color: #8a6040 !important; }\n.panel-body .budget-mini-bar { background: #d8d0c8 !important; }\n.panel-body .budget-mini-num { color: var(--warm-accent) !important; }\n\n/* 暗色内的微信 */\n.details-body.wechat-body { background: #ededed !important; color: #333 !important; border-color: #d0d0d0 !important; }\n.details-body .wechat-chat-header { color: #888 !important; background: #f6f6f6 !important; }\n.details-body .wechat-msg-list { background: #ededed !important; }\n.details-body .wechat-bubble { color: #333 !important; background: #fff !important; }\n.details-body .wechat-bubble.self { background: #95ec69 !important; }\n\n/* ========================================================= */\n/* ===== 20. 溢出/换行保护 ===== */\n/* ========================================================= */\ndetails, details > * { word-wrap: break-word; overflow-wrap: anywhere; word-break: break-word; white-space: normal; max-width: 100%; }\n.stat-panel, .stat-block, .stat-row { max-width: 100%; word-wrap: break-word; overflow-wrap: anywhere; }\n.stat-label, .stat-label span, .stat-detail-label { word-wrap: break-word; overflow-wrap: anywhere; white-space: normal; max-width: 100%; }\n.stat-bar, .bar-track, .bar-fill { min-width: 0; max-width: 100%; }\n.budget-mini { flex-wrap: wrap; }\n.unlock-notice { flex-wrap: wrap; text-align: center; }\n.panel-body { word-wrap: break-word; overflow-wrap: anywhere; }\n\n/* ========================================================= */\n/* ===== 21. 移动端适配 ===== */\n/* ========================================================= */\n@media (max-width: 640px) {\n  details summary { padding: 12px 14px; font-size: 1em; }\n  details summary:hover { padding-right: 24px; }\n\n  details.panel-details > summary { padding: 12px 14px; font-size: 0.88em; gap: 6px; }\n  details.panel-details > summary .panel-summary-sub { display: none; }\n  .panel-body { padding: 12px 14px !important; }\n\n  .xj-portrait-frame { max-width: 100%; }\n  .xj-quickinfo { flex-direction: column; gap: 4px; }\n  .xj-next-action { flex-wrap: wrap; }\n\n  .contrast-grid { grid-template-columns: 1fr; }\n\n  .time-header { padding: 12px 14px; }\n  .time-row-main { flex-wrap: wrap; gap: 4px; }\n  .time-day { font-size: 1.2em; }\n  .time-period { font-size: 1em; }\n  .time-clock { font-size: 0.82em; padding: 3px 10px; }\n  .time-row-budget { gap: 6px; flex-wrap: wrap; }\n\n  .khorra-output { padding: 12px 14px; }\n  .narrative-p { text-indent: 1.5em; }\n\n  .dialogue-box, .dialogue-box[data-role] { margin-left: 0 !important; margin-right: 0 !important; padding: 10px 14px !important; }\n\n  .player-name-row { flex-wrap: wrap; }\n  .player-tags { gap: 4px; }\n  .player-tag { font-size: 0.75em; padding: 3px 8px; }\n\n  .choice-panel { padding: 14px 14px; }\n  .choice-card { flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 14px; }\n  .choice-arrow { align-self: flex-end; }\n\n  .wechat-msg-list { padding: 8px 10px; }\n  .wechat-avatar { width: 30px; height: 30px; }\n  .wechat-bubble { font-size: 0.78em; }\n\n  .budget-mini { gap: 6px; padding: 6px 10px; }\n  .budget-mini-label { font-size: 0.75em; }\n  .unlock-notice { padding: 10px 14px; font-size: 0.85em; }\n\n  .scene-illustration { max-width: 100%; }\n  .scene-caption { font-size: 0.75em; padding: 6px 10px; }\n\n  .memory-summary-body { padding: 12px; font-size: 0.82em; }\n  .memory-summary-footer { flex-direction: column; gap: 4px; text-align: center; }\n\n  .id-grid { flex-direction: column; gap: 14px; }\n  .id-photo { width: 100%; height: 120px; }\n  .stats-grid { grid-template-columns: 1fr; }\n  .phase-grid { grid-template-columns: repeat(3, 1fr); }\n}\n\n@media (max-width: 380px) {\n  details summary { padding: 10px 12px; font-size: 0.92em; }\n  details.panel-details > summary { padding: 10px 12px; font-size: 0.82em; }\n  .panel-body { padding: 10px 10px !important; }\n  .phase-grid { grid-template-columns: repeat(2, 1fr); }\n  .khorra-output { padding: 10px 10px; }\n  .time-header { padding: 10px 12px; }\n  .xj-portrait-caption { font-size: 0.7em; }\n}\n/* ========================================================= */\n/* ===== 22. 合同条目面板 ===== */\n/* ========================================================= */\n.contract-clauses {\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n}\n.contract-clause {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  padding: 12px 14px;\n  border-radius: 6px;\n  background: linear-gradient(135deg, #fdfaf4 0%, #f8f2e8 100%);\n  border: 1px solid #d8c8a8;\n}\n.clause-num {\n  width: 26px;\n  height: 26px;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 0.72em;\n  font-weight: 700;\n  flex-shrink: 0;\n  font-family: 'Courier New', 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n  background: #d4906a;\n  color: #fff;\n}\n.clause-body {\n  flex: 1;\n  min-width: 0;\n}\n.clause-title {\n  font-size: 0.85em;\n  font-weight: 700;\n  color: #3a2a20;\n  margin-bottom: 2px;\n}\n.clause-detail {\n  font-size: 0.78em;\n  color: #6a5a4e;\n  line-height: 1.5;\n}\n.clause-tag {\n  font-size: 0.68em;\n  font-weight: 700;\n  padding: 3px 8px;\n  border-radius: 10px;\n  flex-shrink: 0;\n  letter-spacing: 0.5px;\n  background: rgba(212,144,106,0.12);\n  color: #d4906a;\n  white-space: nowrap;\n}\n.clause-tag.hard {\n  background: rgba(212,133,122,0.12);\n  color: #d4857a;\n}\n.clause-tag.player {\n  background: rgba(192,144,106,0.12);\n  color: #c0906a;\n}\n.clause-tag.story {\n  background: rgba(160,180,140,0.12);\n  color: #8a9a6a;\n}\n\n/* 新增条款通知 */\n.contract-new-notice {\n  margin-top: 10px;\n  padding: 10px 14px;\n  background: linear-gradient(135deg, #fef8ec 0%, #faf0dc 100%);\n  border: 1px dashed #d4a060;\n  border-radius: 6px;\n  font-size: 0.82em;\n  font-weight: 600;\n  color: #a06030;\n  text-align: center;\n  letter-spacing: 0.5px;\n}\n/* ========================================================= */\n/* ===== 23. 后置词减耗：固定UI文本→CSS伪元素 ===== */\n/* ========================================================= */\n\n/* --- 时间头图标 --- */\n.time-row-main::before { content:\"📅\"; font-size:1.6em; filter:drop-shadow(0 2px 3px rgba(0,0,0,0.3)); margin-right:4px; }\n.time-row-loc::before { content:\"📍\"; margin-right:2px; }\n.time-row-weather::before { content:\"🌤️\"; margin-right:2px; }\n.time-row-budget::before { content:\"📋\"; margin-right:4px; }\n\n/* --- 玩家面板 --- */\n.player-badge::before { content:\"大一新生\"; }\n.player-section.anchor::before { content:\"性格锚点\"; display:block; font-size:0.72em; font-weight:700; color:#a09080; letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }\n.player-section.look::before { content:\"外貌特征\"; display:block; font-size:0.72em; font-weight:700; color:#a09080; letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }\n.player-section.note::before { content:\"特殊备注\"; display:block; font-size:0.72em; font-weight:700; color:#a09080; letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }\n\n/* --- 田小娟面板 --- */\n.xj-section.char::before { content:\"性格\"; display:block; font-size:0.72em; font-weight:700; color:#a09080; letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }\n.xj-section.outfit::before { content:\"今日着装\"; display:block; font-size:0.72em; font-weight:700; color:#a09080; letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }\n.xj-inner-thoughts::before { content:\"💭 内心想法\"; display:block; font-size:0.75em; font-weight:700; color:#b08050; letter-spacing:0.5px; margin-bottom:4px; }\n.xj-next-action::before { content:\"➤ 下一步\"; font-size:0.78em; font-weight:700; color:#a06030; letter-spacing:0.5px; text-transform:uppercase; flex-shrink:0; margin-right:8px; }\n\n/* --- 状态条label --- */\n.stat-bar.trust .stat-label span:first-child::before { content:\"❤️ 好感度\"; }\n.stat-bar.desire .stat-label span:first-child::before { content:\"🔗 服从度\"; }\n.budget-mini-label::before { content:\"📋 本周命令\"; }\n\n/* --- 记忆面板 --- */\n.mem-block:nth-child(1) .mem-block-title::before { content:\"📝 短期记忆 STM(\"; }\n.mem-block:nth-child(1) .mem-block-title::after { content:\")\"; }\n.mem-block:nth-child(2) .mem-block-title::before { content:\"📦 长期记忆 LTM(\"; }\n.mem-block:nth-child(2) .mem-block-title::after { content:\")\"; }\n\n/* --- 反差面板 --- */\n.cold-col .contrast-col-header::before { content:\"❄️ 对你的态度\"; }\n.warm-col .contrast-col-header::before { content:\"🔥 实际做的事\"; }\n.social-col .contrast-col-header::before { content:\"💬 和朋友在一起时\"; }\n.cc-line:nth-child(odd)::before { content:\"友：\"; font-weight:700; color:#7a7a8a; flex-shrink:0; min-width:28px; font-size:0.9em; }\n.cc-line:nth-child(even)::before { content:\"娟：\"; font-weight:700; color:#d4906a; flex-shrink:0; min-width:28px; font-size:0.9em; }\n.contrast-verdict::before { content:\"📌 观测结论：\"; font-weight:700; color:#a06030; }\n\n/* --- 合同面板 --- */\n.contract-new-notice::before { content:\"📜 新条款已录入合同，不可撤销。\"; }\n\n/* --- 选项面板 --- */\n.choice-header::before { content:\"📌 接下来…\"; font-size:0.95em; font-weight:700; color:#6a4a30; letter-spacing:1px; }\n.choice-card:nth-child(1) .choice-label::before { content:\"选项A\"; }\n.choice-card:nth-child(2) .choice-label::before { content:\"选项B\"; }\n.choice-card:nth-child(3) .choice-label::before { content:\"选项C\"; }\n.choice-note::before { content:\"选一个，或者做点别的——她都在看着你。\"; }\n\n/* ========================================================= */\n/* ===== 24. 记忆表格 ===== */\n/* ========================================================= */\n.memory-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.82em;\n  line-height: 1.6;\n}\n.memory-table th {\n  text-align: left;\n  padding: 6px 8px;\n  font-size: 0.78em;\n  font-weight: 700;\n  color: #8a6a50;\n  letter-spacing: 0.5px;\n  border-bottom: 1px solid #e0d8d0;\n  white-space: nowrap;\n}\n.memory-table td {\n  padding: 6px 8px;\n  color: #4a3e34;\n  vertical-align: top;\n  border-bottom: 1px solid #f0e8e0;\n}\n.memory-table tr:last-child td { border-bottom: none; }\n.memory-table td:first-child,\n.memory-table th:first-child {\n  width: 36px;\n  text-align: center;\n  font-family: 'Courier New','SF Mono','Cascadia Code','Consolas',monospace;\n  font-weight: 600;\n  color: #b08050;\n}\n\n/* --- 记忆配置区 --- */\ndetails.memory-config {\n  background: transparent;\n  border: none;\n  border-left: none;\n  box-shadow: none;\n  margin-bottom: 8px;\n}\ndetails.memory-config[open] { box-shadow: none; border-color: transparent; }\ndetails.memory-config:hover { border-left-color: transparent; }\ndetails.memory-config > summary {\n  display: flex; align-items: center; gap: 6px;\n  list-style: none; cursor: pointer;\n  background: #f5f0ec;\n  border-radius: 6px;\n  padding: 8px 14px;\n  font-weight: 600;\n  font-size: 0.8em;\n  color: #6a5a4e;\n  letter-spacing: 0.5px;\n  border-left: none;\n  transition: all 0.15s ease;\n}\ndetails.memory-config > summary::before { display: none; }\ndetails.memory-config > summary::after {\n  content: \"▾\"; font-size: 0.7em; color: #8c8878;\n  margin-left: auto; transition: transform 0.2s ease;\n}\ndetails.memory-config[open] > summary::after { transform: rotate(180deg); }\ndetails.memory-config > summary:hover { background: #ece6e0; color: #3a2a20; }\ndetails.memory-config > summary::-webkit-details-marker { display: none; }\ndetails.memory-config > summary::marker { display: none; content: \"\"; }\n.memory-config-body {\n  padding: 8px 14px;\n  font-size: 0.78em;\n  color: #8a7a6a;\n  font-family: 'Courier New','SF Mono','Cascadia Code','Consolas',monospace;\n  background: #f9f6f2;\n  border-radius: 0 0 6px 6px;\n  border: 1px solid #e8e0d8;\n  border-top: none;\n}\n\n/* --- STM/LTM子折叠（嵌套在面板内） --- */\ndetails.memory-stm,\ndetails.memory-ltm {\n  background: transparent;\n  border: none;\n  border-left: none;\n  box-shadow: none;\n  margin-bottom: 6px;\n}\ndetails.memory-stm[open],\ndetails.memory-ltm[open] { box-shadow: none; border-color: transparent; }\ndetails.memory-stm:hover,\ndetails.memory-ltm:hover { border-left-color: transparent; }\ndetails.memory-stm > summary,\ndetails.memory-ltm > summary {\n  display: flex; align-items: center; gap: 6px;\n  list-style: none; cursor: pointer;\n  background: #f5f0ec;\n  border-radius: 6px;\n  padding: 8px 14px;\n  font-weight: 600;\n  font-size: 0.82em;\n  color: #5a4a3e;\n  letter-spacing: 0.5px;\n  border-left: none;\n  transition: all 0.15s ease;\n}\ndetails.memory-stm > summary::before,\ndetails.memory-ltm > summary::before { display: none; }\ndetails.memory-stm > summary::after,\ndetails.memory-ltm > summary::after {\n  content: \"▾\"; font-size: 0.7em; color: #8c8878;\n  margin-left: auto; transition: transform 0.2s ease;\n}\ndetails.memory-stm[open] > summary::after,\ndetails.memory-ltm[open] > summary::after { transform: rotate(180deg); }\ndetails.memory-stm > summary:hover,\ndetails.memory-ltm > summary:hover { background: #ece6e0; color: #3a2a20; }\ndetails.memory-stm > summary::-webkit-details-marker,\ndetails.memory-ltm > summary::-webkit-details-marker { display: none; }\ndetails.memory-stm > summary::marker,\ndetails.memory-ltm > summary::marker { display: none; content: \"\"; }\ndetails.memory-stm > .details-body,\ndetails.memory-ltm > .details-body {\n  background: transparent;\n  padding: 0;\n  border: none;\n}\n\n/* 记忆表格在面板内 */\n.panel-body .memory-table th { color: #8a6a50; border-bottom-color: #e0d8d0; }\n.panel-body .memory-table td { color: #4a3e34; border-bottom-color: #f0e8e0; }\n/* ── 正文首行缩进 ── */\n.khorra-output p,\n.khorra-output .narrative-p {\n  text-indent: 2em;\n  margin: 0.8em 0;\n  line-height: 1.9;\n}\n.khorra-output p:first-child,\n.khorra-output .narrative-p:first-child {\n  text-indent: 0;\n}\n/* ── 正文对话颜色 ── */\n.dialogue {\n  display: inline;\n  padding: 1px 4px;\n  border-radius: 2px;\n}\n.dialogue.xj {\n  color: #b05040;\n  background: rgba(212,133,122,0.08);\n}\n.dialogue.user {\n  color: #b07040;\n  background: rgba(192,144,106,0.08);\n}\n\n/* ── 正文首行缩进 ── */\n.khorra-output p,\n.khorra-output .narrative-p {\n  text-indent: 2em;\n  margin: 0.8em 0;\n  line-height: 1.9;\n}\n.khorra-output p:first-child,\n.khorra-output .narrative-p:first-child {\n  text-indent: 0;\n}\n\n","options":{"items":[]},"language":"zh","containsNSFW":true,"publicAccess":true,"deletedAt":null,"isAnonymous":true,"enableSafeguard":false,"defaultModelSettings":null,"totalConversations":23,"totalMessages":229,"totalCreditsUsed":123455,"totalTokensUsed":5957585,"totalPlayedUsers":22,"deeplyPlayed":7,"fixedPromptLength":16314,"lorebookLength":825,"author":{"id":"pk5qV5nhSKnRHxAEICTe2MQMxWXcZYv1","name":"rev","displayUsername":"591691636","username":"591691636"},"cardsTags":[{"tag":{"name":"单人卡","cardsCount":786}},{"tag":{"name":"校园","cardsCount":424}},{"tag":{"name":"反差","cardsCount":625}},{"tag":{"name":"可剧情可涩涩","cardsCount":2451}},{"tag":{"name":"调教","cardsCount":999}},{"tag":{"name":"开局即可色","cardsCount":1437}}],"cardsVoices":[],"prompt":null,"promptSizeBytes":null}