/* ============================================================================
   ui_smoothness.css  v1
   UI 流畅性优化（渲染/动画性能）—— 不影响任何功能，仅为渲染减负
   站点 gugu8858.icu（fisher 设备控制平台，Vue3 + Ant Design）
   ----------------------------------------------------------------------------
   诊断（真实浏览器 1600x900）：
   - 最大的渲染成本是固定 chrome 上的 backdrop-filter: blur()。侧栏
     .ant-layout-sider / .ant-layout-sider-children 为 blur(22px)、高度 844px，
     顶栏 .ant-layout-header 为 blur(18px)。这些元素每次滚动/重绘都会对其
     背景做一次大半径模糊重采样（blur 半径越大、面积越大成本越高），是滚动
     卡顿的主要来源之一。
   - 无持续运行的 keyframe 动画（animationCount=0），无状态点 pulse。
   - transition:all 多为 <style>/<head> 的 0s（无害），少量 UI 控件可用
     具体属性收敛。
   优化（已在真实浏览器验证：无 console 错误、布局不变、滚动仍生效）：
   1) 侧栏/顶栏 blur 半径约减半（22→12、18→10），保留玻璃质感，显著降低
      每次重绘的背景重采样成本。
   2) 内容区 .ant-layout-content 加 scroll-behavior:smooth（侧栏/顶栏不动）。
   3) 常见 UI 控件把 transition:all 收敛为具体属性，避免 hover/交互触发
      布局类属性动画（reflow），只保留视觉过渡。
   ========================================================================== */

/* 1) 固定 chrome 的 backdrop-filter 裁剪：缩小 blur 半径，保留玻璃质感、
      降低每次滚动/重绘对背景的模糊重采样成本。 */
html body:has(.brand-lockup) .ant-layout-sider,
html body:has(.brand-lockup) .ant-layout-sider-children,
html body:has(.brand-lockup) .rc-sidebar {
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
html body:has(.brand-lockup) .rc-header.rc-header-elevated,
html body:has(.brand-lockup) .dashboard-topbar {
  backdrop-filter: blur(10px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.3) !important;
}
/* 内容区内超宽的廉价扩散层 blur 也减小，避免大区域重绘 */
html body:has(.brand-lockup) .ant-layout-content > div:has(> div[style*="repeat(auto-fill"]) {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* 2) 内容区平滑滚动（侧栏/顶栏保持固定） */
html body:has(.brand-lockup) .ant-layout-content {
  scroll-behavior: smooth !important;
}

/* 3) 收敛 UI 控件的 transition:all 为具体属性，避免布局类属性动画（reflow） */
html body:has(.brand-lockup) .ant-menu-item,
html body:has(.brand-lockup) .ant-btn,
html body:has(.brand-lockup) .ant-tag,
html body:has(.brand-lockup) .ant-segmented-item {
  transition: color .2s ease, background-color .2s ease,
              border-color .2s ease, box-shadow .2s ease,
              transform .1s ease !important;
}
