/* ============================================= */
/*   ☣ 末世丧尸 · WASTELAND PROTOCOL ☣           */
/*   深色破败 + 高亮文字，可读性优先              */
/* ============================================= */

/* ---------- 1. AI输出气泡：废弃实验室/苔原质感 ---------- */
.group.is-assistant > div:first-child {
  background:
    radial-gradient(circle at 15% 0%, rgba(170, 255, 120, 0.05), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(70, 80, 60, 0.4), transparent 50%),
    linear-gradient(160deg, #101611 0%, #1d241c 35%, #252d24 70%, #182018 100%) !important;
  border: 1px solid rgba(140, 220, 100, 0.18) !important;
  border-left: 4px solid #7fd84a !important;
  border-radius: 14px 14px 14px 6px !important;
  box-shadow:
    0 6px 30px rgba(0, 0, 0, 0.75),
    0 0 18px rgba(120, 255, 80, 0.05),
    inset 0 0 32px rgba(0, 0, 0, 0.5) !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

/* 毒性雾霭缓慢流动 */
.group.is-assistant > div:first-child::before {
  content: "" !important;
  position: absolute !important;
  inset: -40% -20% !important;
  background-image:
    radial-gradient(circle 60px at 30% 50%, rgba(170, 255, 120, 0.05), transparent 80%),
    radial-gradient(circle 90px at 70% 30%, rgba(140, 255, 90, 0.04), transparent 80%) !important;
  z-index: -1 !important;
  pointer-events: none !important;
  animation: toxic-drift 18s ease-in-out infinite alternate !important;
}

@keyframes toxic-drift {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-10%, -5%) scale(1.15); }
}

/* 破败腐蚀洞口（AI气泡右下角） */
.group.is-assistant > div:first-child::after {
  content: "" !important;
  position: absolute !important;
  right: 8px !important;
  bottom: 6px !important;
  width: 46px !important;
  height: 30px !important;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.55), rgba(40, 30, 10, 0.1) 65%, transparent) !important;
  border-radius: 100% 60% 80% 50% / 90% 40% 100% 50% !important;
  filter: blur(2px) !important;
  z-index: -1 !important;
  opacity: 0.7 !important;
}

/* ---------- 2. 用户气泡：溅血堡垒质感 ---------- */
.group.is-user > div:first-child {
  background:
    radial-gradient(ellipse at 120% -10%, rgba(255, 60, 60, 0.14), transparent 45%),
    radial-gradient(ellipse at -10% 110%, rgba(200, 40, 20, 0.12), transparent 40%),
    linear-gradient(135deg, #2c1212 0%, #391515 45%, #1e0c0c 100%) !important;
  border: 1px solid rgba(255, 80, 70, 0.3) !important;
  border-left: 4px solid #ff4a3d !important;
  border-radius: 14px 14px 6px 14px !important;
  box-shadow:
    0 6px 28px rgba(0, 0, 0, 0.8),
    0 0 16px rgba(255, 40, 30, 0.06),
    inset 0 0 28px rgba(0, 0, 0, 0.55) !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

/* 干涸血迹颗粒覆盖 */
.group.is-user > div:first-child::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(circle 3px at 12% 88%, rgba(140, 20, 10, 0.5), transparent 70%),
    radial-gradient(circle 2px at 85% 15%, rgba(150, 30, 20, 0.4), transparent 70%),
    radial-gradient(circle 4px at 45% 95%, rgba(120, 15, 10, 0.35), transparent 70%),
    radial-gradient(circle 2px at 60% 30%, rgba(160, 40, 20, 0.3), transparent 70%) !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

/* ---------- 3.【致命规则】文字强制高亮 ---------- */
.rili-markdown-renderer,
.rili-markdown-renderer * {
  color: #f6f6ee !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9) !important;
}

.rili-markdown-renderer strong {
  color: #c8ff92 !important;
}

.rili-markdown-renderer em {
  color: #ffc7a0 !important;
}

.rili-markdown-renderer a {
  color: #70ffd0 !important;
  text-decoration: underline !important;
}

.rili-markdown-renderer code {
  background: rgba(0, 0, 0, 0.45) !important;
  color: #b0ff7a !important;
  border: 1px solid rgba(120, 220, 80, 0.2) !important;
  border-radius: 4px !important;
  padding: 1px 5px !important;
}

.rili-markdown-renderer blockquote {
  border-left: 3px solid rgba(140, 220, 100, 0.4) !important;
  background: rgba(20, 30, 20, 0.4) !important;
}

/* ---------- 4. Token/模型信息：暗色中可见的荧光绿 ---------- */
.text-xs.font-mono.text-muted-foreground {
  color: rgba(200, 240, 180, 0.65) !important;
}

/* ---------- 5. 操作按钮区：锈蚀金属风格 + 常显 ---------- */
.group .bg-muted.rounded.flex {
  background: rgba(25, 25, 25, 0.5) !important;
  border: 1px solid rgba(150, 150, 150, 0.12) !important;
}

.group .bg-muted.rounded.flex button {
  background: transparent !important;
}

.group .bg-muted.rounded.flex button svg.lucide {
  color: rgba(230, 230, 220, 0.85) !important;
  stroke: rgba(230, 230, 220, 0.85) !important;
  filter: drop-shadow(0 0 4px rgba(140, 220, 90, 0.3)) !important;
}

.group .bg-muted.rounded.flex button:hover svg.lucide {
  color: #c8ff92 !important;
  stroke: #c8ff92 !important;
}

/* 按钮常显，避免深色背景下不可见 */
.group .md\:opacity-0 {
  opacity: 1 !important;
}

think { display: none; } status_top { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; background: rgba(120, 0, 0, 0.15); border-left: 3px solid #8b0000; padding: 6px 10px; margin-bottom: 10px; border-radius: 4px; font-size: 13px; color: #c9a86a; } status_top time, status_top place, status_top weather, status_top danger { font-weight: bold; } text { display: block; background: rgba(0,0,0,0.25); padding: 12px; border-radius: 8px; font-size: 15px; line-height: 1.7; color: #d8d3c5; } status_bottom { display: block; margin-top: 14px; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 8px; } status_bottom details { background: rgba(20,20,20,0.6); border: 1px solid #3a3a3a; border-radius: 6px; margin-bottom: 6px; padding: 4px 8px; } status_bottom summary { cursor: pointer; font-weight: bold; color: #c9a86a; padding: 4px 0; } status_bottom details[open] summary { border-bottom: 1px dashed #555; } status_bottom details p { margin: 6px 0; }