/* ===== 局部重置：只作用于容器内部，不碰全局 ===== */
.wechat-container,
.wechat-container * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ===== 容器 ===== */
.wechat-container {
  width: 360px;
  margin: 40px auto;
  background: #eef3fb;
  border-radius: 14px;
  overflow: hidden;
  font-family: "微软雅黑", "PingFang SC", "Segoe UI", sans-serif;
  box-shadow:
    0 20px 50px rgba(30, 60, 120, 0.25),
    0 2px 6px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.6);
  display: flex;
  flex-direction: column;
  height: 640px;
}

/* ===== 状态栏（模拟系统托盘 + 拨号信息）===== */
.wechat-container .status-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 14px;
  font-size: 11px;
  color: #d7e4ff;
  background: linear-gradient(180deg, #1c3f7c, #0d2450);
  letter-spacing: 0.3px;
}

.wechat-container .status-bar span:last-child {
  opacity: 0.9;
}

/* ===== 窗口标题栏（OICQ 经典蓝）===== */
.wechat-container .chat-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: linear-gradient(180deg, #3d7bd6 0%, #2861b8 50%, #1d4f9e 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.wechat-container .back-btn,
.wechat-container .header-more {
  font-size: 18px;
  cursor: pointer;
  width: 28px;
  text-align: center;
  border-radius: 6px;
  transition: background 0.2s ease;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.wechat-container .back-btn:hover,
.wechat-container .header-more:hover {
  background: rgba(255, 255, 255, 0.18);
}

.wechat-container .header-title {
  font-size: 16px;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

/* ===== 消息区域 ===== */
.wechat-container .chat-messages {
  flex: 1;
  padding: 18px 14px;
  overflow-y: auto;
  background:
    radial-gradient(circle at 20% 0%, rgba(120, 170, 255, 0.12), transparent 60%),
    linear-gradient(180deg, #e9f0fb, #dde7f6);
}

.wechat-container .chat-messages::-webkit-scrollbar {
  width: 6px;
}
.wechat-container .chat-messages::-webkit-scrollbar-thumb {
  background: rgba(60, 120, 210, 0.4);
  border-radius: 3px;
}

.wechat-container .chat-time-divider {
  text-align: center;
  font-size: 11px;
  color: #7a8aa5;
  margin: 8px 0 18px;
  position: relative;
}
.wechat-container .chat-time-divider::before,
.wechat-container .chat-time-divider::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 1px;
  background: rgba(120, 140, 180, 0.3);
}
.wechat-container .chat-time-divider::before { left: 30px; }
.wechat-container .chat-time-divider::after { right: 30px; }

/* ===== 消息行 ===== */
.wechat-container .message-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  animation: wechat-fadeInUp 0.35s ease both;
}

/* ✅ 修复：自己消息靠右，头像在右侧 */
.wechat-container .message-row.self {
  flex-direction: row;          /* 从左到右正常排列 */
  justify-content: flex-end;    /* 整行靠右对齐 */
}

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

/* ===== 头像 ===== */
.wechat-container .avatar {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  box-shadow:
    0 2px 6px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* ===== 气泡 ===== */
.wechat-container .bubble {
  max-width: 220px;
  padding: 10px 14px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 12px;
  position: relative;
  word-break: break-word;
  box-shadow: 0 2px 5px rgba(40, 80, 150, 0.12);
}

.wechat-container .bubble.white {
  background: #ffffff;
  color: #333;
  border-top-left-radius: 4px;
}

.wechat-container .bubble.green {
  background: linear-gradient(180deg, #a6e267, #86cf3f);
  color: #1f3d00;
  border-top-right-radius: 4px;
}

/* 气泡小尖角 */
.wechat-container .bubble.white::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 12px;
  border: 6px solid transparent;
  border-right-color: #ffffff;
}
.wechat-container .bubble.green::before {
  content: "";
  position: absolute;
  right: -6px;
  top: 12px;
  border: 6px solid transparent;
  border-left-color: #86cf3f;
}

/* ===== 传送文件 ===== */
.wechat-container .bubble-transfer {
  width: 210px;
  background: linear-gradient(180deg, #fff, #f2f6fd);
  border: 1px solid #d6e2f5;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 3px 8px rgba(40, 80, 150, 0.15);
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.wechat-container .bubble-transfer:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(40, 80, 150, 0.22);
}
.wechat-container .transfer-amount {
  padding: 12px 14px 4px;
  font-size: 15px;
  font-weight: 600;
  color: #2861b8;
}
.wechat-container .transfer-label {
  padding: 0 14px 12px;
  font-size: 12px;
  color: #8a97ad;
}
.wechat-container .transfer-footer {
  background: #eef3fb;
  padding: 6px 14px;
  font-size: 11px;
  color: #7a8aa5;
  border-top: 1px solid #e2eaf6;
}

/* ===== 电子贺卡 / 窗口抖动 ===== */
.wechat-container .bubble-redpacket {
  width: 210px;
  background: linear-gradient(150deg, #ff8a5c, #ff5e7e);
  border-radius: 12px;
  overflow: hidden;
  color: #fff;
  box-shadow: 0 4px 12px rgba(220, 80, 100, 0.35);
  cursor: pointer;
  transition: transform 0.15s ease;
}
.wechat-container .bubble-redpacket:hover {
  transform: translateY(-1px) scale(1.01);
}
.wechat-container .rp-title {
  padding: 14px 14px 4px;
  font-size: 15px;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.wechat-container .rp-desc {
  padding: 0 14px 12px;
  font-size: 13px;
  line-height: 1.5;
  opacity: 0.95;
}
.wechat-container .rp-footer {
  background: rgba(255, 255, 255, 0.18);
  padding: 6px 14px;
  font-size: 11px;
  backdrop-filter: blur(2px);
}

/* 窗口抖动动画 */
@keyframes wechat-shake {
  0%, 100% { transform: translate(0, 0); }
  20% { transform: translate(-3px, 2px); }
  40% { transform: translate(3px, -2px); }
  60% { transform: translate(-2px, -2px); }
  80% { transform: translate(2px, 2px); }
}
.wechat-container .bubble-redpacket.shake {
  animation: wechat-shake 0.4s ease-in-out;
}

/* ===== 输入栏 ===== */
.wechat-container .chat-input {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: linear-gradient(180deg, #f4f8ff, #e6eefb);
  border-top: 1px solid #d3ddf0;
}
.wechat-container .input-icon {
  font-size: 18px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.wechat-container .input-icon:hover {
  opacity: 1;
  transform: scale(1.15);
}
.wechat-container .input-field {
  flex: 1;
  background: #fff;
  border: 1px solid #cdd9ee;
  border-radius: 18px;
  padding: 8px 14px;
  font-size: 13px;
  color: #9aa6bd;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* ===================== 状态栏 · 折叠卷宗 ===================== */
details {
  background: #f5f0e5 !important;
  border: 3px solid #3a2c1c !important;
  border-radius: 10px !important;
  box-shadow: 4px 4px 0 #3a2c1c !important;
  margin: 14px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  color: #2b2b2b !important;
  position: relative !important;
}
details:hover {
  box-shadow: 5px 5px 0 #9e3a3a !important;
}

/* 顶部一条红黄警示带 */
details::before {
  content: "" !important;
  display: block !important;
  height: 6px !important;
  background: repeating-linear-gradient(
    45deg,
    #3a2c1c,
    #3a2c1c 8px,
    #c79a2e 8px,
    #c79a2e 16px
  ) !important;
}

/* ===== 标题栏 ===== */
summary {
  background: #3a2c1c !important;
  color: #dba54b !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  letter-spacing: 1px !important;
  padding: 9px 14px 9px 34px !important;
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
  transition: background 0.15s ease !important;
  user-select: none !important;
}
summary:hover {
  background: #9e3a3a !important;
  color: #fff !important;
}
summary::-webkit-details-marker { display: none !important; }
summary::marker { content: "" !important; }

/* 自定义三角箭头 */
summary::before {
  content: "▶" !important;
  position: absolute !important;
  left: 13px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 10px !important;
  color: #b55a5a !important;
  transition: transform 0.2s ease, color 0.15s ease !important;
}
details[open] > summary::before {
  transform: translateY(-50%) rotate(90deg) !important;
  color: #dba54b !important;
}
summary:hover::before {
  color: #e6c88f !important;
}

/* ===== 正文区 ===== */
details > *:not(summary):not(table) {
  padding: 0 14px !important;
  margin: 7px 0 !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  color: #2b2b2b !important;
}
details > p {
  font-size: 13.5px !important;
}
details[open] {
  padding-bottom: 10px !important;
}

/* 强调文字 */
details strong, details b {
  color: #b53a3a !important;
  font-weight: 900 !important;
}
details em, details i {
  color: #7d6238 !important;
  font-style: italic !important;
}
details code {
  background: #dfc078 !important;
  color: #1a1a1a !important;
  border: 1.5px solid #3a2c1c !important;
  border-radius: 4px !important;
  padding: 1px 5px !important;
  font-weight: 800 !important;
  font-size: 12.5px !important;
}

/* 引用块 · 风声提醒那类 */
details blockquote {
  border-left: 4px solid #b38927 !important;
  background: #f9f2e4 !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 7px 12px !important;
  margin: 8px 14px !important;
  color: #4a3f2f !important;
  font-weight: 600 !important;
}

/* 分割线 */
details hr {
  border: none !important;
  height: 3px !important;
  background: repeating-linear-gradient(
    90deg,
    #3a2c1c,
    #3a2c1c 10px,
    transparent 10px,
    transparent 18px
  ) !important;
  margin: 10px 14px !important;
  opacity: 0.55 !important;
}

/* 列表 */
details ul, details ol {
  padding-left: 32px !important;
  margin: 6px 0 !important;
}
details li {
  margin: 4px 0 !important;
  font-weight: 500 !important;
  color: #2b2b2b !important;
}
details ul li::marker {
  color: #b55a5a !important;
  font-size: 1.1em !important;
}

/* ===================== 表格 · 脚边去处 ===================== */
details table {
  width: calc(100% - 28px) !important;
  margin: 10px 14px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 3px solid #3a2c1c !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 3px 3px 0 #3a2c1c !important;
  font-size: 13px !important;
  background: #fcf9f3 !important;
}
details thead {
  background: #3a2c1c !important;
}
details th {
  color: #dba54b !important;
  font-weight: 900 !important;
  letter-spacing: 0.6px !important;
  padding: 8px 10px !important;
  text-align: left !important;
  border-bottom: 3px solid #b55a5a !important;
  white-space: nowrap !important;
}
details td {
  color: #2b2b2b !important;
  font-weight: 600 !important;
  padding: 7px 10px !important;
  border-bottom: 1.5px dashed #c7b595 !important;
}
details tbody tr:nth-child(even) {
  background: #f5f0e5 !important;
}
details tbody tr:last-child td {
  border-bottom: none !important;
}
details tbody tr {
  transition: background 0.12s ease !important;
}
details tbody tr:hover {
  background: #e8d29e !important;
}
details tbody tr:hover td {
  color: #1a1a1a !important;
  font-weight: 800 !important;
}
/* 首列 · 地点名加重 */
details td:first-child {
  color: #1a1a1a !important;
  font-weight: 900 !important;
  border-right: 2px solid #3a2c1c !important;
}

/* ===================== 顶部栏 ===================== */
.sticky.w-full.top-0.flex.items-center {
  background: repeating-linear-gradient(
    45deg,
    #fdf6e3,
    #fdf6e3 18px,
    #fff8e6 18px,
    #fff8e6 36px
  ) !important;
  border-bottom: 4px solid #1a1a1a !important;
  box-shadow: 0 4px 0 #e63946, 0 6px 12px rgba(0,0,0,0.2) !important;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif !important;
}

/* 模型选择器 */
#ai-model-selector .group.flex.items-center {
  background: #fff !important;
  border: 3px solid #1a1a1a !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0 #e63946 !important;
  padding: 2px 8px !important;
  transition: all 0.15s ease !important;
}
#ai-model-selector .group.flex.items-center:hover {
  transform: translate(-1px, -1px) !important;
  box-shadow: 4px 4px 0 #f4a300 !important;
}
#ai-model-selector .truncate.text-\[13px\] {
  color: #1a1a1a !important;
  font-weight: 900 !important;
  letter-spacing: 0.5px !important;
}
#ai-model-selector .shrink-0.flex.items-center svg {
  color: #e63946 !important;
  stroke-width: 3 !important;
}

/* 历史记录图标(移动端裸SVG) */
.sticky.w-full.top-0 svg.lucide-clock-8 {
  color: #1a1a1a !important;
  stroke-width: 2.5 !important;
  transition: transform 0.2s ease !important;
}
.sticky.w-full.top-0 svg.lucide-clock-8:hover {
  transform: rotate(-15deg) scale(1.15) !important;
}
/* 历史记录未读角标 */
.sticky.w-full.top-0 span.MuiBadge-dot.md\:hidden {
  background: #e63946 !important;
  border: 2px solid #1a1a1a !important;
  box-shadow: 0 0 0 2px #fdf6e3 !important;
}

/* 音乐按钮 */
.sticky.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2) {
  background: #fff !important;
  border: 2px solid #1a1a1a !important;
  border-radius: 6px !important;
  box-shadow: 2px 2px 0 #f4a300 !important;
}
.sticky.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2 {
  color: #f4a300 !important;
  stroke-width: 2.5 !important;
}

/* 移动端设置图标(裸SVG) */
.sticky.w-full.top-0 svg:has(use[href="#icon-icon-set"]) {
  color: #1a1a1a !important;
  transition: transform 0.4s ease !important;
}
.sticky.w-full.top-0 svg:has(use[href="#icon-icon-set"]):hover {
  transform: rotate(90deg) !important;
}

/* 设置按钮 */
#header-setting-button {
  background: #1a1a1a !important;
  border: 3px solid #1a1a1a !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0 #e63946 !important;
  transition: all 0.15s ease !important;
}
#header-setting-button:hover {
  transform: translate(-1px, -1px) rotate(-3deg) !important;
  box-shadow: 4px 4px 0 #f4a300 !important;
}
#header-setting-button svg {
  color: #ffd60a !important;
  stroke-width: 2.5 !important;
}

/* ===================== 开场白选择器 ===================== */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
  background: #fffef7 !important;
  border: 3px solid #1a1a1a !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0 #1a1a1a !important;
  transition: all 0.15s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
  transform: translate(-1px, -1px) !important;
  box-shadow: 4px 4px 0 #e63946 !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"] {
  color: #e63946 !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="ChevronDown"] {
  color: #1a1a1a !important;
  transition: transform 0.2s 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 {
  background: #fff !important;
  color: #1a1a1a !important;
  border: 2.5px solid #1a1a1a !important;
  border-radius: 8px !important;
  font-weight: 900 !important;
  box-shadow: 2px 2px 0 #1a1a1a !important;
  transition: all 0.12s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
  background: #ffd60a !important;
  transform: translate(-1px, -1px) rotate(-1deg) !important;
  box-shadow: 3px 3px 0 #e63946 !important;
}
#ai-mod-button2 button.MuiButton-root:active {
  transform: translate(1px, 1px) !important;
  box-shadow: 1px 1px 0 #1a1a1a !important;
}
#ai-mod-button2 button.MuiButton-root svg {
  color: #e63946 !important;
  stroke-width: 2.5 !important;
}

/* ===================== 底部栏 ===================== */
.bg-gradient-to-t {
  background: repeating-linear-gradient(
    -45deg,
    #fdf6e3,
    #fdf6e3 18px,
    #fff8e6 18px,
    #fff8e6 36px
  ) !important;
  border-top: 4px solid #1a1a1a !important;
  box-shadow: 0 -4px 0 #f4a300 !important;
}
#ai-chat-bottom-input {
  background: #fffef7 !important;
  border: 3px solid #1a1a1a !important;
  border-radius: 12px !important;
  box-shadow: 3px 3px 0 #1a1a1a !important;
  transition: box-shadow 0.15s ease !important;
}
#ai-chat-bottom-input:focus-within {
  box-shadow: 4px 4px 0 #e63946 !important;
}
#ai-chat-input {
  color: #1a1a1a !important;
  font-weight: 600 !important;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
#ai-chat-input::placeholder {
  color: #9a8c78 !important;
  font-style: italic !important;
  font-weight: 700 !important;
}
#ai-chat-input::selection {
  background: #ffd60a !important;
  color: #1a1a1a !important;
}

/* ===================== 分页栏(仅颜色/视觉) ===================== */
.MuiPaginationItem-root {
  color: #1a1a1a !important;
  font-weight: 900 !important;
  border: 2px solid #1a1a1a !important;
  border-radius: 6px !important;
  background: #fffef7 !important;
  transition: all 0.12s ease !important;
}
.MuiPaginationItem-root:hover {
  background: #ffd60a !important;
}
.MuiPaginationItem-root.Mui-selected {
  background: #e63946 !important;
  color: #fff !important;
  border-color: #1a1a1a !important;
  box-shadow: 2px 2px 0 #1a1a1a !important;
}
.MuiPaginationItem-root.Mui-disabled {
  opacity: 0.4 !important;
}
.MuiPaginationItem-icon {
  color: #e63946 !important;
}
.MuiStack-root.css-1uwir8f .MuiBox-root {
  color: #1a1a1a !important;
  font-weight: 800 !important;
}
.MuiInputBase-input {
  color: #1a1a1a !important;
  font-weight: 800 !important;
}

/* ===================== 评论区 ===================== */
/* 背景(仅颜色/视觉,不动布局) */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
  background: #fdf6e3 !important;
  border-top: 4px solid #1a1a1a !important;
}
div.text-lg.font-bold {
  color: #1a1a1a !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
  text-shadow: 2px 2px 0 #ffd60a !important;
}
p.MuiTypography-body1.text-grey-600 {
  color: #1a1a1a !important;
  font-weight: 800 !important;
}
span.MuiRating-iconEmpty svg {
  color: #d8c7a8 !important;
}
span.MuiRating-iconFilled svg {
  color: #f4a300 !important;
  filter: drop-shadow(1px 1px 0 #1a1a1a) !important;
}
span.text-orange-500 {
  color: #e63946 !important;
  font-weight: 900 !important;
}

/* 评论输入框 */
div.flex.flex-col.border-gray-200 {
  background: #fffef7 !important;
  border: 3px solid #1a1a1a !important;
  border-radius: 10px !important;
  box-shadow: 3px 3px 0 #1a1a1a !important;
}
textarea.rc-textarea {
  color: #1a1a1a !important;
  font-weight: 600 !important;
  background: transparent !important;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
div.bg-gray-100.text-gray-500 {
  background: #ffd60a !important;
  color: #1a1a1a !important;
  font-weight: 800 !important;
  border-radius: 4px !important;
}
/* 发送按钮 */
div.cursor-pointer.group.flex.items-center.justify-center {
  background: #1a1a1a !important;
  border-radius: 8px !important;
  border: 2px solid #1a1a1a !important;
  box-shadow: 2px 2px 0 #e63946 !important;
  transition: all 0.12s ease !important;
}
div.cursor-pointer.group.flex.items-center.justify-center:hover {
  transform: translate(-1px, -1px) rotate(-2deg) !important;
  box-shadow: 3px 3px 0 #f4a300 !important;
}
div[data-state="closed"] svg[data-icon="Send03"] {
  color: #ffd60a !important;
}

/* 分割线 */
div.style_divider__mW0YX {
  border-color: #1a1a1a !important;
  border-width: 2px !important;
  opacity: 0.6 !important;
}

/* 排序按钮 */
button.MuiButton-containedPrimary {
  background: #e63946 !important;
  color: #fff !important;
  border: 2px solid #1a1a1a !important;
  font-weight: 900 !important;
  box-shadow: 2px 2px 0 #1a1a1a !important;
}
button.MuiButton-outlinedPrimary {
  background: #fffef7 !important;
  color: #1a1a1a !important;
  border: 2px solid #1a1a1a !important;
  font-weight: 900 !important;
}
button.MuiButton-outlinedPrimary:hover {
  background: #ffd60a !important;
}

/* 评论项 */
div.group.ml-0 {
  transition: transform 0.15s ease !important;
}
div.group.ml-0:hover {
  transform: translateX(3px) !important;
}
div.group img.rounded-full {
  border: 3px solid #1a1a1a !important;
  box-shadow: 2px 2px 0 #e63946 !important;
}
div.text-sm.text-grey-600 span.font-bold {
  color: #1a1a1a !important;
  font-weight: 900 !important;
}
span.text-\[10px\] {
  background: #e63946 !important;
  color: #fff !important;
  padding: 1px 5px !important;
  border-radius: 4px !important;
  font-weight: 800 !important;
}
div.break-all {
  color: #2b2b2b !important;
  font-weight: 500 !important;
}
div.text-xs.text-grey-600 {
  color: #8a7c68 !important;
  font-weight: 700 !important;
}
/* 点赞 */
button.text-gray-400 svg {
  color: #1a1a1a !important;
  transition: transform 0.15s ease !important;
}
button.text-gray-400:hover svg {
  color: #e63946 !important;
  transform: scale(1.25) rotate(-8deg) !important;
}
/* 回复 */
span.cursor-pointer {
  color: #e63946 !important;
  font-weight: 800 !important;
}
div.ml-8.border-l {
  border-left: 3px solid #f4a300 !important;
}

/* 内 */
details details {
  background: #fff8e6 !important;
  border-width: 2px !important;
  box-shadow: 2px 2px 0 #f4a300 !important;
  margin: 8px 14px !important;
}
details details::before {
  height: 4px !important;
  background: repeating-linear-gradient(
    45deg, #1a1a1a, #1a1a1a 6px, #e63946 6px, #e63946 12px
  ) !important;
}
details details > summary {
  background: #4a3f2f !important;
  font-size: 13.5px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
details::after {
  content: "临江·案底" !important;
  position: absolute !important;
  top: 13px !important;
  right: -4px !important;
  background: #e63946 !important;
  color: #ffd60a !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  padding: 2px 9px !important;
  border: 2px solid #1a1a1a !important;
  border-radius: 3px !important;
  transform: rotate(8deg) !important;
  box-shadow: 2px 2px 0 #1a1a1a !important;
  pointer-events: none !important;
}

/* 不良 */
.sticky.w-full.top-0.flex.items-center::after {
  content: "❌年少轻狂" !important;
  position: absolute !important;
  top: 6px !important;
  right: 12px !important;
  background: #e63946 !important;
  color: #ffd60a !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  padding: 2px 8px !important;
  border: 2px solid #1a1a1a !important;
  border-radius: 4px !important;
  transform: rotate(6deg) !important;
  box-shadow: 2px 2px 0 #1a1a1a !important;
  pointer-events: none !important;
}
/* ===================== 聊天气泡 · 统一 ===================== */
.bg-gray-100\/90.relative.inline-block {
  background:
    repeating-linear-gradient(
      180deg,
      transparent,
      transparent 25px,
      rgba(120,105,85,0.07) 25px,
      rgba(120,105,85,0.07) 26px
    ),
    #f5efe1 !important;
  border: 2px solid #4a423a !important;
  border-radius: 12px !important;
  box-shadow: 3px 3px 0 rgba(74,66,58,0.26) !important;
  transition: box-shadow 0.18s ease, transform 0.18s ease !important;
}
.bg-gray-100\/90.relative.inline-block:hover {
  box-shadow: 4px 4px 0 rgba(168,69,47,0.3) !important;
  transform: translate(-1px, -1px) !important;
}

/* ===== 单独的输入气泡 · 略深一档 + 左侧暗红脊 ===== */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  background:
    repeating-linear-gradient(
      180deg,
      transparent,
      transparent 25px,
      rgba(120,105,85,0.06) 25px,
      rgba(120,105,85,0.06) 26px
    ),
    #efe6d2 !important;
  border-left: 5px solid #a8452f !important;
}

/* ===== 气泡内文本 ===== */
.markdown-body {
  color: #3a3530 !important;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  line-height: 1.8 !important;
  font-size: 14.5px !important;
}
.markdown-body strong, .markdown-body b {
  color: #a8452f !important;
  font-weight: 800 !important;
}
.markdown-body em, .markdown-body i {
  color: #8a6d3b !important;
}
.markdown-body a {
  color: #9c5a34 !important;
  text-decoration: underline dotted !important;
  font-weight: 700 !important;
}
.markdown-body blockquote {
  border-left: 4px solid #c17a54 !important;
  background: rgba(200,170,130,0.14) !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 6px 12px !important;
  color: #4a423a !important;
}
.markdown-body code {
  background: #e3d5b8 !important;
  color: #4a423a !important;
  border: 1px solid #b8a688 !important;
  border-radius: 4px !important;
  padding: 1px 5px !important;
  font-weight: 700 !important;
}

/* ===================== 底部附加元素 ===================== */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
  color: #6b5d4d !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  transition: all 0.15s ease !important;
}
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
  color: #a8452f !important;
  background: rgba(168,69,47,0.09) !important;
}
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 {
  color: #8a7c68 !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
}
.text-orange-500 {
  color: #9c5a34 !important;
  font-weight: 700 !important;
}
/* ===================== 加载动画 · 点燃的香烟(居中·放大) ===================== */
/* 1. 干掉默认三个点 */
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text {
  display: none !important;
}

/* 2. 容器:居中 + 放大 */
.flex.items-center.justify-center.w-6.h-5 {
  position: relative !important;
  width: 100% !important;
  min-width: 72px !important;
  min-height: 70px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
}

/* 3. 香烟 + 火苗(SMIL,画在正中) */
.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: 78px !important;
  height: 66px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 62'%3E%3Crect x='8' y='46' width='36' height='8' rx='2.5' fill='%23f2ead6' stroke='%234a423a' stroke-width='1.6'/%3E%3Crect x='8' y='46' width='10' height='8' rx='2.5' fill='%23c9932e' stroke='%234a423a' stroke-width='1.6'/%3E%3Cline x1='18' y1='46' x2='18' y2='54' stroke='%234a423a' stroke-width='1.2'/%3E%3Ccircle cx='47' cy='50' r='4' fill='%23ff5122'%3E%3Canimate attributeName='opacity' values='1;0.55;0.95;1' dur='0.7s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='4;3.2;4.4;4' dur='0.7s' repeatCount='indefinite'/%3E%3C/circle%3E%3Cpath d='M47 49 C40 40 45 30 47 20 C49 30 54 40 47 49 Z' fill='%23f2a63c'%3E%3Canimate attributeName='opacity' values='1;0.7;1;0.85;1' dur='0.55s' repeatCount='indefinite'/%3E%3CanimateTransform attributeName='transform' type='translate' values='0 0;-1 -2;1 0.5;0 0' dur='0.55s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M47 48 C43 41 46 34 47 27 C48 34 51 41 47 48 Z' fill='%23ffe08a'%3E%3Canimate attributeName='opacity' values='0.9;0.5;0.9' dur='0.5s' repeatCount='indefinite'/%3E%3CanimateTransform attributeName='transform' type='translate' values='0 0;0.8 -1.5;-0.6 0.4;0 0' dur='0.5s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain !important;
  pointer-events: none !important;
}

/* 4. 青烟(SMIL,从烟头往上飘) */
.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: 78px !important;
  height: 66px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 62'%3E%3Ccircle cx='47' cy='18' r='2' fill='%23b0a58f' opacity='0'%3E%3Canimate attributeName='cy' values='18;2' dur='2.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='47;43;50;46' dur='2.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='1.6;4.4' dur='2.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0;0.42;0' dur='2.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='47' cy='18' r='2' fill='%23b0a58f' opacity='0'%3E%3Canimate attributeName='cy' values='18;2' dur='2.6s' begin='0.9s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='47;51;44;48' dur='2.6s' begin='0.9s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='1.4;4' dur='2.6s' begin='0.9s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0;0.38;0' dur='2.6s' begin='0.9s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='47' cy='18' r='2' fill='%23b0a58f' opacity='0'%3E%3Canimate attributeName='cy' values='18;2' dur='2.6s' begin='1.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='47;45;49;47' dur='2.6s' begin='1.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='1.5;4.2' dur='2.6s' begin='1.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0;0.34;0' dur='2.6s' begin='1.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") no-repeat center / contain !important;
  pointer-events: none !important;
}

/* 5. 移动端微调 */
@media (max-width: 480px) {
  .flex.items-center.justify-center.w-6.h-5 {
    min-width: 60px !important;
    min-height: 58px !important;
  }
  .flex.items-center.justify-center.w-6.h-5::before,
  .flex.items-center.justify-center.w-6.h-5::after {
    width: 64px !important;
    height: 54px !important;
  }
}

/* 6. 低动效偏好 · 放缓不关闭 */
@media (prefers-reduced-motion: reduce) {
  .flex.items-center.justify-center.w-6.h-5::before,
  .flex.items-center.justify-center.w-6.h-5::after {
    opacity: 0.9 !important;
  }
}
/* ===================== 角色对话框 · 通用底 ===================== */
p.role-danlan,
p.role-danlan-thought,  /* 新增：玩家心声 */
p.role-lan,
p.role-zon,
p.role-qianhon,
p.role-hui {
  position: relative !important;
  margin: 10px 0 !important;
  padding: 10px 14px 10px 18px !important;
  border-radius: 0 10px 10px 0 !important;
  border: 2px solid #4a423a !important;
  border-left: none !important;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  box-shadow: 2px 2px 0 rgba(74,66,58,0.2) !important;
  transition: box-shadow 0.15s ease, transform 0.15s 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(2px) !important;
  box-shadow: 3px 3px 0 rgba(74,66,58,0.28) !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: 5px !important;
  border-radius: 4px 0 0 4px !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: 10px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  padding: 1px 7px !important;
  border-radius: 4px !important;
  border: 1.5px solid #4a423a !important;
  letter-spacing: 0.5px !important;
  pointer-events: none !important;
}

/* ===== 玩家 · 暗红 ===== */
p.role-danlan {
  background: #fdf0ec !important;
  color: #3a2a25 !important;
}
p.role-danlan::before { background: #a8452f !important; }
p.role-danlan::after {
  content: "玩家" !important;
  background: #a8452f !important;
  color: #fff !important;
  border-color: #a8452f !important;
}

/* ===== 玩家心声 · 淡茶红 ===== */
p.role-danlan-thought {
  background: #fef7f4 !important;
  color: #4a3028 !important;
}
p.role-danlan-thought::before { background: #c46a5a !important; }
p.role-danlan-thought::after {
  content: "玩家心声" !important;
  background: #c46a5a !important;
  color: #fff !important;
  border-color: #c46a5a !important;
}

/* ===== 心声（原NPC心声，标签改为“心声”） ===== */
p.role-lan {
  background: #edf2f8 !important;
  color: #1e2d3d !important;
}
p.role-lan::before { background: #4a6fa5 !important; }
p.role-lan::after {
  content: "心声" !important;   /* 原为“NPC心声” */
  background: #4a6fa5 !important;
  color: #fff !important;
  border-color: #4a6fa5 !important;
}

/* ===== 男其他角色 · 深青 ===== */
p.role-zon {
  background: #edf5f4 !important;
  color: #1a2e2c !important;
}
p.role-zon::before { background: #3a7d74 !important; }
p.role-zon::after {
  content: "男" !important;
  background: #3a7d74 !important;
  color: #fff !important;
  border-color: #3a7d74 !important;
}

/* ===== 女其他角色 · 玫瑰棕 ===== */
p.role-qianhon {
  background: #faf0f3 !important;
  color: #3a1f28 !important;
}
p.role-qianhon::before { background: #b05070 !important; }
p.role-qianhon::after {
  content: "女" !important;
  background: #b05070 !important;
  color: #fff !important;
  border-color: #b05070 !important;
}

/* ===== 职业NPC · 暖灰 ===== */
p.role-hui {
  background: #f2ede6 !important;
  color: #3a3530 !important;
}
p.role-hui::before { background: #8a7c68 !important; }
p.role-hui::after {
  content: "职业角色" !important;
  background: #8a7c68 !important;
  color: #fff !important;
  border-color: #8a7c68 !important;
}