html {
  min-height: 100%;
  min-width: 100%;
  background-color: var(--bg, #fbfbfa);
  font-size: max(10px, 1.75vmin);
}

body {
  display: flex;
  flex-direction: column;
  padding: 0 4vw 4vw 4vw;
  margin: 0 auto;
  max-width: 75rem;
  min-width: 0;
  color: var(--text, black);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 1.4rem;
}

div:nth-of-type(1) {
  text-align: justify;
  h1 {
    margin-top: 0;
  }
}

#logo {
  width: 16em;
  opacity: 0.8;
  align-self: center;
}

[data-theme="light"] #logo {
  filter: invert(1);
}

a {
  color: var(--glow, deepskyblue);
}

h3 {
  border-top: var(--border);
  margin-top: 1em;
  padding-top: 1rem;
}

p:has(> strong:first-child + a:last-child) {
  display: flex;
  align-items: baseline;
  gap: 0.35em;
  min-width: 0;

  > strong:first-child {
    flex: 0 0 auto;
  }

  > a:last-child {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
