html {
  background: black;
}

body {
  margin: 0;
  background: aliceblue;
}

body::after {
  content: "";
  display: block;
  height: clamp(12rem, 28vh, 20rem);
  margin-top: 2rem;
  background: linear-gradient(to bottom, aliceblue 0%, black 100%);
}

nav {
  padding-top: 1rem;
}

nav ul {
  margin-top: 0;
}
li {display: inline-block;}
.anybody-900{font-family: Anybody; font-weight: 900;}
.unbound-900-xxlarge{font-family: Unbound; font-weight: 900; font-size: 200%;}
.font-weight-300{font-weight: 300;}
.font-weight-500{font-weight: 500;}
.center{margin: auto; width: fit-content; max-width: 100%; margin-inline: auto;}
.text-center{text-align: center;}
.text-justify-all{text-align: justify; text-align-last: justify;}
.text-20px{font-size: 20px;}
.text-30px{font-size: 30px;}
.text-40px{font-size: 40px;}
.padding-right-40px{padding-right: 40px}
.normal-link {color: inherit; text-decoration: none;}

a,
button,
summary,
input,
select,
textarea,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}

.ascii-art {
  font-family: SpaceMono;
  font-size: 16px;
  white-space: pre;
  line-height: 1.2;
  letter-spacing: 0;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.ascii-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

@media (max-width: 600px) {
  .ascii-art {
    font-size: clamp(14px, 4vw, 18px);
  }

  .ascii-container {
    gap: 20px;
  }

  .privacy-notice,
  .privacy-notice summary,
  .privacy-notice-content {
    border: none;
    box-shadow: none;
  }

  .privacy-notice summary:focus:not(:focus-visible) {
    outline: none;
  }
}
.privacy-notice {
  margin: 2rem auto;
  box-sizing: border-box;
  width: min(42rem, calc(100% - 2rem));
  max-width: 42rem;
}

.privacy-notice summary {
  display: inline-block;
  cursor: pointer;
  padding: 0.55rem 0.9rem;
  list-style: none;
  border: none;
  background: none;
}

.privacy-notice summary::-webkit-details-marker {
  display: none;
}

.privacy-notice summary:hover {
  opacity: 0.7;
}

.privacy-notice-content {
  margin-top: 1rem;
  box-sizing: border-box;
  width: 100%;
  padding: 1rem;
  border: none;
  text-align: left;
}

.privacy-notice-content h2 {
  margin-top: 0;
}
