:root {
  --col1:darkred;
  --start-breit: 640px;
  --mitte-breit: 320px;
  --enden-breit: 640px;
  --dauer:2s;
}
html, body {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  padding: 0;
  background-color: black;
  font-size: 2rem;
}
body {
  width: 100svw;
  margin-top: 5svh;
}
@keyframes wreite {
  from {
    width: var(--start-breit);
    height: var(--start-breit);
    text-align: left;
  }
  34% {
    width: var(--mitte-breit);
    height: var(--mitte-breit);
    text-align: right;
  }
  66% {
    width: var(--mitte-breit);
    height: var(--mitte-breit);
    text-align: left;
  }
  to {
    width: var(--enden-breit);
    height: var(--enden-breit);
    text-align: right;
  }
}
div {
  display: block;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 10px;
  width: 640px;
  height: 640px;
  max-width: 42%;
  max-height: 42%;
  background-color: var(--col1);
  border:2px outset azure;
  align-content: center;
  text-align: center;
  border-radius: 95%;
  animation: wreite var(--dauer) linear infinite;
  animation-delay: 1s;
}
@media screen and (orientation: portrait) {
  div {
    width: 100%;
    max-width: 89svw;
    max-height: 89svw;
  }
}