html,
body {
  margin: 0;
  padding: 0;
}

main {
  display: grid;
  min-height: 95vh;
  place-items: center;
}

section {
  max-width: 60ch;
}

h1 {
  font-family: 'Courier New', Courier, monospace;
  position: relative;
  text-align: center;
  text-transform: uppercase;
}

h1 span {
  animation-name: appear;
  animation-timing-function: ease-in;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.no-motion h1 span {
  animation-name: none;
	opacity: 1;
}

@media (prefers-reduced-motion: reduced) {
  h1 span {
    animation-name: none;
		opacity: 1;
  }
}

h1 span:nth-child(1),
h1 span:nth-child(2) {
  position: absolute;
  text-orientation: upright;
  writing-mode: vertical-lr;
}

h1 span:nth-child(1) {
  animation-delay: 0s;
  inset-block-start: 6.46em;
  inset-inline-end: 2.58em;
}

h1 span:nth-child(2) {
  animation-delay: 0.5s;
  inset-block-start: 4.6em;
  inset-inline-start: -2.9em;
}

h1 span:nth-child(3) {
  animation-delay: 1s;
  display: block;
  margin-block-end: 1.3em;
}

h1 span:nth-child(4) {
  animation-delay: 1.5s;
}

p {
  margin: 0 0 1em 0;
}

[data-component="new-game-scene"] div {
  margin-block-end: 1.5em;
}

[data-component="level-scene"] {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
}

[data-component="level-scene"] section {
  flex: 1 1 35%;
}

@keyframes appear {
  from { opacity: 0; }
  to   { opacity: 1; }
}
