:host {
  min-height: 5000px;
  min-width: 5000px;
  position: relative;
  top: 0;
  left: 0;
}

.canvas {
  top: 0;
  left: 0;
  width: 500px;
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;

  &.canvas-positioned {
    position: absolute;
    top: 100px;
    left: 100px;
  }
}

.canvas-overflow {
  overflow: auto;
  display: block;

  .base-wrapper {
    width: 1500px;
    height: 1500px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.base {
  width: 10px;
  height: 10px;
  background-color: red;

  &.base-xl {
    width: 100px;
    height: 100px;
  }
}

.affixed {
  width: 50px;
  height: 50px;
  background-color: blue;
  position: fixed;

  &-absolute {
    position: absolute;
  }
}
