:root {
  color: #151619;
  background: #fafafa;
  font-family:
    "Helvetica Neue", Helvetica, Arial, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
}

body {
  min-height: 100vh;
  background: #fafafa;
}

main {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 48px 24px;
}

@supports (height: 100svh) {
  body,
  main {
    min-height: 100svh;
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.wordmark {
  display: block;
  width: min(320px, 100%);
  height: auto;
  overflow: visible;
  transform: translateY(-4vh);
}

.wordmark__letter {
  fill: #151619;
  opacity: 0;
  animation: reveal 1ms step-end both;
}

.wordmark__letter:nth-of-type(1) {
  animation-delay: 840ms;
}

.wordmark__letter:nth-of-type(2) {
  animation-delay: 980ms;
}

.wordmark__letter:nth-of-type(3) {
  animation-delay: 1.12s;
}

.wordmark__letter:nth-of-type(4) {
  animation-delay: 1.26s;
}

.wordmark__letter:nth-of-type(5) {
  animation-delay: 1.4s;
}

.wordmark__letter:nth-of-type(6) {
  animation-delay: 1.54s;
}

.wordmark__letter:nth-of-type(7) {
  animation-delay: 1.68s;
}

.wordmark__cursor {
  fill: #5c6cd3;
  transform-box: view-box;
  animation:
    cursor-position 1.68s steps(1, end) forwards,
    cursor-blink 1.06s step-end infinite;
}

footer {
  position: fixed;
  right: 24px;
  bottom: 40px;
  left: 24px;
  display: flex;
  gap: 0.45rem;
  align-items: center;
  justify-content: center;
  color: #71717a;
  font-size: 0.75rem;
  line-height: 1.4;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(8px);
  animation: footer-rise 0.9s ease-out 2.33s forwards;
}

footer a {
  color: #52525b;
  text-decoration: none;
}

footer span[aria-hidden="true"] {
  color: #d4d4d8;
}

footer a:hover {
  color: #151619;
}

footer a:focus-visible {
  outline: 2px solid #5c6cd3;
  outline-offset: 4px;
}

@keyframes reveal {
  to {
    opacity: 1;
  }
}

@keyframes cursor-position {
  0% {
    transform: translateX(-90.1429%);
  }

  50% {
    transform: translateX(-85.9524%);
  }

  58.333% {
    transform: translateX(-69.619%);
  }

  66.667% {
    transform: translateX(-58.619%);
  }

  75% {
    transform: translateX(-43.4286%);
  }

  83.333% {
    transform: translateX(-27.0476%);
  }

  91.667% {
    transform: translateX(-10.4286%);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes cursor-blink {
  50% {
    opacity: 0;
  }
}

@keyframes footer-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 280px) {
  footer {
    flex-direction: column;
    gap: 0.25rem;
  }

  footer span[aria-hidden="true"] {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wordmark__letter,
  .wordmark__cursor {
    opacity: 1;
    transform: none;
    animation: none;
  }

  footer {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
