/* 工作台体验层：补充 builder、研究和回测的状态反馈，不改变任务逻辑。 */
/*
 * 注意：不要给 .live-wizard-panel 加 xt-fade-in。
 * 三步共用一条 300% 宽轨道，非当前步的面板靠 live_wizard.css 里的
 * `opacity: .28` 表示“在旁边”，而动画的 fill-mode: both 会把这个 opacity
 * 永久顶成 1 —— 快速点步骤时三个面板全都变成不透明，相邻步骤的内容会
 * 从轨道里透出来（看起来像内容叠在一起/闪烁）。首屏淡入交给 workspace 层。
 */
body.page-strategy-workshop .xtnb-workspace,
body.page-backtest .bt-workspace {
  animation: xt-fade-in var(--motion-normal) var(--ease-standard) both;
}

body.page-builder .live-hero-pane,
body.page-builder .live-surface,
body.page-builder .strategy-card,
body.page-strategy-workshop .xtnb-cell,
body.page-strategy-workshop .xtnb-chat-message,
body.page-backtest .bt-kpi-card,
body.page-backtest .bt-chart-card,
body.page-backtest .bt-detail-card,
body.page-backtest .bt-analysis-card {
  transition: border-color var(--motion-normal) var(--ease-standard), background var(--motion-normal) var(--ease-standard), box-shadow var(--motion-normal) var(--ease-standard), transform var(--motion-normal) var(--ease-emphasized);
}

body.page-builder .live-hero-pane:hover,
body.page-builder .live-surface:hover {
  border-color: color-mix(in srgb, var(--builder-accent) 40%, var(--builder-border));
}

body.page-builder .live-hero-pane[data-selected="true"],
body.page-builder .live-hero-pane.is-selected {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--builder-accent) 55%, transparent), var(--shadow-md);
}

body.page-builder .live-wizard-step,
body.page-builder .live-wizard-step__num,
body.page-builder .live-wizard-step-line::after {
  transition-timing-function: var(--ease-emphasized);
}

body.page-builder .live-wizard-step:active,
body.page-builder .live-hero-pane:active {
  transform: scale(0.985);
}

body.page-strategy-workshop .xtnb-cell:hover,
body.page-strategy-workshop .xtnb-chat-message:hover,
body.page-backtest .bt-kpi-card:hover,
body.page-backtest .bt-chart-card:hover,
body.page-backtest .bt-detail-card:hover,
body.page-backtest .bt-analysis-card:hover {
  border-color: color-mix(in srgb, var(--color-accent) 35%, var(--color-border));
  box-shadow: var(--shadow-sm);
}

body.page-strategy-workshop .xtnb-chat-message.assistant,
body.page-strategy-workshop .xtnb-cell-output,
body.page-strategy-workshop .xtnb-bt-preview,
body.page-backtest .bt-kpi-section,
body.page-backtest .bt-chart-card,
body.page-backtest .bt-detail-card,
body.page-backtest .bt-analysis-card {
  animation: xt-rise-in var(--motion-slow) var(--ease-emphasized) both;
}

body.page-backtest .bt-params-panel,
body.page-backtest .bt-analysis-panel {
  transform-origin: top center;
  transition: opacity var(--motion-normal) var(--ease-standard), transform var(--motion-normal) var(--ease-emphasized);
}

body.page-backtest .bt-sidebar-split:hover .bt-sidebar-split-line,
body.page-backtest .bt-sidebar-split:focus-visible .bt-sidebar-split-line,
body.page-backtest .bt-sidebar-split.is-dragging .bt-sidebar-split-line {
  background: var(--bt-accent);
}

body.page-backtest .bt-params-run:active,
body.page-backtest .bt-tab:active,
body.page-strategy-workshop .xtnb-tool:active {
  transform: scale(0.96);
}

@media (max-width: 767px) {
  body.page-builder .live-hero-pane:hover,
  body.page-strategy-workshop .xtnb-cell:hover,
  body.page-strategy-workshop .xtnb-chat-message:hover,
  body.page-backtest .bt-kpi-card:hover,
  body.page-backtest .bt-chart-card:hover,
  body.page-backtest .bt-detail-card:hover,
  body.page-backtest .bt-analysis-card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-strategy-workshop .xtnb-workspace,
  body.page-strategy-workshop .xtnb-chat-message.assistant,
  body.page-strategy-workshop .xtnb-cell-output,
  body.page-strategy-workshop .xtnb-bt-preview,
  body.page-backtest .bt-workspace,
  body.page-backtest .bt-kpi-section,
  body.page-backtest .bt-chart-card,
  body.page-backtest .bt-detail-card,
  body.page-backtest .bt-analysis-card {
    animation: none !important;
  }
}
