.chk {
  position: relative;
  display: inline-flex;
  width: 32px;
  height: 32px;
  cursor: pointer;
}

.chk input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
}

.chk .box {
  width: 100%;
  height: 100%;
  border: 2px solid #f563ff;
  border-radius: 8px;
  padding: 3px;
  box-sizing: border-box;
}

.chk .box::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #f563ff;
  opacity: 0.1;
  border-radius: 4px;
  transition: opacity 0.2s;
}

.chk input:checked + .box::before {
  opacity: 1;
}
