html {
    font-family: system-ui;
    display: flex;
  }

  body {
    width: 100%;
    margin: 0;
    padding: 32px 0 32px 0;
  }

  main,
  footer {
    width: 100%;
    max-width: 720px;
    margin: auto;
  }

  .bg {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0.15;
    z-index: -1;
    background-image: url("bg.svg");
    view-transition-name: bg;
  }

  h1 {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.5rem;
  }

  h2 {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  h2 a {
    color: black;
  }

  nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }

  nav a {
    color: blue;
  }

  section,
  .section {
    background: white;
    box-shadow: 8px 8px black;
    border: 4px solid black;
    padding: 12px;
    margin: 0 16px 32px 16px;
  }

  .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .tag {
    border-radius: 1rem;
    background-color: lightblue;
    padding: 4px 8px;
  }

  .tag-secondary {
    background-color: rgb(186, 240, 186);
  }

  .tag-tertiary {
    background-color: lightyellow;
  }

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

  .screenshot img {
    max-width: 100%;
    max-height: 480px;
    box-sizing: border-box;
    border: 4px solid grey;
    border-radius: 36px;
    box-shadow: 4px 4px 10px black;
  }

  footer {
    display: flex;
    justify-content: center;
  }

  footer .attribution {
    padding: 8px;
    background-color: white;
    font-size: small;
  }

  #about {
    background-color: lightgray;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
  }

  #about p {
    margin-bottom: 0;
  }

  details[open] #summary1 {
    display: none;
  }

  #summary2 {
    display: none;
  }

  details[open] #summary2 {
    display: initial;
  }