*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #0a0a0a;
  /*cursor: none;*/
  background-color: black;
}

textarea {
  resize: none;
}

.story {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 200% 12% 12%;
  gap: 6px;
}

.scroller {
  position: absolute;
  inset: 0;
  overflow-y: scroll;
  scrollbar-width: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.pupil {
  position: absolute;
  width: 20%;
  aspect-ratio: 1/1;
  top: 30%;
  left: 40%;
  border-radius: 50%;
  background: 
    repeating-radial-gradient(#000 0 0.001%,#6600CC 0 0.002%) 50% 0/2500px 250px,
    repeating-conic-gradient(#000 0 0.001%,#6600CC 0 0.002%) 60% 0%/250px 2500px;
  background-blend-mode: difference;
  animation: b .2s infinite alternate, switch 3s none;
  font-family: "Source Code Pro", monospace;
  overflow: hidden;
}

.eye {
  position: absolute;
  width: 35%;
  aspect-ratio: 1/1;
  left: 32.5%;
  top: 15%;
  border-radius: 80% 0;
  transform: scaleX(1) rotate(-45deg);
  border: 16px solid rgba(102, 0, 204, 0.5);
  animation: open 2s;
}

@keyframes open {
  0% {
    transform: scaleX(0) rotate(-45deg);
  }
  50% {
    transform: scaleX(0) rotate(-45deg);
  }
  100% {
    transform: scaleX(1) rotate(-45deg);
  }
}

@keyframes switch {
  0% {
    transform: scale(0.01,0.01);
    border-radius: 0%;
  }
  60% {
    transform: scale(0.01,0.01);
    border-radius: 0%;
  }
  80% {
    transform: scale(1,0.01);
    border-radius: 0%;
  }
  100%{
    transform: scale(1,1);
    border-radius: 50%;
  }
}

@keyframes b{
  100% {background-position: 50% 0, 60% 50%}
}

label {
  font-family: "Source Code Pro", monospace;
  font-size: 20px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

input, textarea {
  font-family: "Source Code Pro", monospace;
  font-size: 11px;
  color: white;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(102, 0, 204, 0.4);
  border-radius: 4px;
  padding: 6px 8px;
  outline: none;
  width: 100%;
}

input:focus, textarea:focus {
  border-color: rgba(102, 0, 204, 0.9);
  background: rgba(40, 0, 80, 0.8);
}

input::placeholder, textarea::placeholder {
  color: rgba(102, 0, 204, 0.4);
}

input:focus::placeholder, textarea:focus::placeholder {
  color: #b380e6;
}

textarea {
  min-height: 120px;
  overflow: hidden;
  line-height: 1.5;
}

button#submit {
  font-family: "Source Code Pro", monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  background: transparent;
  border: 1px solid rgba(102, 0, 204, 0.5);
  border-radius: 4px;
  padding: 6px 14px;
  cursor: pointer;
  align-self: center;
  width: auto;
}

button#submit:hover {
  background: rgba(102, 0, 204, 0.15);
  border-color: rgba(102, 0, 204, 0.9);
}