/* === v211: LivingPortrait 真实AI活人渲染引擎样式 ===
 * 将静态照片替换为单一全尺寸Canvas，由 JS 控制 object-fit / object-position / 变形动画。
 */

/* === 桌面端展开态 === */
@media (min-width: 769px) {
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded {
    width: 300px !important;
    min-height: 460px !important;
    right: 20px !important;
    bottom: 16px !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area {
    width: 220px !important;
    height: 244px !important;
    margin-top: 16px !important;
    position: relative !important;
    overflow: hidden !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-glow {
    width: 240px !important;
    height: 264px !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-bubble {
    max-width: 260px !important;
    width: calc(100% - 28px) !important;
  }

  /* 新 Canvas 占满头像区，比例/位置由 JS 计算 */
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-living-canvas {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    transform: scale(1.02) !important;
    transform-origin: center center !important;
    transition: filter 0.3s ease, transform 0.3s var(--ease-spring) !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-hovering .ai-avatar-living-canvas {
    transform: scale(1.04) !important;
  }

  /* 移除旧 img / overlay 样式 */
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-img,
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-canvas-overlay {
    display: none !important;
  }
}

/* === 移动端展开态 === */
@media (max-width: 768px) {
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded {
    width: 220px !important;
    min-height: 340px !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area {
    width: 150px !important;
    height: 168px !important;
    position: relative !important;
    overflow: hidden !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-glow {
    width: 170px !important;
    height: 188px !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-living-canvas {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    transform: scale(1.02) !important;
    transform-origin: center center !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-hovering .ai-avatar-living-canvas {
    transform: scale(1.04) !important;
  }

  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-img,
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-canvas-overlay {
    display: none !important;
  }
}

/* === AI 分析聊天面板头像保留 === */
.panel.chat-panel .panel-header .title .ai-avatar-img {
  width: 56px !important;
  height: 72px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  object-position: center 8% !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 10px !important;
  flex-shrink: 0 !important;
}

/* === v217: 品牌 Logo 中文优化 === */
.brand-text {
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "WenQuanYi Micro Hei", sans-serif;
  font-weight: 700;
  font-size: 21px;
  letter-spacing: 0.12em;
  background: linear-gradient(135deg, #FFD700 0%, #FFF8E0 25%, #8AB4FF 70%, #5B8DEF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(255, 200, 80, 0.35)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.4));
  margin-left: 6px;
  position: relative;
  transform: translateZ(0);
  transition: filter 0.3s ease, letter-spacing 0.3s ease;
}

.brand:hover .brand-text {
  filter: drop-shadow(0 0 16px rgba(255, 200, 80, 0.55)) drop-shadow(0 2px 3px rgba(0, 0, 0, 0.5));
  letter-spacing: 0.16em;
}

/* 侧边栏折叠状态下隐藏文字，仅保留 Logo 图标 */
.sidebar.collapsed .brand-text {
  opacity: 0;
  width: 0;
  margin-left: 0;
  overflow: hidden;
}

/* === v217: 数字人微交互增强 === */
/* 头像展开面板呼吸光环 */
#ai-avatar-fab.fab-ai.ai-dock .ai-dock-glow {
  animation: avatarGlowPulse 4s ease-in-out infinite;
}

@keyframes avatarGlowPulse {
  0%, 100% { opacity: 0.75; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.03); }
}

/* 说话/思考状态的光环强化 */
#ai-avatar-fab.fab-ai.ai-dock.is-speaking .ai-dock-glow,
#ai-avatar-fab.fab-ai.ai-dock.is-thinking .ai-dock-glow {
  animation: avatarActiveGlow 1.2s ease-in-out infinite;
}

@keyframes avatarActiveGlow {
  0%, 100% { box-shadow: 0 0 30px rgba(60, 140, 255, 0.35); }
  50% { box-shadow: 0 0 50px rgba(60, 140, 255, 0.65); }
}

/* === v218: 数字人状态文案平滑切换与市场情绪色 === */
#ai-avatar-fab.fab-ai.ai-dock .ai-dock-status {
  transition: opacity 0.25s ease, color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

#ai-avatar-fab.fab-ai.ai-dock.market-up .ai-dock-status {
  color: rgba(255, 120, 120, 0.95);
  background: rgba(255, 80, 80, 0.12);
  border-color: rgba(255, 100, 100, 0.25);
}

#ai-avatar-fab.fab-ai.ai-dock.market-down .ai-dock-status {
  color: rgba(120, 255, 160, 0.95);
  background: rgba(80, 220, 120, 0.12);
  border-color: rgba(100, 230, 150, 0.25);
}

#ai-avatar-fab.fab-ai.ai-dock.market-flat .ai-dock-status {
  color: rgba(180, 200, 255, 0.95);
  background: rgba(120, 150, 255, 0.10);
  border-color: rgba(140, 170, 255, 0.20);
}

/* 头像点击反馈 */
#ai-avatar-fab.fab-ai.ai-dock.is-reacting .ai-avatar-living-canvas {
  transform: scale(1.06) !important;
  filter: brightness(1.08);
}

/* 市场情绪上涨时的暖色辉光 */
#ai-avatar-fab.fab-ai.ai-dock.market-up .ai-dock-glow {
  animation: avatarBullGlow 2.5s ease-in-out infinite;
}

@keyframes avatarBullGlow {
  0%, 100% { box-shadow: 0 0 30px rgba(255, 80, 60, 0.35); }
  50% { box-shadow: 0 0 55px rgba(255, 80, 60, 0.6); }
}

/* 市场情绪下跌时的冷色辉光 */
#ai-avatar-fab.fab-ai.ai-dock.market-down .ai-dock-glow {
  animation: avatarBearGlow 2.5s ease-in-out infinite;
}

@keyframes avatarBearGlow {
  0%, 100% { box-shadow: 0 0 30px rgba(60, 220, 120, 0.3); }
  50% { box-shadow: 0 0 55px rgba(60, 220, 120, 0.55); }
}

/* 气泡更精致 */
#ai-avatar-fab.fab-ai.ai-dock .ai-avatar-bubble {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}
