/* ============================================================
 * 主题切换过渡 — View Transitions API + antd 容器精准覆盖
 *
 * 策略：
 *   Chromium/Electron：View Transitions API GPU cross-fade（1 个动画）
 *   其他浏览器：CSS transition 精准覆盖 ~80 个 antd 容器类
 *
 * 改过渡参数 → 改这个文件。
 * ============================================================ */

/* ============================================================
 * View Transitions API — GPU 合成器驱动的主题切换动画
 * 替代 80+ 个独立 CSS 过渡，单次 cross-fade 消除 Electron 卡顿。
 * 仅在 Chromium 111+（Electron 28+）生效，其他浏览器回退 CSS 过渡。
 * ============================================================ */

::view-transition-old(root),
::view-transition-new(root) {
   animation-duration: 0.15s;
   animation-timing-function: linear;
}

/* ============================================================
 * 主题切换过渡 — 精准覆盖大面积视觉容器，避免 * 全局选择器
 * 在 Electron 中为数千个 DOM 节点同时启动过渡造成卡顿。
 *
 * 策略：
 *   1. 容器/布局组件（Card / Modal / Layout / Drawer 等）
 *   2. 表格 & 列表（Table / List / Timeline）
 *   3. 表单控件（Input / Select / Picker）
 *   4. 导航 & 标签（Menu / Tabs / Tag / Breadcrumb）
 *   5. 反馈 & 展示（Alert / Empty / Result / Statistic / Skeleton）
 *
 * 不覆盖交互组件自有 transition（Button / Switch / Slider 等
 * 均使用 transition: all，特异性更高不受影响）。
 * ============================================================ */

/* —— 布局 & 容器 —— */
body,
.ant-layout,
.ant-layout-header,
.ant-layout-sider,
.ant-layout-content,
.ant-card,
.ant-card-head,
.ant-card-body,
.ant-card-actions,
.ant-modal-content,
.ant-modal-header,
.ant-modal-body,
.ant-modal-footer,
.ant-drawer-content,
.ant-drawer-header,
.ant-drawer-body,
.ant-drawer-footer,

/* —— 表格 & 列表 —— */
.ant-table,
.ant-table-thead > tr > th,
.ant-table-tbody > tr > td,
.ant-table-tbody > tr:hover > td,
.ant-list,
.ant-list-item,
.ant-timeline-item,
.ant-transfer-list,
.ant-tree-node-content-wrapper,

/* —— 表单控件 —— */
.ant-input,
.ant-input-affix-wrapper,
.ant-select-selector,
.ant-select-dropdown,
.ant-picker,
.ant-picker-input,
.ant-picker-dropdown,
.ant-picker-panel-container,
.ant-input-number,
.ant-input-number-input,
.ant-radio-button-wrapper,
.ant-radio-group,
.ant-checkbox-wrapper,
.ant-segmented,
.ant-segmented-item,
.ant-upload-drag,
.ant-upload-list-item,

/* —— 导航 & 标签 —— */
.ant-menu,
.ant-menu-item,
.ant-menu-submenu-title,
.ant-tabs-nav,
.ant-tabs-nav-list,
.ant-tabs-tab,
.ant-tabs-content,
.ant-tag,
.ant-breadcrumb,
.ant-pagination-item,
.ant-dropdown-menu,

/* —— 反馈 & 展示 —— */
.ant-alert,
.ant-empty,
.ant-result,
.ant-statistic,
.ant-statistic-content,
.ant-badge,
.ant-avatar,
.ant-divider,
.ant-skeleton,
.ant-skeleton-input,
.ant-skeleton-button,
.ant-notification-notice,
.ant-message-notice-content,
.ant-popover-inner,
.ant-tooltip-inner,
.ant-collapse,
.ant-collapse-item,
.ant-collapse-header,
.ant-collapse-content-box,
.ant-descriptions-item-container {
   transition:
      color 0.15s linear,
      background-color 0.15s linear,
      border-color 0.15s linear,
      box-shadow 0.15s linear;
}
