*,
*::before,
*::after {
  margin: 0;
  padding: 0;
}

:root {
  scroll-behavior: smooth;

  /* Golden ratio */
  --ratio: 1.618;
  --s-0: 1rem;
  --s-1: calc(var(--s-0) * var(--ratio));
  --s-2: calc(var(--s-1) * var(--ratio));
  --s-3: calc(var(--s-2) * var(--ratio));
  --s-neg-1: calc(var(--s-0) / var(--ratio));
}

body {
  font-family:
    "Liberation Mono", ui-monospace, SFMono-Regular, "Roboto Mono",
    "Droid Sans Mono", Menlo, Monaco, Consolas, "Courier New", monospace;
  width: 100vw;
  min-height: 100vh;
  margin: 0 auto;
  line-height: 1.3;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  background-image: none;
  color: #222;
}

@keyframes backgroundScroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(280px, 490px, 0);
  }
}

body::before {
  content: "";
  position: fixed;
  top: -500px;
  left: -500px;
  width: calc(100% + 500px);
  height: calc(100% + 500px);
  z-index: -1;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%239d9' fill-opacity='0.4' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  will-change: transform;
  animation: backgroundScroll 70s linear infinite;
}

main {
  max-width: 70ch;
}

h1 {
  display: block;
  font-size: var(--s-2);
  margin: 0 0 var(--s-1);
  font-weight: bold;
}

h2 {
  display: block;
  font-size: var(--s-0);
  margin: var(--s-0) 0 var(--s-0);
}

p {
  font-size: var(--s-0);
}

a {
  color: #7703d6;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

a:hover {
  color: #6703b8;
  text-decoration: underline;
}

.linker {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin: var(--s-0) 0 var(--s-0);
}
