/* 1. 强制隐藏默认的顶部颜色装饰条 */
[class*="bg-[#F1CBCB]"], 
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}

/* 2. 统一聊天框主体美化 (奢华暖色、欲望呼吸感) */
.bg-gray-100\/90.relative.inline-block {
    background: linear-gradient(145deg, #FFF9FA 0%, #FFF0F5 50%, #F8F0FC 100%) !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important; /* 鎏金边框 */
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(106, 75, 106, 0.08), inset 0 0 15px rgba(255, 209, 220, 0.2) !important;
    isolation: isolate !important; /* 建立层叠上下文，防止动效溢出 */
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

/* 聊天框背景的暧昧呼吸光晕动效 */
.bg-gray-100\/90.relative.inline-block::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at 50% 50%, rgba(255, 182, 193, 0.15), transparent 70%) !important;
    z-index: 0 !important;
    pointer-events: none !important;
    animation: lustBreathing 4s ease-in-out infinite alternate !important;
}

@keyframes lustBreathing {
    0% { opacity: 0.3; transform: scale(1); }
    100% { opacity: 0.8; transform: scale(1.05); }
}

/* 3. 主文本样式 (绝对可读性优先，深紫灰色) */
.markdown-body {
    color: #3A2C3A !important; 
    font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif !important;
    font-weight: 500 !important; /* 稍微加粗提升辨识度 */
    z-index: 1 !important;
    position: relative !important;
    background: transparent !important;
    text-shadow: none !important; /* 严禁文字阴影，保证纯粹的清晰度 */
}

/* 4. 底部附加元素美化 (暗金色调与浅紫呼应) */
/* 底部操作按钮 */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
    color: #D4AF37 !important; /* 鎏金色 */
    font-weight: bold !important;
    transition: all 0.3s ease !important;
}

.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
    background-color: rgba(212, 175, 55, 0.1) !important;
    color: #B8860B !important; /* 悬停加深 */
}

/* 模型名称文本 */
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 {
    color: #9E7A9E !important; /* 优雅的灰紫色 */
    font-weight: bold !important;
}

/* Token消耗文本 */
.text-orange-500 {
    color: #D4AF37 !important; /* 统一为鎏金色 */
    font-weight: bold !important;
}

/* 5. 替换输出加载动画 (SMIL纯SVG跳动爱心) */
/* 隐藏默认的三个点 */
.style_dot-flashing__8L91Q.style_text__zGhNq { 
    display: none !important; 
}

/* 在父容器注入SVG动效 */
.flex.items-center.justify-center.w-6.h-5 {
    position: relative !important;
}

.flex.items-center.justify-center.w-6.h-5::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" fill="%23D8A1A1"><animate attributeName="opacity" values="0.4;1;0.4" dur="1.5s" repeatCount="indefinite"/><animateTransform attributeName="transform" type="scale" values="0.85;1.05;0.85" dur="1.5s" repeatCount="indefinite" additive="sum" cx="12" cy="12"/></path></svg>') !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* 6. 减弱动态效果适配 (照顾低性能或不适晕动设备) */
@media (prefers-reduced-motion: reduce) {
    .bg-gray-100\/90.relative.inline-block::before {
        animation: none !important;
        opacity: 0.5 !important;
    }
}

ai {
  --bg-main: #FFF9FA;
  --bg-card: #FFF0F5;
  --text-main: #4A3B4A;
  --text-light: #7A6B7A;
  --gold-light: #F4D03F;
  --gold-dark: #D4AF37;
  --pink-light: #FFD1DC;
  --purple-light: #E6E6FA;
  --purple-dark: #6A4B6A;
  --border-radius: 8px;
  
  display: block;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: var(--text-main);
  background: var(--bg-main);
  background-image: radial-gradient(circle at 100% 0%, rgba(255, 182, 193, 0.15) 0%, transparent 50%), 
                    radial-gradient(circle at 0% 100%, rgba(216, 191, 216, 0.15) 0%, transparent 50%);
  padding: 10px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(106, 75, 106, 0.05);
  font-size: 14px;
  line-height: 1.6;
}

ai hd {
  display: block;
  background: linear-gradient(135deg, var(--bg-card), #FFFFFF);
  border-left: 4px solid var(--gold-dark);
  padding: 8px 12px;
  margin-bottom: 15px;
  border-radius: 4px var(--border-radius) var(--border-radius) 4px;
  font-size: 0.9em;
  color: var(--purple-dark);
  box-shadow: 0 2px 5px rgba(0,0,0,0.02);
  font-weight: bold;
}

ai article {
  display: block;
  margin-bottom: 20px;
  padding: 0 5px;
  font-size: 15px;
}

ai details {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(212, 175, 55, 0.2);
  border-radius: var(--border-radius);
  margin-bottom: 10px;
  overflow: hidden;
  transition: all 0.3s ease;
}

ai details[open] {
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.08);
  border-color: rgba(212, 175, 55, 0.4);
}

ai summary {
  background: linear-gradient(135deg, #FFF, var(--bg-card));
  padding: 10px 15px;
  font-weight: bold;
  color: var(--purple-dark);
  cursor: pointer;
  user-select: none;
  border-bottom: 1px solid transparent;
  position: relative;
}

ai details[open] summary {
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  background: linear-gradient(135deg, var(--bg-card), var(--pink-light));
}

ai summary::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 3px;
  background: linear-gradient(to bottom, var(--gold-light), var(--gold-dark));
  opacity: 0;
  transition: opacity 0.3s;
}

ai details[open] summary::before {
  opacity: 1;
}

ai p {
  margin: 0;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

ai p[t]::before {
  content: attr(t);
  display: block;
  font-size: 0.85em;
  color: var(--gold-dark);
  font-weight: bold;
  margin: 4px 0 2px 4px;
  letter-spacing: 1px;
}

ai d {
  display: flex;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 0.9em;
  border: 1px solid rgba(230, 230, 250, 0.6);
  align-items: flex-start;
}

ai d:nth-child(even) {
  background: rgba(255, 240, 245, 0.4); /* 极淡的粉色交替 */
}

ai d:hover {
  background: #FFF;
  border-color: rgba(212, 175, 55, 0.3);
  transform: translateX(2px);
  transition: all 0.2s;
}

ai d b {
  color: var(--gold-dark);
  min-width: 65px;
  flex-shrink: 0;
  margin-right: 8px;
  font-size: 0.9em;
  position: relative;
}

ai d b::after {
  content: '·';
  position: absolute;
  right: -4px;
  color: var(--pink-light);
}

ai q {
  font-style: italic;
  color: var(--purple-dark);
  background: rgba(230, 230, 250, 0.3);
  padding: 2px 6px;
  border-radius: 4px;
  quotes: "“" "”";
}

ai q::before { content: open-quote; color: var(--gold-light); }
ai q::after { content: close-quote; color: var(--gold-light); }