body {
  margin: 0;
  overflow: hidden;

  background-color: black;
}

#ui-layer {
  position: absolute;
  top: 0;
  left: 0;

  width: 100vw;
  height: 100dvh;

  color: white;
}

.ui-element {
  --offset-x: 10px;
  --offset-y: 10px;

  top: var(--offset-y);
  left: var(--offset-x);

  display: block;
  position: relative;
}

.ui-element > .ui-element {
  position: absolute;
}

.ui-generic {
  --offset-x: 0px;
  --offset-y: 0px;
}

.ui-label, .ui-button, .ui-input {
  position: absolute;
}

.ui-anchor-topright {
  left: initial;
  right: var(--offset-x);
}

.ui-anchor-bottomleft {
  top: initial;
  bottom: var(--offset-y);
}

.ui-anchor-bottomright {
  top: initial;
  bottom: var(--offset-y);
  left: initial;
  right: var(--offset-x);
}

.ui-anchor-center {
  top: 50%;
  left: 50%;

  transform: translateX(calc(var(--offset-x) - 50%)) translateY(calc(var(--offset-y) - 50%));
}