@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&display=swap');

/* ════════════════════════════════════════════════
   红楼梦💕 · 内置CSS全局主题  重制版
   ────────────────────────────────────────────────
   设计原则：
   · 平台UI：深色「陈年木香」古风暗调
   · 内容区：浅色「宣纸霜雪」楷书纸感
   · 三色体系：胭脂红 · 石青玉 · 烟金
   · 全部 !important，直写 hsl()，不用变量
   · 移动优先，动效克制，无外链图片
   ════════════════════════════════════════════════ */

/* ────────────────────────────────────────────────
   § 0  基础重置 · 隐藏平台色条
   ──────────────────────────────────────────────── */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
  display: none !important;
}

/* details 宽度兜底 */
details {
  display: block !important;
  width: 100% !important;
}
/* ── 全局字体渲染优化 ── */
body, .hc, .markdown-body {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}


/* ────────────────────────────────────────────────
   § 1  全局背景 · 深宵书房
   ──────────────────────────────────────────────── */
body,
#root,
.h-screen {
  background-color: transparent !important;
  color: hsl(36, 38%, 86%) !important;
}

/* ────────────────────────────────────────────────
   § 2  顶部栏 · 朱漆横梁
   ──────────────────────────────────────────────── */
.sticky.w-full.top-0.flex.items-center {
  background: linear-gradient(90deg, hsl(350, 30%, 15%), hsl(345, 24%, 12%)) !important;
  border-bottom: 1px solid hsl(40, 42%, 38%) !important;
  box-shadow: 0 2px 14px hsl(0, 0%, 0%, 0.55) !important;
}

/* 模型选择器 · 金牌名刺 */
#ai-model-selector .group.flex.items-center {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
}
#ai-model-selector .group.flex.items-center:hover {
  background: hsl(350, 28%, 21%) !important;
  border-color: hsl(40, 48%, 50%) !important;
}
#ai-model-selector .truncate.text-\[13px\] {
  color: hsl(40, 58%, 68%) !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
}

/* 顶部图标 · 碧玉雕件 */
.sticky.w-full.top-0 svg {
  color: hsl(160, 22%, 55%) !important;
  transition: color 0.15s ease !important;
}
.sticky.w-full.top-0 svg:hover,
#header-setting-button:hover svg {
  color: hsl(40, 58%, 68%) !important;
}

/* ────────────────────────────────────────────────
   § 3  侧边栏 · 册页书签
   ──────────────────────────────────────────────── */
.shadow-lg.border-r.border-gray-200 {
  background: hsl(350, 26%, 13%) !important;
  border-right: 1px solid hsl(40, 28%, 26%) !important;
}
.MuiList-root {
  background: transparent !important;
}
.conversation-text {
  color: hsl(36, 28%, 72%) !important;
}

/* ────────────────────────────────────────────────
   § 4  开场白区域 · 锦囊
   ──────────────────────────────────────────────── */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
  background: hsl(350, 24%, 18%) !important;
  border: 1px solid hsl(160, 20%, 36%) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
  border-color: hsl(40, 48%, 50%) !important;
  box-shadow: 0 0 8px hsl(40, 48%, 50%, 0.18) !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] svg {
  color: hsl(160, 22%, 52%) !important;
  transition: color 0.15s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover svg {
  color: hsl(40, 55%, 65%) !important;
}

/* ────────────────────────────────────────────────
   § 5  聊天容器 · 大观园空间
   ──────────────────────────────────────────────── */
.chat-container {
  background-color: transparent !important;
}

/* 用户消息气泡 · 宣纸笺 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  background: hsl(36, 24%, 90%) !important;
  color: hsl(10, 22%, 13%) !important;
  border: 1px solid hsl(35, 22%, 78%) !important;
  border-left: 3px solid hsl(354, 38%, 38%) !important;
  border-radius: 4px !important;
  font-family: 'KaiTi', 'STKaiti', 'Noto Serif SC', 'Songti SC', 'Source Han Serif SC', serif !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
  box-shadow: 0 1px 4px hsl(30, 18%, 50%, 0.12) !important;
}

/* AI回复容器（外壳透明，内容由 .hc 撑起） */
.chat-answer-container .bg-gray-100\/90.relative.inline-block {
  background: transparent !important;
  border: none !important;
}

/* ────────────────────────────────────────────────
   § 6  Markdown正文区 · 竹简铭文
   ──────────────────────────────────────────────── */
.markdown-body {
  color: hsl(10, 22%, 12%) !important;
  background: transparent !important;
  font-family: 'Noto Serif SC', 'Songti SC', 'Source Han Serif SC', 'SimSun', serif !important;
  font-size: 1.08em !important;
  line-height: 1.88 !important;
}
.markdown-body p {
  color: hsl(10, 22%, 12%) !important;
}
.markdown-body strong,
.markdown-body b {
  color: hsl(40, 58%, 76%) !important;
}
.markdown-body em,
.markdown-body i {
  color: hsl(160, 26%, 65%) !important;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4 {
  color: hsl(40, 52%, 70%) !important;
  border-bottom: 1px solid hsl(40, 25%, 28%) !important;
  padding-bottom: 4px !important;
}
.markdown-body code {
  background: hsl(350, 24%, 19%) !important;
  color: hsl(160, 32%, 68%) !important;
  border: 1px solid hsl(350, 18%, 28%) !important;
  border-radius: 3px !important;
  padding: 1px 5px !important;
  font-size: 0.9em !important;
}
.markdown-body pre {
  background: hsl(350, 24%, 15%) !important;
  border: 1px solid hsl(350, 18%, 26%) !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
}
.markdown-body pre code {
  background: transparent !important;
  border: none !important;
  color: hsl(36, 28%, 78%) !important;
  padding: 0 !important;
}
.markdown-body blockquote {
  border-left: 3px solid hsl(350, 48%, 42%) !important;
  background: hsl(350, 22%, 16%) !important;
  color: hsl(36, 30%, 76%) !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 8px 14px !important;
  margin: 12px 0 !important;
}
.markdown-body hr {
  border: none !important;
  border-top: 1px solid hsl(40, 25%, 26%) !important;
  margin: 16px 0 !important;
}
.markdown-body a {
  color: hsl(160, 32%, 60%) !important;
  text-decoration: underline !important;
}
.markdown-body a:hover {
  color: hsl(40, 52%, 65%) !important;
}
.markdown-body table th {
  background: hsl(350, 26%, 20%) !important;
  color: hsl(40, 52%, 70%) !important;
  border: 1px solid hsl(350, 18%, 28%) !important;
  padding: 6px 10px !important;
}
.markdown-body table td {
  border: 1px solid hsl(350, 18%, 24%) !important;
  color: hsl(10, 18%, 20%) !important;
  padding: 5px 10px !important;
}
.markdown-body table tr:nth-child(even) {
  background: hsl(350, 20%, 15%) !important;
}
.markdown-body ul li::marker,
.markdown-body ol li::marker {
  color: hsl(350, 42%, 48%) !important;
}

/* ────────────────────────────────────────────────
   § 7  加载动画 · 落花听雨
   ──────────────────────────────────────────────── */

/* 隐藏平台默认三点加载 */
.style_dot-flashing__8L91Q.style_text__zGhNq {
  display: none !important;
}
.style_dot-flashing__8L91Q,
.style_dot-flashing__8L91Q::before,
.style_dot-flashing__8L91Q::after {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* 拉伸加载容器 + SVG 花瓣动画背景 */
.flex.items-center.justify-center.w-6.h-5 {
  position: relative !important;
  width: 70vw !important;
  max-width: 480px !important;
  height: 240px !important;
  margin: 12px auto !important;
  overflow: hidden !important;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 480 300'><g opacity='0'><animateTransform attributeName='transform' type='translate' values='38 -20;58 140;78 320' dur='4.2s' begin='0.0s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;320' dur='4.2s' begin='0.0s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.55;0.47;0' dur='4.2s' begin='0.0s' repeatCount='indefinite' /><path d='M0,-8.4 C4.8,-8.4 8.4,0 0,12.0 C-8.4,0 -4.8,-8.4 0,-8.4Z' fill='hsl(350,60%,55%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='86 -20;71 140;56 320' dur='5.1s' begin='0.8s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;-280' dur='5.1s' begin='0.8s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.63;0.54;0' dur='5.1s' begin='0.8s' repeatCount='indefinite' /><path d='M0,-5.6 C3.2,-5.6 5.6,0 0,8.0 C-5.6,0 -3.2,-5.6 0,-5.6Z' fill='hsl(354,55%,50%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='144 -20;169 140;194 320' dur='3.8s' begin='1.5s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;350' dur='3.8s' begin='1.5s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.7100000000000001;0.60;0' dur='3.8s' begin='1.5s' repeatCount='indefinite' /><path d='M0,-9.8 C5.6,-9.8 9.8,0 0,14.0 C-9.8,0 -5.6,-9.8 0,-9.8Z' fill='hsl(342,52%,58%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='202 -20;184 140;167 320' dur='4.8s' begin='0.3s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;-300' dur='4.8s' begin='0.3s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.79;0.67;0' dur='4.8s' begin='0.3s' repeatCount='indefinite' /><path d='M0,-7.0 C4.0,-7.0 7.0,0 0,10.0 C-7.0,0 -4.0,-7.0 0,-7.0Z' fill='hsl(348,58%,52%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='264 -20;286 140;309 320' dur='5.5s' begin='2.0s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;340' dur='5.5s' begin='2.0s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.55;0.47;0' dur='5.5s' begin='2.0s' repeatCount='indefinite' /><path d='M0,-9.1 C5.2,-9.1 9.1,0 0,13.0 C-9.1,0 -5.2,-9.1 0,-9.1Z' fill='hsl(355,56%,48%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='312 -20;299 140;287 320' dur='4.0s' begin='1.2s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;-260' dur='4.0s' begin='1.2s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.63;0.54;0' dur='4.0s' begin='1.2s' repeatCount='indefinite' /><path d='M0,-6.3 C3.6,-6.3 6.3,0 0,9.0 C-6.3,0 -3.6,-6.3 0,-6.3Z' fill='hsl(340,50%,56%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='360 -20;377 140;395 320' dur='4.5s' begin='0.6s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;310' dur='4.5s' begin='0.6s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.7100000000000001;0.60;0' dur='4.5s' begin='0.6s' repeatCount='indefinite' /><path d='M0,-7.0 C4.0,-7.0 7.0,0 0,10.0 C-7.0,0 -4.0,-7.0 0,-7.0Z' fill='hsl(346,54%,53%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='408 -20;388 140;368 320' dur='5.3s' begin='1.8s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;-290' dur='5.3s' begin='1.8s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.79;0.67;0' dur='5.3s' begin='1.8s' repeatCount='indefinite' /><path d='M0,-7.7 C4.4,-7.7 7.7,0 0,11.0 C-7.7,0 -4.4,-7.7 0,-7.7Z' fill='hsl(344,58%,54%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='58 -20;72 140;86 320' dur='3.5s' begin='2.5s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;330' dur='3.5s' begin='2.5s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.55;0.47;0' dur='3.5s' begin='2.5s' repeatCount='indefinite' /><path d='M0,-4.9 C2.8,-4.9 4.9,0 0,7.0 C-4.9,0 -2.8,-4.9 0,-4.9Z' fill='hsl(352,65%,45%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='230 -20;207 140;185 320' dur='6.0s' begin='0.4s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;-270' dur='6.0s' begin='0.4s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.63;0.54;0' dur='6.0s' begin='0.4s' repeatCount='indefinite' /><path d='M0,-10.5 C6.0,-10.5 10.5,0 0,15.0 C-10.5,0 -6.0,-10.5 0,-10.5Z' fill='hsl(338,48%,60%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='442 -20;453 140;464 320' dur='4.3s' begin='3.0s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;305' dur='4.3s' begin='3.0s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.7100000000000001;0.60;0' dur='4.3s' begin='3.0s' repeatCount='indefinite' /><path d='M0,-6.3 C3.6,-6.3 6.3,0 0,9.0 C-6.3,0 -3.6,-6.3 0,-6.3Z' fill='hsl(350,60%,50%)' /></g><g opacity='0'><animateTransform attributeName='transform' type='translate' values='173 -20;164 140;155 320' dur='5.8s' begin='1.0s' repeatCount='indefinite' /><animateTransform attributeName='transform' type='rotate' values='0;-285' dur='5.8s' begin='1.0s' repeatCount='indefinite' additive='sum' /><animate attributeName='opacity' values='0;0.79;0.67;0' dur='5.8s' begin='1.0s' repeatCount='indefinite' /><path d='M0,-4.5 C2.6,-4.5 4.5,0 0,6.5 C-4.5,0 -2.6,-4.5 0,-4.5Z' fill='hsl(356,52%,62%)' /></g><circle r='2.5' fill='%23c4a35a' opacity='0'><animateTransform attributeName='transform' type='translate' values='120 -5;132 310' dur='6.0s' begin='0.2s' repeatCount='indefinite' /><animate attributeName='opacity' values='0;0.5;0.35;0' dur='6.0s' begin='0.2s' repeatCount='indefinite' /></circle><circle r='3.0' fill='%23c4a35a' opacity='0'><animateTransform attributeName='transform' type='translate' values='240 -5;232 310' dur='7.0s' begin='1.5s' repeatCount='indefinite' /><animate attributeName='opacity' values='0;0.5;0.35;0' dur='7.0s' begin='1.5s' repeatCount='indefinite' /></circle><circle r='2.0' fill='%23c4a35a' opacity='0'><animateTransform attributeName='transform' type='translate' values='345 -5;360 310' dur='5.0s' begin='3.0s' repeatCount='indefinite' /><animate attributeName='opacity' values='0;0.5;0.35;0' dur='5.0s' begin='3.0s' repeatCount='indefinite' /></circle><circle r='2.5' fill='%23c4a35a' opacity='0'><animateTransform attributeName='transform' type='translate' values='192 -5;182 310' dur='8.0s' begin='0.8s' repeatCount='indefinite' /><animate attributeName='opacity' values='0;0.5;0.35;0' dur='8.0s' begin='0.8s' repeatCount='indefinite' /></circle><circle r='3.0' fill='%23c4a35a' opacity='0'><animateTransform attributeName='transform' type='translate' values='422 -5;430 310' dur='6.5s' begin='2.2s' repeatCount='indefinite' /><animate attributeName='opacity' values='0;0.5;0.35;0' dur='6.5s' begin='2.2s' repeatCount='indefinite' /></circle></svg>") !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* 底部氛围光晕 */
.flex.items-center.justify-center.w-6.h-5::before {
  content: '' !important;
  position: absolute !important;
  bottom: 30px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 200px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse, hsla(350,50%,50%,.08), transparent 70%) !important;
  pointer-events: none !important;
  animation: hlm-petal-glow 4s ease-in-out infinite !important;
}

/* 脉冲文字 */
.flex.items-center.justify-center.w-6.h-5::after {
  content: '落花满地不回头\2026' !important;
  position: absolute !important;
  bottom: 10px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC',serif !important;
  font-size: 13.5px !important;
  color: hsl(350,50%,48%) !important;
  letter-spacing: 3px !important;
  white-space: nowrap !important;
  animation: hlm-petal-text 3.2s ease-in-out infinite !important;
  z-index: 2 !important;
}

@keyframes hlm-petal-glow {
  0%, 100% { opacity: .3; }
  50%      { opacity: .7; }
}

@keyframes hlm-petal-text {
  0%, 100% { opacity: .2; letter-spacing: 3px; }
  50%      { opacity: .92; letter-spacing: 5.5px; }
}

/* 动效降速 */
@media (prefers-reduced-motion: reduce) {
  .flex.items-center.justify-center.w-6.h-5,
  .flex.items-center.justify-center.w-6.h-5::before,
  .flex.items-center.justify-center.w-6.h-5::after {
    animation: none !important;
  }
}

/* ────────────────────────────────────────────────
   § 8  底部输入区 · 墨池砚台  ⚠️ 关键区域
   ──────────────────────────────────────────────── */
.bg-gradient-to-t {
  background: none !important;
  background-color: transparent !important;
}
#ai-chat-bottom-input {
  background: hsl(350, 26%, 12%) !important;
  border-top: 1px solid hsl(40, 40%, 32%) !important;
  box-shadow: 0 -2px 14px hsl(0, 0%, 0%, 0.42) !important;
}

/* ⚠️ 输入框强制可见 · 最高优先 */
#ai-chat-input {
  background: hsl(350, 24%, 18%) !important;
  color: hsl(36, 38%, 90%) !important;
  caret-color: hsl(40, 58%, 68%) !important;
  border: 1px solid hsl(160, 18%, 35%) !important;
  border-radius: 8px !important;
  font-family: 'KaiTi', 'STKaiti', 'Noto Serif SC', 'Songti SC', 'Source Han Serif SC', serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
#ai-chat-input:focus {
  border-color: hsl(40, 48%, 52%) !important;
  box-shadow: 0 0 0 2px hsl(40, 48%, 52%, 0.14) !important;
  outline: none !important;
}
#ai-chat-input::placeholder {
  color: hsl(36, 18%, 48%) !important;
  opacity: 1 !important;
}
#ai-chat-input::selection {
  background: hsl(350, 44%, 33%) !important;
  color: hsl(36, 40%, 92%) !important;
}

/* ── 评论框同步可见 ── */
textarea.rc-textarea {
  background: hsl(350, 24%, 18%) !important;
  color: hsl(36, 35%, 84%) !important;
  border: 1px solid hsl(160, 18%, 32%) !important;
  font-family: 'KaiTi', 'STKaiti', 'Noto Serif SC', 'Songti SC', 'Source Han Serif SC', serif !important;
}
textarea.rc-textarea::placeholder {
  color: hsl(36, 18%, 46%) !important;
  opacity: 1 !important;
}

/* ────────────────────────────────────────────────
   § 9  快捷命令按钮区 · 胭脂扣
   ──────────────────────────────────────────────── */
#ai-mod-button2 button.MuiButton-root {
  color: hsl(160, 22%, 60%) !important;
  border: 1px solid hsl(160, 16%, 36%) !important;
  background: transparent !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
  background: hsl(350, 38%, 28%) !important;
  border-color: hsl(350, 46%, 42%) !important;
  color: hsl(36, 38%, 90%) !important;
}

/* ────────────────────────────────────────────────
   § 10  分割线 · 琴弦一横
   ──────────────────────────────────────────────── */
.style_divider__mW0YX {
  background: linear-gradient(to right, transparent, hsl(40, 42%, 38%), transparent) !important;
  height: 1px !important;
  border: none !important;
  margin: 8px 0 !important;
}

/* ────────────────────────────────────────────────
   § 11  分页 · 翻书叶
   ──────────────────────────────────────────────── */
.MuiPaginationItem-root {
  color: hsl(36, 22%, 58%) !important;
  transition: background 0.12s ease, color 0.12s ease !important;
}
.MuiPaginationItem-root:hover {
  background: hsl(350, 26%, 21%) !important;
  color: hsl(40, 52%, 68%) !important;
}
.MuiPaginationItem-root.Mui-selected {
  background: hsl(350, 48%, 36%) !important;
  color: hsl(36, 40%, 92%) !important;
  border: 1px solid hsl(40, 46%, 50%) !important;
  font-weight: 700 !important;
}
.MuiPaginationItem-root.Mui-disabled {
  opacity: 0.28 !important;
}
.MuiInputBase-input {
  color: hsl(10, 22%, 12%) !important;
  background: hsl(350, 24%, 18%) !important;
}

/* ────────────────────────────────────────────────
   § 12  MUI 通用对话框
   ──────────────────────────────────────────────── */
.MuiDialog-paper {
  background: hsl(350, 26%, 15%) !important;
  color: hsl(10, 22%, 12%) !important;
  border: 1px solid hsl(40, 26%, 26%) !important;
  border-radius: 8px !important;
}
.MuiButton-contained,
button.MuiButton-containedPrimary {
  background: hsl(350, 48%, 36%) !important;
  color: hsl(36, 40%, 92%) !important;
  border: 1px solid hsl(350, 48%, 42%) !important;
  border-radius: 18px !important;
  transition: background 0.12s ease !important;
}
.MuiButton-contained:hover,
button.MuiButton-containedPrimary:hover {
  background: hsl(350, 50%, 42%) !important;
}
.MuiButton-outlined,
button.MuiButton-outlinedPrimary {
  color: hsl(160, 22%, 58%) !important;
  border: 1px solid hsl(160, 16%, 38%) !important;
  border-radius: 18px !important;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease !important;
}
.MuiButton-outlined:hover,
button.MuiButton-outlinedPrimary:hover {
  background: hsl(160, 16%, 18%) !important;
  border-color: hsl(40, 42%, 50%) !important;
  color: hsl(40, 50%, 65%) !important;
}

/* ────────────────────────────────────────────────
   § 13  评论区 · 大观园题壁
   ──────────────────────────────────────────────── */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
  background: hsl(350, 26%, 13%) !important;
  color: hsl(10, 22%, 12%) !important;
}
div.text-lg.font-bold {
  color: hsl(40, 52%, 66%) !important;
}
p.MuiTypography-body1 {
  color: hsl(36, 22%, 60%) !important;
}

/* 评分星星 */
span.MuiRating-iconEmpty svg {
  color: hsl(160, 18%, 42%) !important;
  opacity: 0.55 !important;
}
span.MuiRating-iconFilled svg {
  color: hsl(40, 62%, 60%) !important;
}
span.text-orange-500 {
  color: hsl(40, 62%, 60%) !important;
}

/* 评论项 */
div.group.ml-0 {
  background: hsl(350, 24%, 17%) !important;
  border-left: 3px solid hsl(160, 18%, 38%) !important;
  border-radius: 6px !important;
  margin-bottom: 0.7rem !important;
  padding: 0.6rem 0.8rem !important;
  transition: border-color 0.12s ease !important;
}
div.group.ml-0:hover {
  border-left-color: hsl(40, 46%, 50%) !important;
}
div.break-all {
  color: hsl(36, 35%, 84%) !important;
}
div.text-xs.text-grey-600,
div.text-sm.text-grey-600 {
  color: hsl(36, 18%, 52%) !important;
}
div.text-sm.text-grey-600 span.font-bold {
  color: hsl(40, 50%, 64%) !important;
}
span.text-\[10px\] {
  background: hsl(350, 48%, 36%) !important;
  color: hsl(36, 40%, 92%) !important;
  padding: 1px 5px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
}
div.flex.flex-col.border-gray-200 {
  border-color: hsl(160, 16%, 30%) !important;
}
div.group img.rounded-full {
  border: 2px solid hsl(160, 18%, 40%) !important;
}
div.ml-8.border-l {
  border-left-color: hsl(160, 16%, 28%) !important;
}
button.text-gray-400 {
  color: hsl(160, 18%, 46%) !important;
}
button.text-gray-400:hover {
  color: hsl(350, 46%, 50%) !important;
}
span.cursor-pointer {
  color: hsl(160, 18%, 50%) !important;
  transition: color 0.12s ease !important;
}
span.cursor-pointer:hover {
  color: hsl(40, 48%, 62%) !important;
  text-decoration: underline !important;
}

/* ────────────────────────────────────────────────
   § 14  滚动条 · 竹节细槽
   ──────────────────────────────────────────────── */
::-webkit-scrollbar {
  width: 4px !important;
  height: 4px !important;
}
::-webkit-scrollbar-track {
  background: hsl(350, 20%, 11%) !important;
}
::-webkit-scrollbar-thumb {
  background: hsl(350, 26%, 26%) !important;
  border-radius: 3px !important;
}
::-webkit-scrollbar-thumb:hover {
  background: hsl(40, 36%, 38%) !important;
}

/* ────────────────────────────────────────────────
   § 15  动效降速兜底
   ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ────────────────────────────────────────────────
   § 16  壳层响应式 · 移动端适配
   ──────────────────────────────────────────────── */
@media (max-width: 480px) {
  .markdown-body {
    font-size: 0.97em !important;
    line-height: 1.78 !important;
    color: hsl(10, 18%, 8%) !important;
  }
  .markdown-body p {
    color: hsl(10, 18%, 8%) !important;
    -webkit-text-stroke: 0.15px !important;
  }
  #ai-chat-input {
    font-size: 14px !important;
  }
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
    font-size: 14px !important;
  }
}

/* ════════════════════════════════════════════════
   AI 输出内容样式 · .hc
   ════════════════════════════════════════════════
   注：此区域是AI输出的HTML承载容器，
   风格用「宣纸霜雪」浅色纸感，与平台暗调形成对比，
   仿古籍翻开效果。
   ════════════════════════════════════════════════ */

/* ────────────────────────────────────────────────
   § A  容器基础 · 宣纸展卷
   ──────────────────────────────────────────────── */
.hc {
  background: hsl(36, 32%, 94%) !important;
  color: hsl(10, 18%, 10%) !important;
  font-family: 'Noto Serif SC', 'Songti SC', 'Source Han Serif SC', 'SimSun', serif !important;
  line-height: 1.78 !important;
  padding: 14px !important;
  border-radius: 8px !important;
}
/* 子元素兜底：防止平台深色穿透 */
.hc > div,
.hc > p {
  background: hsl(36, 32%, 94%) !important;
}

/* details/summary 清洁 */
.hc details {
  border-bottom: none !important;
}
.hc summary {
  list-style: none !important;
  user-select: none !important;
}
.hc summary::-webkit-details-marker {
  display: none !important;
}

/* ────────────────────────────────────────────────
   § C  场景·地点自定义标签
   ──────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════
   § SCENE  天气标签动画 · 6种 env 值
   rain / snow / fog / sunny / night / storm
   ══════════════════════════════════════════════════ */

@keyframes sc-rain {
  0%   { background-position: 0 0, 5px -8px, 12px 0; }
  100% { background-position: -12px 36px, -7px 28px, 0 36px; }
}
@keyframes sc-snow {
  0%   { background-position: 0 -10px, 8px -20px, 16px -5px; }
  100% { background-position: -4px 40px, 12px 40px, 20px 40px; }
}
@keyframes sc-fog {
  0%   { opacity: 0.55; transform: translateX(-6%); }
  50%  { opacity: 0.85; }
  100% { opacity: 0.55; transform: translateX(6%); }
}
@keyframes sc-sunny {
  0%,100% { box-shadow: 0 0 0 0 hsl(45,90%,70%,0); }
  50%     { box-shadow: 0 0 18px 4px hsl(45,90%,70%,0.35); }
}
@keyframes sc-night-star {
  0%,100% { opacity: 0.2; }
  50%     { opacity: 1; }
}
@keyframes sc-storm-flash {
  0%,89%,91%,100% { opacity: 0; }
  90%             { opacity: 0.7; }
}

/* 基础容器 */
.hc .sc {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 32px !important;
  border-radius: 5px !important;
  overflow: hidden !important;
  margin: 0 0 10px 0 !important;
  font-size: 0 !important;
  padding: 0 !important;
  border: none !important;
  letter-spacing: 0 !important;
}

/* ::before = 主背景层  ::after = 粒子/光效层 */
.hc .sc::before,
.hc .sc::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

/* ── 默认/晴（留空） ── */
.hc .sc:not([data-env]),
.hc .sc[data-env=""] {
  background: linear-gradient(90deg,
    hsl(38,24%,90%) 0%, hsl(40,30%,86%) 50%, hsl(38,24%,90%) 100%) !important;
}

/* ── sunny ── */
.hc .sc[data-env="sunny"] {
  background: linear-gradient(90deg,
    hsl(42,52%,82%) 0%, hsl(46,60%,78%) 50%, hsl(42,52%,82%) 100%) !important;
  animation: sc-sunny 3s ease-in-out infinite !important;
}
.hc .sc[data-env="sunny"]::before {
  background:
    radial-gradient(circle 6px at 18% 50%, hsl(50,100%,90%,0.9) 0%, transparent 100%),
    radial-gradient(circle 4px at 80% 40%, hsl(50,100%,85%,0.6) 0%, transparent 100%) !important;
}

/* ── rain ── */
.hc .sc[data-env="rain"] {
  background: linear-gradient(90deg,
    hsl(210,22%,72%) 0%, hsl(210,26%,66%) 50%, hsl(210,22%,72%) 100%) !important;
}
.hc .sc[data-env="rain"]::before {
  background:
    repeating-linear-gradient(
      108deg,
      transparent 0, transparent 3px,
      hsl(210,30%,85%,0.55) 3px, hsl(210,30%,85%,0.55) 3.5px,
      transparent 3.5px, transparent 10px
    ),
    repeating-linear-gradient(
      108deg,
      transparent 0, transparent 6px,
      hsl(210,30%,90%,0.35) 6px, hsl(210,30%,90%,0.35) 6.5px,
      transparent 6.5px, transparent 16px
    ) !important;
  background-size: 20px 36px, 32px 36px !important;
  animation: sc-rain 0.55s linear infinite !important;
}

/* ── snow ── */
.hc .sc[data-env="snow"] {
  background: linear-gradient(90deg,
    hsl(210,30%,88%) 0%, hsl(210,20%,93%) 50%, hsl(210,30%,88%) 100%) !important;
}
.hc .sc[data-env="snow"]::before {
  background:
    radial-gradient(circle 2px at 20% 0%, hsl(0,0%,98%,0.9) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 50% 0%, hsl(0,0%,95%,0.8) 0%, transparent 100%),
    radial-gradient(circle 2px at 78% 0%, hsl(0,0%,98%,0.9) 0%, transparent 100%) !important;
  background-size: 40px 40px !important;
  animation: sc-snow 2.2s linear infinite !important;
}
.hc .sc[data-env="snow"]::after {
  background:
    radial-gradient(circle 1.5px at 8% 0%, hsl(0,0%,96%,0.7) 0%, transparent 100%),
    radial-gradient(circle 2px at 62% 0%, hsl(0,0%,98%,0.85) 0%, transparent 100%) !important;
  background-size: 40px 40px !important;
  animation: sc-snow 3.1s linear infinite 0.8s !important;
}

/* ── fog ── */
.hc .sc[data-env="fog"] {
  background: hsl(36,12%,84%) !important;
}
.hc .sc[data-env="fog"]::before {
  background: linear-gradient(90deg,
    transparent 0%,
    hsl(36,14%,92%,0.9) 30%,
    hsl(36,10%,88%,0.7) 55%,
    hsl(36,14%,92%,0.9) 75%,
    transparent 100%) !important;
  animation: sc-fog 4s ease-in-out infinite !important;
}
.hc .sc[data-env="fog"]::after {
  background: linear-gradient(90deg,
    hsl(36,14%,90%,0.6) 0%,
    transparent 40%,
    hsl(36,10%,86%,0.5) 70%,
    transparent 100%) !important;
  animation: sc-fog 5.5s ease-in-out infinite reverse !important;
}

/* ── night ── */
.hc .sc[data-env="night"] {
  background: linear-gradient(90deg,
    hsl(235,28%,18%) 0%, hsl(240,24%,14%) 50%, hsl(235,28%,18%) 100%) !important;
}
.hc .sc[data-env="night"]::before {
  background:
    radial-gradient(circle 1.5px at 12% 30%, hsl(55,80%,90%,0.9) 0%, transparent 100%),
    radial-gradient(circle 1px   at 35% 60%, hsl(55,80%,90%,0.7) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 58% 25%, hsl(55,80%,90%,0.9) 0%, transparent 100%),
    radial-gradient(circle 1px   at 72% 55%, hsl(55,80%,90%,0.6) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 88% 35%, hsl(55,80%,90%,0.8) 0%, transparent 100%) !important;
  animation: sc-night-star 2.8s ease-in-out infinite !important;
}
.hc .sc[data-env="night"]::after {
  background:
    radial-gradient(circle 1px   at 24% 50%, hsl(55,80%,90%,0.6) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 46% 40%, hsl(55,80%,90%,0.8) 0%, transparent 100%),
    radial-gradient(circle 1px   at 65% 65%, hsl(55,80%,90%,0.7) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 80% 20%, hsl(55,80%,90%,0.9) 0%, transparent 100%) !important;
  animation: sc-night-star 2.1s ease-in-out infinite 1.2s !important;
}

/* ── storm ── */
.hc .sc[data-env="storm"] {
  background: linear-gradient(90deg,
    hsl(220,30%,28%) 0%, hsl(220,34%,22%) 50%, hsl(220,30%,28%) 100%) !important;
}
.hc .sc[data-env="storm"]::before {
  background:
    repeating-linear-gradient(
      110deg,
      transparent 0, transparent 2px,
      hsl(210,40%,70%,0.6) 2px, hsl(210,40%,70%,0.6) 2.5px,
      transparent 2.5px, transparent 7px
    ),
    repeating-linear-gradient(
      110deg,
      transparent 0, transparent 5px,
      hsl(210,40%,75%,0.4) 5px, hsl(210,40%,75%,0.4) 5.5px,
      transparent 5.5px, transparent 12px
    ) !important;
  background-size: 14px 36px, 22px 36px !important;
  animation: sc-rain 0.32s linear infinite !important;
}
.hc .sc[data-env="storm"]::after {
  background: hsl(60,100%,95%,0.7) !important;
  animation: sc-storm-flash 4s linear infinite !important;
}

/* 动效降速兜底 */
@media (prefers-reduced-motion: reduce) {
  .hc .sc::before,
  .hc .sc::after,
  .hc .sc { animation: none !important; }
}

/* loc 标签保留原样式 */
.hc loc {
  display: inline-block !important;
  background: hsl(35, 18%, 88%) !important;
  color: hsl(10, 14%, 30%) !important;
  padding: 2px 10px !important;
  border-radius: 4px !important;
  font-size: 0.83em !important;
  letter-spacing: 0.5px !important;
  margin: 0 6px 14px 0 !important;
}

/* ────────────────────────────────────────────────
   § D  正文叙事区 · 楷书行文
   ──────────────────────────────────────────────── */
.hc .hpr {
  background: hsl(36, 32%, 94%) !important;
  font-family: 'KaiTi', 'STKaiti', 'Noto Serif SC', 'Songti SC', 'Source Han Serif SC', serif !important;
  font-size: 1.18em !important;
  text-align: justify !important;
  text-indent: 2em !important;
  line-height: 1.95 !important;
  margin-bottom: 22px !important;
  color: hsl(10, 18%, 7%) !important;
  font-weight: 450 !important;
}

/* hpr 内的 pre/code 还原为普通文字，防止markdown把缩进段落渲染成深色代码块 */
.hc .hpr pre,
.hc .hpr code {
  background: transparent !important;
  background-color: hsl(36, 32%, 94%) !important;
  color: hsl(10, 18%, 7%) !important;
  border: none !important;
  font-family: 'KaiTi', 'STKaiti', 'Noto Serif SC', 'Songti SC', 'Source Han Serif SC', serif !important;
  font-size: inherit !important;
  padding: 0 !important;
  white-space: pre-wrap !important;
  border-radius: 0 !important;
  display: inline !important;
}
.hc .hpr pre {
  display: block !important;
  margin: 0 !important;
}

/* ────────────────────────────────────────────────
   § E  行动选项 · 锦囊五策
   ──────────────────────────────────────────────── */
.hc .pga {
  background: hsl(36, 32%, 94%) !important;
  counter-reset: action !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 20px 0 !important;
}
.hc .pga > * {
  counter-increment: action !important;
  background: hsl(36, 24%, 97%) !important;
  border: 1px solid hsl(35, 22%, 82%) !important;
  padding: 11px 16px !important;
  border-radius: 6px !important;
  position: relative !important;
  font-family: 'Noto Serif SC', 'Songti SC', 'Source Han Serif SC', serif !important;
  font-size: 0.94em !important;
  color: hsl(10, 22%, 10%) !important;
  cursor: default !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease !important;
}
.hc .pga > *:hover {
  border-color: hsl(354, 52%, 48%) !important;
  color: hsl(354, 52%, 40%) !important;
  box-shadow: 0 2px 8px hsl(354, 52%, 48%, 0.1) !important;
}
/* 序号：圆形徽章 */
.hc .pga > *::before {
  display: none !important;
}

/* ⚠️ 关键：清洁 pre/code，使 ```1...``` 块在选项里显示为纯文本 */
.hc .pga pre,
.hc .pga code {
  background: transparent !important;
  border: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: pre-wrap !important;
  border-radius: 0 !important;
}

/* ════════════════════════════════════════════════
   § BASE  .hs 通用折叠卡片基础样式
   ════════════════════════════════════════════════ */

/* ── 面板结构兜底（不依赖 AI 写 class） ── */
.hc > details:not(:first-of-type) {
  background: hsl(36, 18%, 96%) !important;
  border: none !important;
  border-radius: 6px !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px hsl(30,20%,55%,0.13), 0 0 0 1px hsl(35,18%,86%) !important;
}
.hc > details:not(:first-of-type)[open] {
  box-shadow: 0 3px 14px hsl(30,20%,48%,0.18), 0 0 0 1px hsl(35,18%,82%) !important;
}
.hc > details:not(:first-of-type) > summary {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  min-height: 46px !important;
  padding: 0 !important;
  cursor: pointer !important;
  background: hsl(36, 20%, 93%) !important;
  border-bottom: 0.5px solid hsl(35, 18%, 86%) !important;
  position: relative !important;
  transition: filter 0.12s ease !important;
  background-repeat: no-repeat !important;
  background-position: right 6px center !important;
  background-size: auto 50px !important;
}
.hc > details:not(:first-of-type) > summary::marker,
.hc > details:not(:first-of-type) > summary::-webkit-details-marker {
  display: none !important;
  content: '' !important;
}
.hc > details:not(:first-of-type) > summary:hover {
  filter: brightness(0.96) !important;
}
/* 兜底 img：即使 AI 漏写 .sico 也约束为圆形图标 */
.hc > details:not(:first-of-type) > summary img {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  border: 1.5px solid hsl(35, 22%, 78%) !important;
  background: hsl(36, 18%, 90%) !important;
  padding: 3px !important;
  margin: 4px 8px 4px 10px !important;
}
/* 兜底竖排标签 */
.hc > details:not(:first-of-type) > summary > span:first-of-type {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  writing-mode: vertical-lr !important;
  text-orientation: mixed !important;
  padding: 10px 7px !important;
  min-width: 30px !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  font-size: 0.7em !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  color: hsl(10, 22%, 28%) !important;
  background: hsl(36, 18%, 88%) !important;
  border-right: 0.5px solid hsl(35, 16%, 80%) !important;
  align-self: stretch !important;
}
/* 兜底主标题 */
.hc > details:not(:first-of-type) > summary > span:last-of-type {
  flex: 1 !important;
  padding: 0 80px 0 12px !important;
  font-family: 'Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  font-size: 1.08em !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: hsl(10, 22%, 16%) !important;
}
/* 兜底展/收角标 */
.hc > details:not(:first-of-type) > summary::after {
  content: '展' !important;
  position: absolute !important;
  right: 10px !important;
  bottom: 6px !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  font-size: 0.65em !important;
  color: hsl(10, 18%, 44%) !important;
  background: hsl(36, 16%, 88%) !important;
  border: 0.5px solid hsl(35, 16%, 78%) !important;
  border-radius: 3px !important;
  padding: 1px 5px !important;
}
.hc > details:not(:first-of-type)[open] > summary::after {
  content: '收' !important;
  color: hsl(354, 42%, 32%) !important;
  background: hsl(354, 18%, 91%) !important;
  border-color: hsl(354, 18%, 82%) !important;
}
/* 兜底内容区 */
.hc > details:not(:first-of-type) > *:not(summary) {
  background: hsl(36, 18%, 96%) !important;
  padding: 10px 16px 14px 16px !important;
  font-size: 1em !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  color: hsl(10, 14%, 26%) !important;
  line-height: 1.88 !important;
}

/* 容器 */
.hc .hs {
  background: hsl(36, 18%, 96%) !important;
  border: none !important;
  border-radius: 6px !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px hsl(30,20%,55%,0.13), 0 0 0 1px hsl(35,18%,86%) !important;
}
.hc .hs[open] {
  box-shadow: 0 3px 14px hsl(30,20%,48%,0.18), 0 0 0 1px hsl(35,18%,82%) !important;
}

/* summary flex骨架 */
.hc .hs > summary {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  min-height: 46px !important;
  padding: 0 !important;
  cursor: pointer !important;
  background: hsl(36, 20%, 93%) !important;
  border-bottom: 0.5px solid hsl(35, 18%, 86%) !important;
  position: relative !important;
  transition: filter 0.12s ease !important;
  /* 右侧图片：默认无，各类型覆盖 */
  background-repeat: no-repeat !important;
  background-position: right 6px center !important;
  background-size: auto 50px !important;
  opacity: 1 !important;
}
.hc .hs > summary::marker,
.hc .hs > summary::-webkit-details-marker {
  display: none !important;
  content: '' !important;
}
.hc .hs > summary:hover {
  filter: brightness(0.96) !important;
}

.hc .hs > summary .sico {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  border: 1.5px solid hsl(35, 22%, 78%) !important;
  background: hsl(36, 18%, 90%) !important;
  padding: 3px !important;
  margin: 4px 8px 4px 10px !important;
}

/* .st 左侧竖排类型标签 */
.hc .hs > summary .st {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  writing-mode: vertical-lr !important;
  text-orientation: mixed !important;
  padding: 10px 7px !important;
  min-width: 30px !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  font-size: 0.7em !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  color: hsl(10, 22%, 28%) !important;
  background: hsl(36, 18%, 88%) !important;
  border-right: 0.5px solid hsl(35, 16%, 80%) !important;
  align-self: stretch !important;
}

/* .sn 主标题 */
.hc .hs > summary .sn {
  flex: 1 !important;
  padding: 0 80px 0 12px !important;
  font-family: 'Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  font-size: 1.08em !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: hsl(10, 22%, 16%) !important;
  background: transparent !important;
}

/* 展/收角标 */
.hc .hs > summary::after {
  content: '展' !important;
  position: absolute !important;
  right: 10px !important;
  bottom: 6px !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  font-size: 0.65em !important;
  color: hsl(10, 18%, 44%) !important;
  background: hsl(36, 16%, 88%) !important;
  border: 0.5px solid hsl(35, 16%, 78%) !important;
  border-radius: 3px !important;
  padding: 1px 5px !important;
}
.hc .hs[open] > summary::after {
  content: '收' !important;
  color: hsl(354, 42%, 32%) !important;
  background: hsl(354, 18%, 91%) !important;
  border-color: hsl(354, 18%, 82%) !important;
}

/* 内容区基础 */
.hc .hs > *:not(summary) {
  background: hsl(36, 18%, 96%) !important;
  padding: 10px 16px 14px 16px !important;
  font-size: 1em !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  color: hsl(10, 14%, 26%) !important;
  line-height: 1.88 !important;
  animation: hlm-reveal 0.25s ease !important;
}
@keyframes hlm-reveal {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}
.hc .hs strong,
.hc .hs b {
  color: hsl(10, 22%, 12%) !important;
  font-weight: 700 !important;
}
.hc .hs hr {
  border: none !important;
  border-top: 1px dashed hsl(35, 18%, 78%) !important;
  margin: 8px 0 !important;
}

/* 各类型右侧物件图片 */

.hc .hsn > summary {
  background-image: url('https://i.postimg.cc/Vvd7bK8F/ren-ming-bao.png') !important;
  background-color: hsl(35, 20%, 93%) !important;
}

/* ════════════════════════════════════════════════
   § F  红楼一梦状态栏 · B方案 时间轴胶囊+分区
   ════════════════════════════════════════════════ */

/* 容器 */
.hc > details:first-of-type {
  background: hsl(36, 24%, 97%) !important;
  border: none !important;
  border-radius: 6px !important;
  margin-bottom: 18px !important;
  padding: 0 !important;
  box-shadow: 0 1px 4px hsl(30,20%,55%,0.12), 0 0 0 1px hsl(35,18%,86%) !important;
  overflow: hidden !important;
}
.hc > details:first-of-type > summary {
  font-size: 1em !important;
  font-weight: 700 !important;
  color: hsl(354, 42%, 36%) !important;
  padding: 10px 14px !important;
  cursor: pointer !important;
  background: hsl(36, 24%, 95%) !important;
  border-bottom: 0.5px solid hsl(35, 18%, 86%) !important;
  letter-spacing: 2px !important;
}
.hc > details:first-of-type > summary:hover {
  background: hsl(36, 22%, 91%) !important;
  color: hsl(354, 52%, 36%) !important;
}
.hc > details:first-of-type > *:not(summary) {
  background: hsl(36, 32%, 94%) !important;
  color: hsl(10, 18%, 22%) !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
  font-size: 0.92em !important;
}
.hc > details:first-of-type strong {
  color: hsl(10, 22%, 10%) !important;
  font-weight: 600 !important;
}

/* 时间轴胶囊 */
.hwb { background: hsl(36, 22%, 97%) !important; }
.wbt {
  display: flex !important;
  align-items: center !important;
  padding: 10px 14px !important;
  gap: 0 !important;
  background: hsl(36, 20%, 93%) !important;
  border-bottom: 0.5px solid hsl(35, 18%, 86%) !important;
  overflow-x: auto !important;
}
.wbn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  min-width: 52px !important;
}
.wbd {
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: hsl(354, 38%, 46%) !important;
  border: 2px solid hsl(36, 24%, 95%) !important;
  margin-bottom: 3px !important;
}
.wbdd { background: hsl(354, 42%, 36%) !important; }
.wbl { display: block !important; flex: 1 !important; height: 1px !important; background: hsl(35, 30%, 72%) !important; min-width: 16px !important; }
.wbnk { font-size: 11px !important; color: hsl(35, 28%, 48%) !important; letter-spacing: 1px !important; text-align: center !important; }
.wbnv { font-size: 13px !important; color: hsl(10, 22%, 16%) !important; font-weight: 600 !important; text-align: center !important; white-space: nowrap !important; margin-top: 1px !important; }
.wbnd .wbnk { color: hsl(354, 40%, 38%) !important; }
.wbnd .wbnv { color: hsl(354, 44%, 28%) !important; }

/* 分区正文 */
.wbb { padding: 8px 14px 10px !important; }
.wbs { margin-bottom: 7px !important; }
.wbs:last-child { margin-bottom: 0 !important; }
.wbsh {
  font-size: 12px !important;
  color: hsl(35, 28%, 48%) !important;
  letter-spacing: 2px !important;
  margin-bottom: 4px !important;
  padding-bottom: 3px !important;
  border-bottom: 0.5px dashed hsl(35, 20%, 80%) !important;
}
.wbr { display: flex !important; gap: 6px !important; font-size: 14px !important; padding: 2px 0 !important; }
.wbk { color: hsl(35, 28%, 44%) !important; min-width: 72px !important; flex-shrink: 0 !important; }
.wbv { color: hsl(10, 22%, 16%) !important; flex: 1 !important; }

/* ════════════════════════════════════════════════
   § G  香囊·玩家 · P3 左右分栏
   ════════════════════════════════════════════════ */

.hc .hsp > div { padding: 0 !important; background: hsl(36, 22%, 97%) !important; }

.p3w {
  display: flex !important;
  min-height: 120px !important;
  background-image: url('https://i.postimg.cc/8cjyrZSH/nei-rong-qu.png') !important;
  background-size: 280px auto !important;
  background-blend-mode: multiply !important;
}
.p3l {
  flex: 1 !important;
  padding: 10px 12px !important;
  border-right: 0.5px solid hsl(35, 20%, 84%) !important;
  font-size: 12.5px !important;
  color: hsl(10, 18%, 18%) !important;
  line-height: 1.85 !important;
}
.p3s {
  font-size: 12px !important;
  color: hsl(35, 26%, 46%) !important;
  letter-spacing: 2px !important;
  margin-bottom: 5px !important;
  padding-bottom: 3px !important;
  border-bottom: 0.5px dashed hsl(35, 18%, 80%) !important;
}
.p3ro { display: flex !important; gap: 5px !important; padding: 2px 0 !important; }
.p3k { color: hsl(35, 26%, 46%) !important; min-width: 44px !important; flex-shrink: 0 !important; font-size: 13px !important; }
.p3v { color: hsl(10, 18%, 18%) !important; flex: 1 !important; line-height: 1.6 !important; }
.p3r {
  width: 44% !important;
  flex-shrink: 0 !important;
  padding: 10px 10px !important;
  background: hsl(14, 18%, 26%) !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
}
.p3rs {
  font-size: 12px !important;
  color: hsl(36, 24%, 62%) !important;
  letter-spacing: 2px !important;
  margin-bottom: 5px !important;
}
.p3rr { padding: 2px 0 !important; color: hsl(36, 24%, 88%) !important; line-height: 1.6 !important; }
.p3rk { color: hsl(36, 20%, 62%) !important; font-size: 12px !important; margin-right: 4px !important; }
.p3g {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 12px !important;
  padding: 7px 12px !important;
  background: hsl(36, 18%, 92%) !important;
  border-top: 0.5px solid hsl(35, 18%, 84%) !important;
  font-size: 13px !important;
}
.p3gi { color: hsl(10, 18%, 18%) !important; }
.p3gk { color: hsl(35, 26%, 46%) !important; font-size: 12px !important; margin-right: 3px !important; letter-spacing: 1px !important; }

/* ════════════════════════════════════════════════
   § H  名刺·NPC · N5+T2 云纹+色温条+卡牌
   ════════════════════════════════════════════════ */

.hc .hsn { overflow: hidden !important; }
.hc .hsn > div { padding: 0 !important; box-sizing: border-box !important; width: 100% !important; }

.n5cl {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 16px !important;
  background: hsl(36, 26%, 90%) !important;
  border-bottom: 0.5px solid hsl(35, 22%, 82%) !important;
}
.n5cl span { font-size: 11px !important; color: hsl(35, 38%, 58%) !important; letter-spacing: 5px !important; opacity: 0.75 !important; }
.n5mb { height: 4px !important; background: linear-gradient(90deg, hsl(354, 36%, 36%), hsl(35, 30%, 60%)) !important; }
.n5t {
  display: flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  overflow: hidden !important;
  
  gap: 10px !important;
  padding: 8px 12px !important;
  background: hsl(36, 20%, 95%) !important;
  border-bottom: 0.5px solid hsl(35, 18%, 86%) !important;
}
.n5bg { display: flex !important; flex-direction: column !important; gap: 4px !important; min-width: 60px !important; flex-shrink: 0 !important; }
.n5b {
  padding: 3px 7px !important;
  border-radius: 3px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  border: 0.5px solid !important;
}
.n5m { background: hsl(354, 18%, 91%) !important; color: hsl(354, 40%, 24%) !important; border-color: hsl(354, 20%, 78%) !important; }
.n5a { background: hsl(36, 20%, 90%) !important; color: hsl(10, 26%, 22%) !important; border-color: hsl(35, 18%, 76%) !important; }
.n5i { flex: 1 !important; font-size: 13px !important; color: hsl(10, 18%, 20%) !important; line-height: 1.7 !important; font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important; }
.n5q {
  padding: 9px 14px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: break-all !important;
  
  background: hsl(36, 18%, 96%) !important;
  border-bottom: 0.5px solid hsl(35, 18%, 86%) !important;
  font-size: 14px !important;
  color: hsl(10, 18%, 18%) !important;
  font-style: italic !important;
  line-height: 1.8 !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
}
.n5bd {
  padding: 8px 14px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  overflow-wrap: break-word !important;
  
  background: hsl(36, 16%, 97%) !important;
  font-size: 14px !important;
  color: hsl(10, 18%, 18%) !important;
  line-height: 1.88 !important;
}
.n5r { display: flex !important; gap: 6px !important; padding: 2px 0 !important; }
.n5k { color: hsl(35, 26%, 44%) !important; min-width: 60px !important; font-size: 13px !important; }
.n5p { padding: 8px 14px !important; box-sizing: border-box !important; width: 100% !important;  background: hsl(14, 18%, 26%) !important; }
.n5ps { font-size: 12px !important; color: hsl(36, 24%, 62%) !important; letter-spacing: 2px !important; margin-bottom: 5px !important; }
.n5pg { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4px !important; }
.n5pi { background: hsl(14, 16%, 33%) !important; border-radius: 4px !important; padding: 4px 8px !important; }
.n5pk { font-size: 12px !important; color: hsl(36, 20%, 60%) !important; margin-bottom: 1px !important; }
.n5pv { font-size: 13px !important; color: hsl(36, 24%, 88%) !important; line-height: 1.4 !important; }

/* ════════════════════════════════════════════════
   § I  密信·暗流 · G2 云纹+印章编号+线香分隔
   ════════════════════════════════════════════════ */

.hc .hsl > div { padding: 0 !important; }

.g2cl {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 16px !important;
  background: hsl(36, 22%, 90%) !important;
  border-bottom: 0.5px solid hsl(35, 18%, 84%) !important;
}
.g2cl span { font-size: 11px !important; color: hsl(35, 34%, 56%) !important; letter-spacing: 5px !important; opacity: 0.75 !important; }

.hc .hsl .gbd {
  padding: 8px 14px !important;
  background: hsl(36, 18%, 97%) !important;
  counter-reset: gossip !important;
  display: flex !important;
  flex-direction: column !important;
}
.hc .hsl .gi {
  counter-increment: gossip !important;
  padding: 9px 0 9px 42px !important;
  font-size: 14px !important;
  color: hsl(10, 18%, 18%) !important;
  line-height: 1.85 !important;
  position: relative !important;
  font-family: 'KaiTi','STKaiti','Noto Serif SC','Songti SC','Source Han Serif SC',serif !important;
}
.hc .hsl .gi::before {
  content: counter(gossip) !important;
  position: absolute !important;
  left: 0 !important;
  top: 9px !important;
  width: 28px !important;
  height: 28px !important;
  border: 1.5px solid hsl(354, 36%, 38%) !important;
  border-radius: 2px !important;
  display: block !important;
  text-align: center !important;
  line-height: 25px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: hsl(354, 38%, 26%) !important;
  background: hsl(354, 16%, 91%) !important;
}
.hc .hsl .gi:not(:last-child)::after {
  content: '' !important;
  display: block !important;
  height: 0.5px !important;
  background: linear-gradient(90deg, transparent, hsl(35, 30%, 62%), transparent) !important;
  margin: 7px 0 0 -42px !important;
}

/* ════════════════════════════════════════════════
   § J  卷轴·记忆 · M5 大字统计格+宣纸极简
   ════════════════════════════════════════════════ */

/* 卷轴记忆 · 简洁横条 */

.hc .hsm > div { padding: 0 !important; }

.m5cl {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 16px !important;
  background: hsl(36, 26%, 90%) !important;
  border-bottom: 0.5px solid hsl(35, 22%, 82%) !important;
}
.m5cl span { font-size: 11px !important; color: hsl(35, 38%, 56%) !important; letter-spacing: 5px !important; opacity: 0.75 !important; }

.m5s {
  display: flex !important;
  border-bottom: 0.5px solid hsl(35, 20%, 84%) !important;
}
.m5st {
  flex: 1 !important;
  text-align: center !important;
  padding: 9px 6px !important;
  background: hsl(36, 18%, 94%) !important;
}
.m5st:not(:last-child) { border-right: 0.5px solid hsl(35, 18%, 84%) !important; }
.m5sk { font-size: 11px !important; color: hsl(35, 26%, 46%) !important; letter-spacing: 1px !important; margin-bottom: 3px !important; }
.m5sv { font-size: 1.3em !important; font-weight: 700 !important; color: hsl(10, 24%, 16%) !important; line-height: 1 !important; }
.m5su { font-size: 12px !important; color: hsl(35, 30%, 50%) !important; margin-top: 2px !important; }

/* 卷轴内嵌子details */
.hc .hsm > div > details,
.hc .hsm details details {
  border: 0.5px solid hsl(35, 20%, 82%) !important;
  border-radius: 4px !important;
  margin: 6px 12px !important;
  overflow: hidden !important;
}
.hc .hsm > div > details > summary,
.hc .hsm details details > summary {
  padding: 6px 10px !important;
  background: hsl(36, 18%, 92%) !important;
  color: hsl(10, 22%, 20%) !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  cursor: pointer !important;
  border-bottom: 0.5px solid hsl(35, 18%, 84%) !important;
  display: flex !important;
  justify-content: space-between !important;
}
.hc .hsm > div > details > summary::after,
.hc .hsm details details > summary::after {
  content: '▸' !important;
  font-size: 10px !important;
  color: hsl(354, 36%, 38%) !important;
}
.hc .hsm > div > details > *:not(summary),
.hc .hsm details details > *:not(summary) {
  padding: 8px 10px !important;
  background: hsl(36, 16%, 97%) !important;
  font-size: 13px !important;
  color: hsl(10, 18%, 18%) !important;
  line-height: 1.82 !important;
}

/* 记忆表格 */
.hc .hsm table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 13px !important;
  margin: 5px 0 !important;
}
.hc .hsm th {
  background: hsl(36, 18%, 90%) !important;
  color: hsl(10, 22%, 18%) !important;
  padding: 5px 7px !important;
  border: 0.5px solid hsl(35, 18%, 82%) !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-align: left !important;
}
.hc .hsm td {
  padding: 4px 7px !important;
  border: 0.5px solid hsl(35, 16%, 86%) !important;
  color: hsl(10, 16%, 20%) !important;
  vertical-align: top !important;
  line-height: 1.6 !important;
}
.hc .hsm tr:nth-child(even) td {
  background: hsl(36, 16%, 95%) !important;
}

/* 记忆区分隔线（LTM→STM） */
.hc .hsm hr {
  border: none !important;
  border-top: 0.5px solid hsl(35, 18%, 80%) !important;
  margin: 6px 0 !important;
}

/* ════════════════════════════════════════════════
   § Z  组件层响应式 · 移动端适配
   ════════════════════════════════════════════════ */
@media (max-width: 480px) {
  /* 玩家面板：左右分栏改纵排 */
  .p3w {
    flex-direction: column !important;
  }
  .p3r {
    width: 100% !important;
  }
  .p3l {
    border-right: none !important;
    border-bottom: 0.5px solid hsl(35, 20%, 84%) !important;
  }
  /* NPC面板：标签行自动换行 */
  .n5t {
    flex-wrap: wrap !important;
  }
  .n5pg {
    grid-template-columns: 1fr !important;
  }
  /* 时间轴：允许滚动并缩小间距 */
  .wbt {
    gap: 0 !important;
    padding: 8px 10px !important;
  }
  .wbn {
    min-width: 42px !important;
  }
  /* summary 标题文字更紧凑 */
  .hc .hs > summary .sn {
    font-size: 0.95em !important;
    padding-right: 60px !important;
  }
  /* 叙事区：加大字号+行高+间距+笔画 */
  .hc .hpr {
    font-size: 1.12em !important;
    line-height: 2.08 !important;
    margin-bottom: 28px !important;
    letter-spacing: 0.3px !important;
  }
  /* 容器呼吸空间+移动字体渲染 */
  .hc {
    padding: 14px 16px !important;
    -webkit-text-stroke: 0.2px !important;
    letter-spacing: 0.4px !important;
  }
  /* 居中诗词道具：强制最低对比度 */
  .hc .hpr [style*="center"],
  .hc .hpr [style*="text-align"] {
    filter: contrast(1.15) !important;
  }
}


/* ────────────────────────────────────────────────
   § K  首轮信笺 · hlm-letter
   ──────────────────────────────────────────────── */
.hlm-letter {
  margin: 16px 0 !important;
  border: 1px solid hsl(30, 30%, 30%) !important;
  border-radius: 6px !important;
  background: linear-gradient(
    135deg,
    hsl(35, 25%, 14%) 0%,
    hsl(30, 20%, 11%) 100%
  ) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important;
}
.hlm-letter > summary {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 14px !important;
  background: linear-gradient(
    90deg,
    hsl(350, 28%, 18%) 0%,
    hsl(30, 20%, 14%) 100%
  ) !important;
  color: hsl(40, 60%, 72%) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  cursor: pointer !important;
  list-style: none !important;
  border-bottom: 1px solid hsl(30, 30%, 22%) !important;
}
.hlm-letter > summary::-webkit-details-marker,
.hlm-letter > summary::marker {
  display: none !important;
  content: "" !important;
}
.hlm-letter > summary::after {
  content: "展" !important;
  margin-left: auto !important;
  font-size: 11px !important;
  color: hsl(40, 40%, 50%) !important;
  border: 1px solid hsl(40, 30%, 30%) !important;
  border-radius: 3px !important;
  padding: 1px 6px !important;
  opacity: 0.7 !important;
}
.hlm-letter[open] > summary::after {
  content: "收" !important;
}

/* 信笺内容区 */
.hlm-letter .lt-body {
  padding: 12px 16px !important;
}

/* 每个小节 */
.hlm-letter .lt-sec {
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px dashed hsl(30, 20%, 22%) !important;
}
.hlm-letter .lt-sec:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* 小节标题 */
.hlm-letter .lt-h {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: hsl(40, 55%, 65%) !important;
  letter-spacing: 0.5px !important;
}
.hlm-letter .lt-h::before {
  content: "◆" !important;
  font-size: 8px !important;
  color: hsl(350, 40%, 50%) !important;
}

/* 正文段落 */
.hlm-letter .lt-p {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: hsl(30, 15%, 70%) !important;
  margin: 0 0 4px !important;
}

/* 人物条目列表 */
.hlm-letter .lt-ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 4px 0 0 !important;
}
.hlm-letter .lt-ul li {
  position: relative !important;
  padding: 5px 0 5px 14px !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: hsl(30, 15%, 70%) !important;
  border-left: 2px solid hsl(350, 30%, 30%) !important;
  margin-bottom: 4px !important;
}
.hlm-letter .lt-ul li b {
  color: hsl(40, 50%, 68%) !important;
  font-weight: 600 !important;
}

/* 底部印章 */
.hlm-letter .lt-seal {
  text-align: center !important;
  padding: 8px 0 4px !important;
  font-size: 11px !important;
  color: hsl(350, 35%, 40%) !important;
  letter-spacing: 2px !important;
  opacity: 0.6 !important;
}
