/*
 * 议小豆 v2 皮肤覆盖层（redesign/multi-theme-v2 · Phase 1）
 *
 * 仅在 <html data-yxd-palette="..."> 时生效；无该属性 = 线上现状，零变化。
 * 调色板令牌来自 theme-palettes-v2.css。
 * 原则：不改 DOM、不改 ID、不改 JS；用 !important 覆盖内联样式与编译态 Tailwind。
 * 语义色（成功绿/警告橙/错误红）保持语义，不随主色迁移。
 */

/* ── waic 变量桥接 ────────────────────────────
 * waic-experience.css 的所有品牌色都经 var(--waic-*) 引用，
 * 在 html[data-yxd-palette] 上重定义这些变量（specificity 高于 :root），
 * 包括 .waic-experience #scene-tab-*.scene-tab-active 与 #start-meeting-btn
 * 这类带 !important 的 ID 级规则也会自动输出当前调色板主色。 */
html[data-yxd-palette] {
  --waic-violet: var(--yxd-v2-primary);
  --waic-violet-dark: var(--yxd-v2-primary-deep);
  --waic-lilac: var(--yxd-v2-tint);
  --waic-paper: var(--yxd-v2-surface);
  --waic-canvas: var(--yxd-v2-bg);
  --waic-ink: var(--yxd-v2-ink);
  --waic-muted: var(--yxd-v2-muted);
  --waic-line: color-mix(in srgb, var(--yxd-v2-ink) 12%, transparent);
  --waic-shadow: 0 20px 55px color-mix(in srgb, var(--yxd-v2-ink) 10%, transparent);
}

/* ── 画布与基调 ─────────────────────────────── */
html[data-yxd-palette] body {
  background: var(--yxd-v2-bg);
  color: var(--yxd-v2-ink);
}
html[data-yxd-palette] .bg-white {
  background-color: var(--yxd-v2-surface) !important;
}

/* ── 品牌色工具类重映射 ─────────────────────── */
html[data-yxd-palette] .bg-brand-500,
html[data-yxd-palette] .bg-brand-600,
html[data-yxd-palette] .bg-brand-700 {
  background-color: var(--yxd-v2-primary) !important;
}
/* 场景 Tab：switchScene 会整体替换 className 并写内联渐变，
 * 不能依赖 .scene-tab-active，直接命中内联渐变（非 important，可被覆盖） */
html[data-yxd-palette] #scene-tabs button[style*="linear-gradient"] {
  background: var(--yxd-v2-primary) !important;
  color: #fff !important;
}
html[data-yxd-palette] .hover\:bg-brand-700:hover {
  background-color: var(--yxd-v2-primary-deep) !important;
}
html[data-yxd-palette] .text-brand-500,
html[data-yxd-palette] .text-brand-600,
html[data-yxd-palette] .text-brand-700 {
  color: var(--yxd-v2-primary) !important;
}
html[data-yxd-palette] .hover\:text-brand-500:hover,
html[data-yxd-palette] .hover\:text-brand-600:hover {
  color: var(--yxd-v2-primary-deep) !important;
}
html[data-yxd-palette] .hover\:bg-brand-600:hover {
  background-color: var(--yxd-v2-primary-deep) !important;
}
html[data-yxd-palette] .hover\:bg-brand-50:hover {
  background-color: var(--yxd-v2-tint-soft) !important;
}
html[data-yxd-palette] .ring-brand-500 {
  --tw-ring-color: var(--yxd-v2-primary) !important;
}
html[data-yxd-palette] .border-brand-200 {
  border-color: var(--yxd-v2-tint) !important;
}
html[data-yxd-palette] .bg-brand-50,
html[data-yxd-palette] .bg-brand-100 {
  background-color: var(--yxd-v2-tint-soft) !important;
}
html[data-yxd-palette] .hover\:bg-brand-200:hover {
  background-color: var(--yxd-v2-tint) !important;
}
html[data-yxd-palette] .border-brand-500,
html[data-yxd-palette] .focus\:border-brand-500:focus {
  border-color: var(--yxd-v2-primary) !important;
}
html[data-yxd-palette] .product-brand {
  color: var(--yxd-v2-primary) !important;
}
html[data-yxd-palette] .product-brand:hover {
  color: var(--yxd-v2-primary-deep) !important;
}

/* ── 场景 Tab：渐变 → 实心主色 ──────────────── */
html[data-yxd-palette] #scene-tabs {
  background: var(--yxd-v2-tint-soft) !important;
}
html[data-yxd-palette] .scene-tab-active {
  background: var(--yxd-v2-primary) !important;
  color: #fff !important;
}
html[data-yxd-palette] .scene-tab-inactive {
  color: var(--yxd-v2-muted) !important;
}
html[data-yxd-palette] .mobile-tab-active {
  color: var(--yxd-v2-primary) !important;
}

/* ── 用户聊天气泡：渐变 → 实心主色 ────────────
 * 注意：data-user-content 是全站通用的「用户内容」转义标记，
 * 只有带内联渐变的才是聊天气泡；转写原文、说话人名等绝不能命中。 */
html[data-yxd-palette] [data-user-content][style*="linear-gradient"] {
  background: var(--yxd-v2-primary) !important;
}

/* ── 结束会议弹窗：渐变头 → 实心主色 ────────── */
html[data-yxd-palette] #end-meeting-dialog > div > div:first-child {
  background: var(--yxd-v2-primary) !important;
}

/* ── AI 面板 ────────────────────────────────── */
html[data-yxd-palette] #ai-panel {
  border-color: var(--yxd-v2-hairline) !important;
  background: var(--yxd-v2-surface) !important;
}
/* 面板内渐变头像 → 浅染底 + 主色图标 */
html[data-yxd-palette] #ai-panel [style*="linear-gradient(135deg, #d7cef2"] {
  background: var(--yxd-v2-tint) !important;
}
html[data-yxd-palette] #ai-panel [style*="linear-gradient(135deg, #d7cef2"] svg {
  color: var(--yxd-v2-primary) !important;
}

/* ── 议题卡片（JS 渲染，内联样式）───────────── */
html[data-yxd-palette] [data-topic-id] {
  border: 1px solid var(--yxd-v2-hairline) !important;
  box-shadow: none !important;
}
html[data-yxd-palette] [data-topic-id] .topic-title {
  color: var(--yxd-v2-ink) !important;
}
/* 「新」徽标：indigo → 主色浅染 */
html[data-yxd-palette] [data-topic-id] .topic-header span[style*="#f2effa"] {
  background: var(--yxd-v2-tint-soft) !important;
  color: var(--yxd-v2-primary) !important;
}

/* ── 议题详情抽屉 ───────────────────────────── */
html[data-yxd-palette] #detail-update-chip {
  background: var(--yxd-v2-tint-soft) !important;
  border-color: var(--yxd-v2-tint) !important;
  color: var(--yxd-v2-primary) !important;
}
html[data-yxd-palette] #detail-panel-title {
  color: var(--yxd-v2-ink) !important;
}

/* ── 顶栏与底栏细线 ─────────────────────────── */
html[data-yxd-palette] header.border-gray-200,
html[data-yxd-palette] #scene-tabs-mobile {
  border-color: var(--yxd-v2-hairline) !important;
}

/* ── 硬编码紫色补丁（不走 var(--waic-*) 的少数派）── */
/* 开始会议按钮：背景已由桥接解决，这里替换紫色硬阴影 */
html[data-yxd-palette] #start-meeting-btn {
  box-shadow: 4px 5px 0 color-mix(in srgb, var(--yxd-v2-primary-deep) 26%, transparent) !important;
}
html[data-yxd-palette] #start-meeting-btn:hover {
  box-shadow: 5px 7px 0 color-mix(in srgb, var(--yxd-v2-primary-deep) 26%, transparent) !important;
}
/* DEBUG 标签（waic-experience.css 硬编码 #573dbb / #f2effa） */
html[data-yxd-palette] .debug-feature-tag {
  color: var(--yxd-v2-primary-deep) !important;
  background: var(--yxd-v2-tint-soft) !important;
  border-color: color-mix(in srgb, var(--yxd-v2-primary) 22%, transparent) !important;
}
html[data-yxd-palette] .debug-auth-skip {
  border-color: color-mix(in srgb, var(--yxd-v2-primary) 30%, transparent) !important;
  background: linear-gradient(135deg, var(--yxd-v2-tint-soft), var(--yxd-v2-surface)) !important;
}
html[data-yxd-palette] .debug-auth-skip strong {
  color: var(--yxd-v2-ink) !important;
}
/* 内联样式里的紫色文字 / 边框（隐私政策、用户协议、DEBUG 导入按钮等） */
html[data-yxd-palette] [style*="color:#6a4fd8"],
html[data-yxd-palette] [style*="color: #6a4fd8"],
html[data-yxd-palette] [style*="color:rgb(124, 58, 237)"] {
  color: var(--yxd-v2-primary) !important;
}
html[data-yxd-palette] [style*="color:#573dbb"],
html[data-yxd-palette] [style*="color: #573dbb"] {
  color: var(--yxd-v2-primary-deep) !important;
}
html[data-yxd-palette] [style*="#e6e0f8"] {
  border-color: var(--yxd-v2-tint) !important;
}
/* 会议文件空态卡片（waic-experience.css 硬编码虚线紫边与深紫墨色） */
html[data-yxd-palette] .meeting-file-empty {
  color: var(--yxd-v2-ink) !important;
  background: color-mix(in srgb, var(--yxd-v2-surface) 78%, transparent) !important;
  border-color: color-mix(in srgb, var(--yxd-v2-primary) 34%, transparent) !important;
}
html[data-yxd-palette] .meeting-file-empty:hover {
  border-color: var(--yxd-v2-primary) !important;
}
html[data-yxd-palette] .meeting-file-empty small {
  color: var(--yxd-v2-muted) !important;
}

/* ── 风格切换器（注入设置面板）───────────────── */
.yxd-palette-section { margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--yxd-v2-hairline, #e5e7eb); }
.yxd-palette-section > label { display: block; font-size: 14px; font-weight: 500; color: #374151; margin-bottom: 10px; }
.yxd-palette-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.yxd-palette-item {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 10px 4px; border: 1px solid #e5e7eb; border-radius: 10px;
  background: #fff; cursor: pointer; font-size: 11px; color: #6b7280;
  transition: all .2s;
}
.yxd-palette-item:hover { border-color: #9ca3af; }
.yxd-palette-item.active { border-color: var(--yxd-v2-primary, #6a4fd8); box-shadow: 0 0 0 3px var(--yxd-v2-tint-soft, #f2effa); color: #111827; font-weight: 600; }
.yxd-palette-item .dots { display: flex; }
.yxd-palette-item .dots i { width: 13px; height: 13px; border-radius: 50%; border: 1px solid rgba(0,0,0,.08); margin-left: -3px; }
.yxd-palette-item .dots i:first-child { margin-left: 0; }
