/* ===== 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 避让：由 JS 承担（ai-avatar-v285.js v954 _bannerOffset——fab 位置为拖拽系统
 *    内联 !important 写入，任何 CSS 规则（含 !important）都无法覆盖，CSS 方案已证死） */

/* ② 折叠态静态图 GPU 呼吸（默认态「活起来」——用户第一眼看到的她） */
@keyframes lxDockBreath {
  0%   { transform: scale(1); }
  38%  { transform: scale(1.016); }  /* 吸气峰（对齐引擎 breathWave 双相波） */
  88%  { transform: scale(1); }
  100% { transform: scale(1); }      /* 12% 屏息 */
}
/* 特异性 (1,4,2) > dock-geometry 霰弹 (1,3,3)，双 !important 下高特异性胜出。
 * 安全性：transform 动画纯合成器执行（零重绘/零解码/零样式重算），不触发
 * v329.x 闪烁三大根因，可安全豁免反闪烁霰弹规则。 */
html body #ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-img-base {
  animation: lxDockBreath 4.6s ease-in-out 0s infinite normal none running !important;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  html body #ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-img-base { animation: none !important; }
}

/* ③ 按钮热区扩展（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%;
}

/* ===== v984 · #2634 C线：dock 移动端触控目标 ≥44px（视觉零变化 ::after 命中区扩展）=====
 * 实测依据（probe_small_targets.cjs @390×844，双栈一致）：
 *   .ai-dock-toggle 37×27 / .ai-avatar-bubble-close 19×14 / .ai-avatar-quick-chip h33
 *   #lx-evolve-toggle 🧠 26×26 / #lx_pred_badge_v357 h28（role=button）
 *   .ai-avatar-btn 51×41（v954 ::after -7px）→ 垂直补齐至 45
 * 规范：移动端可交互元素命中区 ≥44×44px（Apple HIG / WCAG 2.5.8）
 * 说明：toggle/bubbleClose/evolve/predBadge 均为 absolute，自身即包含块，无需改 position；
 *   quick-chip 为 static 需补 position:relative；无名 30×30 角标钮不动
 *   （避免给 0×0 隐藏兄弟钮制造幽灵热区，见 probe_positions.cjs）。 */
#ai-avatar-fab .ai-dock-toggle::after {
  content: ''; position: absolute; inset: -9px -4px;   /* 37×27 → 45×45 */
}
#ai-avatar-fab .ai-avatar-bubble-close::after {
  content: ''; position: absolute; inset: -15px -13px; /* 19×14 → 45×44 */
}
#ai-avatar-fab .ai-avatar-quick-chip { position: relative; }
#ai-avatar-fab .ai-avatar-quick-chip::after {
  content: ''; position: absolute; inset: -6px 0;      /* h33 → 45（行距 7px，热区微叠 5px 可接受） */
}
#ai-avatar-fab #lx-evolve-toggle::after {
  content: ''; position: absolute; inset: -9px;        /* 26×26 → 44×44 */
}
#ai-avatar-fab #lx_pred_badge_v357::after {
  content: ''; position: absolute; inset: -8px 0;      /* h28 → 44 */
}
#ai-avatar-fab .ai-avatar-btn::after {
  inset: -9px -7px;                                     /* v954 51×41 → 51×45（垂直补齐，水平保持防相邻热区重叠） */
}

/* v985 补刀：[data-lx-video-share]「选股三句话」视频入口钮 30×30 → 44×44
 * （probe_btn_id.cjs 实证身份；inline absolute 自身即包含块；隐藏兄弟 [data-lx-stock-tips]
 *   与 .ai-avatar-fs-mini 均 display:none，::after 不渲染零幽灵热区） */
#ai-avatar-fab [data-lx-video-share]::after {
  content: ''; position: absolute; inset: -7px;
}
