h1,
h2,
h3,
h4,
h5 {
  color: #ddd;
  font-family: Impact, "Arial Black", sans-serif;
  letter-spacing: 0;
}

b,
strong {
  color: #fff;
}

a {
  color: #8ec8ff;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

a:hover,
a:focus {
  color: #c9e7ff;
}

html {
  color: #ccc;
  font-family: "Georgia", serif;
  font-size: 1.2em;
  background-color: #111;
}

body {
  max-width: 820px;
  min-height: 100vh;
  overflow-x: auto;
  padding: 28px 18px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.site-header {
  text-align: center;
}

.site-title {
  color: #eee;
  font-family: "Georgia", serif;
  font-size: 1.8em;
  font-style: italic;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 12px;
}

nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
  font-size: 1.2em;
  margin-bottom: 20px;
  font-weight: 700;
}

pre {
  overflow-x: auto;
}

img {
  max-width: 100%;
}

.home {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.home-avatar {
  width: min(120px, 48vw);
  aspect-ratio: 1;
  border: 6px solid #b6e8f7;
  border-radius: 50%;
  margin: 10px 0 20px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 0 0 1px #111 inset;
}

.home-tagline,
.home-content {
  max-width: 720px;
}

.home-tagline {
  margin: 0 auto 48px;
  text-align: center;
  font-size: 0.9em;
  line-height: 1.2;
}

.home-tagline p {
  margin: 0 0 8px;
}

.home-content {
  width: 100%;
  margin: 0 auto 48px;
}

.block {
  border: 1px dotted white;
  padding: 5px 15px;
  margin: 0 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.block h1 {
  font-size: 1em;
  text-align: center;
  margin-bottom: 0;
}

.small {
  font-size: 0.8em;
}

.wave {
  background: #111;
  color: #fff;
  text-shadow: 1px 1px 10px #fff, 1px 1px 10px #ccc;
}

footer {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

footer hr {
  width: 100%;
}

@media (max-width: 560px) {
  body {
    padding: 22px 14px;
  }

  .site-title {
    font-size: clamp(2.3rem, 14vw, 3.2rem);
  }

  nav {
    font-size: 1.05em;
  }

  .home-avatar {
    width: min(210px, 68vw);
  }

  .home-tagline,
  .home-content {
    margin-bottom: 38px;
  }

  .home-tagline {
    font-size: 1.05em;
  }
}
