  /* ========== 对比组件核心样式 ========== */
  .ba-container {
      position: relative;
      width: 100%;
      min-width: 100px;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      /* border-radius: 12px;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); */
      cursor: ew-resize;
      user-select: none;
      -webkit-user-select: none;
      background: #e0e0e0;
      touch-action: none;
  }

  .ba-container img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      pointer-events: none;
      display: block;
  }

  .ba-before {
      z-index: 2;
      clip-path: inset(0 50% 0 0);
      will-change: clip-path;
  }

  .ba-after {
      z-index: 1;
  }

  .ba-line {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 1px;
      background: #fff;
      z-index: 3;
      transform: translateX(-50%);
      pointer-events: none;
      box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
  }

  .ba-handle {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 44px;
      height: 44px;
      background: #fff;
      border-radius: 50%;
      z-index: 4;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
      pointer-events: none;
      transition: transform 0.15s ease;
  }

  .ba-handle::before,
  .ba-handle::after {
      content: '';
      border: 1px solid #555;
      border-width: 0 2px 2px 0;
      padding: 4px;
  }

  .ba-handle::before {
      transform: rotate(135deg);
      margin-right: -1px;
  }

  .ba-handle::after {
      transform: rotate(-45deg);
      margin-left: -1px;
  }

  /* .ba-container.active .ba-handle {
            transform: translate(-50%, -50%) scale(1.2);
            background: #f0f0f0;
        } */

  .ba-label {
      position: absolute;
      bottom: 12px;
      padding: 3px 10px;
      background: rgba(0, 0, 0, 0.55);
      color: #fff;
      font-size: 11px;
      border-radius: 20px;
      z-index: 5;
      pointer-events: none;
      letter-spacing: 0.5px;
      text-transform: uppercase;
  }

  .ba-label-before {
      left: 12px;
  }

  .ba-label-after {
      right: 12px;
  }

  /* 加载占位动画 */
  .ba-container.ba-loading::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, #e0e0e0 25%, #eee 50%, #e0e0e0 75%);
      background-size: 200% 100%;
      animation: shimmer 1.5s infinite;
      z-index: 0;
  }

  @keyframes shimmer {
      to {
          background-position: -200% 0;
      }
  }