$clipper-edge-border-width: 6rpx !default;

.t-cropper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  z-index: 1000;
  overflow: hidden;
  .canvas {
    position: absolute;
    top: 5000px;
    left: 5000px;
  }
  // 裁剪区域
  .t-preview-container {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    z-index: 1000;
    opacity: 0;
    overflow: hidden;

    .preview-body {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background: #000;
      overflow: hidden;
      .mask-model {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background: #000;
        opacity: 0.4;
        pointer-events: none;
      }
      .image-wrap {
        position: absolute;
        .image {
          position: absolute;
        }
      }
      // 裁剪框盒子
      .frame-box {
        position: absolute;
        left: 100px;
        top: 100px;
        width: 200px;
        height: 200px;
        // 矩形图片
        .rect {
          position: absolute;
          left: -2px;
          top: -2px;
          width: 100%;
          height: 100%;
          border: 2rpx solid white;
          overflow: hidden;
          box-sizing: content-box;
          .image-rect {
            position: absolute;
            .rect-img {
              position: absolute;
            }
          }
        }
        //裁剪框线条
        .line-one {
          position: absolute;
          width: 100%;
          border-top: 1px dashed #ccc;
          left: 0;
          top: 33.3%;
          box-sizing: content-box;
        }
        .line-two {
          position: absolute;
          width: 100%;
          border-top: 1px dashed #ccc;
          left: 0;
          top: 66.7%;
          box-sizing: content-box;
        }
        .line-three {
          position: absolute;
          height: 100%;
          border-right: 1px dashed #ccc;
          top: 0;
          left: 33.3%;
          box-sizing: content-box;
        }
        .line-four {
          position: absolute;
          height: 100%;
          border-right: 1px dashed #ccc;
          top: 0;
          left: 66.7%;
          box-sizing: content-box;
        }
        .frame-left-top {
          position: absolute;
          width: 20px;
          height: 20px;
          left: -8rpx;
          top: -8rpx;
          border-left: 4rpx solid #fff;
          border-top: 4rpx solid #fff;
          box-sizing: content-box;
        }
        .frame-left-bottom {
          position: absolute;
          width: 20px;
          height: 20px;
          left: -8rpx;
          bottom: -4rpx;
          border-left: 4rpx solid #fff;
          border-bottom: 4rpx solid #fff;
          box-sizing: content-box;
        }
        .frame-right-top {
          position: absolute;
          width: 20px;
          height: 20px;
          right: -4rpx;
          top: -8rpx;
          border-right: 4rpx solid #fff;
          border-top: 4rpx solid #fff;
          box-sizing: content-box;
        }
        .frame-right-bottom {
          position: absolute;
          width: 20px;
          height: 20px;
          right: -4rpx;
          bottom: -4rpx;
          border-right: 4rpx solid #fff;
          border-bottom: 4rpx solid #fff;
          box-sizing: content-box;
        }
      }
    }

    // 底部工具栏
    .toolbar {
      position: absolute;
      width: calc(100% - 64rpx);
      height: 100rpx;
      left: 0;
      bottom: 10rpx;
      text-align: center;
      display: flex;
      justify-content: space-between;
      padding: 0 32rpx;
      align-items: center;
      // IOS 底部安全距离
      padding-bottom: constant(safe-area-inset-bottom);
      padding-bottom: env(safe-area-inset-bottom);
      .btn-cancel {
        width: 112rpx;
        font-size: 28rpx;
        color: #d5dfe5;
        font-weight: bold;
      }
      .btn-rotate {
        width: 112rpx;
        font-size: 28rpx;
        color: #d5dfe5;
        font-weight: bold;
        image {
          width: 60rpx;
          height: 60rpx;
        }
      }
      .btn-confirm {
        font-size: 28rpx;
        color: #ffffff;
        font-weight: bold;
        width: 112rpx;
        height: 60rpx;
        line-height: 60rpx;
        background: #07c160;
        border-radius: 6rpx;
        text-align: center;
      }
    }

    .transit {
      transition: width 0.3s, height 0.3s, left 0.3s, top 0.3s, transform 0.3s;
    }
  }
  .showPage {
    opacity: 1 !important;
  }
}
