@font-face {
  font-family: "Space Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts/space-mono-regular.ttf") format("truetype");
}

:root {
  color-scheme: dark;
  font-family: "Space Mono", "Courier New", monospace;
  background: #091713;
  color: #b8f0ce;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

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

body {
  min-height: 100svh;
}

main {
  width: min(100%, 92rem);
  min-height: 100svh;
  margin: 0 auto;
  padding: 4.375rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3.375rem;
}

.intro {
  min-width: 0;
}

.intro p {
  max-width: 29.375rem;
  margin: 1.375rem 0 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.015em;
}

h1 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.prompt {
  color: #729c84;
}

nav {
  margin: 0;
}

a {
  display: block;
  width: fit-content;
  max-width: 100%;
  min-height: 2.75rem;
  padding: 0.75rem 0;
  color: inherit;
  text-decoration: none;
  font-size: clamp(1.25rem, 3.6vw, 2.125rem);
  line-height: 1.12;
  font-weight: 400;
  overflow-wrap: anywhere;
  transition: color 150ms ease;
}

a .prompt {
  font-size: 1rem;
}

a:hover,
a:focus-visible {
  color: #e5ffef;
}

a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 0.375rem;
}

::selection {
  color: #091713;
  background: #b8f0ce;
}

@media (max-width: 35rem) {
  main {
    padding: 2.25rem 1.5rem;
  }

  h1 {
    font-size: 1.0625rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  a {
    transition: none;
  }
}
