/* ===== v952 B6 浮动入口统一布局协调器（军用级锚位互斥 · 终版）=====
 * 布局事实（实测几何）：
 *   顶栏带：#lx-stock-tips-entry(top:14,right:272) #lx-video-share-entry(top:14,right:232) .ai-insight-btn(top:64,right:24)
 *   右下带：#ai-avatar-fab(bottom:8/78) #lx-evolve-toggle(bottom:150) #lx_pred_badge_v357(dock 子元素角标,设计意图)
 *   左下带：.dp-fab(bottom:16,left:16) .fab-wx(bottom:84,left:16)
 * 修复：
 *   ① dp-fab 桌面移出侧边栏（不再遮挡 nav 末项）
 *   ② evolve-toggle 上移脱离 dock 展开放射区 + z-index 降级（dock z:900 展开时自然覆盖）
 *   ③ 移动端顶栏拥挤：stock-tips 下移至 insight 按钮正下方；video-share 隐藏（fab-wx 已覆盖移动端分享）
 */
/* ① dp-fab 桌面移出侧边栏 */
@media (min-width: 769px) {
  .dp-fab { left: 276px !important; }
}
/* ② evolve-toggle：脱离 dock 放射区 + 被 dock 展开层自然覆盖 */
#lx-evolve-toggle { right: 12px !important; bottom: 212px !important; z-index: 800 !important; }
/* ③ 移动端顶栏解挤 */
@media (max-width: 768px) {
  #lx-stock-tips-entry { top: 104px !important; right: 12px !important; }
  #lx-video-share-entry { display: none !important; }
  #lx-evolve-toggle { bottom: 262px !important; }
}

/* ===== v952 B6 数智人精修段（禁欲极简 · 零 JS 侵入）=====
 * ① 按钮收纳：默认面板 14 → 7 主按钮（mic/tts/chat/fullscreen/broadcast/stop/可视状态）
 *    低频 7 个（wake/body/tv/voice/idlevideo/gen/replay）默认折叠；
 *    全屏态全量显示（大屏空间充裕，功能零损失）
 * ② 照片区精致化：圆角统一 + 细线边框 + 状态光晕极简化
 */
#ai-avatar-fab .ai-avatar-btn:is(.ai-avatar-wake-btn,.ai-avatar-body-btn,.ai-avatar-tv-btn,.ai-avatar-voice-btn,.ai-avatar-idlevideo-btn,.ai-avatar-gen-btn,.ai-avatar-replay-btn) {
  display: none !important;
}
#ai-avatar-fab.fullscreen-mode .ai-avatar-btn:is(.ai-avatar-wake-btn,.ai-avatar-body-btn,.ai-avatar-tv-btn,.ai-avatar-voice-btn,.ai-avatar-idlevideo-btn,.ai-avatar-gen-btn,.ai-avatar-replay-btn) {
  display: inline-flex !important;
}
/* ② 照片区：圆角统一 16px + 细线边框（禁欲纯色，禁阴影光晕） */
#ai-avatar-fab .ai-dock-avatar-area {
  border-radius: 16px;
  border: 1px solid rgba(151,179,215,.14);
  overflow: hidden;
}
#ai-avatar-fab .ai-dock-avatar-area img,
#ai-avatar-fab .ai-dock-avatar-area canvas {
  border-radius: 16px;
}

/* ===== v952 B6 数智人精修段（禁欲极简 · 零 JS 侵入）=====
 * ① 按钮收纳：默认面板 14 → 7 主按钮（mic/tts/chat/fullscreen/broadcast/stop/可视状态）
 *    低频 7 个（wake/body/tv/voice/idlevideo/gen/replay）默认折叠；
 *    全屏态全量显示（大屏空间充裕，功能零损失）
 * ② 照片区精致化：圆角统一 + 细线边框 + 状态光晕极简化
 */
#ai-avatar-fab .ai-avatar-btn:is(.ai-avatar-wake-btn,.ai-avatar-body-btn,.ai-avatar-tv-btn,.ai-avatar-voice-btn,.ai-avatar-idlevideo-btn,.ai-avatar-gen-btn,.ai-avatar-replay-btn) {
  display: none !important;
}
#ai-avatar-fab.fullscreen-mode .ai-avatar-btn:is(.ai-avatar-wake-btn,.ai-avatar-body-btn,.ai-avatar-tv-btn,.ai-avatar-voice-btn,.ai-avatar-idlevideo-btn,.ai-avatar-gen-btn,.ai-avatar-replay-btn) {
  display: inline-flex !important;
}
/* ② 照片区：圆角统一 16px + 细线边框（禁欲纯色，禁阴影光晕） */
#ai-avatar-fab .ai-dock-avatar-area {
  border-radius: 16px;
  border: 1px solid rgba(151,179,215,.14);
  overflow: hidden;
}
#ai-avatar-fab .ai-dock-avatar-area img,
#ai-avatar-fab .ai-dock-avatar-area canvas {
  border-radius: 16px;
}

/* ===== v953 数智人照片区纯净化：迷你按钮收纳 =====
 * 桌面：dock 照片区零杂按钮（顶栏双入口 #lx-stock-tips-entry / #lx-video-share-entry 覆盖）
 * 移动端：仅保留 dock 视频按钮（顶栏视频入口在移动端已隐藏，dock 按钮是唯一入口）
 * 全屏态：照片区纯净，不显示任何迷你按钮 */
@media (min-width: 769px) {
  #ai-avatar-fab [data-lx-stock-tips],
  #ai-avatar-fab [data-lx-video-share] { display: none !important; }
}
@media (max-width: 768px) {
  #ai-avatar-fab [data-lx-stock-tips] { display: none !important; }
}
#ai-avatar-fab.fullscreen-mode [data-lx-stock-tips],
#ai-avatar-fab.fullscreen-mode [data-lx-video-share] { display: none !important; }

/* ===== v954 数智人活起来 + 双端世界级适配段 =====
 * ① cookie banner 避让：banner 可见（未 inline 隐藏）时 dock 整体上移，
 *    根治首访移动端「avatar 90% 被 banner 盖住」+ 按钮不可点。零 JS（:has()）。
 * ② 折叠态活人感：静态图 GPU 呼吸动画（纯合成器 scale，零重绘零解码零闪烁，
 *    守 v329.1 硬约束——无任何 JS 定时器）。波形对齐 breathWave 双相节奏
 *    （38% 周期吸气峰 + 12% 屏息），周期 4.6s = 13 次/分。
 * ③ 按钮热区：27px → 41px+（::after 透明扩展，视觉尺寸零变化），
 *    达标移动端 ≥40px / 桌面 ≥32px 触达规范。 */

/* ① banner 避让（banner 高度实测：移动 124px / 桌面 ~60px） */
@media (max-width: 768px) {
  body:not(:has(#lx-cookie-banner[style*="none"])) #ai-avatar-fab.fab-ai.ai-dock.dock-collapsed { bottom: 216px !important; }
  body:not(:has(#lx-cookie-banner[style*="none"])) #ai-avatar-fab.fab-ai.ai-dock.dock-expanded { bottom: 144px !important; }
}
@media (min-width: 769px) {
  body:not(:has(#lx-cookie-banner[style*="none"])) #ai-avatar-fab.fab-ai.ai-dock.dock-collapsed { bottom: 84px !important; }
  body:not(:has(#lx-cookie-banner[style*="none"])) #ai-avatar-fab.fab-ai.ai-dock.dock-expanded { bottom: 84px !important; }
}

/* ② 折叠态静态图 GPU 呼吸（默认态「活起来」——用户第一眼看到的她） */
@keyframes lxDockBreath {
  0%   { transform: scale(1); }
  38%  { transform: scale(1.016); }  /* 吸气峰（对齐引擎 breathWave 双相波） */
  88%  { transform: scale(1); }
  100% { transform: scale(1); }      /* 12% 屏息 */
}
#ai-avatar-fab.dock-collapsed .ai-avatar-img-base {
  animation: lxDockBreath 4.6s ease-in-out infinite;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  #ai-avatar-fab.dock-collapsed .ai-avatar-img-base { animation: none; }
}

/* ③ 按钮热区扩展（27px → 41px+，视觉零变化） */
#ai-avatar-fab .ai-avatar-btn { position: relative; }
#ai-avatar-fab .ai-avatar-btn::after {
  content: '';
  position: absolute;
  inset: -7px;
  border-radius: 50%;
}
