/* colors */
:root {
  --background: #fafafa;
  --background-alt: #e1e1e1;
  --foreground: #0a0a0a;
  --accent: #8b6675;
  --accent-alt: #c6a9af;
  --select-text: var(--foreground);
}

/* layout */
body {
  font-family: monospace;
  margin: 0;
  padding: 0;
  display: flex;
  background-color: var(--background);
  color: var(--foreground);
  font-size: 110%;
}

nav {
  padding: 2rem;
  line-height: 1;
  width: 12rem;
  position: fixed;

  .website-title {
    background-color: var(--foreground);
    color: var(--background);
    font-size: 150%;
    font-weight: bold;
    margin: 0;
    padding: 1rem;
    max-width: max-content;
  }

  ul {
    list-style-type: none;
    margin: 2rem 0;
    padding: 0;

    li {
      margin: 0.65rem 0;
    }

    a {
      text-decoration: none;
      color: var(--foreground);
      padding: 0.25rem 0.15rem;
    }

    .current {
      font-weight: bold;

      &::after {
        content: "🥀"
      }
    }
  }
}

main {
  padding: 6rem 3rem;
  margin-left: 14rem;
}

/* other things */
a {
  color: var(--accent);

  &:hover {
    color: var(--select-text)
  }
}

::selection {
  background-color: var(--accent);
  color: var(--select-text)
}

h1, h2, h3, h4, h5, p {
  margin-top: 0;
  margin-bottom: 0;
}

p {
  line-height: 1.5;
}

h1 {
  font-size: 3rem;
}

h1, h2, h4, h5 {
  letter-spacing: 0.1em;
}

h3 {
  letter-spacing: 0.25em;
}

code {
  background-color: var(--background-alt);
  font-family: monospace;
}

.break-it {
  overflow-wrap: anywhere;
}

.social {
  max-width: 40rem;
  
  ul {
    list-style-type: none;
    
    li {
      margin: 0.75rem 0;
      max-width: max-content;
      font-size: 125%;
    }
  }
}

.buttons {
  margin-top: 4.5rem;
}

.disclaimer {
  margin-top: 3.5rem;
  font-weight: 400;
}

img.inline-icon {
  width: 2em;
  height: 2em;
  display: inline-block;
  vertical-align: middle;
}

.intro {
  font-size: 125%;
}

.front img {
  width: 100%;
  height: auto;
  max-width: 60rem;
}

/* mobile things */
@media screen and (width <= 48rem) {
  nav {
    width: 100%;
    min-height: min-content;
    top: 0;
    padding: 1rem;
    display: flex;
    align-items: center;
    flex-direction: row;
    background-color: color-mix(in lab, var(--background) 100%, transparent 20%);
    backdrop-filter: blur(1rem);

    .website-title {
      max-height: max-content;
    }
    
    ul {
      margin: 0.25rem 1rem;
      padding: 0.25rem 0;
      display: flex;
      flex-direction: row;
      overflow-x: scroll;
      gap: 0.5rem;

      a {
        padding: 0.25rem 0.5rem;
        text-wrap: nowrap;
      }
    }
  }
  main {
    margin-left: 0;
    padding-top: 7.5rem;
    overflow-x: hidden;
  }
}
