/* ═══════════════════════════════════════════════════════════════════
   溪 · 汐  「水色梦境」统一主题  v2
   ─────────────────────────────────────────────────────────────────
   设计基调（依据真实头像/背景资产取色）：
     粉樱玫瑰 #ff8fb1 · 薰衣草紫 #a48fe0 · 天青蓝 #8fc4ec
     暖蜜桃 #ffc9a8 · 淡金 #f0c98a
   做法：作为最后一个样式表，用一致 CSS 变量 + 覆盖层把原本分散、
   互相用 !important 硬编码的样式统一成一套协调配色。只动视觉，不动逻辑。
   ═══════════════════════════════════════════════════════════════════ */

/* ─── 1. 设计 token：浅色 ─── */
:root, [data-theme="light"] {
  --primary: #c56f9c;
  --primary-light: #efb6cb;
  --primary-soft: rgba(197, 111, 156, 0.12);
  --primary-glow: rgba(255, 143, 177, 0.20);

  --assistant: #b48aa9;
  --assistant-soft: rgba(180, 138, 169, 0.09);

  --rose: #ff8fb1;
  --rose-deep: #ff6f9d;
  --lavender: #a48fe0;
  --sky: #8fc4ec;
  --peach: #ffc9a8;
  --gold: #f0c98a;

  --text: #332430;
  --text-light: #6d5a66;
  --text-muted: #9d8a96;

  --border: rgba(197, 111, 156, 0.16);
  --border-light: rgba(197, 111, 156, 0.09);

  --bubble-user: #ffe2ec;
  --bubble-user-grad: linear-gradient(135deg, #ff8fb1 0%, #ff7ba5 100%);
  --bubble-assistant-grad: linear-gradient(160deg, rgba(255,255,255,0.95) 0%, rgba(250,238,245,0.90) 100%);
  --bubble-assistant: rgba(255, 255, 255, 0.9);

  --input-bg: rgba(255, 255, 255, 0.85);
  --input-border: rgba(197, 111, 156, 0.16);
  --input-focus-border: #c56f9c;

  --sidebar-bg: rgba(255, 247, 250, 0.80);
  --sidebar-text: #3a2a34;
  --sidebar-hover: rgba(197, 111, 156, 0.09);
  --card-bg-alpha: rgba(255, 255, 255, 0.88);
  --scrollbar-thumb: rgba(197, 111, 156, 0.22);
  --code-bg: #2c1c26;
  --code-text: #f4e9ee;
}

/* ─── 2. 设计 token：深色 ─── */
[data-theme="dark"] {
  --primary: #e6a4bd;
  --primary-light: #f0c8d6;
  --primary-soft: rgba(230, 164, 189, 0.15);
  --primary-glow: rgba(230, 164, 189, 0.12);

  --assistant: #b78aa2;
  --assistant-soft: rgba(183, 138, 162, 0.09);
  --rose: #e6a4bd;
  --rose-deep: #f08fb0;
  --lavender: #b9a4f0;
  --sky: #8fc4ec;
  --peach: #ffc9a8;
  --gold: #e8c98a;

  --text: #f0e4e9;
  --text-light: #c8b4bd;
  --text-muted: #8a7582;

  --border: rgba(230, 164, 189, 0.13);
  --border-light: rgba(230, 164, 189, 0.07);

  --bubble-user-grad: linear-gradient(135deg, #43212e 0%, #331722 100%);
  --bubble-assistant-grad: linear-gradient(160deg, rgba(32,20,30,0.94) 0%, rgba(42,26,36,0.90) 100%);
  --bubble-assistant: rgba(30, 20, 26, 0.9);

  --input-bg: rgba(255, 255, 255, 0.07);
  --input-border: rgba(230, 164, 189, 0.13);
  --input-focus-border: #e6a4bd;

  --sidebar-bg: rgba(16, 9, 13, 0.92);
  --sidebar-text: #d8ccd2;
  --sidebar-hover: rgba(230, 164, 189, 0.07);
  --card-bg-alpha: rgba(26, 16, 22, 0.92);
  --scrollbar-thumb: rgba(230, 164, 189, 0.16);
  --code-bg: #1a0e12;
  --code-text: #e4d6dc;
}

/* ─── 3. 背景融合晕染（浅/深）─── */
.aurora.aurora::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: soft-light;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(255, 238, 246, 0.40), transparent 60%),
    radial-gradient(115% 88% at 55% 108%, rgba(180, 160, 240, 0.30), transparent 55%),
    radial-gradient(90% 70% at 80% 20%, rgba(143, 196, 236, 0.22), transparent 55%);
}
[data-theme="dark"] .aurora.aurora::after {
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(60, 30, 60, 0.45), transparent 60%),
    radial-gradient(110% 90% at 50% 100%, rgba(16, 8, 18, 0.5), transparent 55%);
}

/* ─── 3b. aurora 光斑：更鲜活的多色调（覆盖 theme-polish 的弱粉，增强梦幻纵深）─── */
.aurora-blob.b1 { background: radial-gradient(circle, rgba(255,143,177,0.62), transparent 70%); }
.aurora-blob.b2 { background: radial-gradient(circle, rgba(164,143,224,0.55), transparent 70%); }
.aurora-blob.b3 { background: radial-gradient(circle, rgba(255,201,168,0.50), transparent 70%); }
.aurora-blob.b4 { background: radial-gradient(circle, rgba(143,196,236,0.52), transparent 70%); }
[data-theme="dark"] .aurora-blob.b1 { background: radial-gradient(circle, rgba(230,100,160,0.40), transparent 70%); }
[data-theme="dark"] .aurora-blob.b2 { background: radial-gradient(circle, rgba(160,110,220,0.36), transparent 70%); }
[data-theme="dark"] .aurora-blob.b3 { background: radial-gradient(circle, rgba(120,100,210,0.30), transparent 70%); }
[data-theme="dark"] .aurora-blob.b4 { background: radial-gradient(circle, rgba(120,150,230,0.34), transparent 70%); }

/* 让背景角色透出一点点，但保持 UI 玻璃好读 */
body::after {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,246,250,0.15) 0%, rgba(252,232,240,0.20) 100%);
}

/* ─── 4. 侧栏 ─── */
.sidebar.sidebar {
  background: linear-gradient(180deg, rgba(255,251,253,0.90) 0%, rgba(255,240,246,0.84) 100%) !important;
  backdrop-filter: blur(30px) saturate(190%) !important;
  border-right: 1px solid rgba(255,190,210,0.45) !important;
  box-shadow: 6px 0 34px rgba(255,143,177,0.10), inset 1px 0 0 rgba(255,255,255,0.7) !important;
}
[data-theme="dark"] .sidebar.sidebar {
  background: linear-gradient(180deg, rgba(22,13,20,0.82) 0%, rgba(16,9,13,0.74) 100%) !important;
  border-right-color: rgba(230,164,189,0.18) !important;
}
.sidebar.sidebar::before {
  background: linear-gradient(90deg, transparent, var(--rose) 30%, var(--lavender) 50%, var(--sky) 62%, var(--rose) 72%, transparent) !important;
  background-size: 200% 100% !important;
}
[data-theme="dark"] .sidebar.sidebar::before {
  background: linear-gradient(90deg, transparent, var(--rose) 30%, var(--lavender) 52%, var(--rose) 72%, transparent) !important;
  background-size: 200% 100% !important;
}

/* 品牌区：渐变字 + 头像光环 */
.sidebar-brand.sidebar-brand { gap: 12px; }
.sidebar-brand-name.sidebar-brand-name {
  background: linear-gradient(120deg, var(--rose) 0%, var(--lavender) 50%, var(--sky) 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  font-family: "Noto Serif SC", "Songti SC", serif; letter-spacing: 1px; font-weight: 700;
}
.sidebar-brand-tag.sidebar-brand-tag {
  background: rgba(255,255,255,0.62); border: 1px solid var(--border-light);
  border-radius: 100px; padding: 1px 9px; font-size: 10px; color: var(--text-muted);
}
[data-theme="dark"] .sidebar-brand-tag.sidebar-brand-tag { background: rgba(255,255,255,0.06); }
.sidebar-avatar.sidebar-avatar { border-radius: 16px; box-shadow: 0 6px 22px var(--primary-glow), 0 0 0 2px rgba(255,255,255,0.6); }

/* 状态卡片：玻璃芯片 */
.sidebar-status-row.sidebar-status-row {
  background: rgba(255,255,255,0.5); border: 1px solid var(--border-light);
  border-radius: 14px; padding: 6px 10px; margin: 4px 0; transition: background .25s ease;
}
[data-theme="dark"] .sidebar-status-row.sidebar-status-row { background: rgba(255,255,255,0.04); }
.sidebar-status-row.sidebar-status-row:hover { background: rgba(255,255,255,0.64); }
[data-theme="dark"] .sidebar-status-row.sidebar-status-row:hover { background: rgba(255,255,255,0.07); }
.sidebar-status-label.sidebar-status-label { color: var(--text-muted); margin-right: 6px; font-size: 12px; }
.sidebar-status-dot.sidebar-status-dot { background: linear-gradient(120deg, var(--rose), var(--sky)); }

/* 导航项 */
.sidebar-nav-item.sidebar-nav-item {
  border-radius: 12px; margin: 1px 6px; padding: 8px 12px;
  transition: background .22s ease, transform .22s ease, box-shadow .22s ease;
}
.sidebar-nav-item.sidebar-nav-item:hover { transform: translateX(3px); box-shadow: 0 4px 12px var(--primary-glow); }
.sidebar-nav-item.active.sidebar-nav-item.active {
  background: linear-gradient(120deg, var(--primary-soft), rgba(164,143,224,0.14));
  border: 1px solid var(--border);
}
.sidebar-nav-badge.sidebar-nav-badge { color: var(--rose-deep); animation: rl-pulse-dot 2s ease-in-out infinite; }

/* ─── 5. 欢迎卡 ─── */
.welcome-badge.welcome-badge {
  border-radius: 24px;
  background: var(--bubble-assistant-grad);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(255,255,255,0.6);
  box-shadow: 0 12px 40px var(--primary-glow);
  padding: 22px 26px;
}
.welcome-avatar.welcome-avatar {
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.8), 0 8px 24px var(--primary-glow);
  animation: rl-float 5s ease-in-out infinite;
}
.welcome-title.welcome-title {
  font-family: "Noto Serif SC", "Songti SC", serif;
  background: linear-gradient(120deg, var(--rose), var(--lavender));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* ─── 6. 聊天气泡（对准 app.js 真实类名）─── */
.bubble.bubble {
  border-radius: 20px; color: var(--text); line-height: 1.7;
  transition: transform .2s ease, box-shadow .2s ease;
}
.assistant-bubble.assistant-bubble {
  /* 更实底（接近不透明），保证文字清晰——玻璃感保留一点点即可 */
  background: linear-gradient(160deg, rgba(255,255,255,0.99) 0%, rgba(253,246,250,0.97) 100%) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255,200,220,0.55) !important;
  border-bottom-left-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(197,111,156,0.14), inset 0 1px 0 rgba(255,255,255,0.9) !important;
}
[data-theme="dark"] .assistant-bubble.assistant-bubble {
  background: linear-gradient(160deg, rgba(34,22,32,0.92) 0%, rgba(24,16,24,0.88) 100%) !important;
  border-color: rgba(230,164,189,0.22) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}
.user-bubble.user-bubble {
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%) !important;
  border: 1px solid rgba(255,143,177,0.35) !important;
  border-bottom-right-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(255,111,157,0.32), inset 0 1px 0 rgba(255,255,255,0.3) !important;
}
[data-theme="dark"] .user-bubble.user-bubble {
  background: linear-gradient(135deg, #4a2432 0%, #331722 100%) !important;
  box-shadow: 0 6px 22px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.12) !important;
}
/* 主动消息 / 独白：柔光渐变气泡（去掉难看虚线；底色做实，保证看清字） */
.proactive-bubble.proactive-bubble, .monologue-bubble.monologue-bubble {
  border: 1px solid rgba(180,160,240,0.32) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(135deg, #fff4f9 0%, #f2ecfa 52%, #ecf4fd 100%) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 8px 26px rgba(164,143,224,0.20), inset 0 1px 0 rgba(255,255,255,0.9) !important;
}
/* 小标签：渐变徽章 */
.proactive-tag.proactive-tag {
  display: inline-block; background: linear-gradient(120deg, var(--rose), var(--lavender));
  color: #fff; font-size: 11px; line-height: 1; padding: 3px 9px; border-radius: 100px;
  margin-right: 6px; box-shadow: 0 3px 9px rgba(197,111,156,0.30); vertical-align: middle;
}
.monologue-label.monologue-label {
  display: inline-block; background: linear-gradient(120deg, var(--lavender), var(--sky));
  color: #fff; font-size: 11px; line-height: 1; padding: 3px 9px; border-radius: 100px;
  margin-right: 6px; box-shadow: 0 3px 9px rgba(164,143,224,0.30); vertical-align: middle;
}
[data-theme="dark"] .proactive-bubble.proactive-bubble,
[data-theme="dark"] .monologue-bubble.monologue-bubble {
  background: linear-gradient(135deg, rgba(66,38,58,0.92) 0%, rgba(50,40,70,0.92) 55%, rgba(40,50,80,0.92) 100%) !important;
  border-color: rgba(180,160,240,0.22) !important;
}

/* 消息容器 / 头像 / 时间 / 系统 / 工具结果 / 打字点 */
.message-container.assistant-container { justify-content: flex-start; }
.message-container.user-container { justify-content: flex-end; }
.avatar-circle.avatar-circle { box-shadow: 0 0 0 2px rgba(255,255,255,0.7), 0 4px 12px var(--primary-glow); }
.msg-time.msg-time { color: var(--text-muted); font-size: 11px; margin-top: 4px; }
.system-message.system-message {
  background: var(--bubble-assistant-grad); border: 1px solid var(--border-light);
  border-radius: 12px; color: var(--text-light);
}
.system-message.reminder.system-message.reminder { border-color: rgba(255,111,157,0.4); color: #c2527a; }
.tool-result.tool-result {
  color: var(--text-muted); font-size: 13px; background: var(--primary-soft);
  border-left: 2px solid var(--lavender); border-radius: 8px;
}
.typing-indicator.typing-indicator { background: var(--bubble-assistant-grad); border-radius: 18px; }
.typing-dot.typing-dot { background: var(--rose); }

/* ─── 7. 输入区：悬浮水晶（底色做实，输入字更清楚）─── */
.input-area.input-area {
  background: linear-gradient(160deg, rgba(255,255,255,0.96) 0%, rgba(253,246,250,0.92) 100%) !important;
  backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(255,255,255,0.65) !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 34px rgba(197,111,156,0.14), inset 0 1px 0 rgba(255,255,255,0.7) !important;
}
[data-theme="dark"] .input-area.input-area { border-color: rgba(255,255,255,0.06) !important; box-shadow: 0 10px 30px rgba(0,0,0,0.35) !important; }
.input-agent-label.input-agent-label { color: var(--text-muted); letter-spacing: 2px; }
.input-field.input-field { color: var(--text); caret-color: var(--rose); }
.input-field.input-field:focus { outline: none; }

/* ─── 8. 发送按钮：圆形渐变 ─── */
.send-btn.send-btn {
  background: linear-gradient(135deg, var(--rose) 0%, var(--lavender) 60%, var(--sky) 100%) !important;
  border-radius: 50% !important;
  box-shadow: 0 6px 18px rgba(201,138,216,0.45) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}
.send-btn.send-btn:hover { transform: translateY(-2px) scale(1.04); box-shadow: 0 10px 26px rgba(201,138,216,0.6) !important; }
.send-btn-icon.send-btn-icon { color: #fff; }

/* ─── 9. 动作按钮：玻璃芯片 ─── */
.action-btn.action-btn {
  background: rgba(255,255,255,0.55); border: 1px solid var(--border-light);
  border-radius: 50%; color: var(--text-light); transition: all .2s ease;
}
[data-theme="dark"] .action-btn.action-btn { background: rgba(255,255,255,0.06); }
.action-btn.action-btn:hover { background: var(--primary-soft); color: var(--rose); transform: translateY(-2px); }

/* ─── 10. 滚动条 ─── */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(197,111,156,0.35), rgba(164,143,224,0.35));
  border-radius: 100px;
}
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, rgba(197,111,156,0.55), rgba(164,143,224,0.55)); }

/* ─── 11. 弹层/设置/滚动到底 ─── */
.settings-panel.settings-panel { border-radius: 24px; }
.settings-close.settings-close:hover { background: var(--primary-soft); color: var(--rose); }
.scroll-bottom-btn.scroll-bottom-btn {
  background: var(--bubble-assistant-grad); backdrop-filter: blur(10px);
  border: 1px solid var(--border-light); color: var(--rose); border-radius: 50%;
  box-shadow: 0 6px 18px var(--primary-glow);
}
.scroll-bottom-btn.scroll-bottom-btn:hover { transform: translateY(-2px); }

/* ─── 12. 细节 ─── */
* { box-sizing: border-box; }
button { font-family: inherit; }
::selection { background: rgba(197,111,156,0.22); }
