/* =========================================================
   传讯玉符 · 米白古卷（温润宣纸 × 古铜金线）
   完整 CSS 美化 —— 无图纯文字头像版
   （在原版基础上仅安全适配：文字头像居中裁剪 + 群聊道号样式）
   ========================================================= */
:root {
  --jade-bg: #faf7f2;
  --jade-paper: #f5efe6;
  --jade-ink: #4e3b2c;
  --jade-ink-light: #6b5a4b;
  --jade-gold: #b8864e;
  --jade-gold-bright: #d4a25c;
  --jade-copper: #8b5a3c;
  --jade-copper-light: #c49a6c;
  --jade-ivory: #fbf7f0;
  --jade-shadow: rgba(80, 50, 30, 0.1);
  --jade-border: #c9af8b;
  --jade-green: #7c9a6e;
  --jade-aura: rgba(180, 130, 80, 0.3);
}

/* ---------- 主容器：玉符本体 ---------- */
.jade-talisman-container {
  width: 320px;
  height: 640px;
  margin: 20px auto;
  background: linear-gradient(135deg, #faf7f2 0%, #f3ece0 30%, #f8f2e9 100%);
  border: 4px solid var(--jade-border);
  border-radius: 20px;
  box-shadow:
    0 0 0 2px rgba(180,130,80,0.3),
    0 10px 30px rgba(80,50,30,0.25),
    inset 0 0 40px rgba(200,170,130,0.2);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  font-family: "Noto Serif SC", "华文楷体", "楷体", "KaiTi", "STKaiti", "宋体", serif;
  color: var(--jade-ink);
  line-height: 1.5;
  letter-spacing: 0.3px;
}

/* 宣纸纹理 */
.jade-talisman-container::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(180,130,80,0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(150,120,70,0.06) 0%, transparent 50%),
    repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(180,150,110,0.03) 2px, rgba(180,150,110,0.03) 4px);
  pointer-events: none;
  z-index: 0;
  border-radius: 16px;
}

/* ---------- 状态栏 ---------- */
.jade-status-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 16px;
  font-size: 12px;
  color: var(--jade-ink-light);
  background: linear-gradient(to bottom, rgba(230,215,190,0.6), rgba(220,200,170,0.3));
  border-bottom: 1px solid rgba(180,150,120,0.3);
  z-index: 1;
  position: relative;
  letter-spacing: 1px;
}

.jade-status-bar span:first-child {
  font-weight: 700;
  color: var(--jade-copper);
}

.jade-status-bar span:last-child {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--jade-green);
}

/* ---------- 头部 ---------- */
.jade-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: rgba(245,235,220,0.8);
  border-bottom: 1px solid rgba(180,150,120,0.4);
  z-index: 1;
  position: relative;
  backdrop-filter: blur(4px);
}

.jade-back-btn, .jade-header-more {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--jade-copper);
  border-radius: 50%;
  background: rgba(220,200,170,0.4);
  border: 1px solid rgba(180,150,120,0.5);
  cursor: pointer;
  transition: all 0.2s;
}

.jade-back-btn:hover, .jade-header-more:hover {
  background: var(--jade-gold);
  color: white;
  border-color: var(--jade-gold-bright);
  box-shadow: 0 0 10px var(--jade-aura);
}

.jade-header-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--jade-ink);
  letter-spacing: 2px;
  text-shadow: 0 1px 2px rgba(255,255,255,0.8);
}

/* ---------- 消息区域 ---------- */
.jade-messages {
  flex: 1;
  overflow-y: auto;
  padding: 12px 12px 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 1;
  position: relative;
  scroll-behavior: smooth;
}

.jade-messages::-webkit-scrollbar {
  width: 5px;
}
.jade-messages::-webkit-scrollbar-thumb {
  background: var(--jade-border);
  border-radius: 10px;
}

/* 时间分割线 */
.jade-time-divider {
  text-align: center;
  font-size: 11px;
  color: var(--jade-ink-light);
  margin: 6px 0;
  letter-spacing: 1px;
  position: relative;
}
.jade-time-divider::before,
.jade-time-divider::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--jade-border), transparent);
  vertical-align: middle;
  margin: 0 8px;
}

/* 消息行 */
.jade-msg-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 100%;
  animation: fadeInUp 0.3s ease;
}
.jade-msg-row.self {
  flex-direction: row-reverse;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- 头像（纯 CSS 文字头像，居中裁剪，不出框）---------- */
.jade-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid var(--jade-gold);
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  background: #e5d9c5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
  text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}

/* 群聊发送者道号（仅作用于带 class 的元素，不影响其它结构） */
.jade-sender-name {
  font-size: 11px;
  color: var(--jade-copper);
  margin: 0 4px 2px;
  letter-spacing: 1px;
  font-weight: 600;
}

/* 气泡 */
.jade-bubble {
  padding: 10px 14px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.6;
  word-break: break-word;
  max-width: 75%;
  position: relative;
  box-shadow: 0 2px 8px var(--jade-shadow);
}

/* 接收气泡 */
.jade-bubble.incoming {
  background: linear-gradient(135deg, #f4ede4, #f9f4ec);
  border: 1px solid var(--jade-border);
  color: var(--jade-ink);
  border-bottom-left-radius: 4px;
}

/* 发送气泡 */
.jade-bubble.outgoing {
  background: linear-gradient(135deg, #efe3d1, #f5ebdf);
  border: 1px solid var(--jade-copper-light);
  color: var(--jade-ink);
  border-bottom-right-radius: 4px;
}

/* 转账卡片 */
.jade-transfer {
  background: linear-gradient(145deg, #f9f2e7, #f0e3d2);
  border: 1px solid var(--jade-gold);
  border-radius: 14px;
  padding: 10px 14px;
  max-width: 70%;
  box-shadow: 0 2px 10px var(--jade-shadow);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.jade-transfer-icon {
  font-size: 18px;
  color: var(--jade-gold-bright);
}
.jade-transfer-info {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.jade-transfer-amount {
  font-size: 16px;
  font-weight: 700;
  color: var(--jade-copper);
}
.jade-transfer-note {
  font-size: 12px;
  color: var(--jade-ink-light);
}
.jade-transfer-footer {
  text-align: right;
  font-size: 11px;
  color: var(--jade-gold);
  border-top: 1px dashed var(--jade-border);
  padding-top: 4px;
  letter-spacing: 1px;
}

/* 红包卡片 */
.jade-redpacket {
  background: linear-gradient(145deg, #f6ede2, #eadbc8);
  border: 1px solid var(--jade-copper);
  border-radius: 14px;
  padding: 12px 14px;
  max-width: 70%;
  box-shadow: 0 2px 10px var(--jade-shadow);
  text-align: center;
}
.jade-rp-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--jade-copper);
  margin-bottom: 4px;
}
.jade-rp-desc {
  font-size: 12px;
  color: var(--jade-ink-light);
  margin-bottom: 6px;
}
.jade-rp-footer {
  font-size: 11px;
  color: var(--jade-gold);
  border-top: 1px dashed var(--jade-border);
  padding-top: 4px;
  letter-spacing: 1px;
}

/* ---------- 输入栏 ---------- */
.jade-input-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: rgba(245,235,220,0.9);
  border-top: 1px solid var(--jade-border);
  z-index: 1;
  position: relative;
  backdrop-filter: blur(4px);
}

.jade-input-icon {
  font-size: 18px;
  color: var(--jade-copper);
  cursor: pointer;
  transition: color 0.2s;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(220,200,170,0.3);
}
.jade-input-icon:hover {
  color: var(--jade-gold-bright);
  background: rgba(200,170,130,0.5);
}

.jade-input-field {
  flex: 1;
  height: 36px;
  border: 1px solid var(--jade-border);
  border-radius: 18px;
  padding: 0 16px;
  font-size: 14px;
  font-family: inherit;
  background: rgba(255,252,247,0.8);
  color: var(--jade-ink);
  outline: none;
  transition: border-color 0.3s, box-shadow 0.3s;
  display: flex;
  align-items: center;
}
.jade-input-field::placeholder {
  color: var(--jade-ink-light);
  opacity: 0.6;
}
.jade-input-field:focus {
  border-color: var(--jade-gold-bright);
  box-shadow: 0 0 8px var(--jade-aura);
}

/* 小屏幕适配：居中显示 */
@media (max-width: 360px) {
  .jade-talisman-container {
    width: 100%;
    height: auto;
    min-height: 100vh;
    border-radius: 0;
    margin: 0;
  }
}

/* ============================================================
   清明仙侠 · 明亮主题
   纸底 #f8f6ef / 云面 #fffef9 / 玉面 #eef5f2
   青玉 #2f7d72 · 浅玉 #6fb3a8 · 远山 #4a7fa5 · 描金 #b8933f
   朱砂 #b8433a · 紫气 #7d63b8 · 墨 #2f3b3a
   ============================================================ */

/* ---------- 动画池 ---------- */
@keyframes xm-lingqi-flow {
  0%   { background-position: 0% 50%, 0% 50%; }
  100% { background-position: 0% 50%, 300% 50%; }
}
@keyframes xm-jade-breathe {
  0%,100% { box-shadow: 0 2px 14px -8px rgba(47,125,114,0.35), 0 10px 30px -22px rgba(47,59,58,0.4); }
  50%     { box-shadow: 0 2px 20px -8px rgba(47,125,114,0.55), 0 12px 34px -22px rgba(47,59,58,0.45); }
}
@keyframes xm-sweep {
  0%   { transform: translateX(-120%); opacity: 0; }
  35%  { opacity: 1; }
  100% { transform: translateX(340%); opacity: 0; }
}
@keyframes xm-cloud-drift {
  from { background-position: 0 0, 0 0; }
  to   { background-position: 420px 0, -300px 0; }
}
@keyframes xm-rune-spin {
  from { transform: translateY(-50%) rotate(0deg); }
  to   { transform: translateY(-50%) rotate(360deg); }
}
@keyframes xm-seal-pulse {
  0%,100% { transform: rotate(-4deg) scale(1); }
  50%     { transform: rotate(-4deg) scale(1.04); }
}

/* ===================== 状态栏 · 玉简卷宗 ===================== */
details {
  position: relative !important;
  margin: 18px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  border-radius: 4px 16px 4px 16px !important;
  background:
    linear-gradient(#fffef9, #f6f9f7) padding-box,
    linear-gradient(115deg, #b8933f 0%, #e4cf95 20%, #6fb3a8 45%, #4a7fa5 68%, #b8933f 100%) border-box !important;
  background-size: 100% 100%, 300% 100% !important;
  animation: xm-lingqi-flow 16s linear infinite, xm-jade-breathe 7s ease-in-out infinite !important;
  color: #2f3b3a !important;
  font-family: "Songti SC", "Source Han Serif SC", "PingFang SC", "Microsoft YaHei", serif !important;
}

/* 卷首灵纹 */
details::before {
  content: "" !important;
  display: block !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, #b8933f 20%, #6fb3a8 52%, #7d63b8 80%, transparent) !important;
  opacity: 0.7 !important;
}

/* ===== 卷名栏 ===== */
summary {
  position: relative !important;
  padding: 12px 16px 12px 40px !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none !important;
  overflow: hidden !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  color: #23514b !important;
  background: linear-gradient(90deg, #e8f2ef, #f3f8f6 65%, #fffef9) !important;
  border-bottom: 1px solid rgba(47,125,114,0.18) !important;
  transition: color 0.25s ease, letter-spacing 0.25s ease, background 0.3s ease !important;
}
summary:hover {
  color: #14403a !important;
  letter-spacing: 4px !important;
  background: linear-gradient(90deg, #ddeeea, #eef6f4 65%, #fffef9) !important;
}
/* 玉光横扫 */
summary::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; bottom: 0 !important; left: 0 !important;
  width: 28% !important;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.85), rgba(184,147,63,0.18), transparent) !important;
  transform: translateX(-120%) !important;
  pointer-events: none !important;
}
summary:hover::after { animation: xm-sweep 1.5s ease-out !important; }
summary::-webkit-details-marker { display: none !important; }
summary::marker { content: "" !important; }

/* 符阵箭头 */
summary::before {
  content: "✦" !important;
  position: absolute !important;
  left: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 12px !important;
  color: #2f7d72 !important;
  transition: color 0.25s ease !important;
}
details[open] > summary::before {
  color: #b8933f !important;
  animation: xm-rune-spin 10s linear infinite !important;
}

/* ===== 卷身 ===== */
details > *:not(summary):not(table) {
  padding: 0 18px !important;
  margin: 9px 0 !important;
  line-height: 1.95 !important;
  color: #3c4a48 !important;
}
details > p { font-size: 14px !important; }
details[open] { padding-bottom: 14px !important; }

details strong, details b { color: #a8752c !important; font-weight: 700 !important; }
details em, details i { color: #2f7d72 !important; font-style: italic !important; }
details code {
  background: #e7f2ef !important;
  color: #23514b !important;
  border: 1px solid rgba(47,125,114,0.3) !important;
  border-radius: 3px !important;
  padding: 1px 6px !important;
  font-size: 12.5px !important;
}

/* 引言 · 天音 */
details blockquote {
  margin: 12px 18px !important;
  padding: 9px 14px !important;
  border: none !important;
  border-left: 3px solid #7d63b8 !important;
  border-radius: 0 8px 8px 0 !important;
  background: linear-gradient(90deg, rgba(125,99,184,0.09), rgba(255,255,255,0)) !important;
  color: #4a4260 !important;
}

/* 断界线 */
details hr {
  border: none !important;
  height: 1px !important;
  margin: 16px 18px !important;
  background: linear-gradient(90deg, transparent, rgba(184,147,63,0.6) 30%, rgba(47,125,114,0.5) 70%, transparent) !important;
}

/* 列表 */
details ul, details ol { padding-left: 34px !important; margin: 8px 0 !important; }
details li { margin: 5px 0 !important; color: #3c4a48 !important; }
details ul li::marker { color: #6fb3a8 !important; }
details ol li::marker { color: #b8933f !important; font-weight: 700 !important; }

/* ===================== 表格 · 洞天名录 ===================== */
details table {
  width: calc(100% - 36px) !important;
  margin: 14px 18px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid rgba(47,125,114,0.22) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fffef9 !important;
  box-shadow: 0 6px 18px -14px rgba(47,59,58,0.5) !important;
  font-size: 13px !important;
}
details thead { background: linear-gradient(90deg, #e6f1ee, #f1f7f5) !important; }
details th {
  padding: 10px 12px !important;
  text-align: left !important;
  white-space: nowrap !important;
  color: #23514b !important;
  font-weight: 700 !important;
  letter-spacing: 1.6px !important;
  border-bottom: 1px solid rgba(184,147,63,0.45) !important;
}
details td {
  padding: 9px 12px !important;
  color: #3c4a48 !important;
  border-bottom: 1px solid rgba(47,125,114,0.1) !important;
}
details tbody tr { transition: background 0.25s ease, box-shadow 0.25s ease !important; }
details tbody tr:nth-child(even) { background: #f7fbfa !important; }
details tbody tr:last-child td { border-bottom: none !important; }
details tbody tr:hover {
  background: linear-gradient(90deg, rgba(111,179,168,0.14), rgba(184,147,63,0.07)) !important;
  box-shadow: inset 2px 0 0 #2f7d72 !important;
}
details tbody tr:hover td { color: #1c2b29 !important; }
details td:first-child {
  color: #23514b !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
}

/* 卷角朱砂印 */
details::after {
  content: "天机" !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: #b8433a !important;
  background: rgba(184,67,58,0.06) !important;
  border: 2px solid rgba(184,67,58,0.65) !important;
  border-radius: 6px !important;
  transform: rotate(-4deg) !important;
  animation: xm-seal-pulse 5s ease-in-out infinite !important;
  pointer-events: none !important;
}

/* 内嵌卷 · 副脉 */
details details {
  margin: 12px 18px !important;
  border-radius: 4px 12px 4px 12px !important;
  background:
    linear-gradient(#f9fdfb, #f2f8f6) padding-box,
    linear-gradient(115deg, #6fb3a8, #a8d6cd 50%, #4a7fa5) border-box !important;
  animation: none !important;
  box-shadow: 0 4px 14px -12px rgba(47,59,58,0.5) !important;
}
details details::before {
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #6fb3a8, transparent) !important;
}
details details > summary {
  font-size: 13.5px !important;
  padding: 9px 14px 9px 38px !important;
  color: #2f7d72 !important;
  background: linear-gradient(90deg, #e4f0ed, #f5faf8) !important;
}
details details::after { display: none !important; }

/* ===================== 顶部栏 · 云天 ===================== */
.sticky.w-full.top-0.flex.items-center {
  background:
    radial-gradient(60px 18px at 40px 22px, rgba(255,255,255,0.9), transparent 70%),
    radial-gradient(80px 22px at 220px 34px, rgba(232,242,239,0.9), transparent 70%),
    linear-gradient(180deg, #fbfaf3, #f4f8f6) !important;
  background-size: 420px 100%, 520px 100%, 100% 100% !important;
  animation: xm-cloud-drift 70s linear infinite !important;
  border-bottom: 1px solid rgba(184,147,63,0.3) !important;
  box-shadow: 0 1px 0 rgba(47,125,114,0.12), 0 6px 18px -14px rgba(47,59,58,0.5) !important;
  font-family: "Songti SC", "PingFang SC", "Microsoft YaHei", serif !important;
}
.sticky.w-full.top-0.flex.items-center::after {
  content: "末法 · 灵气将尽" !important;
  position: absolute !important;
  top: 8px !important;
  right: 14px !important;
  padding: 2px 10px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  color: #b8433a !important;
  background: rgba(184,67,58,0.07) !important;
  border: 1px solid rgba(184,67,58,0.45) !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

/* 模型选择器 */
#ai-model-selector .group.flex.items-center {
  padding: 2px 10px !important;
  background: #fffef9 !important;
  border: 1px solid rgba(47,125,114,0.28) !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 8px -6px rgba(47,59,58,0.5) !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
#ai-model-selector .group.flex.items-center:hover {
  border-color: #2f7d72 !important;
  box-shadow: 0 0 0 3px rgba(111,179,168,0.18) !important;
}
#ai-model-selector .truncate.text-\[13px\] {
  color: #23514b !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
}
#ai-model-selector .shrink-0.flex.items-center svg { color: #2f7d72 !important; stroke-width: 2 !important; }

/* 历史记录 */
.sticky.w-full.top-0 svg.lucide-clock-8 {
  color: #4a5a58 !important;
  stroke-width: 2 !important;
  transition: color 0.3s ease, transform 0.5s cubic-bezier(.2,.9,.2,1) !important;
}
.sticky.w-full.top-0 svg.lucide-clock-8:hover {
  color: #2f7d72 !important;
  transform: rotate(-25deg) scale(1.12) !important;
}
.sticky.w-full.top-0 span.MuiBadge-dot.md\:hidden {
  background: #b8433a !important;
  border: none !important;
  box-shadow: 0 0 0 2px #fbfaf3 !important;
}

/* 音乐按钮 */
.sticky.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2 {
  color: #7d63b8 !important;
  stroke-width: 2 !important;
  transition: color 0.3s ease, transform 0.3s ease !important;
}
.sticky.w-full.top-0 button.MuiIconButton-root:hover svg.lucide-music-2 {
  color: #5f45a0 !important;
  transform: scale(1.1) !important;
}

/* 设置按钮 */
#header-setting-button {
  background: #fffef9 !important;
  border: 1px solid rgba(184,147,63,0.4) !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 8px -6px rgba(47,59,58,0.5) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}
#header-setting-button:hover {
  border-color: #b8933f !important;
  box-shadow: 0 0 0 3px rgba(184,147,63,0.16) !important;
}
#header-setting-button svg {
  color: #a8752c !important;
  stroke-width: 2 !important;
  transition: transform 0.7s cubic-bezier(.2,.9,.2,1) !important;
}
#header-setting-button:hover svg { transform: rotate(180deg) !important; }

/* ===================== 开场白选择器 ===================== */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
  background: #fffef9 !important;
  border: 1px solid rgba(47,125,114,0.25) !important;
  border-radius: 10px !important;
  box-shadow: 0 3px 12px -10px rgba(47,59,58,0.6) !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
  border-color: #2f7d72 !important;
  box-shadow: 0 0 0 3px rgba(111,179,168,0.16) !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"] { color: #2f7d72 !important; }
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="ChevronDown"] {
  color: #b8933f !important;
  transition: transform 0.3s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover svg[data-icon="ChevronDown"] {
  transform: translateY(2px) !important;
}
/* ===================== 按钮栏 · 御器 ===================== */
#ai-mod-button2 button.MuiButton-root {
  color: #2f3b3a !important;
  background: #fffef9 !important;
  border: 1px solid rgba(47,125,114,0.28) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  box-shadow: 0 3px 10px -8px rgba(47,59,58,0.6) !important;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
  color: #23514b !important;
  background: linear-gradient(180deg, #f2f9f7, #e8f2ef) !important;
  border-color: #2f7d72 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 0 0 3px rgba(111,179,168,0.16), 0 6px 16px -12px rgba(47,59,58,0.6) !important;
}
#ai-mod-button2 button.MuiButton-root:active {
  transform: translateY(0) !important;
  box-shadow: inset 0 2px 6px rgba(47,59,58,0.12) !important;
}
#ai-mod-button2 button.MuiButton-root svg { color: #2f7d72 !important; stroke-width: 2 !important; }

/* ===================== 底部栏 · 地脉 ===================== */
.bg-gradient-to-t {
  background: linear-gradient(0deg, #f4f8f6, #fbfaf3 70%, rgba(251,250,243,0.92)) !important;
  border-top: 1px solid rgba(184,147,63,0.28) !important;
  box-shadow: 0 -1px 0 rgba(47,125,114,0.1), 0 -8px 22px -18px rgba(47,59,58,0.5) !important;
}
#ai-chat-bottom-input {
  border: 1px solid transparent !important;
  border-radius: 16px !important;
  background:
    linear-gradient(#fffef9, #f8fcfa) padding-box,
    linear-gradient(115deg, rgba(184,147,63,0.55), rgba(111,179,168,0.5) 50%, rgba(74,127,165,0.5)) border-box !important;
  box-shadow: 0 6px 20px -16px rgba(47,59,58,0.6) !important;
  transition: box-shadow 0.3s ease !important;
}
#ai-chat-bottom-input:focus-within {
  box-shadow: 0 0 0 3px rgba(111,179,168,0.2), 0 8px 24px -16px rgba(47,125,114,0.6) !important;
}
#ai-chat-input {
  color: #2f3b3a !important;
  font-family: "Songti SC", "PingFang SC", "Microsoft YaHei", serif !important;
  letter-spacing: 0.5px !important;
}
#ai-chat-input::placeholder {
  color: #9aa6a3 !important;
  font-style: italic !important;
  letter-spacing: 1.5px !important;
}
#ai-chat-input::selection { background: rgba(111,179,168,0.32) !important; color: #14403a !important; }

/* ===================== 分页 · 星位 ===================== */
.MuiPaginationItem-root {
  color: #4a5a58 !important;
  background: #fffef9 !important;
  border: 1px solid rgba(47,125,114,0.22) !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  transition: all 0.25s ease !important;
}
.MuiPaginationItem-root:hover {
  color: #23514b !important;
  border-color: #2f7d72 !important;
  background: #eef6f4 !important;
}
.MuiPaginationItem-root.Mui-selected {
  color: #fffef9 !important;
  background: linear-gradient(135deg, #2f7d72, #23615a) !important;
  border-color: transparent !important;
  box-shadow: 0 4px 12px -6px rgba(47,125,114,0.7) !important;
}
.MuiPaginationItem-root.Mui-disabled { opacity: 0.35 !important; }
.MuiPaginationItem-icon { color: #b8933f !important; }
.MuiStack-root.css-1uwir8f .MuiBox-root { color: #4a5a58 !important; }
.MuiInputBase-input { color: #2f3b3a !important; }

/* ===================== 评论区 · 论道台 ===================== */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
  background: linear-gradient(180deg, #fbfaf3, #f5f9f7) !important;
  border-top: 1px solid rgba(184,147,63,0.26) !important;
}
div.text-lg.font-bold {
  color: #23514b !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
}
p.MuiTypography-body1.text-grey-600 { color: #4a5a58 !important; }
span.MuiRating-iconEmpty svg { color: #dbe4e1 !important; }
span.MuiRating-iconFilled svg { color: #d9a92e !important; }
span.text-orange-500 { color: #2f7d72 !important; font-weight: 700 !important; }

div.flex.flex-col.border-gray-200 {
  background: #fffef9 !important;
  border: 1px solid rgba(47,125,114,0.24) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 20px -16px rgba(47,59,58,0.6) !important;
}
textarea.rc-textarea {
  color: #2f3b3a !important;
  background: transparent !important;
  font-family: "Songti SC", "PingFang SC", "Microsoft YaHei", serif !important;
}
div.bg-gray-100.text-gray-500 {
  background: #e7f2ef !important;
  color: #23514b !important;
  border-radius: 999px !important;
}
div.cursor-pointer.group.flex.items-center.justify-center {
  background: linear-gradient(135deg, #2f7d72, #23615a) !important;
  border: none !important;
  border-radius: 999px !important;
  transition: box-shadow 0.28s ease, transform 0.28s ease !important;
}
div.cursor-pointer.group.flex.items-center.justify-center:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px -8px rgba(47,125,114,0.8) !important;
}
div[data-state="closed"] svg[data-icon="Send03"] { color: #fffef9 !important; }

div.style_divider__mW0YX {
  border: none !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(184,147,63,0.4), transparent) !important;
}

button.MuiButton-containedPrimary {
  color: #fffef9 !important;
  background: linear-gradient(135deg, #2f7d72, #23615a) !important;
  border: none !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  box-shadow: 0 4px 12px -8px rgba(47,125,114,0.8) !important;
}
button.MuiButton-outlinedPrimary {
  color: #3c4a48 !important;
  background: #fffef9 !important;
  border: 1px solid rgba(47,125,114,0.3) !important;
  font-weight: 600 !important;
}
button.MuiButton-outlinedPrimary:hover {
  color: #23514b !important;
  border-color: #2f7d72 !important;
  background: #eef6f4 !important;
}

div.group.ml-0 { transition: transform 0.25s ease !important; }
div.group.ml-0:hover { transform: translateX(4px) !important; }
div.group img.rounded-full {
  border: 1px solid rgba(184,147,63,0.5) !important;
  box-shadow: 0 3px 10px -6px rgba(47,59,58,0.6) !important;
}
div.text-sm.text-grey-600 span.font-bold { color: #23514b !important; font-weight: 700 !important; }
span.text-\[10px\] {
  padding: 1px 8px !important;
  border-radius: 999px !important;
  color: #23514b !important;
  background: rgba(111,179,168,0.16) !important;
  border: 1px solid rgba(47,125,114,0.3) !important;
}
div.break-all { color: #3c4a48 !important; }
div.text-xs.text-grey-600 { color: #8a9693 !important; }
button.text-gray-400 svg {
  color: #8a9693 !important;
  transition: color 0.25s ease, transform 0.25s ease !important;
}
button.text-gray-400:hover svg {
  color: #b8433a !important;
  transform: scale(1.2) !important;
}
span.cursor-pointer { color: #2f7d72 !important; font-weight: 600 !important; }
div.ml-8.border-l { border-left: 1px solid rgba(125,99,184,0.35) !important; }

/* ===================== 聊天气泡 · 云纸 ===================== */
.bg-gray-100\/90.relative.inline-block {
  border: 1px solid rgba(47,125,114,0.16) !important;
  border-radius: 4px 14px 14px 14px !important;
  background:
    radial-gradient(70px 20px at 22px 18px, rgba(232,242,239,0.55), transparent 70%),
    linear-gradient(160deg, #fffef9, #f7fbfa) !important;
  box-shadow: 0 6px 20px -16px rgba(47,59,58,0.55) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease !important;
}
.bg-gray-100\/90.relative.inline-block:hover {
  border-color: rgba(47,125,114,0.38) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 26px -18px rgba(47,125,114,0.7) !important;
}
/* 输入侧气泡 · 朱砂脊 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  background: linear-gradient(160deg, #fdf8f5, #faf3ef) !important;
  border-left: 3px solid #b8433a !important;
  border-radius: 14px 14px 4px 14px !important;
  box-shadow: -6px 0 18px -16px rgba(184,67,58,0.8), 0 6px 18px -16px rgba(47,59,58,0.5) !important;
}

/* ===== 气泡内文本 ===== */
.markdown-body {
  color: #3c4a48 !important;
  font-family: "Songti SC", "Source Han Serif SC", "PingFang SC", "Microsoft YaHei", serif !important;
  line-height: 1.95 !important;
  font-size: 15px !important;
  letter-spacing: 0.3px !important;
}
.markdown-body strong, .markdown-body b { color: #a8752c !important; font-weight: 700 !important; }
.markdown-body em, .markdown-body i { color: #2f7d72 !important; }
.markdown-body a {
  color: #4a7fa5 !important;
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(74,127,165,0.55) !important;
}
.markdown-body blockquote {
  border: none !important;
  border-left: 3px solid #7d63b8 !important;
  background: linear-gradient(90deg, rgba(125,99,184,0.08), transparent) !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 7px 14px !important;
  color: #4a4260 !important;
}
.markdown-body code {
  background: #e7f2ef !important;
  color: #23514b !important;
  border: 1px solid rgba(47,125,114,0.28) !important;
  border-radius: 3px !important;
  padding: 1px 6px !important;
}

/* ===================== 代码块 · 玉简 ===================== */
.markdown-body pre {
  border-radius: 12px !important;
  overflow: hidden !important;
  background: transparent !important;
}
.markdown-body pre > div {
  border: 1px solid rgba(47,125,114,0.22) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fdfefc !important;
  box-shadow: 0 6px 20px -18px rgba(47,59,58,0.6) !important;
}
.markdown-body pre > div > div.flex.justify-between.h-8,
.markdown-body pre > div > div.border-b {
  background: linear-gradient(90deg, #e8f2ef, #f5faf8) !important;
  border-color: rgba(47,125,114,0.18) !important;
}
.markdown-body pre > div > div.flex.justify-between > div.text-\[13px\],
.markdown-body pre > div > div.flex.justify-between > div:first-child {
  color: #2f7d72 !important;
  letter-spacing: 1.6px !important;
  font-weight: 600 !important;
}
/* R3 · 复制图标联动亮底 */
.markdown-body pre svg.lucide-copy,
.markdown-body pre div[data-tooltip-id^="copy-tooltip"] > svg {
  color: #8a9693 !important;
}
.markdown-body pre .group:hover svg.lucide-copy,
.markdown-body pre div[data-tooltip-id^="copy-tooltip"]:hover > svg {
  color: #2f7d72 !important;
}
/* R4 · 覆盖内联样式 */
.markdown-body pre > div > div[node] {
  background: #fdfefc !important;
  color: #3c4a48 !important;
  padding: 12px 14px !important;
}
.markdown-body pre code[class^="language-"] {
  color: #3c4a48 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}
.markdown-body pre > code[node] {
  display: block !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(47,125,114,0.2) !important;
  border-radius: 12px !important;
  background: #fdfefc !important;
  color: #3c4a48 !important;
}

/* ===================== 底部附加元素 ===================== */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
  color: #6b7a77 !important;
  border-radius: 999px !important;
  transition: all 0.25s ease !important;
}
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
  color: #23514b !important;
  background: rgba(111,179,168,0.12) !important;
}
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 { color: #8a9693 !important; letter-spacing: 1px !important; }
.text-orange-500 { color: #2f7d72 !important; }

/* ===================== 加载动画 · 悬剑引灵（亮底配色） ===================== */
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text { display: none !important; }

.flex.items-center.justify-center.w-6.h-5 {
  position: relative !important;
  width: 100% !important;
  min-width: 84px !important;
  min-height: 84px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
}

/* 悬浮古剑 · 上下悬停 */
.flex.items-center.justify-center.w-6.h-5::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 86px !important;
  height: 86px !important;
  pointer-events: none !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 84'%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='translate' values='0 0;0 -3.5;0 1.2;0 0' dur='3.4s' repeatCount='indefinite'/%3E%3Cpath d='M42 5 L46.4 15 L46.4 51 L42 58 L37.6 51 L37.6 15 Z' fill='%23eef5f2' stroke='%232f7d72' stroke-width='1.2'%3E%3Canimate attributeName='stroke-opacity' values='0.5;1;0.65;0.5' dur='2.2s' repeatCount='indefinite'/%3E%3C/path%3E%3Cline x1='42' y1='9' x2='42' y2='53' stroke='%236fb3a8' stroke-width='1.1' opacity='0.8'%3E%3Canimate attributeName='opacity' values='0.4;1;0.55;0.4' dur='1.8s' repeatCount='indefinite'/%3E%3C/line%3E%3Cpath d='M30 57.4 C34 55.4 50 55.4 54 57.4 C50 60.4 34 60.4 30 57.4 Z' fill='%23b8933f'/%3E%3Crect x='39.4' y='59.6' width='5.2' height='14.4' rx='2.2' fill='%23f6f2e6' stroke='%23a8752c' stroke-width='1.1'/%3E%3Ccircle cx='42' cy='77' r='2.8' fill='%23b8433a'%3E%3Canimate attributeName='opacity' values='1;0.55;1' dur='1.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Cpath d='M42 3 L43.6 10 L42 13 L40.4 10 Z' fill='%23d9a92e'%3E%3Canimate attributeName='opacity' values='0.95;0.4;0.95' dur='1.4s' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* 灵气漩涡 · 符环流转 + 灵屑上浮 */
.flex.items-center.justify-center.w-6.h-5::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 86px !important;
  height: 86px !important;
  pointer-events: none !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 84'%3E%3Cellipse cx='42' cy='72' rx='24' ry='7' fill='none' stroke='%23b8933f' stroke-width='1.3' stroke-dasharray='6 7' opacity='0.8'%3E%3Canimate attributeName='stroke-dashoffset' values='0;-52' dur='2.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.45;0.9;0.45' dur='2.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3Cellipse cx='42' cy='72' rx='15' ry='4.4' fill='none' stroke='%232f7d72' stroke-width='1.1' stroke-dasharray='4 6' opacity='0.75'%3E%3Canimate attributeName='stroke-dashoffset' values='0;40' dur='2.1s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3Cellipse cx='42' cy='72' rx='7' ry='2.2' fill='none' stroke='%237d63b8' stroke-width='1' opacity='0.6'%3E%3Canimate attributeName='rx' values='6;9;6' dur='1.9s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.3;0.75;0.3' dur='1.9s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3Ccircle cx='30' cy='68' r='1.5' fill='%232f7d72' opacity='0'%3E%3Canimate attributeName='cy' values='70;24' dur='2.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='30;33;29;31' dur='2.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='1.7;0.4' dur='2.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0;0.75;0' dur='2.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='54' cy='68' r='1.4' fill='%23b8933f' opacity='0'%3E%3Canimate attributeName='cy' values='70;20' dur='3.1s' begin='0.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='54;51;56;53' dur='3.1s' begin='0.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='1.6;0.3' dur='3.1s' begin='0.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0;0.7;0' dur='3.1s' begin='0.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='42' cy='68' r='1.3' fill='%237d63b8' opacity='0'%3E%3Canimate attributeName='cy' values='70;18' dur='3.4s' begin='1.7s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='42;45;40;43' dur='3.4s' begin='1.7s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='1.5;0.3' dur='3.4s' begin='1.7s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0;0.65;0' dur='3.4s' begin='1.7s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* 移动端收敛 */
@media (max-width: 480px) {
  .flex.items-center.justify-center.w-6.h-5 {
    min-width: 66px !important;
    min-height: 66px !important;
  }
  .flex.items-center.justify-center.w-6.h-5::before,
  .flex.items-center.justify-center.w-6.h-5::after {
    width: 68px !important;
    height: 68px !important;
  }
}

/* 低动效偏好 */
@media (prefers-reduced-motion: reduce) {
  details {
    animation: none !important;
    background:
      linear-gradient(#fffef9, #f6f9f7) padding-box,
      linear-gradient(115deg, #b8933f, #e4cf95 28%, #6fb3a8 58%, #4a7fa5) border-box !important;
  }
  .sticky.w-full.top-0.flex.items-center { animation: none !important; }
  summary:hover::after { animation: none !important; }
  details[open] > summary::before { animation: none !important; }
  details::after { animation: none !important; }
  .flex.items-center.justify-center.w-6.h-5::before,
  .flex.items-center.justify-center.w-6.h-5::after { opacity: 0.95 !important; }
}

/* ===================== 角色对话 · 灵识回响 ===================== */
p.role-danlan,
p.role-danlan-thought,
p.role-lan,
p.role-zon,
p.role-qianhon,
p.role-hui {
  position: relative !important;
  margin: 20px 0 12px !important;
  padding: 12px 16px 12px 20px !important;
  border: 1px solid rgba(47,125,114,0.12) !important;
  border-left: none !important;
  border-radius: 0 12px 12px 0 !important;
  font-family: "Songti SC", "Source Han Serif SC", "PingFang SC", "Microsoft YaHei", serif !important;
  font-size: 14.5px !important;
  line-height: 1.95 !important;
  letter-spacing: 0.3px !important;
  box-shadow: 0 4px 14px -12px rgba(47,59,58,0.6) !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease !important;
}
p.role-danlan:hover,
p.role-danlan-thought:hover,
p.role-lan:hover,
p.role-zon:hover,
p.role-qianhon:hover,
p.role-hui:hover {
  transform: translateX(4px) !important;
}

/* 灵脊 */
p.role-danlan::before,
p.role-danlan-thought::before,
p.role-lan::before,
p.role-zon::before,
p.role-qianhon::before,
p.role-hui::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  border-radius: 3px 0 0 3px !important;
}

/* 名牒 */
p.role-danlan::after,
p.role-danlan-thought::after,
p.role-lan::after,
p.role-zon::after,
p.role-qianhon::after,
p.role-hui::after {
  position: absolute !important;
  top: -11px !important;
  left: 14px !important;
  padding: 1px 10px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  border-radius: 999px !important;
  background: #fffef9 !important;
  pointer-events: none !important;
}

/* ===== 玩家 · 朱砂 ===== */
p.role-danlan {
  background: linear-gradient(100deg, rgba(184,67,58,0.07), #fffef9 60%) !important;
  color: #4a3530 !important;
}
p.role-danlan::before { background: linear-gradient(180deg, #b8433a, #8c2f28) !important; }
p.role-danlan::after {
  content: "玩家" !important;
  color: #a83a32 !important;
  border: 1px solid rgba(184,67,58,0.5) !important;
}
p.role-danlan:hover {
  border-color: rgba(184,67,58,0.35) !important;
  box-shadow: -4px 0 16px -12px rgba(184,67,58,0.8) !important;
}

/* ===== 玩家心声 · 紫气 ===== */
p.role-danlan-thought {
  background: linear-gradient(100deg, rgba(125,99,184,0.08), #fffef9 60%) !important;
  color: #453c58 !important;
  font-style: italic !important;
}
p.role-danlan-thought::before { background: linear-gradient(180deg, #7d63b8, #574191) !important; }
p.role-danlan-thought::after {
  content: "玩家心声" !important;
  color: #6a4fae !important;
  border: 1px solid rgba(125,99,184,0.5) !important;
}
p.role-danlan-thought:hover {
  border-color: rgba(125,99,184,0.35) !important;
  box-shadow: -4px 0 16px -12px rgba(125,99,184,0.8) !important;
}

/* ===== 心声 · 青玉 ===== */
p.role-lan {
  background: linear-gradient(100deg, rgba(111,179,168,0.1), #fffef9 60%) !important;
  color: #2f4a46 !important;
  font-style: italic !important;
}
p.role-lan::before { background: linear-gradient(180deg, #6fb3a8, #2f7d72) !important; }
p.role-lan::after {
  content: "心声" !important;
  color: #23615a !important;
  border: 1px solid rgba(47,125,114,0.45) !important;
}
p.role-lan:hover {
  border-color: rgba(47,125,114,0.35) !important;
  box-shadow: -4px 0 16px -12px rgba(47,125,114,0.8) !important;
}

/* ===== 男 · 远山蓝 ===== */
p.role-zon {
  background: linear-gradient(100deg, rgba(74,127,165,0.09), #fffef9 60%) !important;
  color: #2f4152 !important;
}
p.role-zon::before { background: linear-gradient(180deg, #4a7fa5, #2c5878) !important; }
p.role-zon::after {
  content: "男" !important;
  color: #3a6a8c !important;
  border: 1px solid rgba(74,127,165,0.5) !important;
}
p.role-zon:hover {
  border-color: rgba(74,127,165,0.35) !important;
  box-shadow: -4px 0 16px -12px rgba(74,127,165,0.8) !important;
}

/* ===== 女 · 桃劫 ===== */
p.role-qianhon {
  background: linear-gradient(100deg, rgba(196,88,124,0.08), #fffef9 60%) !important;
  color: #4d323b !important;
}
p.role-qianhon::before { background: linear-gradient(180deg, #c4587c, #8e3355) !important; }
p.role-qianhon::after {
  content: "女" !important;
  color: #b04a6e !important;
  border: 1px solid rgba(196,88,124,0.5) !important;
}
p.role-qianhon:hover {
  border-color: rgba(196,88,124,0.35) !important;
  box-shadow: -4px 0 16px -12px rgba(196,88,124,0.8) !important;
}

/* ===== 职业角色 · 描金 ===== */
p.role-hui {
  background: linear-gradient(100deg, rgba(184,147,63,0.09), #fffef9 60%) !important;
  color: #4a4536 !important;
}
p.role-hui::before { background: linear-gradient(180deg, #b8933f, #8a6c26) !important; }
p.role-hui::after {
  content: "职业角色" !important;
  color: #a8752c !important;
  border: 1px solid rgba(184,147,63,0.5) !important;
}
p.role-hui:hover {
  border-color: rgba(184,147,63,0.35) !important;
  box-shadow: -4px 0 16px -12px rgba(184,147,63,0.8) !important;
}

/* 角色框内元素 */
p.role-danlan strong, p.role-danlan-thought strong,
p.role-lan strong, p.role-zon strong,
p.role-qianhon strong, p.role-hui strong {
  color: #a8752c !important;
}
p.role-danlan code, p.role-danlan-thought code,
p.role-lan code, p.role-zon code,
p.role-qianhon code, p.role-hui code {
  background: #e7f2ef !important;
  color: #23514b !important;
  border: 1px solid rgba(47,125,114,0.28) !important;
  border-radius: 3px !important;
  padding: 1px 6px !important;
}